Язык ассемблера: cbw - PullRequest
       23

Язык ассемблера: cbw

4 голосов
/ 01 ноября 2011

Я не уверен, что на самом деле делает команда cbw.У меня есть фрагмент кода:

mov  ax,0FF0h
cbw
idiv ah

Как изменяется значение топора после cbw?

1 Ответ

9 голосов
/ 01 ноября 2011

Инструкция cbw подписывает байт в слово. В этом случае он возьмет знаковый бит AL (который равен 1) и скопирует его в каждый бит AH.

Это означает, что значение дополнения до двух AX будет одинаковым, но двоичное представление будет другим.

Значение AX после инструкции cbw будет FFF0h (16-битное значение -16, точно так же, как AL изначально было 8-битным -16)

...