# Free Electronic Circuits & 8085 projects

## Find the ASCII character

Published on Nov 18 2009

Statement: Write an assembly language program to convert the contents of the five memory locations starting from 2000H into an ASCII character. Place the result in another five memory locations starting from 2200H.

Sample problem :

(2000H) = 1

(2001H) = 2

(2002H) = 9

(2003H) = A

(2004H) = B

Result:(2200H) = 31

(2201H) = 32

(2202H) = 39

(2203H) = 41

(2204H) = 42

 Source program : LXI SP, 27FFH : Initialize stack pointer LXI H, 2000H : Source memory pointer LXI D, 2200H : Destination memory pointer MVI C, O5H : Initialize the counter BACK: MOV A, M : Get the number CALL ASCII : Call subroutine ASCII STAX D : Store result INX H : Increment source memory pointer INX D : Increment destination memory pointer DCR C : Decrement count by 1 CJNZ : if not zero, repeat HLT : Stop program execution subroutine ASCII ASCII: CPI, OAH : Check if number is OAR JNC NEXT : If yes go to next otherwise continue ADI 30H JMP LAST NEXT: ADI 37H LAST: RET : Return to main program Subroutine: Subroutine ‘ASCII’ converts a hexadecimal digit to ASCII.The digit is passed using accumulator and the result is stored in accumulator.Stack starts From 27FEH to 27FDH. Flowchart for program

Note: The ASCII Code (American Standard Code for Information Interchange) is commonly used for communication. In such cases we need to convert binary number to its ASCII equivalent. It is a seven bit code. In this code number 0 through 9 are represented as 30 through 39 respectively and letters A through Z are represented as 41H through 5AH. Therefore, by adding 30H we can convert number into its ASCII equivalent and by adding 37H we can convert letter to its ASCII equivalent.

Related Programs for Beginners: (Click down)