;*****************************************
;*** Conversión Binario de BCD 16bits ****
;*****************************************

; <Binario_b;Binario_a> => <DecenaMil,UnidadMil,Centena;Decena;Unidad>


; Registros
Binario_b		
Binario_a			
DecenaMil			
UnidadMil		
Centena			
Decena	
Unidad	

;Rutina
Binario_BCD
	swapf 	Binario_b,w
	andlw 	0x0F
	addlw 	0xF0
	movwf 	UnidadMil
	addwf 	UnidadMil,f
	addlw 	0xE2
	movwf 	Centena
	addlw 	0x32
	movwf 	Unidad
	movf 	Binario_b,w
	andlw 	0x0F
	addwf 	Centena,f
	addwf 	Centena,f
	addwf 	Unidad,f
	addlw 	0xE9
	movwf 	Decena
	addwf 	Decena,f
	addwf 	Decena,f
	swapf 	Binario_a,w
	andlw 	0x0F
	addwf 	Decena,f
	addwf 	Unidad,f
	rlf 	Decena,f
	rlf 	Unidad,f
	comf 	Unidad,f
	rlf 	Unidad,f
	movf 	Binario_a,w
	andlw 	0x0F
	addwf 	Unidad,f
	rlf 	UnidadMil,f
	movlw 	0x07
	movwf 	DecenaMil
	movlw 	0x0A
Lb1	
	addwf 	Unidad,f
	decf 	Decena,f
	btfss	STATUS,C
	goto 	Lb1
Lb2
	addwf 	Decena,f
	decf 	Centena,f
	btfss 	STATUS,C
	goto 	Lb2
Lb3
	addwf 	Centena,f
	decf 	UnidadMil,f
	btfss 	STATUS,C
	goto 	Lb3
Lb4
	addwf 	UnidadMil,f
	decf 	DecenaMil,f
	btfss 	STATUS,C
	goto 	Lb4

