Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 2.5 Асемблер для студ. КС 230115.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
61.28 Кб
Скачать
    1. Логические команды

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

Однобайтовые

ANA R – операция конъюнкция (логическое умножение) над содержимым регистра и А.

А  (А Λ R).

ANA M – операция конъюнкция над содержимым ЯП и А. А [А Λ (HL)].

2-х байтовая

ANI DATA - непосредственная операция конъюнкция. А  (А Λ ВYTE2).

Однобайтовые

XRA R – регистровая операция сложение по модулю 2 (операция неравнозначности).

(А)  (А R).

XRA M – операция сложение по модулю 2 над памятью. .

2-х байтовая

XRI DATA – непосредственная операция сложение по модулю 2. (A) [(A) (BYTE2)].

Однобайтовые

ORA R – регистровая операция дизъюнкция (логическое сложение). A  (A V R).

ORA M – операция дизъюнкция над памятью. (A) [A V (HL)].

2-х байтовые

ORI DATA – непосредственная операция дизъюнкция. A  (A V BYTE2).

Однобайтовые

CMP R – сравнение содержимого регистра с содержимым А. А - R, содержимое А не изменяется.

CMP M – сравнение содержимого ЯП с содержимым А. A - (HL), содержимое А не изменяется.

2-х байтовая

CPI DATA – непосредственное сравнение. А – (ВYTE2), содержимое А не изменяется.

Однобайтовые

CMA – инвертирование А. A  .

RLC - циклический сдвиг содержимого А на один разряд влево.

RRC - циклический сдвиг содержимого А на один разряд вправо.

8 Команды управления

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

EI – разрешить прерывание.

DI – запретить прерывание.

Однобайтовые

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

NOP – пустая операция. Команда используется для организации временных задержек.

1.Команды условного и безусловного переходов

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

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

3-х байтовая

JMP ADDR - безусловный переход. Управление передается команде, адрес которой указан во втором и третьем байтах команды перехода. (РС)  [(ВYTE3)(ВYTE2)].

При выполнении команд условного перехода дальнейший выбор одной из последовательности команд зависит одного из четырех флагов: нуля (Z), знака результата (S), четности (P), переноса (C), т. е. сначала проверяется состояние одного из четырех флагов МП на выполнение указанного в команде условия, а затем происходит выполнение команды. При выполнении условия осуществляется переход по новому адресу, в противном случае выполняется следующая команда. Для удобства программирования предусмотрены проверки условий по единичным и нулевым значениям флагов CY (C), Z, S, P. Мнемоника команд условного перехода образуется добавлением буквы J (условие) к названию условия, а затем указывается адрес, куда следует перейти, если условие выполнено.

Все команды 3-х байтовые.

Условия переходов приведены в таблице 1

Таблица 1

Условие

Мнемокод команды

NZ – не ноль (Z=0)

JNZ ADDR

Z –ноль (Z=1)

JZ ADDR

NC нет переноса (С=0)

JNC ADDR

С – есть перенос (С=1)

JC ADDR

РО – нечетный результат (Р = 0)

JPO ADDR

РЕ – четный результат (Р = 1)

JPE ADDR

Р – плюс (S = 0)

JP ADDR

M – минус (S = 1)

JM ADDR