标签: assembly x86 division sign-extension
我不确定cbw命令实际上做了什么。我有一段代码:
cbw
mov ax,0FF0h cbw idiv ah
在cbw之后,ax的值如何变化?
答案 0 :(得分:9)
cbw指令符号 - 将一个字节扩展为一个字。在这种情况下,它将采用符号位AL(恰好是1)并将其复制到AH的每一位。
AL
AH
这意味着AX的二进制补码值将相同,但二进制表示将不同。
AX
AX指令后cbw的值为FFF0h(16位-16值,就像AL原来是8位-16 )
FFF0h