; Input file time.hex
; Processor pic16f84

;==========================================================================
;
;       Register Definitions
;
;==========================================================================

W                            EQU     H'0000'
F                            EQU     H'0001'

;----- Register Files------------------------------------------------------
INDF		equ	H'0000'
TMR0		equ	H'0001'
PCL		equ	H'0002'
STATUS	equ	H'0003'
FSR		equ	H'0004'
PORTA		equ	H'0005'
PORTB		equ	H'0006'
EEDATA	equ	H'0008'
EEADR		equ	H'0009'
PCLATH	equ	H'000A'
INTCON	equ	H'000B'

OPTION_REG	equ	H'0081'
TRISA		equ	H'0085'
TRISB		equ	H'0086'
EECON1	equ	H'0088'
EECON2	equ	H'0089'




;---- STATUS bits ----
C		equ	H'0000'
DC		equ	H'0001'
Z		equ	H'0002'
NOT_PD	equ	H'0003'
NOT_TO	equ	H'0004'
RP0		equ	H'0005'
RP1		equ	H'0006'
IRP		equ	H'0007'

;---- INTCON bits ----
RBIF		equ	H'0000'
INTF		equ	H'0001'
T0IF		equ	H'0002'
RBIE		equ	H'0003'
INTE		equ	H'0004'
T0IE		equ	H'0005'
EEIE		equ	H'0006'
GIE		equ	H'0007'

;---- OPTION_REG bits ----
PS0		equ	H'0000'
PS1		equ	H'0001'
PS2		equ	H'0002'
PSA		equ	H'0003'
T0SE		equ	H'0004'
T0CS		equ	H'0005'
INTEDG	equ	H'0006'
NOT_RBPU	equ	H'0007'

;---- EECON1 bits ----
RD		equ	H'0000'
WR		equ	H'0001'
WREN		equ	H'0002'
WRERR		equ	H'0003'
EEIF		equ	H'0004'

; Used General Purpose Register
REG00C	equ	H'00C'
REG00D	equ	H'00D'
REG010	equ	H'010'
REG011	equ	H'011'
REG012	equ	H'012'
REG013	equ	H'013'
REG014	equ	H'014'
REG015	equ	H'015'
REG016	equ	H'016'
REG017	equ	H'017'
REG018	equ	H'018'
REG019	equ	H'019'
REG01A	equ	H'01A'
REG01B	equ	H'01B'
REG01C	equ	H'01C'
REG01D	equ	H'01D'
REG01E	equ	H'01E'
REG01F	equ	H'01F'
REG020	equ	H'020'
REG021	equ	H'021'
REG022	equ	H'022'
REG023	equ	H'023'
REG024	equ	H'024'
REG025	equ	H'025'

; Configuration bits
	__config	0x3FF9


	org	0x0000
ResetVector:
	goto		L_0001
L_0001:
	bsf		STATUS,RP0
	clrf		TRISA
	clrf		TRISB
HighInterruptVector:
	bcf		STATUS,RP0
	clrf		PORTA
	clrf		PORTB
	clrf		REG01A
	clrf		REG01B
	clrf		REG01C
	clrf		REG01D
	clrf		REG01E
	clrf		REG01F
	clrf		REG018
	clrf		REG019
	clrf		REG010
	clrf		REG011
	clrf		REG012
	clrf		REG013
	clrf		REG014
	clrf		REG015
	clrf		REG016
	clrf		REG017
	clrf		REG025
	clrf		REG022
	clrf		REG023
	clrf		REG024
	call		L_003A
	call		L_0093
L_001D:
	call		L_00B9
	incf		REG022,F
	movlw		0x0D		;b'0000 1101',' ',.13
	xorwf		REG022,W
	btfss		STATUS,Z
	goto		L_0024
	call		L_00F6
L_0024:
	movlw		0x1A		;b'0001 1010','_',.26
	xorwf		REG022,W
	btfss		STATUS,Z
	goto		L_0029
	call		L_00F6
L_0029:
	movlw		0x27		;b'0010 0111',''',.39
	xorwf		REG022,W
	btfss		STATUS,Z
	goto		L_002E
	call		L_00F6
L_002E:
	movlw		0x36		;b'0011 0110','6',.54
	xorwf		REG022,W
	btfss		STATUS,Z
	goto		L_0033
	call		L_00F6
L_0033:
	movlw		0x37		;b'0011 0111','7',.55
	xorwf		REG022,W
	btfss		STATUS,Z
	goto		L_0039
	clrf		REG022
	call		L_0107
L_0039:
	goto		L_001D
L_003A:
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0041
	movlw		0x01		;b'0000 0001',' ',.01
	movwf		REG01B
	clrf		REG01C
L_0041:
	movlw		0x01		;b'0000 0001',' ',.01
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0048
	movlw		0x02		;b'0000 0010',' ',.02
	movwf		REG01B
	clrf		REG01C
L_0048:
	movlw		0x02		;b'0000 0010',' ',.02
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_004F
	movlw		0x04		;b'0000 0100',' ',.04
	movwf		REG01B
	clrf		REG01C
L_004F:
	movlw		0x03		;b'0000 0011',' ',.03
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0056
	movlw		0x08		;b'0000 1000',' ',.08
	movwf		REG01B
	clrf		REG01C
L_0056:
	movlw		0x04		;b'0000 0100',' ',.04
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_005D
	movlw		0x10		;b'0001 0000',' ',.16
	movwf		REG01B
	clrf		REG01C
L_005D:
	movlw		0x05		;b'0000 0101',' ',.05
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0064
	movlw		0x20		;b'0010 0000',' ',.32
	movwf		REG01B
	clrf		REG01C
L_0064:
	movlw		0x06		;b'0000 0110',' ',.06
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_006B
	movlw		0x40		;b'0100 0000','@',.64
	movwf		REG01B
	clrf		REG01C
L_006B:
	movlw		0x07		;b'0000 0111',' ',.07
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0072
	movlw		0x80		;b'1000 0000','?',.128
	movwf		REG01B
	clrf		REG01C
L_0072:
	movlw		0x08		;b'0000 1000',' ',.08
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0079
	clrf		REG01B
	movlw		0x01		;b'0000 0001',' ',.01
	movwf		REG01C
L_0079:
	movlw		0x09		;b'0000 1001',' ',.09
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0080
	clrf		REG01B
	movlw		0x02		;b'0000 0010',' ',.02
	movwf		REG01C
L_0080:
	movlw		0x0A		;b'0000 1010',' ',.10
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_0087
	clrf		REG01B
	movlw		0x04		;b'0000 0100',' ',.04
	movwf		REG01C
L_0087:
	movlw		0x0B		;b'0000 1011',' ',.11
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_008E
	clrf		REG01B
	movlw		0x08		;b'0000 1000',' ',.08
	movwf		REG01C
L_008E:
	btfss		REG01D,0
	goto		L_0092
	comf		REG01B,F
	comf		REG01C,F
L_0092:
	return	
L_0093:
	movf		REG01E,W
	call		L_00EB
	movwf		REG020
	movf		REG01F,W
	call		L_00EB
	movwf		REG021
	return	
L_009A:
	movlw		0x3C		;b'0011 1100','<',.60
	xorwf		REG018,W
	btfss		STATUS,Z
	goto		L_00A0
	clrf		REG018
	incf		REG01E,F
L_00A0:
	movlw		0x0A		;b'0000 1010',' ',.10
	xorwf		REG01E,W
	btfss		STATUS,Z
	goto		L_00A6
	clrf		REG01E
	incf		REG01F,F
L_00A6:
	movlw		0x06		;b'0000 0110',' ',.06
	xorwf		REG01F,W
	btfss		STATUS,Z
	goto		L_00AC
	clrf		REG01F
	incf		REG01A,F
L_00AC:
	movlw		0x0C		;b'0000 1100',' ',.12
	xorwf		REG01A,W
	btfss		STATUS,Z
	goto		L_00B8
	btfss		REG01D,0
	goto		L_00B4
	bcf		REG01D,0
	goto		L_00B7
L_00B4:
	btfsc		REG01D,0
	goto		L_00B7
	bsf		REG01D,0
L_00B7:
	clrf		REG01A
L_00B8:
	return	
L_00B9:
	movlw		0x04		;b'0000 0100',' ',.04
	movwf		PORTA
	movf		REG01C,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG020,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG010,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG011,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG012,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG01B,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG013,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG014,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG015,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG016,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG017,W
	movwf		PORTB
	call		L_01F9
	incf		PORTA,F
	movf		REG021,W
	movwf		PORTB
	call		L_01F9
	return	
L_00EB:
	addwf		PCL,F
	retlw		0x3F		;b'0011 1111','?',.63
	retlw		0x06		;b'0000 0110',' ',.06
	retlw		0x5B		;b'0101 1011','[',.91
	retlw		0xCF		;b'1100 1111','?',.207
	retlw		0x66		;b'0110 0110','f',.102
	retlw		0x6D		;b'0110 1101','m',.109
	retlw		0x7D		;b'0111 1101','}',.125
	retlw		0x07		;b'0000 0111',' ',.07
	retlw		0x7F		;b'0111 1111','',.127
	retlw		0x6F		;b'0110 1111','o',.111
L_00F6:
	bsf		STATUS,RP0
	movlw		0x60		;b'0110 0000','`',.96
	movwf		TRISB
	bcf		OPTION_REG,NOT_RBPU
	bcf		STATUS,RP0
	btfss		PORTB,5
	incf		REG01A,F
	btfss		PORTB,6
	incf		REG01E,F
	bsf		STATUS,RP0
	clrf		TRISB
	bsf		OPTION_REG,NOT_RBPU
	bcf		STATUS,RP0
	call		L_009A
	call		L_0093
	call		L_003A
	return	
L_0107:
	btfss		REG025,0
	call		L_0130
	btfsc		REG025,0
	call		L_0192
	movlw		0x3C		;b'0011 1100','<',.60
	xorwf		REG018,W
	btfss		STATUS,Z
	goto		L_012F
	clrf		REG019
	call		L_009A
	call		L_003A
	call		L_0093
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG025,W
	btfss		STATUS,Z
	goto		L_0122
	movlw		0xFF		;b'1111 1111','Ø',.255
	movwf		REG010
	movwf		REG011
	movwf		REG012
	movwf		REG013
	movwf		REG014
	movwf		REG015
	movwf		REG016
	movwf		REG017
	bsf		REG025,0
	goto		L_012F
L_0122:
	movlw		0x01		;b'0000 0001',' ',.01
	xorwf		REG025,W
	btfss		STATUS,Z
	goto		L_012F
	clrf		REG010
	clrf		REG011
	clrf		REG012
	clrf		REG013
	clrf		REG014
	clrf		REG015
	clrf		REG016
	clrf		REG017
	bcf		REG025,0
L_012F:
	return	
L_0130:
	incf		REG018,F
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_013D
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG010,W
	btfss		STATUS,Z
	goto		L_013B
	incf		REG019,F
	goto		L_013D
L_013B:
	rlf		REG010,F
	bsf		REG010,0
L_013D:
	movlw		0x01		;b'0000 0001',' ',.01
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0149
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG011,W
	btfss		STATUS,Z
	goto		L_0147
	incf		REG019,F
	goto		L_0149
L_0147:
	rlf		REG011,F
	bsf		REG011,0
L_0149:
	movlw		0x02		;b'0000 0010',' ',.02
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0155
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG012,W
	btfss		STATUS,Z
	goto		L_0153
	incf		REG019,F
	goto		L_0155
L_0153:
	rlf		REG012,F
	bsf		REG012,0
L_0155:
	movlw		0x03		;b'0000 0011',' ',.03
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0161
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG013,W
	btfss		STATUS,Z
	goto		L_015F
	incf		REG019,F
	goto		L_0161
L_015F:
	rlf		REG013,F
	bsf		REG013,0
L_0161:
	movlw		0x04		;b'0000 0100',' ',.04
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_016D
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG014,W
	btfss		STATUS,Z
	goto		L_016B
	incf		REG019,F
	goto		L_016D
L_016B:
	rlf		REG014,F
	bsf		REG014,0
L_016D:
	movlw		0x05		;b'0000 0101',' ',.05
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0179
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG015,W
	btfss		STATUS,Z
	goto		L_0177
	incf		REG019,F
	goto		L_0179
L_0177:
	rlf		REG015,F
	bsf		REG015,0
L_0179:
	movlw		0x06		;b'0000 0110',' ',.06
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0185
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG016,W
	btfss		STATUS,Z
	goto		L_0183
	incf		REG019,F
	goto		L_0185
L_0183:
	rlf		REG016,F
	bsf		REG016,0
L_0185:
	movlw		0x07		;b'0000 0111',' ',.07
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_0191
	movlw		0xFF		;b'1111 1111','Ø',.255
	xorwf		REG017,W
	btfss		STATUS,Z
	goto		L_018F
	incf		REG019,F
	goto		L_0191
L_018F:
	rlf		REG017,F
	bsf		REG017,0
L_0191:
	return	
L_0192:
	incf		REG018,F
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_019F
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG010,W
	btfss		STATUS,Z
	goto		L_019D
	incf		REG019,F
	goto		L_019F
L_019D:
	rlf		REG010,F
	bcf		REG010,0
L_019F:
	movlw		0x01		;b'0000 0001',' ',.01
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01AB
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG011,W
	btfss		STATUS,Z
	goto		L_01A9
	incf		REG019,F
	goto		L_01AB
L_01A9:
	rlf		REG011,F
	bcf		REG011,0
L_01AB:
	movlw		0x02		;b'0000 0010',' ',.02
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01B7
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG012,W
	btfss		STATUS,Z
	goto		L_01B5
	incf		REG019,F
	goto		L_01B7
L_01B5:
	rlf		REG012,F
	bcf		REG012,0
L_01B7:
	movlw		0x03		;b'0000 0011',' ',.03
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01C3
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG013,W
	btfss		STATUS,Z
	goto		L_01C1
	incf		REG019,F
	goto		L_01C3
L_01C1:
	rlf		REG013,F
	bcf		REG013,0
L_01C3:
	movlw		0x04		;b'0000 0100',' ',.04
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01CF
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG014,W
	btfss		STATUS,Z
	goto		L_01CD
	incf		REG019,F
	goto		L_01CF
L_01CD:
	rlf		REG014,F
	bcf		REG014,0
L_01CF:
	movlw		0x05		;b'0000 0101',' ',.05
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01DB
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG015,W
	btfss		STATUS,Z
	goto		L_01D9
	incf		REG019,F
	goto		L_01DB
L_01D9:
	rlf		REG015,F
	bcf		REG015,0
L_01DB:
	movlw		0x06		;b'0000 0110',' ',.06
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01E7
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG016,W
	btfss		STATUS,Z
	goto		L_01E5
	incf		REG019,F
	goto		L_01E7
L_01E5:
	rlf		REG016,F
	bcf		REG016,0
L_01E7:
	movlw		0x07		;b'0000 0111',' ',.07
	xorwf		REG019,W
	btfss		STATUS,Z
	goto		L_01F3
	movlw		0x00		;b'0000 0000',' ',.00
	xorwf		REG017,W
	btfss		STATUS,Z
	goto		L_01F1
	incf		REG019,F
	goto		L_01F3
L_01F1:
	rlf		REG017,F
	bcf		REG017,0
L_01F3:
	return	
	movlw		0x72		;b'0111 0010','r',.114
	movwf		REG00C
L_01F6:
	decfsz	REG00C,F
	goto		L_01F6
	return	
L_01F9:
	movlw		0xF3		;b'1111 0011','â',.243
	movwf		REG00C
	movlw		0x02		;b'0000 0010',' ',.02
	movwf		REG00D
L_01FD:
	decfsz	REG00C,F
	goto		L_01FD
	decfsz	REG00D,F
	goto		L_01FD
	nop		
	return	

	end	; directive 'end of program'

