Mnemonik |
Operacja |
Kod hex |
Bajty/Cykle |
Mnemonik |
Operacja |
Kod hex |
Bajty/Cykle | |
Rozkazy przesłań |
Rozkazy arytmetyczno - |
logiczne | ||||||
MOV A,Rr MOV A,ad MOVA,@Ri |
AM— Rr AM— (ad) A4—(Ri) |
E8-EF E5 E6,E7 |
1/1 2/1 1/1 |
ADDA.Rr ADD A,ad ADD A,@Ri |
AM— A+Rr AM—A+(ad) AM—A+(Ri) |
28-2 F 25 26,27 |
1/1 2/1 1/1 | |
MOV A,#n MOV Rr,A MOV Rr,ad |
AM— n Rr4— A Rr ◄— (ad) |
74 F8-FF A8-AF |
2/1 1/1 2/2 |
ADD A,#n ADDCA.Rr ADDC A,ad |
AM— A+n AM— A+Rr+CY AM—A+(ad)+CY |
24 38-3F 35 |
2/1 1/1 2/1 | |
MOV Rr,#n MOV ad,A MOV ad,Rr |
Rr ◄— n (ad) ◄—A (ad) ◄— Rr |
78-7 F F5 88-8 F |
2/1 2/1 2/2 |
ADDC A,@Ri ADDC A,#n ANLA.Rr |
AM—A+(Ri)+CY AM— A+n+CY AM—AARr |
36,37 34 58-5F |
1/1 2/1 1/1 | |
MOV ad1,ad2 MOV ad,@Ri MOV ad,#n |
(ad1) ◄— (ad2) (ad) ◄— (Ri) (Ad)4— n |
85 86,87 75 |
3/2 2/2 3/2 |
ANL A,ad ANL A,@Ri ANL A,#n |
AM—AA(ad) AM—A a (Ri) AM—AAn |
55 56,57 54 |
2/1 1/1 2/1 | |
MOV @Ri,A MOV @Ri,ad MOV @Ri,#n |
(Ri)4-A (Ri) ^ (ad) (Ri) ◄— n |
F6,F7 A6,A7 76,77 |
1/1 2/2 2/1 |
ANL ad,A ANL ad,#n CLR A |
(ad) ◄— (ad)A A (ad)4—(ad) n AM— 0 |
52 53 E4 |
2/1 3/2 1/1 | |
MOV DPTR,#nn MOVCA,@A+DPTR MOVCA,@A+PC |
DPTR ◄— nn AM— (A+DPTR) AM— (A+PC) |
90 93 83 |
3/2 1/2 1/2 |
CPL A DA A DECA |
AM—A Korekcja dzies. A AM—A-1 |
F4 D4 14 |
1/1 1/1 1/1 | |
MOVXA,@Ri MOVX @Ri,A MOVXA,@DPTR |
A ◄ (Ri) (Ri) ◄ A AM— DPTR |
E2,E3 F2,F3 E0 |
1/2 1/2 1/2 |
DEC Rr DEC ad DEC @Ri |
Rr ◄— Rr-1 (ad) ◄— (ad)-1 (Ri) ◄— (Ri)-1 |
18-1F 15 16,17 |
1/1 2/1 1/1 | |
MOVX @DPTR,A XCH A,Rr XCH A,ad |
(DPTR) ◄— A A-O-Rr A ◄-►(ad) |
F0 C8-CF C5 |
1/2 1/1 2/1 |
DIV AB INC A INC Rr |
AM— [A/B] AM—A+1 Rr ◄— Rr+1 |
84 04 08-0F |
1/4 1/1 1/1 | |
XCH A,@Ri XCHDA,@Ri |
A ► (Ri) AM-**(Ri)3.0 |
C6,C7 D6,D7 |
1/1 1/1 |
INC ad INC @Ri |
(ad) ◄— (ad)+1 (Ri)4-(Ri)+1 |
05 06-07 |
2/1 1/1 | |
Operacje na bitach |
INC DPTR |
DPTR ◄— DPTR+1 |
A3 |
1/2 | ||||
MULAB ORLA.Rr ORL A,ad |
B.A ◄—A x B AM—A vRr AM—A v(ad) |
1/4 1/1 2/1 | ||||||
ANL C,bit ANL C,/bit CLRC |
CY ◄— CY A (bit) CY ◄— CY a (bit) CY ◄— 0 |
82 BO C3 |
2/2 2/2 1/1 |
A4 48-4F 45 | ||||
CLR bit CPLC CPL bit |
(bit) 4—0 CY ◄— CY (bit) ◄— (bit) |
C2 B3 B2 |
2/1 1/1 2/1 |
ORL A,@Ri ORL A,#n ORL ad,A ORL ad,#n |
AM— A v(Ki) AM—A vn (ad) ◄— (ad) v A (ad) ◄— (ad) v n |
46,47 44 42 |
1/1 2/1 2/1 3/2 | |
MOV C,bit |
CY ◄— (bit) |
A2 |
2/1 |
43 | ||||
^7 4- aŚP | ||||||||
MOV bit.C ORLC.bit |
(bit) ◄— CY CY ◄— CY v (bit) |
92 72 |
2/2 2/2 |
RLA |
23 |
1/1 | ||
ORL C,/bit SETB C SETB bit |
CY ◄— CY v (bit) CY ◄— 1 W-*-1_ |
A0 D3 D2 |
2/2 1/1 2/1 |
RLC A RR A |
HCYhH7 «- A0*-1 U.| 7 A —► 01—1 |
33 03 |
1/1 1/1 | |
Skoki i rozkazy sterujące |
RRC A |
i-HCYhH 7 A —► 0—i |
13 |
1/1 | ||||
AJMP adrii |
PC]M ◄— adrii |
01,21 |
2/2 |
SUBB A,Rr |
AM— A-Rr-CY |
98-9F |
1/1 | |
41,61 81 ,A1 |
SUBB A,ad SUBB A,@Ri |
AM—A-(ad)-CY AM—A-(Ri)-CY |
95 96,97 |
2/1 1/1 | ||||
C1.E1 |
SUBB A,#n |
AM— A-n-CY |
94 |
2/1 | ||||
CJNE A,ad,d |
Gdy A (ad) to PC ◄— PC+d |
B5 |
3/2 |
SWAPA XRL A,Rr |
am-o-a„ AM—AffiRr |
C4 68-6 F |
1/1 1/1 | |
CJNE A,#n,d |
Gdy A ^ n to PC ◄—PC+d |
B4 |
3/2 |
XRL A,ad XRLA,@Ri XRL A,#n |
AM—A®(ad) AM—A®(Ri) AM—A®n |
65 66,67 |
2/1 1/1 | |
CJNE Rr,#n,d |
Gdy Rr ^ n to |
B8-BF |
3/2 |
64 |
2/1 | |||
PC ◄— PC+d |
XRL ad,A XRL ad,#n |
(ad) ◄— (ad)® A (ad)4— (ad)© n |
62 63 |
2/1 3/2 | ||||
CJNE @Ri,#n,d |
Gdy (Ri) ^ n to PC ◄—PC+d |
B6,B7 |
3/2 | |||||
DJNZ Rr,d |
Rr ◄—Rr-1 |
D8,DF |
2/2 |
Podprogramy i operacje na stosie | ||||
i gdy Rr ;z£ 0 to PC ◄— PC+d |
ACALL adrii |
SP ◄— SP+1 (SP)4-PC,0 SP4— SP+1 (SP)4 PC15, PC,o-o ◄ adrii |
11,31 51,71 91 ,B1 D1,F1 |
2/2 | ||||
DJNZ ad,d |
(ad) ◄—(ad)-1 i gdy (ad) ^ 0 to PC ◄— PC+d |
D5 |
3/2 | |||||
JB bit,d |
Gdy (bit)=1 to PC ◄—PC+d |
20 |
3/2 | |||||
LCALL adr16 |
SP4—SP+1 (SP)4-PC,0 SP4—SP+1 (SP)4 PC1H PC4— adr16 |
12 |
3/2 | |||||
JNB bit.d |
Gdy (bit)=0 to PC ◄— PC+d |
30 |
3/2 | |||||
JBC bit,d |
Gdy (bit)=1 to PC ◄— PC+d |
10 |
3/2 | |||||
(bit)4— 0 |
RET |
PC15.8 ◄ (SR) |
22 |
1/2 | ||||
JCd |
Gdy CY=1 to PC4— PC+d |
40 |
2/2 |
SP ◄— SP-1 PC,04-(SP) | ||||
JNCd |
Gdy CY=0 to PC ◄— PC+d |
50 |
2/2 |
SP4—SP-1 | ||||
RETI |
PC15.„ ◄— (SP) |
32 |
1/2 | |||||
JNZd |
Gdy A ^ 0 to PC4—PC+d |
70 |
2/2 |
SP ◄— SP-1 PC7.0 ◄— (SP) | ||||
JZd |
Gdy A=0 to |
60 |
2/2 |
SP4— SP-1 | ||||
PC4— PC+d |
PUSH ad |
SP4—SP+1 |
CO |
2/2 | ||||
LJMP adr16 |
PC ◄— adr16 |
02 |
3/2 |
(SP)4— (ad) | ||||
SJMPd |
PC4— PC + d |
80 |
2/2 |
POP ad |
(ad) ◄ (SP) SP4— SP-1 |
DO |
2/2 | |
JMP@A+DPTR NOP |
PC4—A+ DPTR Nic nie rób |
73 00 |
1/2 1/1 |
A, ACC |
- akumulator |
n |
- 8-bitowy argument bezpośredni |
B |
- rejestr B |
nn |
- 16-bitowy argument bezpośredni |
Rr |
- rejestr roboczy, r = 0.....7 |
bit |
- 8-bitowy adres bitu w RAM lub SFR |
Ri |
- rejestr roboczy - wskaźnik danych, i = 0, 1 |
adr 11 |
- adres 11-bitowy |
DPTR |
- wskaźnik danych (DPH.DPL) |
adr 16 |
- adres 16-bitowy |
PC |
- licznik rozkazów |
d |
- 8-bitowe przesunięcie o wartościach z przedziału <-128,127> |
SP |
- wskaźnik stosu |
@ |
- poprzedza adres pośredni |
C, CY |
- znacznik przeniesienia |
# |
- poprzedza argument bezpośredni |
AC |
- znacznik przeniesienia pomocniczego |
X |
- w zapisie operacji oznacza zawartość rejestru X |
OV |
- znacznik nadmiaru |
(X) |
- w zapisie operacji oznacza zawartość pamięci o adresie X |
ad |
- 8-bitowy adres bezpośredni |