0

我该怎么做才能只取 num 的正确数字?我尝试了 byte ptr,但它改变了 vale。是否可以删除寄存器中的左2位数字?

编辑:数字写在寄存器中,所以左右我的意思是高位字节(左)和低位字节(右)

00 00

例如,如果我有 1203 我想把它变成 0003 但它仍然必须是字大小

mov bx, [bp+6]
mov al, [byte ptr bx]
4

1 回答 1

1

尝试清除高位字节。例如,尝试

mov al, [byte ptr bx] ; load low order byte
xor ah, ah            ; clear high order byte

在 80386 或更高版本上,您还可以使用movzx指令:

movzx ax, [byte ptr bx]
于 2021-12-22T14:51:51.803 回答