- •Мікропроцесорна техніка
- •Мікропроцесорна техніка
- •Вступ....................................................................................5
- •Типові 8- та 16- розрядні мікропроцесори
- •5. Організація взаємодії мп з зовнішнім
- •1 Основні терміни. Структура та функціонування мікропроцесорної системи
- •2. Представлення чисел і елементи двійкової арифметики в цифрових пристроях
- •2.1 Позиційні системи числення
- •Шістнадцяткова система
- •Двійкова арифметика
- •Форми представлення чисел
- •3 Загальна характеристика та класифікація мп. Родини та комплекти мп.
- •Огляд мікропроцесорів відомих фірм-виробників
- •4 Типові 8- та 16- розрядні мікропроцесори для побудови мпс
- •4.1 Восьмирозрядний мікропроцесор 8080а
- •4.1.1 Архітектура і режими роботи мікропроцесора Архітектура мікропроцесора к580вм80а
- •4.1.2 Проектування центрального процесора
- •4.1.3 Система команд мп
- •4.2.1 Загальна характеристика ,архітектура та функціонування мікропроцесор
- •Архітектура мікропроцесора
- •Адресування пам'яті і організація вводу-виводу
- •Режими адресації
- •4.2.2 Система команд мікропроцесора вм86
- •5. Організація взаємодії мп з зовнішнім середовищем.
- •5.1 Інтерфейс
- •5.2 Порти вводу-виводу
- •5.3 Організація взаємодії елементів мпс
- •5.4 Типові методи вводу-виводу інформації в мпс
- •5.5 Інтерфейс з пзп
- •Інтерфейс з озп
- •Інтерфейс портів вводу/виводу
- •5.8 Загальні засади синтезу дешифраторів зовнішніх пристроїв
- •6 Пам’ять мікропроцесорних пристроїв
- •6.1 Основні характеристики і класифікація запам’ятовуючих
- •6.2 Надоперативні і оперативні запам’ятовуючі пристрої
- •6.3 Постійні запам’ятовуючі пристрої
- •Запам’ятовуючі пристрої з послідовним доступом
- •6.4 Організація модулів пам'яті мпс
- •7. Інтерфейсні віс для проектування мпс
- •7.1 Програмований адаптер паралельного інтерфейсу
- •7.2 Програмований зв’язковий адаптер
- •7.3 Програмований інтервальний таймер
- •8 Однокристальні мікроЕом
- •8.1.1 Мікроконтролер мк 51
- •Арифметико-логічний пристрій
- •Доступ до зовнішньої і резидентної пам’яті
- •Типи операндів та способи адресації
- •Команди логічних операцій
- •Команди операцій з бітами
- •Команди передачі керування
- •8.1.2 Родина мк52
- •8.1.3 Перспективна розробка фірми analog devices
- •8.2 Мікроконтролери фірми microchip
- •Основи програмування на мові Асемблера
- •Формат бланка асемблерної програми
- •9.2 Директиви асемблера
- •9.3 Макрокоманди
- •10 Загальні засади і особливості програмування та відлагодження мікропроцесорних пристроїв
- •10.1.2 Етапи проектування мпс
- •10.2.1 Системи програмування
- •10.2.2 Засоби трансляції і компіляції
- •10.2.3 Засоби редагування зв’язків і компоновки
- •10.3 Засоби відлагодження мікропроцесорних систем
- •Засоби для контролю та відлагодження аз мпс
- •10.3.1 Засоби відлагодження мікропроцесорних програм
- •10.3.2 Засоби комплексного відлагодження мпс
- •11.Когутяк м.І.Мікропроцесорний комплект к580 і його використання в керуванні.Навчальний посібник.- Івано-Франківськ ,2000.-96с.
- •13. Когутяк м. І.Однокристальні мікроЕом.Родина мк51 .Навчальний посібник.- Івано-Франківськ ,2000.-56с
Команди логічних операцій
Група команд логічних операцій об’єднує команди логічних операцій І, АБО і ВИКЛЮЧАЮЧЕ АБО, а також команди маніпулювання з акумулятором: інверсія, обнуління, зсуви через перенос, циклічні зсуви і обміну тетрадами (всього 25 команд розміщених в таблиці 8.16).
На відміну від арифметичних функцій команди логічних функцій можуть здійснюватись без участі акумулятора, а їх результат може бути сформований у будь-якій комірці внутрішнього ОЗП, пряма адреса якої вказується в команді. Це важливий інструмент для маскування операндів при роботі з портами.
Приклади використання команд логічних функцій подано нижче.
ANL P2,#10111010 B |
; Обнуління бітів 0,2,6 порту 2 |
ORL P1,#00001111 B |
; Установити біти 0-3 порту 1 |
ANL PSW,#11100111 B |
; Вибір нульового банку (обнулити біти RS1 i ;RS0) |
XRL P1,A |
; Проінвертувати біти порту Р1, що відповідають ; одиничним бітам акумулятора |
XRL A,#OF H |
; Проінвертувати біти 0-3 акумулятора |
XRL P0,#11100000 B |
; Проінвертувати біти 7,6,5 порту Р0 |
МК 51 має чотири команди зсувів, дія яких показується на рисунку 8.10.
Рисунок 8.10- Дія команди зсувів: а)через перенос - RLC, RRC;
б) циклічний зсув -RL, RR.
Таблиця 8.16- Група команд логічних операцій
Назва команди |
Мнемокод |
КОП |
Т |
В |
Ц |
Операція |
Логічне І акумулятора і регістра |
ANL A, Rn |
01011iii |
1 |
1 |
1 |
(A)(A) (Rn) |
Логічне І акумулятора і прямоадресованого байта |
ANL A, ad |
01010101 |
3 |
2 |
1 |
(A)(A) (ad) |
Логічне І акумулятора і байта з РПД |
ANL A,@Ri |
0101011i |
1 |
1 |
1 |
(A)(A) ((Ri)) |
Логічне І акумулятора і константи |
ANL A, #d |
01010100 |
2 |
2 |
1 |
(A)(A) #d |
Логічне І прямоадресованого байта і акумулятора |
ANL ad, A |
01010010 |
3 |
2 |
1 |
(ad)(ad) (A) |
Логічне І прямоадресованого байта і константи |
ANL ad, #d |
01010011 |
7 |
3 |
2 |
(ad)(ad) #d |
Логічне АБО акумулятора і регістра |
ORL A, Rn |
01001iii |
1 |
1 |
1 |
(A)(A) (Rn) |
Логічне АБО акумулятора і прямоадресованого байта |
ORL A, ad |
01000101 |
3 |
2 |
1 |
(A)(A) (ad) |
Логічне АБО акумулятора і байта з РПД |
ORL A,@Ri |
0100011i |
1 |
1 |
1 |
(A)(A) ((Ri)) |
Логічне АБО акумулятора і константи |
ORL A,#d |
01000100 |
2 |
2 |
1 |
(A)(A) #d |
Логічне АБО прямоадресованого байта і акумулятора |
ORL ad, A |
01000010 |
3 |
2 |
1 |
(ad)(ad) (A) |
Логічне АБО прямоадресованого байта і константи |
ORL ad, #d |
01000011 |
7 |
3 |
2 |
(ad)(ad) #d |
Виключаюче АБО акумулятора і регістра |
XRL A, Rn |
01101iii |
1 |
1 |
1 |
(A)(A) (Rn) |
Виключаюче АБО акумулятора і прямоадресованого байта |
XRL A, ad |
01100101 |
3 |
2 |
1 |
(A)(A) (ad) |
Виключаюче АБО акумулятора і байта з РПД |
XRL A,@Ri |
0110011i |
1 |
1 |
1 |
(A)(A) ((Ri)) |
Виключаюче АБО акумулятора і константи |
XRL A, #d |
01100100 |
2 |
2 |
1 |
(A)(A) #d |
Виключаюче АБО прямоадресованого байта і акумулятора |
XRL ad, A |
01100010 |
3 |
2 |
1 |
(ad)(ad) (A) |
Виключаюче АБО прямоадресованого байта і константи |
XRL ad, #d |
01100011 |
7 |
3 |
2 |
(ad)(ad) #d |
Обнуління акумулятора |
CLR A |
11100100 |
1 |
1 |
1 |
(A)0 |
Інверсія акумулятора |
CPL A |
11110100 |
1 |
1 |
1 |
(A)(A) |
Зсув акумулятора вліво циклічний |
RL A |
00100011 |
1 |
1 |
1 |
(An+1)(An) n=06 (A0)(A7) |
Зсув акумулятора вліво через перенос |
RLC A |
00110011 |
1 |
1 |
1 |
(An+1)(An) n=06 (A0)(C), (C)(A7) |
Зсув акумулятора вправо циклічний |
RR A |
00000011 |
1 |
1 |
1 |
(An)(An+1) n=06 (A7)(A0) |
Зсув акумулятора вправо через перенос |
RRC A |
00010011 |
1 |
1 |
1 |
(An)(An+1) n=06 (A7)(C), (C)(A0) |
Обмін місцями тетрад в акумуляторі |
SWAP A |
11000100 |
1 |
1 |
1 |
(A0-3)(A4-7)
|
Зрозуміло, що команди RLC i RRC діють на індикатор переносу С.
Команди зсувів (RLC i RRC) особливо корисні при множенні і діленні числа, що знаходиться в акумуляторі, на числа кратні 2, оскільки процедура реалізується через зсув вмісту акумулятора відповідно вправо або вліво на необхідну кількість розрядів. Очевидно, що біт С перед зсувом щоразу потрібно обнулювати. Обидва типи зсувів можна застосовувати для тестування окремих бітів акумулятора.
Команда SWAP забезпечує обмін тетрадами в акумуляторі шляхом циклічного зсуву вправо 4 рази. Дана команда не діє на індикатор С.