汇编语言:cbw

时间:2011-11-01 01:51:48

标签: assembly x86 division sign-extension

我不确定cbw命令实际上做了什么。我有一段代码:

mov  ax,0FF0h
cbw
idiv ah

在cbw之后,ax的值如何变化?

1 个答案:

答案 0 :(得分:9)

cbw指令符号 - 将一个字节扩展为一个字。在这种情况下,它将采用符号位AL(恰好是1)并将其复制到AH的每一位。

这意味着AX的二进制补码值将相同,但二进制表示将不同。

AX指令后cbw的值为FFF0h(16位-16值,就像AL原来是8位-16 )