Система команд МП КР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 операций).