8085 program to find smallest number between two numbers
Problem – Write an assembly language program to find smallest number between two number’s.
Example –
Algorithm –
- Load the content from memory location
- Move content of Accumulator into Register B
- Load the content from Memory location
- Compare the content of Register B
- If carry flag is equal to 1 go to step 7
- Move content of Register B into Accumulator
- Store the content into Memory
- End of program
Program –
Memory | Mnemonics | Use Operand | Comments |
---|---|---|---|
2000 | LDA | [2500] | [A]<-[2500] |
2003 | MOV B, A | [B]<-[A] | |
2004 | LDA | 2501 | [A]<-[2501] |
2007 | CMP B | [A]<-[A]-[B] | |
2008 | JC * | [200C] | jump carry |
200B | MOV A, B | [A]<-[B] | |
200C | STA | [2502] | [A]->[2502] |
200F | HLT | STOP |
Explanation –
- LDA is used to load accumulator (3 Byte instruction).
- CMP is used to compare the content of accumulator (1 Byte instruction).
- STA is used to store accumulator direct using 16-bit address (3 Byte instruction).
- JC jump if carry (3 Byte instruction).
Please Login to comment...