Я новичок на сборке, и, вероятно, этот вопрос имеет очень простой ответ, но я действительно не могу понять это. В результате этого кода AL получает значение FE. Почему не 00?x86 ассемблер добавляет
MOV BL,0ff;
MOV AL,0ff;
ADD AL,BL
Я новичок на сборке, и, вероятно, этот вопрос имеет очень простой ответ, но я действительно не могу понять это. В результате этого кода AL получает значение FE. Почему не 00?x86 ассемблер добавляет
MOV BL,0ff;
MOV AL,0ff;
ADD AL,BL
Поскольку FF + FF = 1FE. Таким образом, AL будет FE, и ваш флаг переноса будет установлен (1).
Вы получаете 0xFE, потому что 0xFF + 0xFF = 0x1FE. Нижний байт, очевидно, равен 0xFE.
Почему это должно быть 0? – harold