2
这似乎是一个小问题,但我迷路了。截断2字节变量为1字节
在这个例子中,character
是一个2字节的变量,而bx
是一个单字节。我试图做cmp bx, [character]
,这显然不会因为大小的差异而起作用。
我想比较bx
只有第一个字节character
。思考?
这似乎是一个小问题,但我迷路了。截断2字节变量为1字节
在这个例子中,character
是一个2字节的变量,而bx
是一个单字节。我试图做cmp bx, [character]
,这显然不会因为大小的差异而起作用。
我想比较bx
只有第一个字节character
。思考?
BX rebister是16位的大小,是由两个8位BL和BH组成!
对于16位CMP您可以使用前缀:
cmp bx, word ptr[character]
8位BL CMP
cmp bl, byte ptr[character]
或8位BH CMP
cmp bh, byte ptr[character + 1]
谢谢!我正在寻找第一个字节(不是第二个),所以cmp bh,byte ptr [character + 0]完成了这项工作。 –
前缀不需要(或不应该)。一个体面的汇编程序可以发现'bl'将比较一个字节的字节和'bx'。 –