				__config  _CP_OFF & _XT_OSC & _WDT_OFF & _PWRTE_ON & _LVP_OFF & _BODEN_OFF

				#include "p16f873a.inc"  			  


				VALORE          EQU         H'23'	
				CIFRA_0         EQU         H'25'
				CIFRA_1         EQU         H'26'
				CIFRA_2         EQU         H'27'	
				MOMENTANEO      EQU         H'28'
				DATO_0			EQU         H'76'
				DATO_1			EQU         H'75'
				DATO_2			EQU         H'74'

				
				ORG		0x000

				BCF     STATUS,RP0		       	        		
 				MOVLW   B'0'		;cifra binaria da convertire in decimale
				MOVWF   VALORE			;caricata nel registro VALORE.

;ISTRUZIONI PER SCRIVERE NELLA MEMORIA DATI DA H'30' AD H'53'

				MOVLW   H'30'			
				MOVWF   FSR				
										
				MOVLW   H'00'			
				MOVWF   INDF			
				INCF    FSR				

				MOVLW   H'01'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'02'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'03'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'04'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'05'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'06'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'07'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'08'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'09'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'10'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'11'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'12'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'13'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'14'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'15'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'16'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'17'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'18'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'19'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'20'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'21'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'22'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'23'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'24'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'25'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'26'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'27'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'28'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'29'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'30'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'31'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'32'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'33'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'34'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'35'
				MOVWF   INDF

;ISTRUZIONI PER SCRIVERE NELLA MEMORIA DATI DA H'60' AD H'6F'

				MOVLW   H'60'
				MOVWF   FSR

				MOVLW   H'00'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'01'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'02'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'03'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'04'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'05'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'06'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'07'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'08'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'09'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'10'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'11'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'12'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'13'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'14'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'15'
				MOVWF   INDF

;ISTRUZIONI PER SCRIVERE NELLA MEMORIA DATI DA H'70' AD H'72'				

				MOVLW   H'70'
				MOVWF   FSR
				
				MOVLW   H'0'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'01'
				MOVWF   INDF
				INCF    FSR

				MOVLW   H'02'
				MOVWF   INDF
				INCF    FSR


;INIZIO ROUTINE DEL CALCOLO	

				MOVLW   H'30'			
				MOVWF   CIFRA_0		

				MOVLW   H'60'
				MOVWF   CIFRA_1			

				MOVLW   H'70'
				MOVWF   CIFRA_2		

				BTFSC   VALORE,0		
				CALL    BINARIO_0		
				BTFSC   VALORE,1
				CALL    BINARIO_1
				BTFSC   VALORE,2
				CALL    BINARIO_2
				BTFSC   VALORE,3
				CALL    BINARIO_3
				BTFSC   VALORE,4
				CALL    BINARIO_4
				BTFSC   VALORE,5
				CALL    BINARIO_5
				BTFSC   VALORE,6
				CALL    BINARIO_6
				BTFSC   VALORE,7
				CALL    BINARIO_7
				
				MOVF    CIFRA_0,W			
				MOVWF   FSR
				MOVF    INDF,W	
				MOVWF   DATO_0				
				MOVWF   MOMENTANEO		
				MOVLW   B'11110000'
				ANDWF   MOMENTANEO,F
				SWAPF   MOMENTANEO,W
				ADDWF   CIFRA_1,W				
				MOVWF   FSR
				MOVF    INDF,W	
				MOVWF   DATO_1
				MOVWF   MOMENTANEO				
				MOVLW   B'11110000'
				ANDWF   MOMENTANEO,F
				SWAPF   MOMENTANEO,W
				ADDWF   CIFRA_2,W
				MOVWF   FSR
				MOVF    INDF,W
				MOVWF   DATO_2
				MOVLW   B'00001111'
				ANDWF   DATO_0,F
				ANDWF   DATO_1,F
				ANDWF   DATO_2,F
				
FINE 
				GOTO    FINE	

BINARIO_0
				MOVLW   D'01'
				ADDWF   CIFRA_0,F
				RETLW   0

BINARIO_1
				MOVLW   D'02'
				ADDWF   CIFRA_0,F
				RETLW   0

BINARIO_2
				MOVLW   D'04'
				ADDWF   CIFRA_0,F
				RETLW   0

BINARIO_3
				MOVLW   D'08'
				ADDWF   CIFRA_0,F
				RETLW   0

BINARIO_4
				MOVLW   D'6'
				ADDWF   CIFRA_0,F
				MOVLW   D'1'
				ADDWF   CIFRA_1,F
				RETLW   0

BINARIO_5
				MOVLW   D'2'
				ADDWF   CIFRA_0,F
				MOVLW   D'3'
				ADDWF   CIFRA_1,F
				RETLW   0

BINARIO_6
				MOVLW   D'4'
				ADDWF   CIFRA_0,F
				MOVLW   D'6'
				ADDWF   CIFRA_1,F
				RETLW   0

BINARIO_7
				MOVLW   D'8'
				ADDWF   CIFRA_0,F
				MOVLW   D'2'
				ADDWF   CIFRA_1,F
				MOVLW   D'1'
				ADDWF   CIFRA_2,F
				RETLW   0

END			

