Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

8051

transfer 5 bytes of data from one location to another 8051


/*TRANSFER 5 BYTES OF DATA BLOCK BY BLOCK FROM 20H TO 30H*/
MOV R0,#20H
MOV R1,#30H
MOV R2,#05H
BACK:
MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R2,BACK
END

Count of positive and negative numbers using 8051


/*FIND NO OF POSITIVE AND NEGATIVE NUMBERS IN ARRAY*/
MOV R0,#20H
MOV R2,#05H
MOV R3,#00H
MOV R4,#00H
CLR C
BACK:
MOV A,@R0
RLC A
JC BIN
INC R3
LOOP:
INC R0
DJNZ R2,BACK
SJMP END
BIN:
INC R4
SJMP LOOP
END

Factorial in -8051
/*FACTORIAL OF A NUMBER IN R7*/
ORG 0000
MOV R1,#05H
MOV R7,#01H
MOV A,R7
CJNE R1,#00,UP
SJMP STOP
UP:
MOV B,R1
MUL AB
DJNZ R1,UP
STOP:
MOV R7,A
END

Sort (8051) [Ascending]


MOV R3,#05H
BACK2:
MOV A,R3
MOV R2,A
MOV R0,#40H
BACK1:
MOV A,@R0
INC R0
MOV 90,@R0
CJNE A,90,HERE
HERE:
JC AGAIN
XCH A,@R0
AGAIN:
DEC R0
MOV @R0,A
INC R0
DJNZ R2,BACK1
DJNZ R3,BACK2
END

searching a number in a array (8051)


/*SEARCHING FOR ELEMENT IN AN ARRAY*/
MOV R0,#20H
MOV 30,#33H
MOV R2,#05H
BACK:
MOV A,@R0
CJNE A,30,HERE
SJMP STOP
HERE:
INC R0
DJNZ R2,BACK
STOP:
END
/*A CONTAINS 33 IF IT FINDS 33 IN ARRAY, AND R1 HOLDS THE ADDRESS
LOCATION*/

Largest no.in an array using 8051


MOV R0,#20H
MOV R2,#5H
MOV A,@R0
BACK:
MOV 60H,@R0
CJNE A, 60H, LARGEST
LARGEST:
JNC HERE
XCH A, 60H
HERE:
INC R0
DJNZ R2,BACK
END

Reversing an array in 8051


MOV R0,#20H
MOV R1,#35H
MOV R2,#05H
BACK:
MOV A,@R0
MOV @R1,A
INC R0
DEC R1
DJNZ R2,BACK
END
Descending order in 8051
MOV R3,#05H
BACK2:
MOV A,R3
MOV R2,A
MOV R0,#40H
BACK1:
MOV A,@R0
INC R0
MOV 90,@R0
CJNE A,90,HERE
HERE:
JNC AGAIN
XCH A,@R0
AGAIN:
DEC R0
MOV @R0,A
INC R0
DJNZ R2,BACK1
DJNZ R3,BACK2
END

Find the minimum of given array elements using 8051


MOV R0,#20H
MOV R2,#5H
MOV A,@R0
BACK:
MOV 60H,@R0
CJNE A, 60H, LARGEST
LARGEST:
JC HERE
XCH A, 60H
HERE:
INC R0
DJNZ R2,BACK
END

reverse the bits of given byte 8051


MOV R0,#30H
MOV R2,#08H
MOV A,@R0
MOV B,#00H
CLR C
STRT:
RLC A
MOV @R0,A
MOV A,B
RRC A
MOV B,A
MOV A,@R0
DJNZ R2, STRT
MOV @R0,B
END

Performing rotating operations in 8051


CLR C
MOV A,#094H
RL A
MOV R0,A
RR A
MOV R1,A
RLC A
MOV R2,A
RRC A
MOV R3,A

Palindrome or not by 8051


MOV R0,#30H
MOV R1,#60H
MOV R3,#00H
MOV B,#30H
REVERSE:
MOV A,@R0
MOV @R1,A
INC R0
INC R1
CJNE @R0,#00H,REVERSE
MOV R0,#30H
DEC R1
EQUAL:
MOV A,@R0
SUBB A,@R1
CJNE A,#00H,EXIT
INC R0
DEC R1
CJNE @R1,#00H,EQUAL
MOV R3,#01H
EXIT:
END

Armstrong number 8051


MOV R0,#41H
MOV A,30H
START:
MOV B,#0AH
DIV AB
MOV @R0,B
INC R0
CJNE A,#00,START
DEC R0
MOV B,R0
MOV R3,B
LP:
MOV B,R3
MOV R2,B
MOV A,#01H
LP2:
MOV B,@R0
MUL AB
DEC R2
CJNE R2,#40H,LP2
ADD A,50H
MOV 50H,A
DEC R0
CJNE R0,#40H,LP
MOV A,50H
CJNE A,30H,EXIT
MOV R7,#01H
EXIT:
END

You might also like