Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентация 8051.pptx
Скачиваний:
0
Добавлен:
26.06.2025
Размер:
2.65 Mб
Скачать

ТИПЫ КОМАНД MCS51

Обозначения, используемые при описании команд:

Rn (n = 0,1,...,7) – регистр общего назначения в выбранном банке регистров; @Ri (i = 0,1) – регистр общего назначения в выбранном банке регистров,

используемый в качестве регистра косвенного адреса; ad – адрес прямоадресуемого байта;

ads – адрес прямоадресуемого байта-источника; add – адрес прямоадресуемого байта-получателя; ad11 – 11-разрядный абсолютный адрес перехода; ad16 – 16-разрядный абсолютный адрес перехода; rel – относительный адрес перехода;

#d – непосредственный операнд;

#d16 – непосредственный операнд (2 байта); bit – адрес прямо адресуемого бита;

/bit – инверсия прямо адресуемого бита; А – аккумулятор; РС – счетчик команд;

DPTR – регистр указатель данных;

( ) – содержимое ячейки памяти или регистра.

РЕГИСТРОВАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ

ADD A, Rn)

НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ

ADD A, #data)

ПРЯМАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ

ADD A, direct)

КОСВЕННАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ

ADD A, @Ri)

КОМАНДЫ, МОДИФИЦИРУЮЩИЕ ФЛАГИ РЕЗУЛЬТАТА

Команды

Флаги

Команды

Флаги

ADD

C, OV, AC

CLR C

C = 0

ADDC

C, OV, AC

CPL C

C = NOT (C)

SUBB

C, OV, AC

ANL C, b

C

MUL

C = 0, OV

ANL C, /b

C

DIV

C = 0, OV

ORL C, b

C

DA

C

ORL C, /b

C

RRC

C

MOV C, b

C

RLC

C

CJNE

C

SETB C

C = 1

 

 

ГРАФ ПУТЕЙ ПЕРЕДАЧИ ДАННЫХ

Обращение к внешней памяти данных

MOVX <байт_приемника>, <байт_источника>

MOVX A, @Ri

(A): = ((Ri)) i = 0, 1

Пример: A = 32h; R0 = 83h; Внешнее ЗУ[83h] = B6h

MOVX A, @R0 → A = B6h

MOVX A, @DPTR

(A): = ((DPTR))

Пример: A = 5Ch; DPTR = 1ABEh; Внешнее ЗУ[1ABEh] = 72h

MOVX A, @DPTR → A = 72h

Обращение к внешней памяти данных

MOVX @Ri, A

((Ri)): = (A) i = 0, 1

Пример: A = 95h; R1 = FDh; Внешнее ЗУ[FDh] = 00h MOVX @R1, A → Внешнее ЗУ[FDh] = 95h

MOVX @DPTR, A

((DPTR)): = (A)

Пример: A = 97h; DPTR = 1FFFh; Внешнее ЗУ[1FFFh] = 00h

MOVX @DPTR, A → Внешнее ЗУ[1FFFh] = 97h

Обращение к памяти программ

MOVC A, @A+(<R16>)

MOVC A, @A + DPTR

(A): = ((A) + (DPTR))

Пример: A = 1Bh; DPTR = 1020h; ПЗУ[103Bh] = 48h

MOVC A, @A + DPTR → A = 48h

MOVC A, @A + PC

(A): = ((A) + (PC))

Пример: A = FAh; PC = 0289h; ПЗУ[0383h] = 9Bh MOVC A, @A + PC → A = 9Bh; PC = 028Ah

Обращение к стеку

POP <direct>

(direct): = ((SP)), (SP): = (SP) – 1

Пример: SP = 32h; DPH = 01h; DPL = ABh ОЗУ[32h] = 12h; ОЗУ[31h] = 56h; ОЗУ[30h] = 20h

POP DPH

POP DPL → SP = 30h; DPH = 12h; DPL = 56h POP SP → SP = 20h