Архитектура микроконтроллеров семейства MCS-51. Бояринов А.Е - 30 стр.

UptoLike

Составители: 

П р и м е р: A = FAh, PC = 0289h, ПЗУ[0384] = 9Bh
MOVC A, @A + PC A = 9Bh, PC = 028Ah.
2.2.5 Обращение к стеку
Для работы со стеком служат две команды PUSH и POP. Первая команда помещает прямоадресуе-
мый байт в стек, вторая – наоборот извлекает данные из стека. Адресация стека осуществляется косвен-
но через восьмиразрядный регистр указатель стека SP, который автоматически модифицируется после
каждого обращения к стеку. Команда PUSH инкрементирует SP, а POP декрементирует его.
POP <direct>
(direct): = ((SP)), (SP): = (SP)-1.
П р и м е р: SP = 32h, DPH = 01, DPL = ABh,
ОЗУ[32] = 12, ОЗУ[31] = 56h, ОЗУ[30] = 20h
POP DPH
POP DPL SP = 30h, DPH = 12, DPL = 56
POP SP SP = 20.
PUSH <direct>
(SP): = (SP)+1, ((SP)): = <direct>
П р и м е р: SP = 09h, DPTR = 1279h
PUSH DPL
PUSH DPH SP = 0Bh, ОЗУ[0A] = 79h, ОЗУ[0B] = 12h
2.3 АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Данную группу образуют 24 команды (табл. П.2), выполняющие операции сложения, десятичной
коррекции, инкремента/декремента байтов. Имеются команды вычитания, умножения и деления байтов.
Команды ADD и ADDC допускают сложение аккумулятора с большим числом операндов. Анало-
гично командам ADDC существуют четыре команды SUBB, что позволяет достаточно просто произво-
дить вычитание байтов и многобайтных двоичных чисел.
В микроконтроллере реализуется расширенный список команд инкремента/декремента байтов, ко-
манда инкремента 16-битного регистра-указателя данных.
ADD A, <байт-источник>
1) (A): = (A)+(Ri).
П р и м е р: A = C3h, R6 = AAh
ADD A, R6 A = 6Dh, R6 = AAh, CY = 1, AC = 0, OV = 1.
2) (A): = (A)+((Ri)).
П р и м е р: A = 95h, R1 = 35h ОЗУ[35] = 4Ch
ADD A, @R1 A = E1h, CY = 0, AC = 1, OV = 0.
3) (A): = (A)+(direct).
П р и м е р: A = 77h, ОЗУ[90] = FFh
ADD A, 90h A = 76h, CY = 1, AC = 1, OV = 0.