Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

help with numbers to letters conversion in assembly 8051

Status
Not open for further replies.

Greital

Newbie level 4
Joined
Mar 8, 2016
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
57
hi,
I'm trying to complete my project in assembly 8051 , and thanks to all of you I completed the 1st phase
now I'm stuck in the 2nd phase

I should convert a number to its letters --->> for example if I put R3 = #31 it should print thirty one

I know I had to make an arrays:
1. single digit (one to nine)
2. double digit (eleven to nineteen)
3. tens digit (ten , twenty, thirty, ..........., ninety)

since the range from 1 - 99

and I know this function involve with division , but I don't know how to begin with it and check for each state

I need an explanation for the procedures
 

Many languages have a routine which converts a numeric value to a string. Example, A$ = STR$ ( X )

Thus if X=31, then A$= "31" or " 31".
 

use your stack in stead of array

the pseudo code bellow will print nothing if n is equal to 0
Code:
int digits = 0
while(n<>0){
   push (n div 10)
   n = n / 10
   digits=digits+1
}
while(digits>0){
      print (pop + '0')
      digit--
}

the pseudo code bellow will print '0' if n is equal to 0
Code:
int digits = 0
do{
   push (n div 10)
   n = n / 10
   digits=digits+1
}while(n<>0)
while(digits>0){
      print (pop + '0')
      digit--
}
 
Code:
;***********************************
;convert data in acc to ascii and print to screen
HOUT:
      PUSH    ACC
      SWAP    A
      call   PHEX1
      POP     ACC
      call   PHEX1
      RET
;***********************************
;hex2ascii routine
PHEX1:
      ANL     A,#0FH
      ADD     A,#4
      MOVC    A,@A+PC
      call   outchar
      RET
      DB     '0123456789ABCDEF'
;***********************************
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top