Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие (Представление чисел и арифметические операции в цифровых устройствах. Микропроцессорные устройства и системы на базе МП КР580ВМ80), страница 109

Мнемокод

Описание

Число слов

Число тактов

Пример

Примечание к примеру

ABS

Взятие абсолютной величины содержимого аккумулятора

1

1

ABS

¾

ADD

Сложение с аккумулятором содержимого ячейки памяти данных со сдвигом

1

1

ADD 18,3

ADD * – ,4,1

ACC¬(ACC)+[18]´23

ACC¬(ACC)+[(AR)]´

´24, косвенная адресация

APAC

Сложение содержимого регистра Р с содержимым аккумулятора

1

1

APAC

ACC¬(P)+(ACC)

B

Безусловный переход по адресу, указанному во втором слове команды

2

2

В

200

Переход к команде, записанной в ячейке 200 программной памяти (PC¬200)

BANZ

Переход, если содержимое текущего вспомогательного регистра отлично от 0

2

2

BANZ

100

Если (AR)¹0, то AR¬

¬(AP) – 1 и PC¬100, иначе PC¬(PC)+1 и AR¬(AR) – 1

BIOZ

Переход, если сигнал на входе BIO равен нулю

2

2

BIOZ

10

Если BIO=0, то PC¬

¬10, иначе PC¬(PC)+1

BGEZ

Переход, если содержимое аккумулятора больше или равно нулю

2

2

BGEZ

300

Если (ACC)³0, то PC¬

¬300, иначе PC¬

¬(PC)+1

BLZ

Переход, если содержимое аккумулятора меньше нуля

2

2

BLZ

50

Если (ACC)<0, то PC¬

¬50, иначе PC¬(PC)+1

BZ

Переход, если содержимое аккумулятора равно нулю

2

2

BZ

100

Если (АСС)=0, то РС¬

¬100, иначе РС¬

¬(РС)+1

CALA

Переход на подпрограмму по адресу из аккумулятора

1

2

CALA

Вершина стека ¬(РС)+

+1, РС¬Разряды 11 – 0

АСС

CALL

Непосредственный вызов подпрограммы

2

2

CALL

400

Вершина стека ¬(РС)+

+1, (РС)¬400

DINT

Запрещение прерываний

1

1

DINT

Бит режима прерываний ¬«1»

EINT

Разрешение прерываний

1

1

EINT

Бит режима прерываний ¬«0»

DMOV

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

1

1

DMOV 20

DMOV *+, 0

[21]¬[20],

[(AR)+1]¬[(AR)].

косвенная адресация

IN

Ввод данных из порта

1

2

IN 30, 7

IN * –, 7, 0

[30]¬(Порт 7),

[(AR)]¬(Порт 7), косвенная адресация

LAC

Содержимое ячейки памяти со сдвигом влево загружается в аккумулятор

1

1

LAC 21,5

LAC *, 3, 1

ACC¬[21]´25,

ACC¬[(AR)]´23, косвенная адресация

LACK

Загрузка аккумулятора непосредственной восьмиразрядной положительной константой

1

1

LACK 95

Младшие разряды АСС¬95, старшие 24 разряда АСС обнуляются

LAR

Содержимое ячейки памяти загружается в указанный вспомогательный регистр

1

1

LAR ARO, 22

LAR AR1 * –, 0

AR0¬[22],

AR1¬[(AR)], косвенная адресация

LARK

Загрузка указанного в команде вспомогательного регистра непосредственной 8-разрядной положительной константой

1

1

LARK AR0

77,

LARK AR1,5

Младшие разряды AR0¬77, старшие разряды обнуляются, младшие разряды AR1¬5

LARP

Непосредственная загрузка указателя вспомогательного регистра

1

1

LARP 0

LARP 1

ARP¬«0»

ARP¬«1»

LDPK

Непосредственная загрузка указателя страниц

1

1

LDPK 1

DP¬«1»

LT

Загрузка регистра Т

1

1

LT 12

LT *, 1

Регистр Т¬[12], регистр Т¬[(AR)], косвенная адресация

LTA

Команда объединяет в себе команды LT и APAC

1

1

LTA 25

Регистр Т¬[25];

ACC¬(ACC)+(P)

LTD

Выполнение этой команды аналогично одновременному выполнению команд LT, APAC и DMOV

1

1

LTD 21

LTD * –, 1

T¬[21]; ACC¬(ACC)+(P); [22]¬[21], косвенная адресация

MAR

Модификация содержимого вспомогательного регистра

1

1

MAP *+, 1

В режиме прямой адресации равносильна команде NOP; AR¬(AR)+1; ARP¬«1»

MPY

Содержимое ячейки памяти умножается на содержимое регистра Т

1

1

MPY 10

MPY *+, 0

P¬[10]´(T),

P´[(AR)]´(T), косвенная адресация

MPYK

Содержимое регистра Т умножается на 13-разрядную константу со знаком, указанную в команде

1

1

MPYK –, 9

P¬(T) ´ (–9)

NOP

Нет операции

1

1

NOP

OUT

Вывод данных в порт

1

2

OUT 7, 3

OUT * –,4,0

Порт 3¬[7],

Порт 4¬[(AR)], косвенная адресация

PAC

Загрузка аккумулятора содержимым регистра Р

1

1

PAC

ACC¬(P)

RET

Возврат из подпрограммы

1

2

RET

PC¬(Вершина стека)

SACH

Запись в память старших 16 разрядов аккумулятора со сдвигом влево на 0,1 или 4 разряда

1

1

SACH 12,4

Сначала содержимое АСС сдвигается влево на 4 разряда, затем старшие 16 разрядов записываются в ячейку памяти 12

SACL

Записать в память младших 16 разрядов аккумулятора

1

1

SACL 13

SACL * –, 1

[13]¬(ACC, разряды 15…0), [(AR)]¬(ACC, разряды 15…0), косвенная адресация

SAR

Сохранение содержимого, указанного в команде вспомогательного регистра

1

1

SAR AR0, 15

SAR AR1, *+,0

[15]¬(AR0)

[(AR)]¬(AR1), косвенная адресация

SUB

Вычитание из аккумулятора содержимого ячейки памяти

1

1

SUB 25, 7

SUB *, 9, 0

ACC¬(ACC) – (25)´27,

ACC¬(ACC) – [(AR)]´

´29, косвенная адресация

TBLR

Пересылка слова из программной памяти данных. Адрес программной памяти определяется содержимым аккумулятора

1

3

TBLR 28

1. Вершина стека ¬

¬(РС)+1.

2. РС¬(АСС), [28]¬

¬(ширина данных).

3. РС¬(Вершина стека)

TBLW

Пересылка слова из памяти данных в программную память

1

3

TBLW 17

TBLW * –, 1

Косвенная адресация

ZAC

Обнуление аккумулятора

1

1

ZAC

ACC¬0