Algorithm
1. Load the address of the first element of the array in HL pair.
2. Move the count to B - reg.
3. Increment the pointer.
4. Get the first data in A - reg.
5. Decrement the count.
6. Increment the pointer.
7. Compare the content of memory addressed by HL pair with that of A - reg.
8. If carry = 1, go to step 10 or if Carry = 0 go to step 9.
9. Move the content of memory addressed by HL to A - reg.
10. Decrement the count.
11. Check for Zero of the count. If ZF = 0, go to step 6, or if ZF = 1 go to next step.
12. Store the smallest data in memory.
13. Terminate the program.
LXI H,5000 ;Set pointer for arrayMOV B,M ;Load the CountINX HMOV A,M ;Set 1st element as largest dataDCR B ;Decrement the countLOOP: INX HCMP M ;If A- reg < M go to AHEADJC AHEADMOV A,M ;Set the new value as smallestAHEAD: DCR BJNZ LOOP ;Repeat comparisons till count = 0STA 6000 ;Store the largest value at 6000HLT
0 Comments