Скачиваний:
23
Добавлен:
11.05.2015
Размер:
998.91 Кб
Скачать

6.1.4. Команды просмотра и модификации регистров

Команда «r» ожидает в качестве необязательного аргумента имя регистра ЦП (с регистрами сопроцессора DEBUG работать не умеет). Если регистр не указан, «r» просто выводит текущие значения всех регистров и команду процессора, на которую указывает CS и IP:

-r

AX=000C BX=0008 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=159C ES=159C SS=159C CS=159C IP=010F NV UP EI PL NZ NA PE NC

159C:010F BA0100 MOV DX,0001

-

Если же команде «r» указать имя одного из регистров, она выведет его текущее значение и пригласит вас указать новое:

-r ax

AX 000C

:

Вы можете указать новое значение или просто нажать <enter> – в этом случае значение регистра не будет изменено:

-r ax

AX 000C

:10

-r

AX=0010 BX=0008 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=159C ES=159C SS=159C CS=159C IP=010F NV UP EI PL NZ NA PE NC

159C:010F BA0100 MOV DX,0001

-

7. Методы адресации

7.1. Введение

Большинство команд процессора вызываются с аргументами (операндами). Например, команда сдвига SHRD требует трех аргументов. В этой главе мы рассмотрим методы задания адреса хранения операндов — методы адресации.

МП 8086, 8088 и более поздние имеют развитую систему адресации, предоставляющую пользователю широкие возможности обращения к операндам. В зависимости от типа команды операнд может представлять собой байт (8 бит), слово (16 бит), двойное слово (32 бита), другие размеры (64, 80 бит — с ними, в основном, оперирует сопроцессор) и храниться в регистре процессора (или сопроцессора) или памяти.

Всего МП 8086 имеет девять методов адресации, в более поздних процессорах количество методов увеличено.

Для того чтобы изучить методы адресации, рассмотрим несколько простых команд. Операция уменьшения значения на единицу записывается так:

DEC d,

где d — некоторый аргумент (регистр или ячейка памяти).

Команда логического отрицания записывается так:

NOT d.

При ее выполнении содержимое d поразрядно инвертируется.

Команда пересылки данных:

MOV d, s ,

где s — некоторый аргумент (регистр или ячейка памяти). Не допускается ситуация, когда s и d одновременно являются ячейками памяти. При выполнении этой команды содержимое источника s копируется в приемник d. Значение s не изменяется.

Команда сложения имеет формат:

ADD d, s.

Содержимое источника s складывается с источником и пересылается в приемник d.

7.2. Регистровый метод адресации

При использовании регистровой адресации операнд извлекается из регистра (или загружается в регистр). Регистром может являться любой из регистров ЦП или сопроцессора.

Допустим, необходимо уменьшить на единицу значение регистра CX. Символическое обозначение команды на языке ассемблера выглядит следующим образом:

DEC cx,

здесь DEC — команда; пробел — разделитель имени команды DEC и имени регистра CX.

Проверим с помощью отладчика DEBUG, как выполняется команда DEC CX:

-a 100

159B:0100 dec cx

159B:0101

-u 100 101

159B:0100 49 DEC CX

159B:0101 1e push ds

-r cx

CX 0000

:0001

-r ip

IP 0104

:100

-r

AX=0000 BX=1234 CX=0001 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=159B ES=159B SS=159B CS=159B IP=0100 NV UP EI PL NZ NA PO NC

159B:0100 49 DEC CX

-t

AX=0000 BX=1234 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=159B ES=159B SS=159B CS=159B IP=0101 NV UP EI PL ZR NA PE NC

Соседние файлы в папке Введение в вычислительную технику.