Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Лабораторные работы №1-4.DOC
Скачиваний:
28
Добавлен:
02.05.2014
Размер:
3.19 Mб
Скачать

2.3 Логические команды

Задачей этих команд является выполнение поразрядной конъюнкции, дизъюнкции , сложения по модулю 2 , сравнения содержимого А и Ri или А и V, а также циклического сдвига операндов в А (таблица 2.1). Например, команда XRA M( код- AE(16)) осуществляет сложение по модулю 2 содержимого ячейки памяти М, расположенной по адресу, находящемуся в H,L, с аккумулятором , результат операции размещает в А.

1010 1011 = А

1100 1100 = М

0110 0111 А

Команды сдвига осуществляют сдвиг чисел на один разряд циклически через разряд СУ регистра F

RAL

СУ b7 A L1 b0 L1(A,СУ), СУ  b7

RAR

СУ b7 A R1 b0 R1(СУ,А), СУ  b0

или с занесением крайних цифр А в разряд СУ регистра

RLC

СУ b7 A L1 b0 L1(A,b7), СУ  b7

RRC

СУ b7 A R1 b0 R1(b0,A), СУ  b0

При выполнении команд сравнения операндов CMP Ri , CPI V разряды Z и СУ регистра F устанавливаются в значения аналогично операции вычитания.

STC осуществляет присвоение СУ=1;

CMC инвертирует значение переноса СУ=;

СМА инвертирует все разряды А=.

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

Четвертая группа команд содержит команды перехода, вызова, возврата и повторного запуска. Эта группа предназначена для изменения естественного порядка следования команд.

JMP aa - безусловный переход к команде, находящейся в ячейке ( байт3, байт2 = аа ).Второй и третий байты команды загружаются в W,Z и РС, а через регистр адреса, команда извлекает очередную необходимую команду программы.

JNZ аа извлекает команду аналогично JMP только при Z=0, в противном случае извлекается следующая по порядку команда, PC=PC+1. Таким же образом выполняются команды условного перехода JN, JNC, JPO, JPE, JP, JM в зависимости от состояний разрядов Z ,СУ, P, S регистра F.

PCHL передает содержимое регистровой пары H,L в счетчик команд, тем самым следующие команды извлекаются по адресу в РС.

CALL aa вызывает начальную команду подпрограммы, расположенной по адресу аа(16)= байт3 байт2 команды. При этом адрес следующей команды запоминается занесением в стековую память: в ячейку памяти М(SP-1) заносятся старшие разряды РС(РСН), в ячейку М(SP-2)- младшие PCL, значение указателя стека SP уменьшается на 2. Данная команда осуществляет безусловный переход к подпрограмме, однако часто требуется переход к подпрограмме в зависимости от состояния регистра F. Для этой цели используются следующие разновидности команды CALLаа :

CNZ аа(С4), CZ аа(СС), CNC аа(D4), CC aa(DC), CPO aa(E4), CPE aa(EC), CP aa(F4), CM aa(FC).

В этих командах проверяются условия аналогично командам условного перехода и при истинности условий реализуют функции CALLaa , т.е. осуществляют переход к подпрограмме по адресу аа с занесением содержимого РС в стековую память. Если условие не выполняется, реализуется следующая команда РС+1 основной программы .

RET - безусловный возврат к команде основной программы : её адрес загружается из вершины SГ стековой памяти, к указателю стека прибавляется 2. Возможен также возврат по условию с использованием команд: RNZ(C0), RZ(C8), RNC(D0), RC(D8), RPO(E0), RPE(E8), RP(F0), RM(F8).

RSTi*8 - повторный пуск (рестарт) осуществляет прерывание выполнения основной прграммы, адрес команды основной программы передается в стековую память аналогично командам CALLaa. Счетчик команд загружается фиксированным адресом ППЗУ. Так, команда RST7*8 загружает РС адресом 0038(16)=8*7=56(10). Команды RST позволяют использовать подпрограммы монитора для организации процесса вычислений .