a.borowski@student.qut.edu.au shares this code:
Here's a nice bit of code that turns a 8 bit binary number into it's hundreds, tens and ones in ASCII, suitable for displaying. Simply put your number in 'bin', call BIN2BCD, then use huns, tens and ones for display.BIN2BCD ;--------------------- ;in: BIN ;out huns. tens, ones ;uses ADD-3 algoerthm movlw 8 movwf count clrf huns clrf tens clrf ones BCDADD3 movlw 5 subwf huns, 0 btfsc STATUS, C CALL ADD3HUNS movlw 5 subwf tens, 0 btfsc STATUS, C CALL ADD3TENS movlw 5 subwf ones, 0 btfsc STATUS, C CALL ADD3ONES decf count, 1 bcf STATUS, C rlf BIN, 1 rlf ones, 1 btfsc ones,4 ; CALL CARRYONES rlf tens, 1 btfsc tens,4 ; CALL CARRYTENS rlf huns,1 bcf STATUS, C movf count, 0 btfss STATUS, Z GOTO BCDADD3 movf huns, 0 ; add ASCII Offset addlw h'30' movwf huns movf tens, 0 ; add ASCII Offset addlw h'30' movwf tens movf ones, 0 ; add ASCII Offset addlw h'30' movwf ones RETURN ADD3HUNS movlw 3 addwf huns,1 RETURN ADD3TENS movlw 3 addwf tens,1 RETURN ADD3ONES movlw 3 addwf ones,1 RETURN CARRYONES bcf ones, 4 bsf STATUS, C RETURN CARRYTENS bcf tens, 4 bsf STATUS, C RETURN
Questions:
Comments:
Just what I was looking for. As a hardware engineer trying my hand at using PICS, I've found there are an awful lot of things to learn!
Thanks very much.