Система команд восьмиразрядного микропроцессора КР580ВМ80
(Int 8085 или Z80)
Учебные вопросы:
Структура команд и режимы адресации.
Система команд.
Структура команд и режимы адресации.
Команды по занимаемой памяти делятся на:
1) однобайтные;
2) двухбайтные;
Трёхбайтные.
В однобайтной команде хранится код операции и операнды. Например:
MOVB,C; в регистр В записывается содержимое регистра С: (В)←(С),
Где В и С – операнды.
Помни!!!: Код операции (команды), в нашем примере хранится только в 1-м байте любой команды (одно, двух, трех байтной).
В двухбайтной команде: в первом байте записывается код операции и один из операндов (операнда может и не быть), во втором – только операнд.
Примеры двухбайтных команд:
Б1 Б2 | OUT A |
FB |
([FB])←(A). Из аккумулятора пересылаются данные в порт, адрес которого (FB) во 2-м байте команды (Б2).
Где:
OUT – код операции, А – первый операнд и FB – второй операнд.
Из аккумулятора (А) вывести информацию на устройство вывода с адресом FB.
Круглые скобки (…) - содержимое ЯП или устройства вывода/ввода;
Квадратные скобки [..] – адрес ЯП или устройства вывода/ввода.
Б1 Б2 | MVI B |
7Bh |
(В)←7Вh. В регистр В заносится 8-ми разрядная (однобайтная) константа 7Вh 16-й системы счисления
В трехбайтной команде: в первом байте команды записывается код операции (КОП), во втором и третьем байтах операнды.
Пример:
Б1 Б2 Б3 | LDA |
7F | |
8A |
(А)←([8A7F]).
Команда чтения из памяти (ЗУ). В аккумулятор записывается информация, которая храниться в ячейке памяти, адрес которой указан во втором и третьем байтах.
Помни!!!!: Только в первом байте любой команды (одно, двух, трех байтной)записан КОП (код операции).
Исходная программа на языке ассемблер состоит из последовательности команд, которые называют также ассемблерными строками. Запись строки осуществляется в соответствии с некоторыми формальными правилами (как синтаксис и орфография в русском и др. языках).
Строка (предложение) делятся на несколько полей, разделенных одним и более пробелами:
Ø поле метки;
Ø поле мнемоники кода операции;
Ø поле операнда;
Ø поле комментария.
Таким образом, строка (команда) имеет следующий формат:
[метка] <мнемоника КОП> [операнд] ; [комментарий]
Где […] – необязательный элемент конструкции (команды).
<…..> - обязательный элемент конструкции (команды).
Поле метки начинается с первой позиции строки и представляет мнемоническую запись адреса команды.
Поле мнемоники КОП начинается после первого пробела строки и заканчивается одним или более пробелами. Является обязательным в команде (конструкции строки).
Поле операнда определяет информацию, над которой производятся действия.
Поле комментария начинается после символа ; Присутствие поля комментария в команде необязательно. Комментарии не влияют на результат трансляции.
Режимы адресации в МП
В МП используются четыре режима адресации:
1) Прямая адресация – код адреса в команде является исполнительным адресом обращения к памяти или устройству ввода вывода. Примеры:
STA |
8F |
(A)←([8F79]) .
В аккумулятор заносятся данные из ЯП, адрес которой во 2-м и 3-м байтах команды.
Б1 Б2 | IN |
8B |
(A)←([8B])
В аккумулятор заносятся данные из устройства ввода, адрес которого во 2-м байте команды.
2) Регистровая адресация– это адресация, при которой операнд содержится в одном из регистров МП.
MOVA,B (A)←(B)
Содержимое 8-ми разрядного регистра В пересылается по внутренней шине данных МП в аккумулятор (А).
3) Непосредственная адресация – это адресация, при которой операнд находится в самой команде.
Б1 Б2 | ADI |
7Eh |
(A)←(A)+7Eh
Константа во 2-м байте команды (7Eh) складывается с содержимым аккумулятора и результат сложения записывается в аккумулятор.
4) Регистровая косвенная адресация – это адресация, при которой адрес ячейки памяти с операндом хранится в регистровой паре H-L.
MOVA,M; (A)←([H-L])
В аккумулятор пересылается содержимое ячейки памяти, адрес которой храниться в регистровой паре H-L.
Помни: Скобки (….) обозначают содержимое ячейки памяти или регистра РОН и аккумулятора. Скобки […] адрес ячейки памяти или устройства ввода/вывода.
Й учебный вопрос
Система команд
Рассмотрим систему команд на языке ассемблера.
Ассемблер - это программа, которая переводит последовательность команд с языка пользователя (ассемблера) в машинный код (код микропроцессора).
Система команд включает в себя следующие группы команд:
Команды пересылки данных.
Команды арифметических операций.
Команды логических операций.