8085 program to convert 8 bit BCD number into ASCII Code

Problem – Write an assembly level language program to convert 8 bit BCD number to its respective ACSII Code.

Assumptions –
Starting address of program: 2000
Input memory location: 2050
Output memory location: 3050 and 3051

ASCII Code for Digits 0 – 9



Example –

Algorithm –

  1. Input the content of 2050 in accumulator
  2. Move content of Accumulator to register B
  3. Separate the least significant digit using AND with 0F and ADD 30 to accumulator
  4. Store content of accumulator to memory location 3050
  5. Move content of register B to Accumulator
  6. Separate the most significant digit using AND with F0
  7. Rotate Content of Accumulator 4 times
  8. ADD 30 to accumulator
  9. Store content of accumulator to memory location 3051

Program –

Address Mnemonics Comments
2000 LDA 2050 A <- [2050]
2003 MOV B, A B <- A
2004 ANI 0F A <- A & 0F
2006 ADI 30 A <- A + 30
2008 STA 3050 [3050]<-A
200B MOV A, B A <- B
200C ANI F0 A <- A & F0
200E RLC Rotate A left
200F RLC Rotate A left
2010 RLC Rotate A left
2011 RLC Rotate A left
2012 ADI 30 A <- A + 30
2014 STA 3051 [3051]<-A
2017 HLT Stop Execution

Explanation –

  1. LDA 2050 load the content of memory location 2050 to accumulator
  2. MOV B, A copy the content of accumulator to register B
  3. ANI 0F AND the content of accumulator with immediate data 0F
  4. ADI 30 ADD 30 to accumulator
  5. STA 3050 store the content of accumulator to memory location 3050
  6. MOV A, B copy the content of register B to accumulator
  7. ANI F0 AND the content of accumulator with immediate data F0
  8. RLC rotate the content of accumulator left without carry
  9. RLC rotate the content of accumulator left without carry
  10. RLC rotate the content of accumulator left without carry
  11. RLC rotate the content of accumulator left without carry
  12. ADI 30 ADD 30 to accumulator
  13. STA 3051 store the content of accumulator to memory location 3051
  14. HLT stops the execution of program

GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details

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.