Введение в микропроцессоры. Конспект лекций по курсу "Микропроцессорные устройства", страница 18

MOV M, RGS - пересылка байта из RGS в ячейку памяти, адрес которой находится в регистровой паре HL, [(HL)]:= (RGS), 2:7:1;

MOV RGD, М - пересылка байта из ячейки памяти, адрес которой находится в регистровой паре HL, в RGD, (RGD):= [(HL)], 2:7:1;

STAX RPBD - пересылка байта из аккумулятора в ячейку памяти, адрес которой находится в регистровой паре RPBD, [(RPBD)]:= (A), 2:7:1;

LDAX RPBD - пересылка байта из ячейки памяти, адрес которой находится в регистровой паре RPBD, в аккумулятор, (A):= [(RPBD)], 2:7:1;

SHLX - пересылка слова из регистровой пары HL в ячейки памяти, начиная с адреса, который хранится в регистровой паре DE, [(DE)]:= (L), [(DE) + 1]:= (H) (отсутствует в системе команд МП 8080), 3:10:1;

LHLX - пересылка слова из ячеек памяти, начиная с адреса, который хранится в регистровой паре DE, в регистровую пару HL, (L):= [(DE)], (H):= [(DE) + 1] (отсутствует в системе команд МП 8080), 3:10:1

2.8.6. Команды пересылки в стек и загрузки из стека

Все команды этой группы имеют косвенный регистровый метод адресации.

XTHL - обмен содержимым вершины стека и регистровой пары HL, (L) « [(SP)], (H) « [(SP) + 1], 5:16:1;

PUSH RP - пересылка содержимого регистровой пары RP в  вершину стека, [(SP) - 1]:= (RPH)/(A), [(SP) - 2]:= (RPL)/(F), (SP):= (SP) - 2, 3:12:1;

POP RP - пересылка слова из вершины стека в регистровую пару RP, (RPL)/(F):= [(SP)], (RPH)/(A):= [(SP) + 1], (SP):= (SP) + 2, 3:10:1

2.8.7. Команды ветвления и перехода к подпрограммам

а) неявный метод адресации

RSTV - проверка флажка V. Если флажок установлен, то вызов подпрограммы по адресу 40h, в противном случае - переход на следующую команду. Вызов подпрограммы начинается с сохранения адреса возврата: [(SP) - 1]:= (PCH), [(SP) - 2]:= (PCL), (SP):= (SP) - 2. Затем следует переход на подпрограмму: (PC):= 40h (от­сут­ст­ву­ет в системе команд МП 8080), 1/3:6/12:1

б) регистровый метод адресации

PCHL - косвенный переход на адрес, который находится в регистровой паре HL,  (PC):= (HL), 1:6:1

в) прямой метод адресации

JMP ADDR - безусловный переход на адрес ADDR, (PC):= ADDR, ADDRL и ADDRH - являются вторым и третьим байтами команды соответственно, 3:10:3;

CALL ADDR - безусловный вызов подпрограммы по адресу ADDR, Вызов подпрограммы начинается с сохранения адреса возврата: [(SP) - 1]:= (PCH), [(SP) - 2]:= (PCL), (SP):= (SP) - 2. Затем следует переход на подпрограмму: (PC):= ADDR, 5:18:3;

Jxx ADDR - условный переход на адрес ADDR, команда проверяет условие хх и если последнее выполнено, то следует переход на адрес ADDR, в противном случае - переход на следующую команду. Условия могут быть следующими: Р (знак результата положительный)/M (знак результата отрицательный) - тестируется флажок S; Z (результат нуле­вой)/NZ (результат ненулевой) - тестируется флажок Z; PE (паритет четный)/PO (паритет нечетный) - тестируется флажок Р; С (установлен флажок CY)/NC (сброшен флажок CY); AS (установлен флажок AS)/ NAS (сброшен флажок AS). Таким образом, возможны следующие команды условных переходов: JP/JM, JZ/JNZ, JPE/JPO, JC/JNC, JAS/JNAS (отсутствует в системе команд МП 8080). Перечисленные команды тестируют пять флажков из семи. Оставшиеся флажки тестируются командами RSTV (V, см. выше)  и DAA (AC, см. п. 2.8.12), 2/3:7/10/3;

Cxx ADDR - условный переход к подпрограмме по адресу ADDR, команда проверяет условие хх и если последнее выполнено, то следует вызов подпрограммы по адресу ADDR, в противном случае - переход на следующую команду. Вызов подпрограммы начинается с сохранения адреса возврата: [(SP) - 1]:= (PCH), [(SP) - 2]:= (PCL), (SP):= (SP) - 2. Затем следует переход на подпрограмму: (PC):= ADDR. Проверяемые условия такие же, как и при выполнении условного перехода (за исключением AS/NAS, см. выше). Таким образом, возможны следующие команды условных переходов к подпрограммам: CP/CM, CZ/CNZ, CPE/CPO, CC/CNC, 2/5:9/18/3

2.8.8. Команды возврата и повторного запуска

а) прямой метод адресации

RST i, где i = 0...7 - команды рестарта (повторного старта), похожи на команду CALL (см. п. 2.8.7) тем, что осуществляют вызов подпрограммы с сохранением адреса возврата, но отличаются способом формирования адреса перехода.