Микропроцессор. Устройства на базе микропроцессоров. Чтение и запись данных. Операции над четырёхразрядным кодом по машинным командам, страница 8

3.   по способу кодирования

4.   по длине команды

5.   по способу адресации

Каждый из 5 признаков имеет определённую вложенность. Так команды, делящиеся по функциональному назначению подразделяются на:

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

2.   команды обработки данных

3.   команды передачи управления

4.   специальные команды

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

По числу адресов подразделяются на:

1.   безадресные (сдвиг аккумулятора влево, запрет прерываний)

2.   одноадресные - в команде указывается один адрес

3.   двухадресные - наличие источника и приёмника (MOV M,A)

4.   трёхадресные (откуда? С чем? Куда?)

По способу кодирования:

1.   команды с фиксированным полем кода операции

2.   команды с расширяющимся полем кода операции

По длине команды:

1.   однобайтные

2.   двухбайтные (только для i8080)

3.   трёхбайтные

По способу адресации:

1.   непосредственная адресация (операнд находится в теле команды)

2.   прямая адресация (в теле указан адрес операнда)

3.   косвенная адресация (адрес операнда находится в специальном регистре). Специализация регистра отражается в коде команды.

4.   прямая регистровая адресация (адрес суётся не в память, а в регистр; операнд находится в регистре)

5.   неявная адресация. Иногда применяется сложная адресация, т.н. базовая адресация. Сумма содержимого базового регистра и программного счётчика.

6.   индексная адресация (адрес операнда содержится в специальном регистре и его содержимое увеличивается или уменьшается на 1 при выполнении операции)

Из типов адресации применяются 3 первых.

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

Эти команды имеют наибольшее количество возможных кодов. Реализуют пересылку данных в различные точки МП-системы. В результате выполнения команд пересылки содержимое регистра признака не изменяется. Точное название команд пересылки было бы «команды копирования», т.к. информация в источнике не разрушается. Среди команд пересылки выделяются команды:

а) внутренние - из регистра в регистр, из аккумулятора в регистр:

(R)¬(R)

(A) ¬(R)

(B) ¬(A)

б) с использованием памяти

(M) ¬(R)                      (из регистра в память)

(N) ¬(M)                      (из памяти в регистр)

(M)¬(A)

(A)¬(M)

в) с использованием портов

В аккумулятор из порта  (A) ¬(P)                         в порт из аккумулятора  (P) ¬(A)

г) с использованием регистровой пары. В регистровую пару из стека (RP) ¬(ST)                                                                         в стек из регистровой пары: (ST) ¬(RP)                                                                         возможны копии и обмены: (ST)«(HL)

в регистровую пару из памяти: (RP) ¬(M)

1)   Команда MOV. При пересылках из регистра в регистр используется прямая регистровая адресация. Машинный код имеет поля: КОЛ-количество операций, Rпр - регистр-приёмник, Rист - регистр-источник.

0

1

1

1

1

0

0

0

КОЛ

Rпр

Rист

MOV Rпр, Rист             МОV A,B             MOV B,B

MOV M,M - данный вариант запрещён.

Регистры:

В          000

С          001

D          010

E          011

H          100

L          101

M         110

A          111

Все команды пересылок выполняются за 1 МЦ в 5 машинных тактов, исключая команды с памятью. Они выполняются за 2 МЦ в 7 МТ.

2)   Команда MVI (посылка констант). Данная команда использует непосредственную адресацию, состоит из 2 байт.

0

0

0

0

1

1

1

0

КОЛ

Rпр

Rист

Исключение -  команды с памятью: 10 МТ.

3)   LXI - непосредственная загрузка регистровой пары.

BC       000