Система команд.
Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Система команд.



Микропроцессор КР580ВМ80А содержит 78 команд, условно разбитых на 8 разделов (см. табл. 5.4). Каждый раздел содержит несколько типов операций, которые характеризуются определенной структурой кода команды В1 (колонка 1 табл. 5.4), где:

- К1… К6 – трехразрядный код конкретного типа операции. Например, в 4-м разделе (арифметические и логические операции) арифметическому сложению без учета внешнего переноса присвоен код К2 = 000, логическому сложению – код К2 = 110 и т.д.

- Ri, Rj – трехразрядный код регистра, участвующего в данной операции (табл. 5.5):

 

Табл. 5.5

Регистр Код
B
C
D
E
H
L
M
А

Важное п р и м е ч а н и е ! М – ячейка оперативной памяти, адрес которой хранится в паре регистров HL.

В колонке 2 указан формат (количество байтов) каждой команды.

В колонке 3 для краткой записи выполняемой операции используется система обозначений элементов микропроцессора в соответствии с § 5.4, а также система скобок:

§ Круглые – для обозначения кодов, хранящихся в соответствующих регистрах или парах регистров. Например: (А) – 8-разрядный код, который хранится в регистре А, (DE) – 16-разрядный код, который хранится в паре регистров DE.

§ Угловые – для непосредственного указания численных значений (операндов или адресов) во втором <В2> или втором и третьем <B3В2> дополнительных байтах команды.

§ Квадратные – при обращении к оперативной памяти, причем в этих скобках указывается адрес нужной ячейки ОЗУ. Например: [(BC)] – код, хранящийся в ячейке ОЗУ, адрес которой указан в паре регистров ВС; [<B3B2>] – код, хранящийся в ячейке ОЗУ, адрес которой непосредственно указан во втором и третьем дополнительных байтах команды.

Стрелками указано направление передачи информации при выполнении указанной операции.

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

1.На машинном языке (на языке кодовых слов), который непосредственно воспринимается микропроцессором в виде совокупности сигналов логического 0 и логической 1. В этом случае программа, целиком записанная двоичными кодами, получается очень громоздкой (что приводит к увеличению вероятности появления ошибок и к большим затратам времени на ее составление), трудно читаемой и корректируемой. Но зато она получается наиболее быстродействующей!

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

 

0100 1100 (2) = 4С(16).

4 С

 

Так же просто выполняется обратный перевод, когда один знак шестнадцатиричного кода заменяется соответствующими четырьмя знаками двоичного кода.

2.Трудности программирования, чтения и корректировки уменьшаются при использовании языка Ассемблер, в котором вместо кодовых слов используется символическая (мнемоническая) запись любой команды (колонка 4 табл. 5.4) сокращенными английскими словами (например: команда MOV произошла от сокращенного слова move – двигать, передвигать, перемещать). Но использование этого языка требует применения в МП специальной программы транслятора, которая переводит команды языка Ассемблер на понятный микропроцессору машинный язык.

3.Язык Макроассемблер. Здесь можно присваивать символ (мнемонику) целой последовательности команд, что, естественно, существенно сокращает запись программ, улучшает их читаемость и возможность корректировки.