; This file was generated by C2C++ compiler version 1.1e


 LIST P=16F628A, R=DEC    ; Use the PIC16F628 and decimal system 

 	#include "P16F628A.INC"  ; Include header file 
	__CONFIG   _CP_OFF & _DATA_CP_OFF & _LVP_OFF &  _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _XT_OSC
       	



	;Variables *****************************************

__ret__lobyte                   equ 0x22
param00_delay_ms                equ 0x23
param00_delay_s                 equ 0x25
param00_escribe_display         equ 0x26
param01_escribe_display         equ 0x27
_bit1_escribe_display           equ 0x28
_bit2_escribe_display           equ 0x29
_bit3_escribe_display           equ 0x2A
_bit4_escribe_display           equ 0x2B

	CBLOCK 0x20             ; Declare variable addresses starting at 0x20 
          dataL 
        ENDC 

        ORG    0x000            ; Program starts at 0x000 

; 
; ---------------- 
; INITIALIZE PORTS 
; ---------------- 
; 
        movlw b'00000000'       ; set up portA 
        movwf H'0005'	; PORTA 

        movlw b'00000000'       ; RB2(TX)=1 others are 0 
        movwf 0x06	; PORTB 

        bsf STATUS,RP0          ; RAM PAGE 1 

        movlw 0x00 
        movwf H'0085'	; TRISA             ; portA all pins SALIDAS

        movlw b'00000010'       ; RB7-RB4 and RB1(RX)=input, others output 
        movwf 0x86	; TRISB 


; 
; ------------------------------------ 
; PROVIDE A SETTLING TIME FOR START UP 
; ------------------------------------ 
; 
        clrf dataL 
settle  decfsz dataL,F 
        goto settle 

        movf RCREG,W 
        movf RCREG,W 
        movf RCREG,W            ; flush receive buffer 


_main__code
	bsf STATUS, RP0
	movlw D'3'
	bsf STATUS, RP0
	bcf STATUS, RP1
	movwf TRISB
	clrf TRISA
	bcf STATUS, RP0
	bcf STATUS, RP0
	bsf PORTA, 3
label_0000
	clrf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'1'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'2'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'3'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'4'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'5'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'6'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'7'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'2'
	movwf param00_delay_s
	call _delay_s
	clrf param00_escribe_display
	movlw D'1'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'1'
	movwf param00_escribe_display
	movlw D'2'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'2'
	movwf param00_escribe_display
	movlw D'3'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'3'
	movwf param00_escribe_display
	movlw D'4'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'4'
	movwf param00_escribe_display
	movlw D'5'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'5'
	movwf param00_escribe_display
	movlw D'6'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'6'
	movwf param00_escribe_display
	movlw D'7'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'7'
	movwf param00_escribe_display
	movlw D'8'
	movwf param01_escribe_display
	call _escribe_display
	movlw D'2'
	movwf param00_delay_s
	call _delay_s
	goto label_0000
label_0001
_main__end
_escribe_display__code
_escribe_display
	movlw D'8'
	subwf param01_escribe_display, W
	movlw 1
	btfss STATUS, C
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0005
	movlw D'1'
	movwf _bit4_escribe_display
	movlw D'8'
	subwf param01_escribe_display, W
	movwf param01_escribe_display
	goto label_0006
label_0005
	clrf _bit4_escribe_display
label_0006
	movlw D'4'
	subwf param01_escribe_display, W
	movlw 1
	btfss STATUS, C
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0007
	movlw D'1'
	movwf _bit3_escribe_display
	movlw D'4'
	subwf param01_escribe_display, W
	movwf param01_escribe_display
	goto label_0008
label_0007
	clrf _bit3_escribe_display
label_0008
	movlw D'2'
	subwf param01_escribe_display, W
	movlw 1
	btfss STATUS, C
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0009
	movlw D'1'
	movwf _bit2_escribe_display
	movlw D'2'
	subwf param01_escribe_display, W
	movwf param01_escribe_display
	goto label_0010
label_0009
	clrf _bit2_escribe_display
label_0010
	movf param01_escribe_display, W
	sublw D'1'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0011
	movlw D'1'
	movwf _bit1_escribe_display
	goto label_0012
label_0011
	clrf _bit1_escribe_display
label_0012
	movf _bit4_escribe_display, W
	sublw D'0'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0013
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTB, 7
	goto label_0014
label_0013
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTB, 7
label_0014
	movf _bit3_escribe_display, W
	sublw D'0'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0015
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTB, 6
	goto label_0016
label_0015
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTB, 6
label_0016
	movf _bit2_escribe_display, W
	sublw D'0'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0017
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTB, 5
	goto label_0018
label_0017
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTB, 5
label_0018
	movf _bit1_escribe_display, W
	sublw D'0'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0019
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTB, 4
	goto label_0020
label_0019
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTB, 4
label_0020
	movf param00_escribe_display, W
	sublw D'7'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0021
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTA, 2
	bsf PORTA, 1
	bsf PORTA, 0
label_0021
	movf param00_escribe_display, W
	sublw D'6'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0022
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTA, 2
	bsf PORTA, 1
	bcf PORTA, 0
label_0022
	movf param00_escribe_display, W
	sublw D'5'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0023
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTA, 2
	bcf PORTA, 1
	bsf PORTA, 0
label_0023
	movf param00_escribe_display, W
	sublw D'4'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0024
	bcf STATUS, RP0
	bcf STATUS, RP1
	bsf PORTA, 2
	bcf PORTA, 1
	bcf PORTA, 0
label_0024
	movf param00_escribe_display, W
	sublw D'3'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0025
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTA, 2
	bsf PORTA, 1
	bsf PORTA, 0
label_0025
	movf param00_escribe_display, W
	sublw D'2'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0026
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTA, 2
	bsf PORTA, 1
	bcf PORTA, 0
label_0026
	movf param00_escribe_display, W
	sublw D'1'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0027
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTA, 2
	bcf PORTA, 1
	bsf PORTA, 0
label_0027
	movf param00_escribe_display, W
	sublw D'0'
	movlw 1
	btfss STATUS, Z
	clrw
	sublw 0
	btfsc STATUS, Z
	goto label_0028
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTA, 2
	bcf PORTA, 1
	bcf PORTA, 0
label_0028
	bcf STATUS, RP0
	bcf STATUS, RP1
	bcf PORTA, 3
	bsf PORTA, 3
destr__escribe_display
	return
_escribe_display__end
_delay_s__code
_delay_s
label_0002
	movlw D'250'
	movwf param00_delay_ms
	call _delay_ms
	movlw D'250'
	movwf param00_delay_ms
	call _delay_ms
	movlw D'250'
	movwf param00_delay_ms
	call _delay_ms
	movlw D'250'
	movwf param00_delay_ms
	call _delay_ms
	decfsz param00_delay_s, 1
	goto label_0002
	return
_delay_s__end
_delay_ms__code
_delay_ms
label_0003
	movlw D'142'
	movwf param00_delay_ms+D'1' 
	nop
	nop
label_0004
	nop
	nop
	nop
	nop
	decfsz param00_delay_ms+D'1' , 1
	goto label_0004
	nop
	decfsz param00_delay_ms, 1
	goto label_0003
	nop
	return
_delay_ms__end
	END
