Page 174 - 149
P. 174
Декремент DEC ad 00010101 3 2 1 (ad)(ad)-1
прямоад-
ресованого
байта
Декремент DEC @Ri 0001011i 1 1 1 ((Ri))((Ri))-1
байта в РПД
Множення MUL AB 10100100 1 1 4 (B)(A)(A)*(B)
акуму-лятора і
регістра В
Ділення DIV AB 10000100 1 1 4 (A).(B)(A)/(B)
акумулятора і
регістра В
Команди логічних операцій
Група команд логічних операцій об’єднує команди логічних операцій І,
АБО і ВИКЛЮЧАЮЧЕ АБО, а також команди маніпулювання з
акумулятором: інверсія, обнуління, зсуви через перенос, циклічні зсуви і
обміну тетрадами (всього 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- Група команд логічних операцій
175