Введение в микропроцессоры. Конспект лекций по курсу "Микропроцессорные устройства", страница 16

· команды пересылки и загрузки;

· команды пересылки в стек и загрузки из стека;

· команды ветвления и перехода к подпрограммам;

· команды возвратов и повторного запуска;

· команды ввода/вывода;

· команды арифметических операций и инкремента/декремента;

· команды логических операций и циклических сдвигов;

· специальные команды и команды управления.

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

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

Каждая команда может адресовать только один операнд. Для одноместных операций (над одним операндом) этого вполне достаточно. При выполнении двухместных операций (арифметических или логических) предполагается, что один операнд находится в аккумуляторе (операция над байтами) или в регистровой паре HL (операция над словами).

МП поддерживает четыре метода адресации:

· регистровый, когда операнд находится в одном из РОН, например, MOV B, C - переслать содержимое регистра С в регистр В (см. п. 2.8.5);

· непосредственный, когда непосредственный операнд (данное) входит в состав команды. Как правило, в КОП этих команд входит латинская буква I, например, MVI A, 0ffh - константа со значением ffh загружается в аккумулятор (см. п. 2.8.5). Ноль перед значением  константы обязателен, он позволяет транслятору отличить цифру от метки. Команды с таким методом адресации, как правило, двухбайтные (кроме команды LXI): первый байт - КОП; второй байт - данное;

· прямой, когда адрес входит в состав команды, например, STA 8000h - сохранить содержимое аккумулятора в ячейке памяти с адресом 8000h (см. п. 2.8.5). Команды с таким методом адресации, как правило, трехбайтные: первый байт - КОП; второй и третий байты - адрес;

· косвенный регистровый,  когда адрес операнда (указатель) находится в регистровой паре блока РОН, например, MOV M, B - переслать содержимое регистра В в память по адресу, который хранится в регистровой паре HL (см. п. 2.8.5).

2.8.3. Флажковые биты

Многие (но не все) команды кроме прямого результата своей работы формируют дополнительную информацию в виде тех или иных значений флажковых битов (см. п. 2.3), которые хранятся в регистре признаков F.

Этот регистр совместно с аккумулятором образует регистровую пару, содержимое которой можно сохранять в стеке (см. п. 2.8.6). Формат регистра F приведен ниже.

D7

D6

D5

D4

D3

D2

D1

D0

S

Z

AS

AC

0

P

V

CY

Перечисленные флаги формируются следующим образом:

· флаг нуля Z устанавливается, если после выполнения операции содержимое аккумулятора равно нулю и сбрасывается в противном случае;

· флаг четности Р устанавливается, если после выполнения операции число единиц содержимого аккумулятора четно и сбрасывается в про­тивном случае (нулевой код считается четным);

· флаг переноса CY устанавливается, если из аккумулятора был перенос при сложении или заем при вычитании и сбрасывается в противном случае (на этот флаг влияют также сдвиговые операции);

· флаг вспомогательного переноса АС устанавливается, если после выполнения операции был перенос из D3 в D4 аккумулятора и сбрасывается в противном случае;

· флаг знака S равен содержимому бита D7 аккумулятора после выполнения операции. При работе с числами в дополнительном коде свидетельствует о знаке результата, если не было переполнения, или численно равен значению старшего разряда результата при наличии переполнения (в этом случае истинный знак результата отражает флаг AS);

· флаг переполнения V формируется по следующей формуле:

V:= (D7 —>CY) Å (D6—>D7), т.е., когда есть перенос из D7 аккумулятора в CY, но нет переноса из D6 в D7 (или наоборот);

· флаг вспомогательного переноса AS формируется по следующей формуле: AS:= V Å D7;  он свидетельствует об истинном значении знака результата при работе с числами в дополнительном коде при наличии переполнения, при отсутствии переполнения AS = S, при наличии переполнения AS =  NOT S. Для команд INX, DCX поведение флага AS идентично поведению флага CY, т.е. AS устанавливается при наличии переноса или заема.