Professional Documents
Culture Documents
Unit 2 - Notes
Unit 2 - Notes
Unit 2 - Notes
UNIT- 2 (Notes)
IMMEDIATE
DIRECT
REGISTER
REGISTER INDIRECT
INDEXED
ARITHEMATIC INSTRUCTIONS
LOGICAL INSTRUCTIONS
MOV A,Rn
MOV A,direct
MOV A,@ri
MOV A,#data
MOV Rn,A
MOV Rn,direct
MOV Rn,#data
MOV direct,A
MOV direct,Rn
MOV direct1,direct2
MOV direct,@ri
MOV direct,#data
MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data
MOV DPTR,#data
MOVC A,@A+DPTR
MOVC A,@A+PC
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
POP Direct
PUSH Direct
XCH A,Rn
XCH A,Direct
XCH A,Ri
XCHD A,@Ri
ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data
ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data
DAA
DEC A
DEC Rn
DEC Direct
DEC @Ri
INC A
INC Rn
INC Direct
INC @Ri
INC DPTR
MUL AB
DIV AB
SUBB A,Rn
SUBB A,direct
SUBB A,@Ri
SUBB A,#data
ANL A,Rn
ANL A,direct
ANL A,@Ri
ANL A,#data
ANL Direct,A
ANL Direct,#data
ORL A,Rn
ORL A,direct
ORL A,@Ri
ORL A,#data
ORL Direct,A
ORL Direct,#data
XRL A,Rn
XRL A,direct
XRL A,@Ri
XRL A,#data
XRL Direct,A
XRL Direct,#data
CLR A
CPL A
NOP
RL A
RLC A
RR A
RRC A
SWAP A
ANL C,b
ANL C,b-
CLR C
CLR b
CPL b
CPL C
ORL C,b
ORL C,b-
MOV C,b
MOV b,C
SETB C
SETB b
ACALL ADDR 11
CJNE A,direct,REL
CJNE A,#data,REL
CJNE Rn,#data,REL
CJNE @Ri,#data,REL
DJNZ Rn,REL
DJNZ Direct,REL
LCALL ADDR 16
AJNP ADDR 11
LJMP ADDR 16
SJMP REL
JMP @A+DPTR
JC REL
JNC REL
JB b,REL
JNB b,REL
JBC b,REL
JZ REL
JNZ REL
RET
RETI
NOTES:
1. Direct means address of the internal RAM from 00-7FH & SFRs(80HFFH)
2. Rn means registers R0-R7 of selected bank
3. Ri means RO or R1 of selected bank. R0 & R1 are used for indirectly
addressing internal data RAM which is 00-7FAH in 8051 & 00-FFH in 8052
4. Data means 8bit or 16bit number depending on register width
5. b means addressable bit in internal RAM or SFR
6. ADDR 11 means short address of 11 bits .These are 11 LSBs of address.
5 MSBs are page number (0-31)
7. ADDR 16 means long address of 16 BITS from 0000 to FFFFH
8. REL means relative address which is sign value of -128 to +127
ALGORITHM
o Internal RAM is from 00H-7FH. External RAM is from 0000H-FFFFH
o Access internal RAM through address pointer R0 or R1. Use MOV
instruction for access
o Access external RAM through address pointer DPTR. Use
MOV instruction for access
o Use byte counter to determine number of bytes to be transferred.
Initialize it to N to begin with
o Define address and byte count using EQU statements
PROGRAM
o RET
ALGORITHM
o Check each BIT of the byte to be zero by transferring it to carry flag and
using conditional jump instruction
o Initialize BIT counter to 8
o Initialize zero count to zero
o Decrement bit counter after each check
o Repeat above operations till all bits are checked
o Increment zero count if bit is found to be zero
o MOV R0,#OOH
o MOV R2,#08H
o BACK: RRC A
o JC NEXT
o INC R0
o NEXT: DJNZ R2,BACK
o RET
2.11 WAP TO FIND LARGEST NUMBER FROM ARRAY OF N 8-BIT UNSIGNED NUMBERS
ALGORITHM
2.11 WAP TO CONVERT TWO ASCII DECIMAL DIGITS TO TWO DIGIT PACKED BCD
NUMBERS. CHECK IF IT IS ODD OR EVEN AND STORE ZERO OR ONE IN BIT ADDRESSABLE
RAM
ALGORITHM
PROGRAM
o UADR: EQU 40H
o TADR: EQU 41H
o MOV A,TADR
o ANL A,#OFH
o SWAP A
o MOV R2,A
o MOV A,UADR
o ANL A,#0FH
o ORL A,R2
o RRC A
o MOV 0,C
o RET
ALGORITHM
D7 D0
D7 D0
PROGRAM