Материал: МИУС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Все команды МП по назначению делятся на следующие группы:

  1. команды пересылок (команды обмена)

  2. арифметические команды

  3. логические команды

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

  5. команды ввода-вывода и работы со стеком

В Приложении 4 приведена система команд МП КР1821ВМ85А.

2.5. Структура и формат команды.

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

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

Д

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

ля фиксации этой информации в коде команды выделяются определенные разряды или поля. Общая структура команды имеет вид:

Адресная часть в свою очередь может состоять из нескольких полей.

Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей.

Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть:

n ko > log2M

По формату все команды МП делятся на 1-, 2- и 3-байтные.

1-байтные (одноадресные) команды ( в программе занимают только один адрес) содержат только одно поле, только операционную часть (код операции). Код операции содержит всю необходимую для процессора информацию – сведения о выполняемой операции, сведения об операндах и о месте результат.

Например, команда ADD B (арифметическая команда). Сложить содержимое аккумулятора с содержимым регистра В. При выполнении этой команды один операнд находится в аккумуляторе, второй – в регистре В. результат остается в аккумуляторе.

Ф

80

ормат команды:

2

Код операции

операнд

-байтные (двухадресные) команды имеют следующий формат:

1-й байт 2-й байт

Арифметическая команда ADI data. Сложить содержимое аккумулятора с операндом, который задан во втором байте кода команды. Результат оставить в аккумуляторе. Формат команды имеет вид:

С6

data

1-й байт 2-й байт

3

Код операции 16-разрядный операнд

-байтные (трехадресные команды) имеют следующий формат:

1- байт 2-й и 3-й байты

Чаще всего эти команды используются для работы с адресами.

К

21

00

09

оманда в общем виде LXI rp data. Загрузить в регистровую rp пару 16-разрядный операнд data. Конкретно LXI H, 0900. Загрузить в регистровую пару HL адрес 0900. Формат команды имеет следующий вид:

1- байт младший старший

байт байт

адреса адреса

2.6. Способы адресации

Типовой МП использует пять способов адресации: неявную, регистровую, непосредственную, прямую, косвенную.

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

Команда MOV R1,R2. Переслать содержимое регистра R2 в регистр R1. R2 – источник информации, R1 – приемник информации. Источником и приемником информации может быть любой из РОН.

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

Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды вслед за кодом операции. Примером такой команды является команда MVI R,data (записать в регистр R конкретное число data).

Неявная адресация. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в аккумуляторе, другой - в регистре В. В команде аккумулятор не указывается, считается, что он задан неявно.

Прямая адресация. Команды прямой адресации имеют 3-байтный формат. Они обеспечивают обмен информацией между аккумулятором и ячейкой памяти, адрес которой задан во втором и третьем байтах кода команды. Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого addr содержится во втором и третьем байтах.

Конкретно LDA 0850. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850. Формат команды имеет следующий вид:

3А 50 80

код операции младший байт старший байт

адреса адреса

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

Команда MOV M,R. Переслать содержимое регистра R в ячейку памяти М, адрес которой записан в регистровой паре H,L. Пара H,L называется регистром косвенного адреса.

Пример. Микропрограмма выполнения команды ADD B (сложить содержимое аккумулятора с содержимым регистра В).

Предположим, что команда расположена в памяти по адресу 0900Н. В аккумуляторе содержится операнд 06Н, в регистре В – 08Н.

2.7. Информационный обмен при выполнении команд различных типов

Однобайтные команды.

MOV R1, R2. Конкретно MOV B,C. Пусть команда расположена в памяти по адресу 0900Н. Машинный код команды – 41Н.

Алгоритм выполнения команды имеет вид:

начало

Передача адреса 0900Н из РС на шину адреса

Признак «ЧТ» MEM R на шину управления

Прием в RI кода операции 41Н

Дешифрация кода операции

Пересылка

B: = С

РС: = РС + 1

конец

Пересылка происходит по внутренней шине данных

К

А

оманда MOV M, R. Конкретно MOV M,A Передача информации из аккумулятора в ячейку памяти М. Команда с косвенной адресацией. В момент выполнения этой команды адрес ячейки М хранится в регистровой паре H,L. Адрес команды 08000Н. Адрес ячейки 0950Н. Машинный код команды – 77Н.

начало

Передача адреса 0800Н из РС на шину адреса

Признак «Чт» MEM R на шину управления

Прием в RI кода операции 77Н

Дешифрация кода операции

Передача адреса из (H,L) на шину адреса

Признак «Зп» MEM W на шину управления

(( H,L)): = (А)

РС: = РС + 1

конец

А

Двухбайтные команды.

Команда MVI R, data. Конкретно MVI B, 08Н.

Команда занимает в памяти два соседних байта. Начальный адрес – 0700Н. Машинный код команды – 06Н.

начало

Передача адреса из РС на ША

Признак «Чт» MEM R на ШУ

Прием в RI кода операции 06Н

Дешифрация кода операции

Передача адреса из РС на ША

Признак «Чт» MEM R на ШУ

Передача data = 08Н на ШД и в RB

РС: = РС + 1

РС: = РС + 1

конец

А

А

А

начало

Передача адреса 0900Н из РС на ША

Признак «ЧТ» от УУ на шину управления управления

Передача Коп 80Н на ШД и в RI

Дешифрация кода операции

Передача операнда из RG B в ТЕМ

Выполнение операции в АЛУ

РС: = РС + 1

конец

лгоритм выполнения данной команды выглядит следующим образом.

Передача происходит по внутренней шине данных

Источник: https://studfile.net/preview/16673630/