MCS-48 System Detailed Opcode Information
.
MCS-48 instruction set op codes (A instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
ADD A,RN |
01101nnn |
1 |
1 |
ADD A,@R |
0110000r |
1 |
1 |
ADD A,#DATA |
03 MM |
2 |
2 |
ADDC A,RN |
01111nnn |
1 |
1 |
ADDC A,@R |
0111000r |
1 |
1 |
ADDC A,#DATA |
13 MM |
2 |
2 |
ANL A,RN |
01011nnn |
1 |
1 |
ANL A,@R |
0101000r |
1 |
1 |
ANL A,#DATA |
53 MM |
2 |
2 |
ANL PORT,#DATA |
100110pp |
2 |
2 |
MM |
ANLD EP,A |
100111ee |
1 |
2 |
MCS-48 instruction set op codes (C instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
CALL ADDR |
xxx10100 |
2 |
2 |
XX |
CLR A |
27 |
1 |
1 |
CLR C |
97 |
1 |
1 |
CLR F1 |
A5 |
1 |
1 |
CLR F0 |
85 |
1 |
1 |
CPL A |
37 |
1 |
1 |
CPL C |
A7 |
1 |
1 |
CPL F0 |
95 |
1 |
1 |
CPL F1 |
B5 |
1 |
1 |
MCS-48 instruction set op codes (D instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
DA A |
57 |
1 |
1 |
DEC A |
07 |
1 |
1 |
DEC RN |
11001nnn |
1 |
1 |
DIS I |
15 |
1 |
1 |
DIS TCNTI |
35 |
1 |
1 |
DJNZ RN,ADDR8 |
11101nnn |
2 |
2 |
XX |
MCS-48 instruction set op codes (E instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
EN I |
05 |
1 |
1 |
EN TCNTI |
25 |
1 |
1 |
ENT0 CLK |
75 |
1 |
1 |
MCS-48 instruction set op codes (I instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
IN A,PN |
000010qq |
1 |
2 |
INC A |
17 |
1 |
1 |
INC RN |
00011nnn |
1 |
1 |
INC @R |
0001000r |
1 |
1 |
INS A,BUS |
08 |
1 |
2 |
MCS-48 instruction set op codes (J instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
JBb ADDR8 |
bbb10010 |
2 |
2 |
XX |
JC ADDR8 |
F6 XX |
2 |
2 |
JF0 ADDR8 |
B6 XX |
2 |
2 |
JF1 ADDR8 |
76 XX |
2 |
2 |
JMP ADDR |
xxx00100 |
2 |
2 |
XX |
JMPP @A |
B3 |
1 |
2 |
JNC ADDR8 |
E6 XX |
2 |
2 |
JNI ADDR8 |
86 XX |
2 |
2 |
JNT0 ADDR8 |
26 XX |
2 |
2 |
JNT1 ADDR8 |
46 XX |
2 |
2 |
JNZ ADDR8 |
96 XX |
2 |
2 |
JTF ADDR8 |
16 XX |
2 |
2 |
JT0 ADDR8 |
36 XX |
2 |
2 |
JT1 ADDR8 |
56 XX |
2 |
2 |
JZ ADDR8 |
C6 XX |
2 |
2 |
MCS-48 instruction set op codes (M instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
MOV A,#DATA |
23 MM |
2 |
2 |
MOV A,PSW |
C7 |
1 |
1 |
MOV A,RN |
11111nnn |
1 |
1 |
MOV A,@R |
1111000r |
1 |
1 |
MOV A,T |
42 |
1 |
1 |
MOV PSW,A |
D7 |
1 |
1 |
MOV RN,A |
10101nnn |
1 |
1 |
MOV RN,#DATA |
10111nnn |
2 |
2 |
MM |
MOV @R,A |
1010000r |
1 |
1 |
MOV @R,#DATA |
1011000r |
2 |
2 |
MM |
MOV T,A |
62 |
1 |
1 |
MOVD A,EP |
000011ee |
1 |
2 |
MOVD EP,A |
001111ee |
1 |
2 |
MOVP A,@A |
A3 |
1 |
2 |
MOVP3 A,@A |
E3 |
1 |
2 |
MOVX A,@R |
1000000r |
1 |
2 |
MOVX @R,A |
1001000r |
1 |
2 |
MCS-48 instruction set op codes (N,O instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
NOP |
00 |
1 |
1 |
ORL A,RN |
01001nnn |
1 |
1 |
ORL A,@R |
0100000r |
1 |
1 |
ORL A,#DATA |
43 MM |
2 |
2 |
ORL PORT,#DATA |
100010pp |
2 |
2 |
MM |
ORLD EP,A |
100011ee |
1 |
2 |
OUTL BUS,A |
02 |
1 |
2 |
OUTL PN,A |
001110qq |
1 |
2 |
MCS-48 instruction set op codes (R-X instructions)
Instruction |
Op Code |
Bytes |
Machine |
Cycles |
RET |
83 |
1 |
2 |
RETR |
93 |
1 |
2 |
RL A |
E7 |
1 |
1 |
RLC A |
F7 |
1 |
1 |
RR A |
77 |
1 |
1 |
RRC A |
67 |
1 |
1 |
SEL MBk |
111k0101 |
1 |
1 |
SEL RBk |
110k0101 |
1 |
1 |
STOP TCNT |
65 |
1 |
1 |
STRT CNT |
45 |
1 |
1 |
STRT T |
55 |
1 |
1 |
SWAP A |
47 |
1 |
1 |
XCH A,RN |
00101nnn |
1 |
1 |
XCH A,@R |
0010000r |
1 |
1 |
XCHD A,@R |
0011000r |
1 |
1 |
XRL A,RN |
11011nnn |
1 |
1 |
XRL A,@R |
1101000r |
1 |
1 |
XRL A,#DATA |
D3 MM |
2 |
2 |
Symbols used:
- bbb - Three bits designating which bit of the
Accumulator is to be tested.
- ee - Two bits designating an 8243 expander port.
- 00 - P4
- 01 - P5
- 10 - P6
- 11 - P7
- k - One bit selecting a memory or register bank.
- 0 - MB0 or RB0
- 1 - MB1 or RB1
- MM - Eight bits of immediate data.
- nnn - Three bits designating one of the eight
general purpose registers.
- pp - Two bits designating one of the on chip I/O ports.
- qq - Two bits designating either I/O port 1 or I/O port 2.
- r - One bit selecting a pointer register.
- xxx - The high order three bits of a program memory address.
- XX - The low order eight bits of a program memory address.
Return to my home page
Disclaimer: This document in no way represents Nyx.
All opinions and errors are mine alone.
lotpagemail@comcast.net