2012-05-31 2 views
2

Я новичок на сборке, и, вероятно, этот вопрос имеет очень простой ответ, но я действительно не могу понять это. В результате этого кода AL получает значение FE. Почему не 00?x86 ассемблер добавляет

MOV BL,0ff; 
MOV AL,0ff; 
ADD AL,BL 
+1

Почему это должно быть 0? – harold

ответ

5

Поскольку FF + FF = 1FE. Таким образом, AL будет FE, и ваш флаг переноса будет установлен (1).

2

Вы получаете 0xFE, потому что 0xFF + 0xFF = 0x1FE. Нижний байт, очевидно, равен 0xFE.

Смежные вопросы