AIM : To find the largest element in an array
ALGORITHM :
step 1 : start
step 2 : load DPTR with address 4200
step 3 : load 50h with 00
step 4 : move the content of location pointed by DPTR to A
step 5 : move A to the reg R0
step 6 : increment DPTR
step 7 : move the content of location pointed by DPTR to A
step 8 : compare 50h to A and jump to step 14 if not equal
step 9 : increment DPTR
step 10 : decrement RO reg. and if zero flag not set then go to step 7
step 11 : move 50h to A
step 12 : move the content of A to location pointed by DPTR
step 13 : stort jump to step 13
step 14 : jump to step 9 if any carry
step 15 : move A to 50h
step 16 : stop
PROGRAM
ADDRESS LABEL MNEMONICS
4100 MOV DPTR,#4200
4103 MOV 50H,#00
4106 MOVX A,@DPTR
4107 MOV R0,A
4108 INC DPTR
4109 L1 MOVX A,@DPTR
410A CJNE A,50H,4115
410D L2 INC DPTR
410E DJNE R0,L1
4110 MOV A,50H
4112 MOVX @DPTR,A
4113 L3 SJMP L3
4115 JC L2
4117 MOV 50H,A
4119 SJMP L2
OUTPUT :
4200 : 05
4201 : 09
4202 : 06
4203 :
ALGORITHM :
step 1 : start
step 2 : load DPTR with address 4200
step 3 : load 50h with 00
step 4 : move the content of location pointed by DPTR to A
step 5 : move A to the reg R0
step 6 : increment DPTR
step 7 : move the content of location pointed by DPTR to A
step 8 : compare 50h to A and jump to step 14 if not equal
step 9 : increment DPTR
step 10 : decrement RO reg. and if zero flag not set then go to step 7
step 11 : move 50h to A
step 12 : move the content of A to location pointed by DPTR
step 13 : stort jump to step 13
step 14 : jump to step 9 if any carry
step 15 : move A to 50h
step 16 : stop
PROGRAM
ADDRESS LABEL MNEMONICS
4100 MOV DPTR,#4200
4103 MOV 50H,#00
4106 MOVX A,@DPTR
4107 MOV R0,A
4108 INC DPTR
4109 L1 MOVX A,@DPTR
410A CJNE A,50H,4115
410D L2 INC DPTR
410E DJNE R0,L1
4110 MOV A,50H
4112 MOVX @DPTR,A
4113 L3 SJMP L3
4115 JC L2
4117 MOV 50H,A
4119 SJMP L2
OUTPUT :
4200 : 05
4201 : 09
4202 : 06
4203 :
How to find sevpnd largest
ReplyDelete