Aqui tienes la subrrutina en ASM:
Codigo:
;HEX2BDC: Transforma el código en Hexadecimal que viene en el w,
;en tres bcd que se retornan en 3 registros
;centenas --> contador3
;decenas --> contador2
;unidades --> contador1
hex2bcd movwf contador1
clrf contador2
clrf contador3
comf contador1,f
h2bcd0 movf contador1,w
addlw 0x64
btfsc status,0
goto h2bcd1
movwf contador1
incf contador3,f
goto h2bcd0
h2bcd1 movf contador1,w
addlw 0x0a
btfsc status,0
goto h2bcd2
movwf contador1
incf contador2,f
goto h2bcd1
h2bcd2 comf contador1,f
return