Data Transfer, Manipulation, Control and IO instructions
Data Transfer, Manipulation, Control and IO instructions
1. Data Transfer
2. Arithmetic Operation
3. Logic Operation
4. Boolean -Variable or Bit-Variable Operation
5. Program Branching
Source
Destination
A
A
R0 ~ R7
R0 ~ R7
Data Memory
Data Memory
Program Memory
Stack
Immediate Data
DPTR
Stack
MOV A,#55
MOV B,#00
DIV AB
MOV A,#25
MOV B,#78
MUL AB
Instruction Set-13
ANL A, yyH (A) ← (A) AND (yy) 55 yy 2 bytes 12 (1) ANL A,07H
ANL A, @Ri (A) ← (A) AND ((Ri)) 56-57 1 byte 12 (1) ANL A,@R0
ANL yyH,#xxH (yy) ← (yy) AND xx 53 yy xx 3 bytes 24 (2) ANL 10H,#30H
ANL yyH, A (yy) ← (yy) AND (A) 52 yy 2 bytes 12 (1) ANL 10H,A
ORL A, #xxH (A) ← (A) OR xx 44 xx 2 bytes 12 (1) ORL A,#07H
ORL A, Rn (A) ← (A) OR (Rn) 48-4F 1 byte 12 (1) ORL A,R5
ORL A, yyH (A) ← (A) OR (yy) 45 yy 2 bytes 12 (1) ORL A,07H
ORL A, @Ri (A) ← (A) OR ((Ri)) 46-47 1 byte 12 (1) ORL A,@R0
ORL yyH,#xxH (yy) ← (yy) OR xx 43 yy xx 3 bytes 24 (2) ORL 10H,#30H
ORL yyH, A (yy) ← (yy) OR (A) 42 yy 2 bytes 12 (1) ORL 10H,A
XRL A, #xxH (A) ← (A) XOR xx 64 xx 2 bytes 12 (1) XRL A,#07H
XRL A, Rn (A) ← (A) XOR (Rn) 68-6F 1 byte 12 (1) XRL A,R5
XRL A, yyH (A) ← (A) XOR (yy) 65 yy 2 bytes 12 (1) XRL A,07H
XRL A, @Ri (A) ← (A) XOR ((Ri)) 66-67 1 byte 12 (1) XRL A,@R0
XRL yyH,#xxH (yy) ← (yy) XOR xx 63 yy xx 3 bytes 24 (2) XRL 10H,#30H
XRL yyH, A (yy) ← (yy) XOR (A) 62 yy 2 bytes 12 (1) XRL 10H,A
RL A (A)n+1 ← (A)n n=0-6 23 1 byte 12 (1) RL A
(A)0 ← (A)7
RLC A (A)n+1 ← (A)n n=0-6 33 1 byte 12 (1) RLC A
(A)0 ← (C), C ← (A)7
RR A (A)n ← (A)n+1 n=0-6 03 1 byte 12 (1) RR A
(A)7 ← (A)0
RRC A (A)n ← (A)n+1 n=0-6 13 1 byte 12 (1) RRC A
08-03-2025
CLR : Bit to 0
SETB: Bit to 1
CPL : Bit to its Complement
ANL : Bit and C flag :AND operation
CLR A
MOV R2, #25
LOOP: INC A
MOV P1,A
DJNZ R2, LOOP
CJNE Dest-Byte, Source-Byte, Target
MOV A, P1
CJNE A, #25, LOOP1
SJMP FINISH
LOOP1: JNC LOOP2
MOV R2,A
SJMP FINISH
LOOP2: MOV R3, A
FINISH:
08-03-2025 Addressing Modes & Instruction Set-19
Instruction Operation Op Code Format M/C's
Instruction Set-20
AJMP addr11 2 bytes 24 (2)
(PC)10-0 ← page address
LJMP yyyzH (PC) ← yyyz 02 yy yz 3 bytes 24 (2)
SJMP rel (PC) ← (PC) + 2 80 rr 2 bytes 24 (2)
(PC) ← (PC) + rel
JMP @A + DPTR (PC) ← (A) + (DPTR) 73 1 byte 24 (2)
JZ rel if (A) = 0,(PC) ← (PC) + rel 60 rr 2 bytes 24 (2)
if (A) <> 0,(PC) ← (PC) + 2
JNZ rel if (A) = 0,(PC) ← (PC) + 2 70 rr 2 bytes 24 (2)
if (A) <> 0,(PC) ← (PC) + rel
CJNE A,yy,rr (PC) ← (PC) + 3 B5 yy rr 3 bytes 24 (2)
if (A) <> (yy), (PC) ← (PC) + rr
if (A) < (yy), (C) ← 1
if (A) > (yy), (C) ← 0
CJNE A,#n,rr (PC) ← (PC) + 3 B4 yy rr 3 bytes 24 (2)
if (A) <> #n, (PC) ← (PC) + rr
if (A) < #n, (C) ← 1
if (A) > #n, (C) ← 0
CJNE Rn,#n,rr (PC) ← (PC) + 3 B8 yy rr 3 bytes 24 (2)
if (Rn) <> #n, (PC) ← (PC) + rr |
08-03-2025
MOV DPTR,#5000H
CLR C
MOV R1,#10
MOV R0,#00
MOVX A,@DPTR
MOV R2,A
DEC R1
LOOP: INC DPTR
MOV A,@DPTR
ADD A,R2
JNC HERE
INC R0
HERE: DJNZ R1, LOOP
MOV DPTR, #6000H
MOVX @DPTR, A
MOV A,R0
INC DPTR
MOV @DPTR, A
HALT
08-03-2025 Addressing Modes & Instruction Set-23