ANL A,R2 ;(A)=C4H, (R2)=C5H
2.
Асемблер: ANL A,<data address>
Код: 0 1 0 1 0 1 0 1 data address
Час: 1 цикл
Алгоритм: (A) : =(A) AND (data address)
Приклад: ;(A)=A3H, (PSW)=86H
ANL A,PSW ;(A)=82H, (PSW)=86H
3.
Асемблер: ANL A, @Ri ; де i=0,1
Код: 0 1 0 1 0 1 1 i , де i=0,1
Час: 1 цикл
Алгоритм: (A) : =(A) AND (Ri)
Приклад: ;(A)=BCH, (ОЗУ [35])=47H, (R0)=35H,
ANL A,@R0 ;(A)=04H, (ОЗУ [35])=47H
4.
Асемблер: ANL A, #data
Код: 0 1 0 1 0 1 0 0 #data8
Час: 1 цикл
Алгоритм: (A) : = (A)AND #data
Приклад: ;(A)=36H
ANL A,#0DDH ;(A)=14H
5.
Асемблер: ANL <data address>, A
Код: 0 1 0 1 0 0 1 0 data address
Час: 1 цикл
Алгоритм: (data address) : = (data address) AND (A)
Приклад: ;(A)=55H, (P2)=AAH
ANL P2,A ;(P2)=00H, (A)=55H
6.
Асемблер: ANL <data addresst>, #data
Код: 0 1 0 1 0 0 1 1 data address #data8
Час: 2 циклу
Алгоритм: (data address) : = (data address) AND #data
Приклад: ;(P1)=FFH
ANL P1,#73H ;(P1)=73H
Команда ORL <байт-призначения>, <байт-джерела>
Команда "логічне "АБО" для змінних байтів" виконує операцію логічного
"АБО" над бітами вказаних змінних, записуючи результат в байт
призначення. Ця команда не впливає на прапорці. Є шість комбінацій
режимів адресації:
• якщо байтом призначення є акумулятор :
2. регістровий
3. прямий
4. косвено-регістровий
5. безпосередній
• якщо байтом призначення є пряма адреса :
6. до акумулятору
7. до константи
1.
Асемблер: ORL A, Rn ; де n=0-7
Код: 0 1 0 0 1 rrr , де rrr=000-111
Час: 1 цикл
Алгоритм: (A) : = (A) OR (Rn),
де OR - операція логічного "АБО"
Приклад: ;(A)=15H, (R5)=6CH
ORL A,R5 ;(A)=7DH, (R5)=6CH
2.
Асемблер: ORL A, <data address>
Код: 0 1 0 0 0 1 0 1 data address
Час: 1 цикл
Алгоритм: (A) : =(A) OR (data address)
Приклад: ;(A)=84H, (PSW)=C2H
ORL A,PSW ;(A)=C6H, (PSW)=C2H
3.
Асемблер: ORL A, @Ri ; де i=0,1
Код: 0 1 0 0 0 1 1 i
Час: 1 цикл
Алгоритм: (A) : =(A) OR ((Ri))
Приклад: ;(A)=52H, (R0)=6DH, (ОЗУ [6D])=49H
ORL A,@R0 ;(A)=58H, (ОЗУ [6D])=49H
4.
Асемблер: ORL A, #data
Код: 0 1 0 0 0 1 0 0 #data8
Час: 1 цикл
Алгоритм: (A) : = (A) OR #data
Приклад: ;(A)=FOH
ORL A,#0AH ;(A)=FAH
5.
Асемблер: ORL <data address>, A
Код: 0 1 0 0 0 0 1 0 data address
Время: 1 цикл
Алгоритм: (data address) : = (data address) OR (A)
Пример: ;(A)=34H, (IP)=23H
ORL IP,A ;(IP)=37H, (A)=34H
6.
Асемблер: ORL (direct), #<data>
Код: 0 1 0 0 0 0 1
1
direct address #data8
Час: 2 циклу
Алгоритм: (data address) : = (data address) OR #<data>
Пример: ;(P1)=00H
ORL P1,#0C4H ;(P1)=11000100B (C4H)
Команда ORL C, <біт джерела>
Команда "логічне "АБО" для змінних бітів" встановлює прапор переносу
С, якщо булева величина дорівнює логічній "1", в іншому випадку
встановлюється прапор С в "0". Знак ("/") перед операндом на мові асемблера
вказує на то, що в якості операнда використовується логічне отрицание
значення биту, що адресується, але сам біт джерела не змінюється. Ця
команда не впливає на прапори.
1.
Асемблер: ORL C,<bit>
Код: 0 1 1 1 0 0 1 0 bit address
Час: 2 циклу
Алгоритм: (C) : =(C) OR (bit)
Приклад: ;(C)=0, (P1)=53H (01010011B)
ORL C,P1.4 ;(C)=1, (P1)=53H (01010011B)
2.
Асемблер: ORL C,/ <bit>
Код: 1 0 1 0 0 0 0 0 bit address
Час: 2 циклa
Алгоритм: (C) : = (C) OR /(bit)
Приклад: ;(C)=0, (ОЗУ[25])39H (0011100B)
ORL C,/2A ;(C)=1, (ОЗУ[25])39H (0011100B)
2. Домашня підготовка
2.1. Вивчити матеріали лекцій і методичних вказівок відповідно до
теми лабораторної роботи.
2.2. Скласти мнемонічний текст програм, відповідно наведеної нижче
схеми.
Перша програма.
2.2.1. Внести то тексту програми файл mod51, як наведено ниже.
;-----------------------------------
$nolist
$include(mod51) ; приклад наведено для випадку розміщення файлу
; mod51 в поточній директорії. В іншому випадку
; треба вказати повний шлях до файлу
$list
ORG 0
; Текст програми
END
;-----------------------------------
2.2.2. Занести в регістр R0 дані 32h.
2.2.3. Занести в акумулятор данні 78h.
2.2.4. Вивести на двох правих розрядах індикатора суму R0 і A, а на
двох правих – 00h.
2.2.5. Сформувати затримку.
2.2.6. Завантажити акумулятор числом DEh.
2.2.7. Додати до вмісту акумулятора число В0h.
2.2.8. Вивести результат на HG1, з урахуванням здійсненого переносу.
Так як в цьому випадку є перенос з молодшого байта в старший, то результат
складання буде двобаштовим числом, тому для його відображення необхідно
задіяти три розряди HG1:
DEh+BO=18Eh.
2.2.9. Сформувати затримку.
2.2.10. Інвертувати вміст акумулятора і вирахувати з отриманих даних
число 1110. Результат відобразити на екрані.
2.2.11. Сформувати затримку.
2.2.12. Умножити вміст акумулятора на число 03h. Результат
відобразити на індикаторі.
Друга програма.
2.2.13. За адресою 0A006h завантажити данні 11001100b.
2.2.14. До регістра R3 завантажити данні 10001000b.
2.2.15. Сформувати затримку.
2.2.16. Між вмістом акумулятора і регістра R3 здійснити побітову
операцію «І». Результат операції відобразити на світлодіодному індикаторі за
адресою 0A006h.
2.2.17. Сформувати _________затримку
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.