Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Система команд МК51

Читайте также:
  1. I. Сигналы, подаваемые сигнальщиком командиру воздушного судна
  2. I. Сигналы-команды, подаваемые воздушным судном-перехватчиком,
  3. II. Дополнительные сигналы командиру вертолета в режиме висения
  4. III. МЕХАНИЗМ ФОРМИРОВАНИЯ И РЕАЛИЗАЦИИ ГОСУДАРСТВЕННОЙ КАДРОВОЙ ПОЛИТИКИ, СИСТЕМА ОБРАЗОВАНИЯ И ВОСПИТАНИЯ СПЕЦИАЛИСТОВ СМИ
  5. III. Систематика
  6. IV Международной командной педагогической олимпиады-универсиады
  7. V2: Женская половая система

 

У системі команд МК51 можна виділити п'ять груп: арифметичні, логічні, команди пересилання даних, команди роботи з бітами й команди розгалужування або передачі керування.

 

2.4.1. Арифметичні команди

Арифметичні команди (табл. 2.3) забезпечують виконання операцій додавання, віднімання (у т.ч. з урахуванням переносу) над цілочисельними 8-розрядними операндами, інкрементування й декрементування вмісту регістрів і комірок внутрішньої пам'яті даних, множення й розподіл 8-розрядних цілочисельних операндів.


 

Арифметичні команди мікроконтролерів МCS-51


Таблиця 2.3


Мнемоніка Опис Байт Тактів Дія
ADD A, Rn Додавання регістру з акумулятором     (A) (A)+ (Rn)
ADD A, @ Ri Додавання комірок внутрішньої пам'яті даних, що адресується непрямо, з акумулятором     (A) (A)+ ((Ri))
ADD A, Rn Додавання регістру з акумулятором з урахуванням переносу     (A) (A)+ (C)+ (Rn)
ADDС A, @ Ri Додавання комірок внутрішньої пам'яті даних, що адресується непрямо, з акумулятора з урахуванням переносу     (A) (A)+ (C)+ ((Ri))

 


 

 

 

Закінчення табл. 2.3

SUBB A, Rn Віднімання регістру з акумулятора з урахуванням позики     (A) (A)- (C)- (Rn)
SUBB A, @ Ri Віднімання непрямо адресованої комірки внутрішньої пам'яті даних з акумулятора з урахуванням переносу     (A) (A)- (C)- ((Ri))
INC A Інкремент акумулятора     (A) (A)+1
INC Rn Інкремент регістру     (Rn) (Rn)+1
INC @ Ri Інкремент непрямо адресованої комірки внутрішньої пам'яті даних     ((Ri)) ((Ri))+1
DEC A Декремент акумулятора     (A) (A)-1
DEC Rn Декремент регістру     (Rn) (Rn)-1
DEC @ Ri Декремент непрямо адресованої комірки внутрішньої пам'яті даних     ((Ri)) ((Ri))-1
INC DPTR Інкремент покажчика даних     (DPTR) (DPTR)+1
MUL AB Множення А на В     (A)7-0 (A)´ (B) (B)15-8
DIV AB Ділення А на В     (A)15-8 (A)/(B) (B)7-0
DА А Двійково-десяткова корекція     Вміст акумулятора у ВСD IF [(A 3-0) > 9]Ú [(AC) = 1] THEN (A)3-0 (A 3-0)+ 6 AND IF [(A 7-4) > 9]Ú [(C) = 1] THEN (A)7-4 (A 7-4)+ 6
ADD A, direct Додавання комірки внутрішньої пам'яті даних з акумулятором     (A) (A)+ (direct)
ADD A, #data Додавання безпосереднього байта даних з акумулятором     (A) (A)+# data
ADDС A, direct Додавання комірки внутрішньої пам'яті даних з акумулятором з урахуванням переносу     (A) (A)+ (C)+ (direct)
ADDС A, #data Додавання безпосереднього байта даних з акумулятором з урахуванням переносу     (A) (A)+ (C)+# data
SUBB A, direct Віднімання комірки внутрішньої пам'яті даних з акумулятора з обліком позики     (A) (A)- (C)- (direct)
SUBB A, #data Віднімання безпосереднього байта даних з акумулятора з урахуванням переносу     (A) (A)- (C)-# data
INC direct Інкремент комірки внутрішньої пам'яті даних     (direct) (direct)+1
DEC direct Декремент комірки внутрішньої пам'яті даних     (direct) (direct)-1

 

У таблиці наведено мнемонічне зображення команд, види операцій над операндами, кількість байтів у команді, кількість тактів і умовне зображення операції, здійснюваної мікропроцесором над операндами.

Наприклад, АDD А, R3; додавання вмісту регістру R3 поточного банку з


акумулятором, результат міститься в акумуляторі


< A >< A > + < R 3 >.


В арифметичних командах використовуються всі види адресації, розглянуті вище.

Як можна побачити з таблиці, арифметичні команди не містять трибайтових команд. Однобайтові команди використовують регістрову й непряморегістрову адресацію, результат операції завжди розміщується в акумуляторі


АDD А,


Rn; АDD А, @ Ri


; АDDC A,


Rn;


SUBB A,


Rn; SUBB A @ Ri


; INC


Rn; DCC @ Ri


; INC @ Ri.


Команди інкремента й декремента також усі одно байтові. Винятком є команди інкремента й декремента прямоадресованих комірок внутрішньої пам'яті даних, в яких (INC direct) у другому байті команди завжди знаходиться адреса комірок внутрішньої пам'яті даних. Слід зазначити, що якщо адресація до комірки внутрішньої пам'яті даних використовує непряму регістрову адресацію, наприклад INC @ R0, то команда виходить однобайтовою.

Особливістю системи команд МК51 є наявність команд множення (MUL) і ділення (DIV) цілочисельних 8-розрядних операндів. Команди множення й ділення використовують регістр В. Уміст акумулятора множиться на вміст регістру В и ділиться на вміст регістру В. 16-розрядний результат зберігається в регістрах А и В.

 

2.4.2. Логічні команди

Логічні команди (табл. 2.4) виконують реалізацію логічних операцій «І» (AND); «АБО» (ORL); «що виключає АБО» (сума за модулем два) (XRL) над операндами, зрушення над умістом акумулятора вправо й уліво, очищення акумулятора й перестановку його тетрад.


 

Логічні команди мікроконтролерів МCS-51


Таблиця 2.4


 

 

Мнемоніка Опис Байт Тактів Дія
ANL A, Rn AND регістру й акумулятора     (A) (A)L(Rn)
ANL A, @ Ri AND непрямо адресованої комірки внутрішньої пам'яті даних і акумулятора     (A) (A)L((Ri))
ORL A, Rn OR регістру й акумулятора     (A) (A)Ú (Rn)
ORL A, @ Ri OR непрямо адресованої комірки внутрішньої пам'яті даних і акумулятора     (A) (A)Ú ((Ri))
XRL A, Rn XOR регістру й акумулятора     (A) (A)"(Rn)

 

 

 

Закінчення табл. 2.4

 

XRL A, @ Ri XOR непрямо адресованої комірки внутрішньої пам'яті даних і акумулятора     (A) (A)"((Ri))
CLR A Очищення акумулятора     (A) 0
CPL A Інверсія акумулятора     (A) Ø(A)
RL А Зрушення акумулятора вліво     (An +1) (An) n = 0 - 6 (A 0) (A 7)
RLС А Зрушення акумулятора вліво через перенос     (An +1) (An) n = 0 - 6 (A 0) (C) (C) (A 7)
RR A Зрушення акумулятора вправо     (An) (An +1) n = 0 - 6 (A 7) (A 0)
RRС A Зрушення акумулятора вправо через перенос     (An) (An +1) n = 0 - 6 (A 7) (C) (C) (A 0)
SWAP A Перестановка тетрад акумулятора     (A 3-0) «(A 7-4)
ANL A, direct AND комірки внутрішньої пам'яті даних і акумулятора     (A) (A)L(direct)
ANL A, #data AND безпосереднього байта даних і акумулятора     (A) (A)L# data
ANL direct, А AND акумулятора й комірки внутрішньої пам'яті даних     (direct) (direct)L(A)
ORL A, direct OR комірки внутрішньої пам'яті даних і акумулятора     (A) (A)Ú (direct)
ORL A, #data OR безпосереднього байта даних і акумулятора     (A) (A)Ú# data
ORL direct,А OR акумулятора й комірки внутрішньої пам'яті даних     (direct) (direct)Ú (A)
XRL A, direct XOR комірки внутрішньої пам'яті даних і акумулятора     (A) (A)"(direct)
XRL A, #data XOR безпосереднього байта даних і акумулятора     (A) (A)"# data
XRL direct, А XOR акумулятора й комірки внутрішньої пам'яті даних     (direct) (direct)"(A)
ANL direct, #data AND безпосереднього байта даних і комірки внутрішньої пам'яті даних     (direct) (direct)L# dat
ORL direct, #data OR безпосереднього байта даних і комірки внутрішньої пам'яті даних     (direct) (direct)Ú# data

 

a

 

 

Слід зазначити, що всі команди, що використовують регістрову й реєстрову-регістрову-непряморегістрову адресації, також однобайтові.

Якщо логічні операції виконуються над операндами, розміщеними у внутрішній пам'яті, й операндом, розміщеним у команді, то команди в цьому


 

випадку мають три байти й виконуються за 24 такти. Це команди ANL direct,

#data, ORL direct, #data, XRL direct, #data.

 


Дата добавления: 2015-07-08; просмотров: 204 | Нарушение авторских прав


Читайте в этой же книге: В.В. Ткачов, Г. Грулер, Н. Нойбергер, С.М. Проценко, М.В. Козарь | ПЕРЕДМОВА | Дешифратори, мультиплексори, демультиплексори | Багаторозрядний суматор | RD RD RD | RD WR CS | Синтаксис мови асемблера | Директиви асемблера | Режим командного рядка | Режим роботи 0 |
<== предыдущая страница | следующая страница ==>
D0 ... Dm| Команди пересилання

mybiblioteka.su - 2015-2024 год. (0.012 сек.)