Команда ORL <байт-назначения>, <байт-источникa>
Команда "логическое "ИЛИ" для переменных байтов" выполняет операцию логического "ИЛИ" над битами указанных переменных, записывая результат в байт назначения. Эта команда на флаги не влияет. Допускается шесть комбинаций режимов адресации:
- если байтом назначения является аккумулятор :
- регистровый
- прямой
- косвенно-регистровый
- непосредственный
- если байтом назначения является прямой адрес :
- к аккумулятору
- к константе
Рассмотрим их.
Ассемблер: |
ORL A,Rn ; где n=0-7 |
Код: |
|
, где rrr=000-111 |
Время: |
1 цикл |
Алгоритм: |
(A) : = (A) OR (Rn),
где OR - операция логического "ИЛИ" |
Пример: |
;(A)=15H, (R5)=6CH
ORL A,R5 ;(A)=7DH, (R5)=6CH
|
Ассемблер: |
ORL A,<direct> |
Код: |
|
|
Время: |
1 цикл |
Алгоритм: |
(A) : =(A) OR (direct) |
Пример: |
;(A)=84H, (PSW)=C2H
ORL A,PSW ;(A)=C6H, (PSW)=C2H
|
Ассемблер: |
ORL A,@Ri ; где i=0,1 |
Код: |
|
Время: |
1 цикл |
Алгоритм: |
(A) : =(A) OR ((Ri)) |
Пример: |
;(A)=52H, (R0)=6DH, (ОЗУ [6D])=49H
ORL A,@R0 ;(A)=58H, (ОЗУ [6D])=49H
|
Ассемблер: |
ORL A, #data |
Код: |
|
|
Время: |
1 цикл |
Алгоритм: |
(A) : = (A) OR #data |
Пример: |
;(A)=FOH
ORL A,#0AH ;(A)=FAH
|
Ассемблер: |
ORL <direct>, A |
Код: |
|
|
Время: |
1 цикл |
Алгоритм: |
(direct) : = (direct) OR (A) |
Пример: |
;(A)=34H, (IP)=23H
ORL IP,A ;(IP)=37H, (A)=34H
|
Ассемблер: |
ORL (direct), #<data> |
Код: |
|
|
|
Время: |
2 циклa |
Алгоритм: |
(direct) : = (direct) OR #<data> |
Пример: |
;(P1)=00H
ORL P1,#0C4H ;(P1)=11000100B (C4H)
|
Примечание. Если команда используется для работы с портом, величина, используемая в качестве исходных данных порта, считывается из "защелки" порта, а не с выводов БИС.
|