8085 program to find maximum of two 8 bit numbers
Problem – Write a assembly language program to find maximum of two 8 bit numbers in 8085 microprocessor.
Assumptions – Starting memory locations and output memory locations are 2050, 2051 and 3050 respectively.
Example –
Algorithm –
- Load value in the accumulator
- Then, copy the value to any of the register
- Load next value in the accumulator
- Compare both values
- Check carry flag, if reset then jump to the required address to store the value
- Copy the result in the accumulator
- Store the result at the required address
Program –
MEMORY ADDRESS |
MNEMONICS |
COMMENTS |
2000 |
LDA 2050 |
A<-25 |
2003 |
MOV B, A |
B<-25 |
2004 |
LDA 2051 |
A<-15 |
2007 |
CMP B |
A-B |
2008 |
JNC 200C |
Jump if Carry flag is Reset(Carry flag = 0) |
200B |
MOV A, B |
A<-25 |
200C |
STA 3050 |
3050<-25 |
200F |
HLT |
Terminates the program |
Explanation –
- LDA 2050: loads value at memory location 2050
- MOV B, A: assigns value of A to B
- LDA 2051: loads value at memory location 2051
- CMP B: compare values by subtracting B from A
- JNC 200C: jump at memory location 200C if carry flag is Reset(Carry flag = 0)
- STA 3050: store result at memory location 3050
- HLT: terminates the program
Last Updated :
22 May, 2018
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...