8085 is a Microprocessor which was developed by Intel in 1970s. All the instructions in this microprocessor are encoded in a single byte. Some of the instructions are followed by one or two bytes of data, which can be a memory address, an immediate operand or a port number.
In this post, we will write a program in 8085 to convert binary number to binary coded decimal(BCD) without using DAA operation.
Start Clear D and E registers to account for hundreds and tens Load data in A Compare A with 64H If CS = 1 go to 9 A <- A - 64H E <- E + 1 Go to 4 Compare A with 0AH if CS = 1 go to 14 A <- A - 0AH D <- D + 1 go to C <- A A <- D Rotate left A 4 times Combine unit and tens to form lower bit result Save hundreds as upper bits and combined result as lower bit Stop
MVI E, 00H MOV D, E LDA 2100H HUND: CPI 64H JC TEN SUI 64H INR E JMP HUND TEN: CPI 0AH JC UNIT SUI 0AH INR D JMP TEN UNIT: MOV C, A MOV A, D RLC RLC RLC RLC ADD C STA 2101H MOV A, E STA 2102H RST-5
2100H: FF 2101H: 55 -> lower bits 2105H: 02 -> upper bits // output is 255
Let us know in the comments if you are having any questions regarding this microprocessor program.
And if you found this post helpful, then please help us by sharing this post with your friends. Thank You