Система команд микропроцессора

Система команд микропроцессора К580 состоит из 78 базовых команд. В системе команд имеются однобайтовые, двухбайтовые и трехбайтовые команды. Форматы команд показаны на рисунке 2.4.

Первый байт всегда является кодом операции (КОП), который уточняет характер выполняемой МП операции. Состав команд, на которые МП реагирует, постоянно определен свойствами и структурой кристалла.

Для выполнения какой-либо операции в команде должно содержаться указание вида операции, а также, откуда берутся участвующие в операции данные, и куда помещается результат выполняемой операции (т.е. указание об источниках и приемниках операндов). Способы указания источников и приемников операндов называют способами адресации. МП К580 использует пять способов адресации, а именно: неявную, регистровую, прямую, непосредственную и косвенную регистровую.

Регистровая адресация. При этом способе адресом операнда является указанный в команде (в байте кода операции) адрес регистра микропроцессора. Адреса регистров приведены в таблице 2.3.

Таблица 2.3 Адреса регистров

Регистр Адрес регистра
A
B
C
D
E
H
L

В кодовой комбинации команды 01DDDSSS два старших разряда (01) определяют вид операции (операция пересылки содержимого одного регистра в другой) в последующих 3-разрядных группах приведены адреса регистров назначения (DDD) и источника (SSS).

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

Непосредственная адресация. При этом способе адресации операнды (один или два) задаются непосредственно в команде вслед за байтом кода операции во втором байте либо во втором и третьем байтах команды. Все команды непосредственной адресации МП К580 за исключением двух (MVI и LXI), используют аккумулятор как неявный операнд.

Прямая адресация. При этом способе адресации адрес операнда задается в команде вслед за байтом кода операции во втором и третьем байтах. Команды с прямой адресацией занимают много места в памяти и затрачивают много времени на выполнение из-за многократных обращений к памяти. Поэтому по возможности следует стремиться к использованию команд с непосредственной и косвенной регистровой адресацией.

Косвенная регистровая адресация.При этом способе адресации в команде отмечается пара регистров (RP) блока РОН (путем указания адреса одного из регистров этой пары), содержимое которой служит адресом, по которому в оперативной памяти находится операнд. Адреса пары регистров приведены в таблице 2.4.

Таблица 2.4 Адреса пары регистров

Адрес пары регистров (RP) Пара регистров
BC DE HL SP

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

Неявная адресация. При этом способе адресации команда воздействует только на регистр признаков, но не на другие регистры и память. Например, команда STC устанавливает в регистре признаков разряд переноса.

 

 

Рисунок 2.4. Форматы команд МП К580

 

 

Систему команд микропроцессора можно разделить на пять групп в соответствии с их функциональным назначением:

1. Группа пересылки данных - используются для передачи данных между регистрами или ячейками памяти и регистрами. Она содержит передачи, загрузку, размещения и обмены данных;

2. Арифметическая группа – используются для сложения, вычитания, инкремента или декремента содержимого регистра или ячейки памяти;

3. Логическая группа выполняет операции «И», «ИЛИ», «Исключающее ИЛИ», сравнений, сдвигов и инвертирования данных в регистрах или между данными в памяти и регистре;

4. Группа ветвления и переходов – используются для условных и безусловных ветвлений (переходов), вызова подпрограмм и выхода из них;

5. Группа управления, ввода/вывода и работы со стеком – используются для управления прерыванием, регистром признаков, ввода и вывода информации и операций со стеком.