2017-01-06 8 views
-6

В данной сборке (8086) код, какова будет стоимость каждого из этих регистров: BL, AH и А.Л.Добавление значения в регистр AX, но с использованием AH и AL

Это код:

MOV AX, 1900 
MOV BL, AH 
INC AL 
+8

Вы должны быть в состоянии сделать это самостоятельно. Если нет, попробуйте в отладчике. – Jester

ответ

1

AX = AL + AH * 256

это означает, что BL находится где-то около 1900/256 отдайте, плюс один.

Остальное находится в AL.

Это верно, потому что если AX=256, то AL=0 и AH=1

256 = 0 + 1 * 256

79 = 79 + 0 * 256

65535 = 256 * 256 - 1

+1

"65535 = 256 * 256 -1" Хотя это правильно, странно видеть это в этом контексте! Логически все эти численные примеры иллюстрируют формулу, приведенную в первой строке (AX = AL + AH * 256). Поэтому последний пример должен выглядеть следующим образом: __65535 = 255 + 255 * 256__ – Fifoernik

+0

Ha! Хорошо поймал! Читая это, я понял, почему я придумал это! В течение целой недели, совсем недавно, я пытался решить «codegolf», и одна строка моего кода на Python была «QuadWord [:] = 256 * 256 * 256 * 256-1', являющаяся последним битом перед переключением с 'double' '' quadword'. : D Таким образом, моему разуму было проще отобразить байты в соответствующие регистры. : D –

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

  • Нет связанных вопросов^_^