Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/02/05 06:07
Read: times


 
#94221 - DAA instruction helps BCD conversion
Responding to: ???'s previous message
This example uses the DAA instruction to do BCD conversion.
It follows the algorithm mentioned above.
;*******************************
;16 BIT BINARY TO BCD CONVERTER
;TAKES 16 BITS BINARY IN R3,2
;AND CONVERTS IT TO 6 DIGIT BCD IN R6,5,4
;TIMING 284 CYCLES AND 31 BYTES (500us @7.37MHz)

BINBCD  CLR A
        MOV R4,A
        MOV R5,A
        MOV R6,A        ;CLEAR RESULT
        SETB C          ;COUNTER
        CALL BBCDB      ;CONVERT HI BYTE
        MOV A,R2        ;CONVERT LO BYTE
        SETB C          ;COUNTER
        JMP BBCDC

BBCDA   MOV A,R4
        ADDC A,R4
        DA A
        MOV R4,A

        MOV A,R5
        ADDC A,R5
        DA A
        MOV R5,A

        MOV A,R6
        ADDC A,R6
        DA A
        MOV R6,A

BBCDB   MOV A,R3
BBCDC   RLC A
        MOV R3,A
        JNZ BBCDA       ;17 CYCLES/LOOP
        RET



Peter

List of 19 messages in thread
TopicAuthorDate
Hex to Dec Coversion Assembly code            01/01/70 00:00      
   back to math            01/01/70 00:00      
   Poor question            01/01/70 00:00      
      never underestimate anybody            01/01/70 00:00      
         If you want respect here...            01/01/70 00:00      
         At least you've achieved something            01/01/70 00:00      
            Net score            01/01/70 00:00      
   Format            01/01/70 00:00      
      DAA instruction helps BCD conversion            01/01/70 00:00      
      My quary to Raghunathan sir            01/01/70 00:00      
         May I ask a question?            01/01/70 00:00      
            Reply to Mr. Ijaz Ahmed            01/01/70 00:00      
               underestimating            01/01/70 00:00      
         How about ...            01/01/70 00:00      
         Looks OK            01/01/70 00:00      
         It can be easier to re-map a range.....            01/01/70 00:00      
         lookup table?            01/01/70 00:00      
            was thinking the same            01/01/70 00:00      
   hextobcd conversion            01/01/70 00:00      

Back to Subject List