назад
Байты в регистрах
CPU
В CPU находится 4 регистра общего назначения и 9
регистров специального назначения. В некоторых ситуациях регистры общего
назначения делятся на два подрегистра, хранящих
старший и младший байты слова. Например, регистр AX может быть представлен в
виде регистра AH (старший байт) и регистра AL (младший байт).
Если AX = 3EF8, то AH = 3E и AL =
F8
При делении шестнадцатибитного регистра AX на две части, получается два
независимых восьмибитных регистра, в каждом из которых
можно хранить один байт. По этой причине такие регистры называют
байтовыми.
Существуют инструкции для работы с байтовыми регистрами,
например:
ADD AH,AL (код операции: 00h, C4h)
Занесите в память компьютера коды операции сложения AH + AL:
-e 100 <Enter>
0ABD:0100
29.00
<Enter>
-e 101
<Enter>
0ABD:0101 D8.C4
<Enter>
Занесите в регистры следующие числа: AH = 01, AL
= 03. К сожалению Debug не позволяет использовать
команду "R" для записи чисел в регистры AH и AL, поэтому числа придется заносить
парой:
-r ax
AX=0000
:0103
Установите IP = 100 и выполните трассировку. Результат
сложения смотрите в регистре AH:
-t
AX=0403 BX=000B CX=0000
DX=0000 SP=FFEE BP=0000
SI=0000
DI=0000
DS=0ABD ES=0ABD SS=0ABD
CS=0ABD IP=0102 NV UP EI PL NZ NA PO
NC
0ABD:0102 00E8
ADD AL,CH
Упражнение №3
Используя регистры AH и AL, выполните следующие действия:
1. 7F + 01
3. A4 + B5 5. 98 +
08
2. BE + 0F 4. 14 +
D9 6. FF + 01