назад

Байты в регистрах 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