Система команд МП КР580ИК80

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

Команда пересылки данных из регистра МОV r 1, r 2, по которой содержимое регистра источника (r2) пересылается в регистр-приемник (r 1), т. е. (r 1) (r 2). Команды эти однобайтовые. Например, команда пересылки содержимого регистра общего назначения В в регистр-аккумулятор А записывается в следующем виде: МОV А, В. В двоичной форме код этой команды представляется в МП в виде 011110002, где первая цифра (0) восьмеричного кода указывает на класс команды, вторая (1) – тип; 111 – код регистра А, а 000 – код регистра В. Шестнадцатеричный эквивалент этой команды – 7816. В качестве регистра r 1 и r 2 могут использоваться регистры общего назначения В, С, В, Е, Н, Ь и аккумулятор (А).

Команда пересылки данных из ячейки памяти, адрес которой хранится в регистровой паре НЬ, в > регистр МОУ г, М, по которой содержимое ячейки памяти, адрес которой хранится в регистрах Н и L пересылается в регистр r, т. е. (r) ← ((Н)(L)). Например, по команде МОV С, М осуществляется передача данных из ячейки памяти с адресом, хранящимся в регистровой паре НL, в регистр С. Шестнадцатеричный эквивалент этой команды – 4E16. Ячейка памяти, адрес которой определяется НL пары, обозначается М (Меmоrу – память).

Команда прямой загрузки аккумулятора из памяти LDA addr обеспечивает загрузку в аккумулятор содержимого ячейки памяти, адрес которой указан во втором и третьем байтах команды, т. е.

(А) ← ((байт 3) (байт 2)). Код команды – 3A16. Например, команда LDA 0216Н обеспечивает загрузку содержимого ячейки памяти с адресом 021616 в аккумулятор.

Команда прямой записи содержимого аккумулятора в память SТА аddr обеспечивает запись содержимого аккумулятора в ячейку памяти, адрес которой указан во втором и третьем байтах команды, т. е.

((байт 3) (байт 2)) ← (А). Код команды – 321б. Например, по команде SТА 811РН осуществляется прямая запись содержимого аккумулятора в ячейку памяти с адресом 811р1б.

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

Команда сложения содержимого аккумулятора с содержимым регистра ADDr, по которой содержимое регистра складывается с содержимым аккумулятора, т. е. (А) ← (А) + (г). Команды этого типа – однобайтовые. Например, команда сложения содержимого регистра В с содержанием аккумулятора имеет вид АВО В. В кодовых комбинациях эта команда записывается в виде 100000002, а в шестнадцатеричной форме – 80}6.

Команда сложения содержимого аккумулятора с содержимым ячейки памяти, адрес которой хранится в регистровой паре НL: АDD М, по которой выполняется операция (A)← (A) + ((H) (L)).

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

Команда логического умножения (И) содержимого регистра r и аккумулятора ANA r, в соответствии с которой над содержимым регистра г и аккумулятора выполняется операция логического умножения (И), т. е. (А) ← (А) (г). Результат помещается в аккумулятор. В качестве регистров г могут применяться регистры РОН: А, В, С, D, Е, Н, L. Команда эта – однобайтовая. Для случая, когда в качестве регистра г используется регистр В, команда представляется в виде ANA В. Шестнадцатеричный эквивалент этой команды – АО16.

Команды логического сложения (ИЛИ) аналогичны рассмотренным выше командам логического умножения (И). Например, команда логического сложения содержимого аккумулятора с содержимым регистра С в символичной форме записывается в следующем виде: ОRА С, а описание команды (А) ← (А)+(С).

Команды передачи управления. Команды этой группы изменяют нормальное последовательное исполнение программы. Имеются два типа команд перехода: безусловного и условного. Команды безусловного перехода осуществляют передачу управления, изменяя значение программного счетчика (РС). Команды условного перехода сначала проверяют состояние одного из разрядов регистра признаков (S, Z, AC, P, C), чтобы определить, выполнено ли указание в команде условие.

Команда безусловного перехода JMP addr, по которой управление передается команде, адрес которой указан во втором и третьем байтах команды, т. е. (РС) ← (байт 3) (байт 2).

Команда условного перехода J cond addr. Если указанное условие (cond) выполняется (истинно), то управление передается команде, адрес которой указан во втором и третьем байтах команды перехода (addr). Если условие не выполняется, то осуществляется переход к выполнению последующей команды. Например, команда, в которой проверяется условие неравенства нулю, т. е. NZ, представляется в виде JNZ addr. По этой команде, если результат предыдущей операции, помещенный в аккумулятор, не равен нулю, осуществляется переход к выполнению команды с указанным адресом.

Команда ввода и вывода информации. Команда ввода IN port обеспечивает передачу в аккумулятор данных, переданных на шину данных МП-системы с порта ввода, с адресом (рогt), т.е. (А)←(data8).

Команда вывода OUT рогt обеспечивает передачу данных из аккумулятора на шину данных, откуда они поступают в порт вывода, т.е. (data 8) ← (А). Обе рассмотренные команды двухбайтовые. Второй байт содержит 8-битный адрес порта (рогt).

Подпрограммы – части программ, которые целесообразно размещать отдельно от главной программы. Обращение к подпрограмме из главной программы осуществляется с помощью команды САLL аddr. В команде САLL (вызвать) второй и третий байт – адрес первой команды подпрограммы, к выполнению которой предписывается перейти. Код этой команды СD 16. Подпрограмма завершается командой RЕТ (возврат). Код этой команды – С916.

При обращении к подпрограмме необходимо данные, размещенные в регистрах МП, записать предварительно в стековую память. Осуществляется это по команде PUSH (поместить в стек). Извлечение данных из стековой памяти в те же регистры МП для продолжения работы осуществляется по команде РОР (извлечь из стека).

Команда NОP (нет операции) не вызывает никаких изменений в МП-системе за исключением лишь того, что в программный счетчик заносится адрес следующей команды. Код команды – ОО16. По команде НLТ (останов.) микропроцессорная система переходит в состояние «останов». Полный перечень команд и их описание системы команд МП КР580ИК80 можно найти в работе [6, 15 и др.].


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: