WARNING: Untested code Input: W is a binary number in the range 0..29 Output: W is a BCD number in the range 0x00..0x29 ; W is 0..29 addlw .256-.20 ; C will be set if number was >= 20 skpnc addlw .6 ; ...adjust for 20..29 addlw -(.256-.20) ; Back to original value addlw .256-.10 ; C will be set if number was >= 10 skpnc addlw .6 ; ...adjust for 10..29 addlw -(.256-.10) ; Back to original value
Comments: