Система команд МП КР580ВМ80А
Пространства памяти и ввода-вывода МП КР580ВМ80А
Адресное пространство памяти, образующее основную память МП КР580ВМ80А, представляет собой линейный одномерный массив из 64 Кб ячеек памяти, так что 16-разрядный адрес дает возможность микропроцессору непосредственно адресовать любой байт памяти. Данные в памяти могут храниться байтами или словами. Слова в памяти хранятся в двух соседних байтах (младший байт слова хранится по младшему адресу). Адресом слова является адрес его младшего байта.
Способы задания месторасположения данных в памяти:
Регистровый способ адресации. Команды, использующие этот способ адресации, обращаются только к регистрам процессора. Такие команды состоят лишь из кода операции, в который заложена информация и о виде операции и о том, какие регистры в ней участвуют.
Прямой способ адресации. При этом способе адрес ячейки памяти указывается в самой команде в виде дополнительного байта. Команда состоит из двух байтов. Первый байт — это код операции, а второй байт — это адрес, участвующей в ней ячейки памяти.
Косвенный способ адресации. При таком способе адресации адрес ячейки памяти сначала помещается в один из регистров (через 16-разрядные регистры HL, BC и DE). А затем в программу включаются команды, использующие этот вид адресации.
Непосредственная адресация. При таком способе адресации информация вообще не хранится ни в памяти, ни в регистрах. Байт данных в этом случае является частью самой команды.
Автоинкрементный/автодекрементный через указатель стека SP.
В МП ВМ80А используется изолированное адресное пространство ввода-вывода. Эта область организована в виде одномерного массива из 256 восьмиразрядных портов ввода и 256 восьмиразрядных портов вывода. Допускается только прямой способ доступа к пространству ВВ.
Всего в систему команд ВМ80А входят 78 базовых команд, содержащих 111 кодовых операций. В зависимости от своего назначения команда может иметь длину в один, два или три байта и соответственно занимает в памяти от одной до трех последовательных ячеек. Программный счетчик РС микропроцессора всегда содержит адрес первого байта команды, которая будет выполняться вслед за командой, которая выполняется в текущий момент времени.
В МП ВМ80А применяется довольно простой формат команд (рис. 3.9).
Рисунок 3.9 — Формат команд микропроцессора КР580ВМ80А
ОР (Operation) – код операции;
dst (Destination) – адресат-приемник;
src (Source) – адресат-источник;
n = 0..7;
data16 – 16-разрядные данные;
addr (Address) – адрес;
LB (Low Byte) – младший байт;
HB (High Byte) – старший байт.
Код операции всегда размещен в первом байте команды. В формате команд биты, задающие код операции, отмечены Х. Эти биты определяют смысл данной команды, ее содержание/назначение. В первом же байте команды может находиться и информация о местонахождении операндов: dst, src или целое число 0..7.
Второй и, если необходимо, третий байты команды отводятся под непосредственные данные, адрес порта или ячейки памяти.
Примеры команд:
Однобайтовые команды:
MOV A, B LDAX B RST 7
Двухбайтовые команды:
MVI M, 85h SUI 8Eh IN 21h OUT 3Ah
Трехбайтовые команды:
LDA 1234h LXI B, 45AEeh CALL A34Ch JC B800h
В командах допускается явное задание только одного адреса памяти.
Система команд МП состоит из 5 групп:
- команды пересылки (14 команд, 28 операций);
- логические команды ( 15 команд, 19 операций);
- арифметические команды (14 команд, 29 операций);
- команды передачи управления (28 команд, 28 операций);
- команды управления процессором (7 команд, 7 операций).