;*******************************************************************************
;************************AMC_BIN_DEC_100.INC VER 1.00 2014.07.07****************
;*******************************************************************************

	ORG			0x0840

	CBLOCK
	Ones
	Tens
	Hund
	Thou
	Tenk
	NumH
	NumL
	ENDC

LCD_Dec

    clrf   Ones
   clrf   Tens
   clrf   Hund
   clrf    Thou           
   clrf    Tenk

        swapf   NumH,w 
        andlw   h'0F'             ;
        addlw   h'F0'             ;
        movwf   Thou 
        addwf   Thou,f 
        addlw   h'E2' 
        movwf   Hund 
        addlw   h'32' 
        movwf   Ones 

        movf    NumH,w 
        andlw   h'0F' 
        addwf   Hund,f 
        addwf   Hund,f 
        addwf   Ones,f 
        addlw   h'E9' 
        movwf   Tens 
        addwf   Tens,f 
        addwf   Tens,f 

        swapf   NumL,w 
        andlw   h'0F' 
        addwf   Tens,f 
        addwf   Ones,f 

        rlf     Tens,f 
        rlf     Ones,f 
        comf    Ones,f 
        rlf     Ones,f 

        movf    NumL,w 
        andlw   h'0F' 
        addwf   Ones,f 
        rlf     Thou,f 

        movlw   h'07' 
        movwf   Tenk 
        movlw   h'0A'                             ; Ten 
Lb1: 
        addwf   Ones,f 
        decf    Tens,f 
        btfss   3,0 
         goto   Lb1 
Lb2: 
        addwf   Tens,f 
        decf    Hund,f 
        btfss   3,0 
         goto   Lb2 
Lb3: 
        addwf   Hund,f 
        decf    Thou,f 
        btfss   3,0 
         goto   Lb3 
Lb4: 
        addwf   Thou,f 
        decf    Tenk,f 
        btfss   3,0 
         goto   Lb4 

;Conversion bcd a ASCII
    
   movlw   0x30
   addwf   Tenk,1
    
   movlw   0x30
   addwf   Thou,1
   
   movlw   0x30
   addwf   Hund,1  

   movlw   0x30
   addwf   Tens,1
   
   movlw   0x30
   addwf   Ones,1

		bcf		PCLATH, 3 
  RETURN
