Como lo prometido es deuda aqui esta mi codigo conversor que llega hasta centenas de millar. Espero que os sirva
DIEZ EQU 0X10
CIEN_L EQU 0X30
MIL_L EQU 0X35
MIL_H EQU 0X31
DIEZMIL_L EQU 0X17
DIEZMIL_H EQU 0X32
CIENMIL_L EQU 0X15
CIENMIL_M EQU 0X27
CIENMIL_H EQU 0X28
CENTENAS EQU 0X19
DECENAS EQU 0X20
UNIDADES EQU 0X13
MIL EQU 0X21
DIEZ_MIL EQU 0X22
CIENMIL EQU 0X23
aux EQU 0X24
aux2 EQU 0X25
aux3 EQU 0X26
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
Inicio
CLRF CIENMIL
CLRF DIEZ_MIL
CLRF MIL
CLRF CENTENAS
CLRF DECENAS
CLRF UNIDADES
MOVLW B'10011111'
MOVWF aux
MOVLW B'00000000'
MOVWF aux2
MOVLW B'00000011'
MOVWF aux3
MOVLW .10
MOVWF DIEZ
MOVLW .100
MOVWF CIEN_L
MOVLW .232 ;UNIDADES DE 1.000 PARTE BAJA
MOVWF MIL_L
MOVLW B'00000011' ;UNIDADES DE 1.000 PARTE ALTA
MOVWF MIL_H
MOVLW B'00010000';UNIDADES DE 10.000 PARTE BAJA
MOVWF DIEZMIL_L
MOVLW B'00100111';UNIDADES DE 10.000 PARTE BAJA
MOVWF DIEZMIL_H
movlw .1
movwf CIENMIL_H
movlw .134
movwf CIENMIL_M
movlw b'10100000'
movwf CIENMIL_L
;RESULTADO DE LA CONVERSION
cien_mil
movf CIENMIL_L,0
subwf aux,1
BTFSS STATUS,0
goto acarreo_cienmil
movf CIENMIL_M,0
subwf aux2,1
btfss STATUS,0
goto acarreo_cienmill3
movf CIENMIL_H,0
subwf aux3,1
btfss STATUS,0
goto sumar_cienmil1
incf CIENMIL,1
goto cien_mil
acarreo_cienmil
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux2,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO acarreo_cienmil11
MOVF CIENMIL_M,0
SUBWF aux2,1
BTFSS STATUS,0
GOTO acarreo_cienmil14
MOVF CIENMIL_H,0
SUBWF aux3,1
BTFSS STATUS,0
GOTO acarreo_cienmil10
INCF CIENMIL,1 ;UNIDADES DE DIEZ_MIL
GOTO cien_mil
acarreo_cienmil14
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux3,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO fin2
movf CIENMIL_H,0
subwf aux3,1
btfss STATUS,0
goto fin3
incf CIENMIL
goto cien_mil
acarreo_cienmil11
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux3,1
btfss STATUS,0
goto fin1
movf CIENMIL_M,0
SUBWF aux2,1
movf CIENMIL_H,0
SUBWF aux3,1
btfss STATUS,0
goto acarreo_cienmill3
incf CIENMIL
goto cien_mil
acarreo_cienmil10
incf aux2
goto sumar_cienmil1
acarreo_cienmil4
INCF aux3,1 ;SI AL RESTARLE 1 A LA PARTE ALTA DEL RESULTADO
GOTO sumar_diezmil2
acarreo_cienmill3
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux3,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO acarreo_cienmil4
MOVF CIENMIL_H,0
SUBWF aux3,1
BTFSS STATUS,0
GOTO acarreo_cienmil6
INCF CIENMIL,1 ;UNIDADES DE DIEZ_MIL
GOTO cien_mil
acarreo_cienmil12
incf aux3
incf aux3
incf aux2
goto sumar_cienmil2
acarreo_cienml13
incf aux3
incf aux2
goto sumar_cienmil1
fin1
incf aux2
incf aux3
goto sumar_cienmil3
fin2
incf aux3
incf aux2
goto sumar_cienmil2
fin3
incf aux3
incf aux2
goto sumar_cienmil1
acarreo_cienmil6
incf aux3
sumar_cienmil1
MOVF CIENMIL_H,0
ADDWF aux3,1
sumar_cienmil2
MOVF CIENMIL_M,0
ADDWF aux2,1
sumar_cienmil3
MOVF CIENMIL_L,0
ADDWF aux,1
diez_mil
movf DIEZMIL_L,0
subwf aux,1
BTFSS STATUS,0
goto acarreo_diezmil
movf DIEZMIL_H,0
subwf aux2,1
btfss STATUS,0
goto acarreo_diezmil2
incf DIEZ_MIL,1
goto diez_mil
acarreo_diezmil
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux2,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO acarreo_diezmil5
MOVF DIEZMIL_H,0
SUBWF aux2,1
BTFSS STATUS,0
GOTO acarreo_diezmil4
INCF DIEZ_MIL,1 ;UNIDADES DE DIEZ_MIL
GOTO diez_mil
acarreo_diezmil4
movlw .1
subwf aux3,1
btfss STATUS,0
goto fin_diezmil1
incf DIEZ_MIL
goto diez_mil
acarreo_diezmil2
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux3,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO fin_diezmil3
INCF DIEZ_MIL,1 ;UNIDADES DE DIEZ_MIL
GOTO diez_mil
acarreo_diezmil5
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux3,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO fin_diezmil2
INCF DIEZ_MIL,1 ;UNIDADES DE DIEZ_MIL
GOTO diez_mil
fin_diezmil1
incf aux2
incf aux3
goto sumar_diezmil1
fin_diezmil2
incf aux3
incf aux2
goto sumar_diezmil2
fin_diezmil3
INCF aux3,1 ;SI AL RESTARLE 1 A LA PARTE ALTA DEL RESULTADO
GOTO sumar_diezmil1
sumar_diezmil1
MOVF DIEZMIL_H,0
ADDWF aux2,1
sumar_diezmil2
MOVF DIEZMIL_L,0
ADDWF aux,1
mil
movf MIL_L,0
subwf aux,1
BTFSS STATUS,0
goto acarreo_mil
movf MIL_H,0
subwf aux2,1
btfss STATUS,0
goto sumar_mil1
incf MIL,1
goto mil
acarreo_mil
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux2,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO fin_mil1
MOVF MIL_H,0
SUBWF aux2,1
BTFSS STATUS,0
GOTO fin_mil2
INCF MIL,1 ;UNIDADES DE DIEZ_MIL
GOTO mil
fin_mil1
incf aux2
goto sumar_mil2
fin_mil2
incf aux2
goto sumar_diezmil1
sumar_mil1
MOVF MIL_H,0
ADDWF aux2,1
sumar_mil2
MOVF MIL_L,0
ADDWF aux,1
cien
movf CIEN_L,0
subwf aux,1
BTFSS STATUS,0
goto acarreo_cien
incf CENTENAS,1
goto cien
acarreo_cien
MOVLW .1 ;PARTE BAJA DEBO
SUBWF aux2,1 ;RESTARLE 1 A LA PARTE ALTA DE RESUL_L
BTFSS STATUS,0
GOTO fin_cien1
INCF CENTENAS,1 ;UNIDADES DE DIEZ_MIL
GOTO cien
fin_cien1
incf aux2
goto sumar_cien1
sumar_cien1
MOVF CIEN_L,0
ADDWF aux,1
diez
movf DIEZ,0
subwf aux,1
BTFSS STATUS,0
goto sumar_diez1
incf DECENAS,1
goto diez
sumar_diez1
MOVF DIEZ,0
ADDWF aux,1
unidades
movf aux,0
movwf UNIDADES
goto Inicio
END