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 Memonics 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).