Problem: Write an assembly level language program to convert HEX code to its respective ASCII code.
Assume that starting address of program and input memory location are 2000 and 2050 respectively.
Input: 2050 E4 (Hex data) Output: 2051 34 (ASCII code for 4) 2052 45 (ASCII code for E)
- Load the given data in accumulator and move to B register
- Mask the most significant 4 bits(upper nibble) of the Hexa decimal number in accumulator.
- Call subroutine to get ASCII of least significant 4 bits.
- Store it in memory
- Move B register to accumulator and mask the least significant 4 bits(lower nibble).
- Rotate the upper and lower nibble position.
- Call subroutine to get ASCII of upper nibble
- Store it in memory
- Terminate the program.
|2000||LDA 2050H||Load the hex data|
|2003||MOV B, A||move content of accumulator to B|
|2004||ANI OFH||mask upper nibble|
|2006||CALL SUB1||get ascii code for upper nibble|
|2012||MOV A, B||move content of B to accumulator|
|2013||ANI F0H||mask lower nibble|
|2019||CALL SUB1||get ascii code for lower nibble|
- LDA 2050H: load the content of memory location 2050H in accumulator.
- MOV B, A: copies the content of accumulator to register B.
- ANI OFH: AND operation is performed between accumulator and 0FH value.
- CALL SUB1: the subroutine at memory location SUB1 is called.
- STA 2051H: store the content of accumulator in the memory location 2051H.
- MOV A, B: copies the content of register B to accumulator.
- ANI F0H: AND operation is performed between accumulator and F0H value.
- RLC: rotate accumulator left.
- HLT: stops executing the program and halts any further execution.
- CPI 0AH: compare accumulator content with 0AH value.
- JC SKIP: jump to memory location SKIP if the carry bit is set.
- ADI 07H: add 07H value to the content of accumulator.
- RET: Return from the subroutine unconditionally.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- 8085 program to convert ASCII code into HEX code
- 8085 program to convert 8 bit BCD number into ASCII Code
- 8085 code to convert binary number to ASCII code
- 8085 program to convert an 8 bit BCD number into hexadecimal number
- 8086 program to convert 8 bit BCD number into ASCII Code
- 8086 program to convert an 8 bit BCD number into hexadecimal number
- 8085 program for hexadecimal counter
- 8085 program to convert an 8 bit number into Grey number
- 8086 program to convert a 16 bit decimal number to Hexadecimal
- 8085 program to convert a BCD number to binary
- 8086 program to convert 8 bit ASCII to BCD number
- 8085 program to separate (or split) a byte into two nibbles
- 8085 program to convert binary numbers to gray
- 8085 program to convert gray to binary
- 8085 program to count number of ones in the given 8-bit number
- 8085 program to search a number in an array of n numbers
- 8085 program to find the factorial of a number
- 8085 program to count the number of ones in contents of register B
- 8085 program to find square root of a number
- 8085 program to find 1's and 2's complement of 8-bit number
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.