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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.