Write an assembly language program to find the largest of the three number 06H, 0AH and 0BH, and store the result in 4200H
Write an assembly language program to find the largest of the three number 06H, 0AH and 0BH, and store the result in 4200H.
Flowchart
Algorithm
Step 1: Load Accumulator (A) with value1
Step 2: Load register B with value2
Step 3: Load register C with value3
Step 4: Compare B with A, gives carry if value2 is greater than value1 (i.e. B>A)
Step 5: When no carry from Step 4: go to Step 7: (i.e. when A>B)
Step 6: Move content of register B to A (i.e. when B>A)
Step 7: Compare C with A, gives carry if value3 is greater than value1 (i.e. C>A)
Step 8: When no carry from Step 7: go to Step10: (i.e. when A>C)
Step 9: Move content of register C to A (i.e. when C>A)
Step 10: Store content of Accumulator to memory location 4200H
Step 11: Terminate the program
Assembly language
Label | Instruction | Comments |
MVI A, 06H ; | Loads Accumulator with 06H | |
MVI B, 0AH ; | Loads register B with 0AH | |
MVI C, 0BH ; | Loads register C with 0BH | |
CMP B ; | Compares B with A | |
JNC jump1: ; | On no carry jumps to jump1: | |
MOV A, B ; | Moves content of B to A | |
jump1: | CMP C ; | Compares C with A |
JNC jump2: ; | On no carry jumps to jump2: | |
MOV A, C ; | Moves content of C to A | |
jump2: | STA 4200H ; | Stores content of A to memory location 4200H |
HLT ; | Terminates the program |