汇编语言:cbw

rap*_*yen 4 x86 assembly division sign-extension

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

mov  ax,0FF0h
cbw
idiv ah
Run Code Online (Sandbox Code Playgroud)

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

ano*_*ard 9

cbw指示标志,延伸到字节一个字.在这种情况下,它将取符号位AL(恰好为1)并将其复制到每一位AH.

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

指令AX之后的值cbw将是FFF0h(16位-16值,就像AL最初的8位-16)