Free Electronic Circuits & 8085 projects

Electronic projects with circuit diagram and 8085 microprocessor projects.

Find the ASCII character

Published on Nov 18 2009 // Code conversion

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
  • NEXT: ADI 37H
  • LAST: RET : Return to main program


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

57-Find the ASCII character

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)

Deleting string in a given array of characters

Multiply two eight bit numbers with shift and add method

Divide 16-bit number with 8-bit number using shifting technique

Sub routine to  perform the task of DAA