ON 20040712@12:58:24 AM at page: http://www.piclist.com/techref/microchip/math/radix/index.htm#38180.040474537 James Newton[JMN-EFP-786] Says http://www.piclist.com/techref/microchip/math/radix/b2a-7b3d-ba.htm Binary 7bit to ASCII decimal 3 digits by Bob Axtell ON 20040712@12:58:59 AM at page: http://www.piclist.com/techref/microchip/math/radix/b2a-7b3d-ba.htm#38180.0409490741 James Newton[JMN-EFP-786] Code:
; BINARY TO ASCII ROUTINES ; this is NOT the smallest converter but its the fastest... ;*************************************************************** ; this table will convert 0 to 99 in binary to packed BCD ;*************************************************************** ; binary to packed bcd 00-99 7 bits only jump table bin2pak: addwf PCL,f retlw 0 retlw 1 retlw 2 retlw 3 retlw 4 retlw 5 retlw 6 retlw 7 retlw 8 retlw 9 retlw h'10' retlw h'11' retlw h'12' retlw h'13' retlw h'14' retlw h'15' retlw h'16' retlw h'17' retlw h'18' retlw h'19' retlw h'20' retlw h'21' retlw h'22' retlw h'23' retlw h'24' retlw h'25' retlw h'26' retlw h'27' retlw h'28' retlw h'29' retlw h'30' retlw h'31' retlw h'32' retlw h'33' retlw h'34' retlw h'35' retlw h'36' retlw h'37' retlw h'38' retlw h'39' retlw h'40' retlw h'41' retlw h'42' retlw h'43' retlw h'44' retlw h'45' retlw h'46' retlw h'47' retlw h'48' retlw h'49' retlw h'50' retlw h'51' retlw h'52' retlw h'53' retlw h'54' retlw h'55' retlw h'56' retlw h'57' retlw h'58' retlw h'59' retlw h'60' retlw h'61' retlw h'62' retlw h'63' retlw h'64' retlw h'65' retlw h'66' retlw h'67' retlw h'68' retlw h'69' retlw h'70' retlw h'71' retlw h'72' retlw h'73' retlw h'74' retlw h'75' retlw h'76' retlw h'77' retlw h'78' retlw h'79' retlw h'80' retlw h'81' retlw h'82' retlw h'83' retlw h'84' retlw h'85' retlw h'86' retlw h'87' retlw h'88' retlw h'89' retlw h'90' retlw h'91' retlw h'92' retlw h'93' retlw h'94' retlw h'95' retlw h'96' retlw h'97' retlw h'98' retlw h'99' ;************************************************************** ; 7-BIT BINARY TO 3-BYTE ASCII ; Mostly used to make binary to ASCII for Displays ; Input in 7 bits ; Output in ASCII: tmp1 (1s), tmp2 (10s), tmp (100s) ;************************************************************** bin2asc: andlw h'7f' ;7 bits only movwf tmp1 clrf tmp addlw d'256'-d'100' ;2s compl btfss status,c ;>99, subtract 100 goto bin2a incf tmp,f ;above 99, indicate 100s movwf tmp1 bin2a: movf tmp1,w call bin2pak ;bin to 2-packed bin 99 max ; ; exit here if all you need is packed BCD (h'00' to h'99') ; movwf tmp1 ;remainder converts packed BCD to 3-ASCII movwf tmp2 swapf tmp2,f movlw b'1111' andwf tmp1,f andwf tmp2,f movlw '0' addwf tmp1,f ;1's done addwf tmp2,f ;10's done addwf tmp,f ;100's done return ;***************************************************************** -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.ON 20040712@1:00:23 AM at page: http://www.piclist.com/techref/microchip/math/radix/index.htm# James Newton[JMN-EFP-786] edited the page. Difference: http://www.piclist.com/techref/diff.asp?url=H:\techref\microchip\math\radix\index.htm&version=4