8022
INSTRUCTION SET SUMMARY
Hexadecimal
Mnemonic Description Bytes
Cycle Opcode Mnemonic Description
ADD
A,R
r
Add
register to A 68,6F
JTO
Jump
on
TO=l
ADD
A,@R Add data memory to A
60-61
JNTO
Jump
on
TO=O
ADD
A,#dala
Add immediate
10
A 03
JTl
addr Jump
on
Tl=l
AD
DC
A,R
r
Add
register
with
carry 78-7F
JNTl
addr Jump
on
T1
=0
ADDC A,@R
Add
data
'memory with 70-71
JTF addr
Jump
on
timer flag
carry
ADDC
A,#data
Add
immediate
with
13
~
c
CALL
addr
Jump
to
subroutine
carry
:;
ANL
A,R
r
And
register to A 58-SF
~
.g
RET
Return
ANL A,@R
And
data memory to A
50-51
III
ANL
A,#data
And
immediate
to
A
53
ORL
A,R
r
Or
register
to A 4B-4F
0
CLR C Clear carry
01
ORL A,@R Or data memory to A 40-41
.!!
CPL C Complement carry
"-
ORL
A,#data
Or
immediate
to A 43
~
XRL
A,R
r
Exclusive
Or
register
DB-OF
MOV
A,R
r
Move register
to
A
~
to A
MOV A,@R
Move data memory
to
A
E
~
XRL A,@R Exclusive
Or
data
00-01
MOV
A,#data
Move immediate
to
A
u
u
memory to A
MOV Rr,A
Move A to register
'"
XRL
A,#data
Exclusive
Or
immediate
03
MOV@R,A
Move A
to
data memory
to A
MOV
R
r
.
# data
Move
immediate to
INC
A Increment A
17
0
register
~
DEC
A
Decrement A
07
~
MOV@R,#data
Move
immediate to
CLR A
Clear A
27
:I
data
memory
~
CPL A
Complement A
37
'iii
XCH A,
Rr
Exchange A and
Q
DA
A
Decimal
adjust A
57
register
SWAP
A
Swap
nibbles
of
A
47
XCH
A,@R Exchange A
and
data
RL
A Rotate A left
E7
memory
RLC A
Rotate
A left through
F7
XCHD
a,@R
Exchange
nibble
of
A
carry
and register
RR
A Rotate A right
77
MOVPA,@A
Move
to
A
from
current
RRC
A
Rotate
A right through
67
page
carry
S
MOV
A,T
Read
timer I counter
IN
A,
Pp
Input port to A 08,09,OA
c
MOV
T,A
Load timer I counter
~
0
OUTL PpA
Output A to port
90,39,3A
!::
STRT T
Start timer
;;
MOVD
A,P
p
Input
expander
port
OC-OF
~
STRT
CNT
Start counter
~
to A
~
STOP TCNT
Stop timer / counter
~
MOVD Pp.A
Output A to
expander
3C-3F
;;
..
port
~
RAD
Move
conversion result
= ANLD Pp.A
And
A
to
expander
port
9C-9F
1:
register
to A
~
ORLD Pp,A Or A to expander port
BC-SF
>
SEL
ANO
Select
analog input
c
0
U
zero
~
Q
SEL
ANl
Select
analog input one
INC
Rr
Increment register
lB-1F
;,
';;,
INC@R
Increment data memory 10-11
~
EN
I Enable external
a:
interrupt
JMP addr
Jump
unconditional 04,24,44,64,
DIS I
Disable external
84,A4,C4,E4
a
interrupt
JMPP@ A Jump indirect
B3
j
EN
TCNTI Enable timer / counter
.c
DJNZ R,addr
Decrement
register
and
ES-EF
interrupt
u
=
DIS
TCNTI
Disable
timer / counter
c
jump
on
R not
zero
~
interrupt
JC
addr Jump
on
carry=
1
F6
RET
I Return from interrupt
JNC addr Jump
on
carry=O
E6
JZ addr
Jump
on
A
zero
C6
NOP
No
operation
JNZ addr Jump
on
A not
zero
96
Mnemonics copyright Intel Corporation,
1978_
Instruction Set - The following instructions, which are
found in the
8748,
have
been
deleted from the 8022
instruction set.
Data Moves Ragisters
Branch
Control Input/Output
MOV
A,PSW
DEC R
ANL
P,#data
MOV
PSW,A
r--
ORL
P,#data
MOVX
A,@A
Flags
JFO
addr SEL
ABO
INS
A,BUS *
MOVX
@R,A
~
JF1
addr
Subroutine
SEL
RBl
OUTL
BUS,A *
MOVP3 A,@A
CPl
FO
JNI
addr
RETR
SEL
MBO
ANL
BUS,#data
CLR
F1
JBb addr SEL
MBl
ORL
BUS,#data
CPL
F1
ENTO
ClK
-These Instructions
have
been replaced in the 8022 by
IN
A,PO and OUTL PO,A respectively,
4-7
Hexadecimal
Bytes
Cycle
Ope
ode
36
26
56
46
16
14,34,54,74
94,B4,D4,F4
83
lk
97
A7
F8-FF
FO-Fl
23
A8-AF
AQ-Al
BS-SF
BO-Bl
28-2F
20-21
30-31
A3
42
62
55
45
65
80
85
95
05
15
25
35
93
00