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

Необходимо отметить, что у МП типа 8080 (К580ВМ80) флаги AS и V отсутствуют.

В табл. 2.3 представлено влияние различных команд на флажковые биты.

Таблица 2.3

Влияние различных команд на флажковые биты

Команды

S

Z

AS

AC

P

V

CY

POP PSW, DAA, DSUB, ADD, ADC, ADI, ACI, SUB, SBB, SUI, SBI, ANA, ANI, XRA, XRI, ORA, ORI, CMP, CPI

+

+

+

+

+

+

+

INR, DCR

+

+

+

+

+

+

-

INX, DCX

-

-

+

-

-

-

-

DAD, RDEL, RLC, RRC, RAL, RAR

-

-

-

-

-

+

+

STC, CMC, ARHL

-

-

-

-

-

-

+

Примечание: символ ‘+’ означает влияние на соответствующий флаг, а символ ‘-‘ - отсутствие влияния.

2.8.4. Условные обозначения

Для упрощения записи действий, которые выполняет команда (см. 2.8.5...2.812), примем следующие обозначения:

· D8 - однобайтные данные;

· D16 - двухбайтные данные (D16L, D16H - младший и старший байты данного соответственно);

· ADDR - двухбайтный адрес (ADDRL, ADDRH -  - младший и старший байты адреса соответственно);

· PORT - адрес порта ввода/вывода (8 бит);

· RGD, RGS - регистры операндов назначения (в этот регистр записывается результат операции) и источника (из этого регистра берется один из операндов) соответственно, RGD, RGS Î [A, B, C, D, E, H, L];

· RP - регистровая пара, RP Î [PSW, B, D, H, SP];

· RPBD - регистровая пара, RP Î [B, D];

· PC (PCL, PCH), SP (SPL, SPH) - 16-ти разрядные регистры программного счетчика и указателя стека соответсвенно;

· (RGD), (RGS), (RP), (RPBD), (PC), (SP) - содержимое соответствующего регистра или регистровой пары;

· [(RP)] - содержимое ячейки памяти, адрес которой хранится в регистровой паре RP;

· ¬ - передается;

· « - обменивается;

· -, +, Ù, Ú, NOT, Å - арифметические и логические операции.

После описания команды приводятся дополнительные сведения в формате - число машинных циклов:число машинных тактов:число байт в команде. Для команд ветвления и условного перехода к подпрограммам (см. п. 2.8.7) числа машинных циклов и тактов записаны через дробь, в числителе которой приводятся данные для случая не выполнения условия, а в знаменателе - для выполненных условий.

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

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

MOV RGD, RGS - пересылка байта из RGS в RGD, (RGD):= (RGS), возможны все комбинации регистров, например, MOV H, H -1:4:1;

SPHL - загрузка SP из HL, (SP):= (HL), 1:6:1;

XCHG - обмен содержимых регистровых пар DE и HL, (DE) « (HL), 1:4:1

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

MVI RGD, D8 - загрузка D8 в RGD, (RGD):= D8, D8 - второй байт команды, 2:7:2;

MVI M, D8 - загрузка D8 в ячейку памяти, адрес которой находится в регистровой паре HL, 3:10:2;

LDHI D8 - пересылка содержимого регистровой пары HL в регистровую пару DE c подсуммированием D8, (DE):= (HL) + D8 (отсутствует в системе команд МП 8080), 3:10:2;

LDSI D8 - пересылка содержимого регистра указателя стека SP в регистровую пару DE c подсуммированием D8, (DE):= (SP) + D8 (от­сут­ст­ву­ет в системе команд МП 8080), 3:10:2

LXI RP, D16 - загрузка 16-битной константы в регистровую пару RP (за исключением PSW), (RP):=  D16, 3:10:3.

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

STA ADDR - пересылка байта из аккумулятора в ячеку памяти с адресом ADDR, [ADDR]:= (A), ADDRL и ADDRH - являются вторым и третьим байтами команды соответственно, 4:13:3;

LDA ADDR - пересылка байта из ячейки памяти с адресом ADDR в аккумулятор, (A):= [ADDR], 4:13:3;

SHLD ADDR - пересылка слова из регистровой пары HL в ячейки памяти, начиная с адреса ADDR, [ADDR]:= (L), [ADDR + 1]:= (H), 5:16:3;

LHLD ADDR - пересылка слова из ячеек памяти, начиная с адреса ADDR в регистровую пару HL, (L):= [ADDR], (H):= [ADDR + 1], 5:16:3;

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