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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Система команд микропроцессора К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. Группа управления, ввода/вывода и работы со стеком – используются для управления прерыванием, регистром признаков, ввода и вывода информации и операций со стеком.

Команды пересылки данных

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

Таблица 2.5 Команды пересылки данных

Мнемоника команды Код операции Количество байтов в команде Время выполнения команды, циклы Выполняемые действия
MOV R1, R2 01DDDSSS 1 1 (R1) (R2)
MOV R, M 01DDD110 1 2 (R) M(HL)
MOV M, R 01110SSS 1 2 M(HL) (R)
MVI R, data 00DDD110 2 2 (R) (байт2)
MVI M, data 00110110 2 3 M(HL) (байт2)
LXI RP, data 00RP0001 2 3 (RH) (байт3); (RL) (байт2).
LDA addr 00111010 3 4 (A) ((байт3)(байт2))
LHLD addr 00101010 3 5 L ((байт3)(байт2)); H ((байт3)(байт2)+1).
LDAX RP 00RP1010 1 2 (A) (M)
XCHG 11101011 1 1 (H) «(D); (L) «(E)
STA addr 00110010 3 4 ((байт3)(байт2)) (A)
SHLD addr 00110010 3 5 ((байт3)(байт2)) (L); ((байт3)(байт2)+1) (H)
STAX RP 00RP0010 1 2 M(RP) (A)

Команда пересылки с регистровой адресацией MOV A, D) осуществляет передачу содержимого регистра D в аккумулятор. Команда с непосредственной адресацией MVI D, 4Е16 производит пересылку числа, приведенного во втором байте команды (в примере число 4Е16), в регистр D, адрес которого указан в разрядах 5…3 первого байта команды. Команда с прямой адресацией LDA 020016 производит передачу содержимого ячейки памяти, адрес которой указан во втором и третьем байтах команды (020016), в аккумулятор. Команда LDAX BC загружается содержимое ячейки оперативной памяти, адресом которой служит содержимое пары регистров BC в аккумулятор.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 211; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.79.59 (0.006 с.)