Rr – регистровая пара (B-C, D-E, H-L).

S, Z и др.

В этой команде изменяются признаки S, Z и др.

В этой команде изменяются признаки S, Z, P, AС, СY.

Арифметические и логические операции. Инкрементные и декрементные команды

Пересылка из запоминающего устройства в аккумулятор.

Б1 Б2 Б3 LDA
младший разряд адрес ячейки памяти ЗУ
старший разряд

(А)←([< Б3>< Б2>])

1.6 загрузка памяти ЯП ЗУ прямая

Б1 Б2 Б3 STA
младший разряд адрес ячейки памяти ЗУ
старший разряд

([<Б3>< Б2>])←(A)

2.1. Сложение содержимого аккумулятора с регистром r , где r регистры A, B, C, D, E, H, L.

Б1 ADD r

(A)←(A)+ (r), Z, S, P, AС, СY регистра признаков.

Помни!!!: В командах арифметических и логических операций, а также инкрементных и декрементных командах формируются значения регистра признаков.

Например:

ADD A ; (A)←(A)+(A)

Разновидность команды:

Сложение содержимого аккумулятора с содержимым ЯП (косвенная адресация):

Б1 ADD M

(A)←(A)+([H-L]), S, Z и др.

Сложение аккумулятора с константой:

Б1 Б2 ADI
8-разрядная константа

(A)←(A)+(< Б2>), S, Z и др.

Например: ADI 7Bh ; (A)←(A)+7Bh, S, Z и др.

Помни: Символ «I» в командах означает работу с константой.

2.2. Вычитание содержимого регистра из аккумулятора

Б1 SUB r

(A)←(A) - (r), S, Z и др.

SUB A; (A)←(A)-(A) в аккумуляторе ноль, следовательно, появляется нулевой признак (Z=1).

Б1 SUB M

(A)←(A)- ([H-L]), S, Z и др.

Б1 Б2 SUI
8-разрядная константа

(A)←(A)-(< Б2>) , S, Z и др.

2.3. Декрементные команды (аналогично вычитающему двоичному счетчику)

Б1 DCR r

(r)←(r)-1

Б1 DCR M

([H-L])←([H-L])- , S, Z и др.

Б1 DCX rr

(rr)←(rr)-1 , S, Z и др.

Например:

DCX B; (B-C)←(B-C)-1

Помни: Символ «Х» в команде означает работу с регистровой парой.

2.4. Инкрементные команды (аналогично суммирующему двоичному счетчику).

Инкремент регистра

Б1 INR r

(r)←(r)+1. S, Z и др.

Например: INR А; (A)←(A)+1 S, Z и др.

Б1 INR M

([H-L])←([H-L])+1.

Инкремент регистровой пары

Б1 INX rr

(rr)←(rr)+1

Например: INX D; (D-E)←( D-E)+1

  1. Логические операции (AND, OR, NOT, ).

3.1. Логическое умножение содержимого аккумулятора с константой

Б1 Б2 ANI
константа

(A)←(A)^(< Б2>)

Логические операции осуществляются поразрядно и без переноса в старший разряд.

Пояснение на примере.

ANI 0: (A)←(A)^ (0) В аккумулятор записывается ноль.

ANI FF ; В аккумуляторе остается содержимое аккумулятора.

Б1 ANA r

(A)←(A)^(r)

Б1 ANA M

(A)←(A)^([H-L])

3.2. Логическое сложение

Б1 Б2 ORI
константа

(A)←(A)V(<Б2>)

Рассмотрим примеры:

ORI FF; (A)←(FF)V(A)

ORI 0 (A)←(A)V0

Б1 ORA r

(A)←(A)V(r)

Б1 ORA M

(A)←(A)V([H-L])

3.3. Инверсия содержимого всехразрядов аккумулятора

Б1 CMA

(A)←()

Рассмотрим пример: Пусть А=0. Что будет в аккумуляторе после выполнения команды CMA?