8085 program to convert an 8 bit BCD number into hexadecimal number

Problem – Write an assembly language program in 8085 microprocessor to convert an 8 bit BCD number into hexadecimal number.

Assumptions – Assume that starting address of the program is 2000, input memory locations, 2050, 2051, and output memory location is 2052.

Example –

INPUT: 2050:02H
       2051: 09H

OUTPUT:2052: 1DH 

Algorithm –

  1. Intialize memory pointer to 2050
  2. Get the most significant digit
  3. Multiply the MSD by 10 using repeated addition
  4. Add LSD to result obtained in above step
  5. Store the converted result in memory 2052

Program –



Memory Address Mnemonics Comments
2000 LXI H, 2050
2003 MOV A, M A<-M
2004 ADD A A<-A+A
2005 MOV B, A B<-A
2006 ADD A A<-A+A
2007 ADD A A
2008 ADD B A<-A+B
2009 INX H
200A ADD M A<-A+M
200B INX H
200C MOV M, A M<-A
200D HLT TERMINATE THE PROGRAM

Explanation – Registers H, L, B, A are used for general purpose.

  1. LXI H, 2050: will load the HL pair register with the address 2050 of memory location.
  2. MOV A, M: copies the content of memory into register A.
  3. ADD A: add the content of accumulator with itself.
  4. MOV B, A: move the content of accumulator into register B.
  5. ADD A: add the content of accumulator with itself.
  6. ADD A: add the content of accumulator with itself.
  7. ADD B: add the content of accumulator with register B and store the result in accumulator.
  8. INX H: increment register pair HL.
  9. ADD M: add the content of accumulator with memory and store the result in accumulator.
  10. INX H: increment register pair HL.
  11. MOV M, A: copies the content of accumulator into memory.
  12. HLT: stops executing the program and halts any further execution.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.