Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mIKROPROTsESSORY / LECTMP_2012_part1.doc
Скачиваний:
105
Добавлен:
09.04.2015
Размер:
1.47 Mб
Скачать

2.6. Система команд микропроцессораКр580ик80а

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

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

В зависимости от типа МП команды могут быть однобайтовыми, двухбайтовыми или трехбайтовыми (как в системе команд КР580ИК80А). Они могут иметь фиксированную длину (например, для К1801ВМ1 длина команды составляет 16 разрядов). Для микропрограммируемых МП длина микрокоманды меняется в зависимости от принятой структуры МПС (для МП К584ВМ1 длина команды управления ЦПЭ составляет 9 разрядов).

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

В Приложении 1 приведена система команд МП КР580ВМ80, в Приложении 2 - система команд ОЭВМ К1816ВЕ51.

Например, для МП КР580ИК80А заголовки столбцов системы команд могут выглядеть так, так показано в табл. 2.6

Таблица 2.6

Пример таблицы системы команд

Мнемоника и операнды

Код операции

Кол-во байт

Кол-во тактов

Описание операции

Признаки

C

AC

Z

P

S

MOV А,В

77

1

4/7

А(В)

-

-

-

-

-

В первом столбце указывается некоторое обозначение команды или группы команд в виде нескольких латинских букв (как правило, это сокращение английского наименования операции). Такое обозначение называется мнемоника. Ее легче запомнить, она обозначает сразу группу операций. После мнемоники через пробел приведены операнды (данные, с которыми оперирует команда). Для данной конкретной системы команд могут встречаться 3 варианта: команда без операндов (только одна мнемоника, когда по логике выполнения самой команды ясно, с какими операндами она работает), с одним операндом (когда работа происходит с одним байтом данных, в этом случае через пробел указывается этот операнд) и с двумя операндами ( например, при сложении двух чисел, в этом случае второй операнд обязательно отделяется от первого запятой).

Операндами в данном случае могут быть следующие 6 типов данных:

  1. Обозначения регистров (обозначается в командах как R1 или R). Для данного вида МП это может быть: B, C, D, E, H, L, M, A.

  2. Байт данных (обозначается как D8), как правило, второй байт команд с непосредственной адресацией.

  3. Номер устройства УВВ, с которым будет обмениваться МП (обозначается, как N и представляет собой второй байт двухбайтовых команд ввода вывода).

  4. Пара регистров (обозначается, как обобщенная пара YZ в командах, а непосредственно в командах может принимать значения: BC, DE, HL, SP, PSW (пара, состоящая из A и F)).

  5. Двухбайтовые данные (обозначаемые как D16 и как правило хранящиеся во втором и третьем байтах трехбайтовых команд).

  6. Двухбайтовый адрес перехода (обозначается, как ADR, и помещается во втором и третьем байтах трехбайтовых команд).

В системе команд как правило, все команды разделены на группы. Группы объединяют однотипные команды. Например, для МП КР580ИК80А существует 10 групп:

  1. Однобайтные пересылки – группа команд, которые пересылают один байт за команду.

  2. Двухбайтовые пересылки – пересылается сразу 2 байта.

  3. Команды ввода-вывода.

  4. Команды обмена байтами.

  5. Арифметические и логические команды с одним операндом.

  6. Арифметические и логические команды с двумя операндами.

  7. Команды передачи управления.

  8. Команды сдвига содержимого аккумулятора.

  9. Команды вызова и возврата из подпрограмм.

  10. Специальные команды.

Соседние файлы в папке mIKROPROTsESSORY