Problem – Write an assembly level language program to convert ASCII code to its respective HEX Code.
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.
- Input the content of 2050 in accumulator.
- Subtract 30H from accumulator.
- Compare the content of accumulator with 0AH.
- If content of accumulator is less than 0A then goto step 6 else goto step 5.
- Subtract 07H from accumulator.
- Store content of accumulator to memory location 3050.
- Terminate the program.
|2007||JC 200D||Check for carry|
- LDA 2050 load the content of memory location 2050 to accumulator.
- SUI 30H subtracts 30H immediately from accumulator.
- CPI 0AH compare immediately 0AH with the data of accumulator.
- JC 200D check for carry if yes then go to address 200D.
- SUI 07H subtracts 07H immediately from accumulator.
- STA 3050 store the content of accumulator to memory location 3050.
- HLT stops the execution of program.
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.