I am unsure of what the cbw
command actually does. I have a snippet of code:
mov ax,0FF0h
cbw
idiv ah
How does the value of ax change after cbw?
I am unsure of what the cbw
command actually does. I have a snippet of code:
mov ax,0FF0h
cbw
idiv ah
How does the value of ax change after cbw?
The
cbw
instruction sign-extends a byte into a word. In this case, it'll take the sign bit ofAL
(which happens to be 1) and copy it into every bit ofAH
.This means that the two's-complement value of
AX
will be the same, but the binary representation will be different.The value of
AX
after thecbw
instruction will beFFF0h
(a 16-bit -16 value, just likeAL
was originally an 8-bit -16)