Алгоритм

Пример

(direct):=(A)Ú(direct)

;(A)=55H, (P2)=0AAH

ORL P2,A ;(A)=55H,

;(P2)=0FFH

ORL direct,#data8

0 1 0 0 0 0 1 1

direct

data8

Команда "логическое ИЛИ" выполняет поразрядную дизъюнкцию байта данных data8, непосредственно указанного в команде, с содержимым ячейки резидентной памяти данных (либо регистра специальных функций), 8-разрядный адрес которой (которого) определяется символическим именем direct. Результат помещается соответственно в используемую ячейку или используемый регистр. Команда на состояние флагов не влияет и имеет время выполнения 2 цикла.

Алгоритм

Пример

(direct):=(direct)Údata8

;(P1)=0FFH

ORL P1,#73H ;(P1)=0FFH

ORL C, bit

0 1 1 1 0 0 1 0

bit

Команда "логическое ИЛИ" выполняет дизъюнкцию содержимого флага переноса C с содержимым бита, 8-разрядный адрес которого определяется символическим именем bit в области ячеек резидентной памяти данных (РПД) или регистров специальных функций, допускающей побитовое обращение. Результат помещается в С. Содержимое используемого бита не изменяется. Команда на состояние других флагов не влияет и имеет время выполнения 2 цикла.

Алгоритм

Пример

(C):=(C)Ú(bit)

;(C)=0, (P1[2])=1,

;в РПД (2EH)=12H

ORL C, P1.2 ;(C)=1, (P1[2])=1

ORL C,70H ;(C)=1,

;в РПД (2EH)=12H

ORL C,/bit

1 0 1 0 0 0 0 0

bit

Команда "логическое ИЛИ" выполняет дизъюнкцию содержимого флага переноса C с инвертированным значением бита из области ячеек резидентной памяти данных или регистров специальных функций, допускающей побитовое обращение, при этом содержимое используемого бита, 8-разрядный адрес которого определяется символическим именем bit, не изменяется. Результат помещается в С. Команда на состояние других флагов не влияет и имеет время выполнения 2 цикла.

НЕ нашли? Не то? Что вы ищете?

Алгоритм

Пример

(C):=(C)Ú

;(C)=0, (AC)=0

ORL C,/AC ;(C)=1, (AC)=0

POP direct

1 1 0 1 0 0 0 0

direct

Команда "чтение из стека" копирует содержимое ячейки резидентной памяти данных (РПД), адресуемой содержимым указателя стека SP, в ячейку, адрес которой определяется символическим именем direct в области РПД или в среде регистров специальных функций. При этом содержимое указателя стека уменьшается на единицу. Команда на состояние флагов не влияет и имеет время выполнения 2 цикла.

Алгоритм

Пример

(direct):=((SP))

(SP):=(SP)-1

;(SP)=32H, (DPH)=0AAH,

;в РПД (32H)=55H

POP DPH ;(SP)=31H,(DPH)=55H

PUSH direct

1 1 0 0 0 0 0 0

direct

Команда "запись в стек" увеличивает содержимое указателя стека SP на единицу и после этого копирует содержимое ячейки, адрес которой определяется символическим именем direct в области резидентной памяти данных (РПД) или в среде регистров специальных функций, в ячейку РПД, адресуемую содержимым SP. Команда на состояние флагов не влияет и имеет время выполнения 2 цикла.

Алгоритм

Пример

(SP):=(SP)+1

((SP)):=(direct)

;(SP)=44H, (DPL)=33H,

;в РПД (45H)=0CEH

PUSH DPL ;(SP)=45H, в РПД (45H)=33H

RET

0 0 1 0 0 0 1 0

Команда "возврат из подпрограммы" последовательно копирует содержимое двух ячеек, адресуемых содержимым указателя стека SP в резидентной памяти данных (РПД), в программный счетчик PC. При этом содержимое SP уменьшается на два. Команда на состояние флагов не влияет и имеет время выполнения 2 цикла.

Алгоритм

Пример

(PC[15-8]):=((SP))

(SP):=(SP)-1

(PC[7-0]):=((SP))

(SP):=(SP)-1

;(SP)=32H, (PC)=3DFH,

;в РПД (31H)=23H, (32H)=01H

RET ;(SP)=30H, (PC)=123H,

;в РПД (31H)=23H, (32H)=01H

RETI

0 0 1 1 0 0 1 0

Команда "возврат из прерывания" последовательно копирует содержимое двух ячеек, адресуемых содержимым указателя стека SP в резидентной памяти данных (РПД), в программный счетчик PC и разрешает прерывания с уровнем приоритета, равным уровню приоритета только что обработанного прерывания. При этом содержимое SP уменьшается на два. Команда на состояние флагов не влияет и имеет время выполнения 2 цикла.

 

Алгоритм

Пример

 

(PC[15-8]):=((SP))

(SP):=(SP)-1

(PC[7-0]):=((SP))

(SP):=(SP)-1

;(SP)=23H, (PC)=0D3FH,

;в РПД (22H)=34H, (23H)=02H

RETI ;(SP)=21H, (PC)=234H,

;в РПД (22H)=34H, (23H)=02H

RL A

0 0 1 0 0 0 1 1

 

Команда "сдвиг аккумулятора влево" сдвигает содержимое аккумулятора A на один бит влево, причем содержимое бита 7 пересылается в бит 0. Команда на состояние флагов не влияет и имеет время выполнения 1 цикл.

Алгоритм

Пример

(A[M+1]):=(A[M]), где M=0-6

(A[0]):=(A[7])

;(A)=85H, (C)=0

RL A

RL A ;(A)=16H, (C)=0

RLC A

0 0 1 1 0 0 1 1

Команда "сдвиг аккумулятора влево через флаг переноса" сдвигает содержимое аккумулятора A на один бит влево, причем содержимое бита 7 аккумулятора пересылается во флаг переноса C, а содержимое C - в бит 0 аккумулятора. Команда на состояние других флагов не влияет и имеет время выполнения 1 цикл.

Алгоритм

Пример

(A[M+1]):=(A[M]), где M=0-6

(A[0]):=(С), (С):=(A[7])

;(A)=85H, (C)=0

RLC A ;(A)=0AH, (C)=1

RR A

0 0 0 0 0 0 1 1

Команда "сдвиг аккумулятора вправо" сдвигает содержимое аккумулятора A на один бит вправо, причем содержимое бита 0 пересылается в бит 7. Команда на состояние флагов не влияет и имеет время выполнения 1 цикл.

Алгоритм

Пример

(A[M]):=(A[M+1]), где M=0-6

(A[7]):=(A[0])

;(A)=85H, (C)=1

RR A

RR A ;(A)=61H, (C)=1

RRC A

0 0 0 1 0 0 1 1

Команда "сдвиг аккумулятора вправо через флаг переноса" сдвигает содержимое аккумулятора A на один бит вправо, причем содержимое бита 0 аккумулятора пересылается во флаг переноса C, а содержимое C - в бит 7 аккумулятора. Команда на состояние других флагов не влияет и имеет время выполнения 1 цикл.

Алгоритм

Пример

(A[M]):=(A[M+1]), где M=0-6

(A[7]):=(С), (С):=(A[0])

;(A)=85H, (C)=0

RRC A ;(A)=42H, (C)=1

SETB C

1 1 0 1 0 0 1 1

Команда "установить бит" устанавливает содержимое флага переноса C в "1". Команда на состояние других флагов не влияет и имеет время выполнения 1 цикл.

Алгоритм

Пример

(C):=1

;(C)=0

SETB C ;(C)=1

SETB bit

1 1 0 1 0 0 1 0

bit

Команда "установить бит" устанавливает в "1" содержимое бита, 8-разрядный адрес которого определяется символическим именем bit в области ячеек резидентной памяти данных или регистров специальных функций, допускающей побитовое обращение. Команда имеет время выполнения 1 цикл и на состояние флагов не влияет, за исключением случая, когда флаг является операндом команды.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22