8085 program to convert ASCII code into HEX code

Problem – Write an assembly level language program to convert ASCII code to its respective HEX Code.

Examples:

Input: 
DATA: 31H in memory location 2050
Output:
DATA: 0BH in memory location 3050 

Assume that starting address of program, input memory location, and output memory locations are 2000, 2050, and 3050 respectively.

Algorithm –

  1. Input the content of 2050 in accumulator.
  2. Subtract 30H from accumulator.
  3. Compare the content of accumulator with 0AH.
  4. If content of accumulator is less than 0A then goto step 6 else goto step 5.
  5. Subtract 07H from accumulator.
  6. Store content of accumulator to memory location 3050.
  7. Terminate the program.

Program –

ADDRESS MNEMONICS COMMENTS
2000 LDA 2050 A<-[2050]
2003 SUI 30H A<-A-30
2005 CPI 0AH
2007 JC 200D Check for carry
200B SUI 07H A<-A-07H
200D STA 3050 [3050]<-A
2010 HLT Stop execution

Explanation –

  1. LDA 2050 load the content of memory location 2050 to accumulator.
  2. SUI 30H subtracts 30H immediately from accumulator.
  3. CPI 0AH compare immediately 0AH with the data of accumulator.
  4. JC 200D check for carry if yes then go to address 200D.
  5. SUI 07H subtracts 07H immediately from accumulator.
  6. STA 3050 store the content of accumulator to memory location 3050.
  7. HLT stops the execution of program.


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.