Hola compañero, ya me da cosa, la rutina es sencilla, yo no veo problema e incluso como bien has hecho se puede modificar sin problema, pero lo he probado y no me funciona.
He cambiado el orden de los registros por si estuviera hay el error, pero nada. Un saludo desde huelva compañero.
List p=16F84 ;Tipo de procesador
include "P16F84.INC" ;Definiciones de ; registros internos
temp1 equ 0x0c
temp0 equ 0x0d
dividendo3 equ 0x0e
dividendo2 equ 0x0f
dividendo1 equ 0x10
dividendo0 equ 0x11
BCD_7 equ 0x12
BCD_6 equ 0x13
BCD_5 equ 0x14
BCD_4 equ 0x15
BCD_3 equ 0x12
BCD_2 equ 0x13
BCD_1 equ 0x14
BCD_0 equ 0x15
org 0x00 ;Vector de Reset
goto Inicio
org 0x05 ;Vector de interrupción
goto final
Inicio clrf PORTB ;Borra los latch de salida
clrf PORTA ;Borra los latch de salida
bsf STATUS,RP0 ;Selecciona banco 1
clrf TRISB ;Puerta B se configura como salida
clrf TRISA ;Puerta A se configura como salida
movlw b"00000000"
movwf OPTION_REG ;Preescaler de 256 asociado al TMR0
bcf STATUS,RP0 ;Selecciona banco 0
clrf BCD_7
clrf BCD_6
clrf BCD_5
clrf BCD_4
clrf BCD_3
clrf BCD_2
clrf BCD_1
movlw 0x06
movwf BCD_0
clrf dividendo0
clrf dividendo1
clrf dividendo2
clrf dividendo3
call dec2bin
goto final
;Codigo:--------------------------------------------------------------------------------;*********************************************************************
;DEC2BIN: Tranforma el código bcd de los digitos en uno binario
; de 32 bits y lo guarda en los registros dividendox
;*********************************************************************
dec2bin movlw d"32"
movwf temp0 ;Contador de bits
d2bbck1 movlw BCD_0 ;Puntero al digito msb
movwf FSR
movlw 0x08
movwf temp1 ;Contador de dígitos
movlw d"10"
bcf STATUS,C ;Borra el carry
d2bbck2 incf FSR,f
btfsc STATUS,C
addwf INDF,f ;Add 10 if "1" bit from prev digit
rrf INDF,f ;Shift out LSB of digit
decfsz temp1,f ;Siguiente dígito
goto d2bbck2
rrf dividendo3,f ;Shift in carry from digits
rrf dividendo2,f
rrf dividendo1,f
rrf dividendo0,f
decfsz temp0,f ;Siguiente bit
goto d2bbck1
return------------------
final nop
clrwdt
end ;Fin del programa fuente