;******************************************************************************************
;   Project      :  PIC 16F88 Sample Program
;   Program Name :
;   Programer    :
;   Create date  :  Version 1.0    H19.06.01
;   History      :
;******************************************************************************************
;  (1)Description
;     
;******************************************************************************************
	LIST	P=PIC16F88,ST=OFF,R=DEC
	INCLUDE	"P16F88.inc"	
;	__CONFIG _CONFIG1 , _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
	__CONFIG _CONFIG1 , _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC
	__CONFIG _CONFIG2 , _IESO_OFF & _FCMEN_OFF
;
X1		EQU	20H
X2		EQU	21H
X3		EQU	22H
X4		EQU	23H
X5		EQU	24H
NUM		EQU	25H
CHR		EQU	26H
WAT1	EQU	27H
WAT2	EQU	28H
DSPLP0	EQU	29H
DSPLP1	EQU	2AH
LPCNT	EQU	2BH

	ORG	0
	GOTO	START
	ORG	4
	GOTO	START
START
; ===========================================
;   1.Initialized
; ===========================================
;  (1)Initialized Port 
; Bank0‚إ‚جگف’è
	BANKSEL	PORTA	; PortA‚جBank‚ً‘I‘ً‚·‚é
	CLRF	PORTA	; PortA‚جڈ‰ٹْ‰»
	CLRF	PORTB	; PortB‚جڈ‰ٹْ‰»

; Bank1‚إ‚جگف’è
	BANKSEL	ANSEL	; ANSEL‚جBank‚ً‘I‘ً‚·‚é(Bank1)
	MOVLW	B'00000000'	; ‘S‚ؤ‚ًDegital‚ةگف’è
	MOVWF	ANSEL	; Degital Input‚ةگف’è(Bank1)
	MOVLW	B'11100000'
	MOVWF	TRISA	; PortA‚جI/Oگف’è(Bank1)
	MOVLW	B'00000000'
	MOVWF	TRISB	; PortB‚جI/Oگف’è(Bank1)
; Bank0‚ة–ك‚·
	BANKSEL	PORTA	; PortA‚جBank‚ً‘I‘ً‚·‚é
	CLRF	PORTA	; PortA‚جڈ‰ٹْ‰»
	CLRF	PORTB	; PortB‚جڈ‰ٹْ‰»
;
; ===========================================
;   2.Main loop
; ===========================================
MAIN
	CALL	DEMO01
	GOTO	MAIN


;******************************************************************************************
;   Function Name : DEMO01
;   Title         : 
;   Input         : 
;   Output        :
;   Description   : 
;******************************************************************************************
DEMO01
	MOVLW	'0'
	CALL	OUTDSP
; 
	MOVLW	'1'
	CALL	OUTDSP
; 
	MOVLW	'2'
	CALL	OUTDSP
; 
	MOVLW	'3'
	CALL	OUTDSP
; 
	MOVLW	'4'
	CALL	OUTDSP
; 
	MOVLW	'5'
	CALL	OUTDSP
; 
	MOVLW	'6'
	CALL	OUTDSP
; 
	MOVLW	'7'
	CALL	OUTDSP
; 
	MOVLW	'8'
	CALL	OUTDSP
; 
	MOVLW	'9'
	CALL	OUTDSP
; 
	MOVLW	'A'
	CALL	OUTDSP
; 
	MOVLW	'B'
	CALL	OUTDSP
; 
	MOVLW	'C'
	CALL	OUTDSP
; 
	MOVLW	'D'
	CALL	OUTDSP
; 
	MOVLW	'E'
	CALL	OUTDSP
; 
	MOVLW	'F'
	CALL	OUTDSP
; 
	MOVLW	'G'
	CALL	OUTDSP
; 
	MOVLW	'H'
	CALL	OUTDSP
; 
	MOVLW	'I'
	CALL	OUTDSP
; 
	MOVLW	'J'
	CALL	OUTDSP
; 
	MOVLW	'K'
	CALL	OUTDSP
; 
	MOVLW	'L'
	CALL	OUTDSP
; 
	MOVLW	'M'
	CALL	OUTDSP
; 
	MOVLW	'N'
	CALL	OUTDSP
; 
	MOVLW	'O'
	CALL	OUTDSP
; 
	MOVLW	'P'
	CALL	OUTDSP
; 
	MOVLW	'Q'
	CALL	OUTDSP
; 
	MOVLW	'R'
	CALL	OUTDSP
; 
	MOVLW	'S'
	CALL	OUTDSP
; 
	MOVLW	'T'
	CALL	OUTDSP
; 
	MOVLW	'U'
	CALL	OUTDSP
; 
	MOVLW	'V'
	CALL	OUTDSP
; 
	MOVLW	'W'
	CALL	OUTDSP
; 
	MOVLW	'X'
	CALL	OUTDSP
; 
	MOVLW	'Y'
	CALL	OUTDSP
; 
	MOVLW	'Z'
	CALL	OUTDSP
; 
	MOVLW	'u'
	CALL	OUTDSP
; 
	MOVLW	'd'
	CALL	OUTDSP
; 
	MOVLW	'r'
	CALL	OUTDSP
; 
	MOVLW	'l'
	CALL	OUTDSP
; 
	MOVLW	' '
	CALL	OUTDSP
; 
	MOVLW	'a'
	CALL	OUTDSP
; 
	MOVLW	'e'
	CALL	OUTDSP
; 
	MOVLW	'+'
	CALL	OUTDSP
; 
	MOVLW	'-'
	CALL	OUTDSP
; 
	MOVLW	'='
	CALL	OUTDSP
; 
	MOVLW	')'
	CALL	OUTDSP
; 
	MOVLW	'('
	CALL	OUTDSP
; 
	MOVLW	']'
	CALL	OUTDSP
; 
	MOVLW	'['
	CALL	OUTDSP
; 
	MOVLW	'>'
	CALL	OUTDSP
; 
	MOVLW	'<'
	CALL	OUTDSP
; 
	MOVLW	'"'
	CALL	OUTDSP
; 
	MOVLW	'!'
	CALL	OUTDSP
; 
	MOVLW	'*'
	CALL	OUTDSP
; 
	MOVLW	'/'
	CALL	OUTDSP
; 
	MOVLW	'±'
	CALL	OUTDSP
; 
	MOVLW	'²'
	CALL	OUTDSP
; 
	MOVLW	'³'
	CALL	OUTDSP
; 
	MOVLW	'´'
	CALL	OUTDSP
; 
	MOVLW	'µ'
	CALL	OUTDSP
; 
	MOVLW	'¶'
	CALL	OUTDSP
; 
	MOVLW	'·'
	CALL	OUTDSP
; 
	MOVLW	'¸'
	CALL	OUTDSP
; 
	MOVLW	'¹'
	CALL	OUTDSP
; 
	MOVLW	'؛'
	CALL	OUTDSP
; 
	MOVLW	'»'
	CALL	OUTDSP
; 
	MOVLW	'¼'
	CALL	OUTDSP
; 
	MOVLW	'½'
	CALL	OUTDSP
; 
	MOVLW	'¾'
	CALL	OUTDSP
; 
	MOVLW	'؟'
	CALL	OUTDSP
; 
	MOVLW	'ہ'
	CALL	OUTDSP
; 
	MOVLW	'ء'
	CALL	OUTDSP
; 
	MOVLW	'آ'
	CALL	OUTDSP
; 
	MOVLW	'أ'
	CALL	OUTDSP
; 
	MOVLW	'ؤ'
	CALL	OUTDSP
; 
	MOVLW	'إ'
	CALL	OUTDSP
; 
	MOVLW	'ئ'
	CALL	OUTDSP
; 
	MOVLW	'ا'
	CALL	OUTDSP
; 
	MOVLW	'ب'
	CALL	OUTDSP
; 
	MOVLW	'ة'
	CALL	OUTDSP
; 
	MOVLW	'ت'
	CALL	OUTDSP
; 
	MOVLW	'ث'
	CALL	OUTDSP
; 
	MOVLW	'ج'
	CALL	OUTDSP
; 
	MOVLW	'ح'
	CALL	OUTDSP
; 
	MOVLW	'خ'
	CALL	OUTDSP
; 
	MOVLW	'د'
	CALL	OUTDSP
; 
	MOVLW	'ذ'
	CALL	OUTDSP
; 
	MOVLW	'ر'
	CALL	OUTDSP
; 
	MOVLW	'ز'
	CALL	OUTDSP
; 
	MOVLW	'س'
	CALL	OUTDSP
; 
	MOVLW	'ش'
	CALL	OUTDSP
; 
	MOVLW	'ص'
	CALL	OUTDSP
; 
	MOVLW	'ض'
	CALL	OUTDSP
; 
	MOVLW	'×'
	CALL	OUTDSP
; 
	MOVLW	'ط'
	CALL	OUTDSP
; 
	MOVLW	'ظ'
	CALL	OUTDSP
; 
	MOVLW	'ع'
	CALL	OUTDSP
; 
	MOVLW	'غ'
	CALL	OUTDSP
; 
	MOVLW	'ـ'
	CALL	OUTDSP
; 
	MOVLW	'ف'
	CALL	OUTDSP
; 
	MOVLW	'ق'
	CALL	OUTDSP
; 
	MOVLW	'ك'
	CALL	OUTDSP
; 

	RETURN


;******************************************************************************************
;   Function Name : OUTDSP
;   Title         : 
;   Input         : W-REG 
;   Output        :
;   Description   : 
;******************************************************************************************
OUTDSP
	CALL	SETFNT
;
	MOVLW	H'01'
	CALL	WATDSP
;
	RETURN
;******************************************************************************************
;   Function Name : SETFNT
;   Title         : 
;   Input         : W-reg
;   Output        :
;   Description   : 
;******************************************************************************************
SETFNT
	MOVWF	CHR
;
; ****************
;   0-9
; ****************
;
	MOVFW	CHR
	XORLW	'0'
	BTFSS	STATUS,Z
	GOTO	SETFNT1
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00111110'
	MOVWF	X2
	MOVLW	B'01000001'
	MOVWF	X3
	MOVLW	B'00111110'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNT1
	MOVFW	CHR
	XORLW	'1'
	BTFSS	STATUS,Z
	GOTO	SETFNT2
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01000010'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNT2
	MOVFW	CHR
	XORLW	'2'
	BTFSS	STATUS,Z
	GOTO	SETFNT3
	MOVLW	B'01000010'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01100001'
	MOVWF	X3
	MOVLW	B'01010001'
	MOVWF	X4
	MOVLW	B'01001110'
	MOVWF	X5
	RETURN
;
SETFNT3
	MOVFW	CHR
	XORLW	'3'
	BTFSS	STATUS,Z
	GOTO	SETFNT4
	MOVLW	B'00100010'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110110'
	MOVWF	X5
	RETURN
;
SETFNT4
	MOVFW	CHR
	XORLW	'4'
	BTFSS	STATUS,Z
	GOTO	SETFNT5
	MOVLW	B'00111100'
	MOVWF	X1
	MOVLW	B'00100010'
	MOVWF	X2
	MOVLW	B'00100001'
	MOVWF	X3
	MOVLW	B'01111111'
	MOVWF	X4
	MOVLW	B'00100000'
	MOVWF	X5
	RETURN
;
SETFNT5
	MOVFW	CHR
	XORLW	'5'
	BTFSS	STATUS,Z
	GOTO	SETFNT6
	MOVLW	B'01001111'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110000'
	MOVWF	X5
	RETURN
;
SETFNT6
	MOVFW	CHR
	XORLW	'6'
	BTFSS	STATUS,Z
	GOTO	SETFNT7
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110000'
	MOVWF	X5
	RETURN
;
SETFNT7
	MOVFW	CHR
	XORLW	'7'
	BTFSS	STATUS,Z
	GOTO	SETFNT8
	MOVLW	B'00000001'
	MOVWF	X1
	MOVLW	B'00000001'
	MOVWF	X2
	MOVLW	B'01110001'
	MOVWF	X3
	MOVLW	B'00001001'
	MOVWF	X4
	MOVLW	B'00000111'
	MOVWF	X5
	RETURN
;
SETFNT8
	MOVFW	CHR
	XORLW	'8'
	BTFSS	STATUS,Z
	GOTO	SETFNT9
	MOVLW	B'00110110'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110110'
	MOVWF	X5
	RETURN
;
SETFNT9
	MOVFW	CHR
	XORLW	'9'
	BTFSS	STATUS,Z
	GOTO	SETFNTA
	MOVLW	B'00100110'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN

; ****************
;   A-Z
; ****************
;
SETFNTA
	MOVFW	CHR
	XORLW	'A'
	BTFSS	STATUS,Z
	GOTO	SETFNTB
	MOVLW	B'01111100'
	MOVWF	X1
	MOVLW	B'00010010'
	MOVWF	X2
	MOVLW	B'00010001'
	MOVWF	X3
	MOVLW	B'00010010'
	MOVWF	X4
	MOVLW	B'01111100'
	MOVWF	X5
	RETURN
;
SETFNTB
	MOVFW	CHR
	XORLW	'B'
	BTFSS	STATUS,Z
	GOTO	SETFNTC
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110110'
	MOVWF	X5
	RETURN
;
SETFNTC
	MOVFW	CHR
	XORLW	'C'
	BTFSS	STATUS,Z
	GOTO	SETFNTD
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01000001'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00100010'
	MOVWF	X5
	RETURN
;
SETFNTD
	MOVFW	CHR
	XORLW	'D'
	BTFSS	STATUS,Z
	GOTO	SETFNTE
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01000001'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTE
	MOVFW	CHR
	XORLW	'E'
	BTFSS	STATUS,Z
	GOTO	SETFNTF
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'01001001'
	MOVWF	X5
	RETURN
;
SETFNTF
	MOVFW	CHR
	XORLW	'F'
	BTFSS	STATUS,Z
	GOTO	SETFNTG
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00001001'
	MOVWF	X2
	MOVLW	B'00001001'
	MOVWF	X3
	MOVLW	B'00001001'
	MOVWF	X4
	MOVLW	B'00001001'
	MOVWF	X5
	RETURN
;
SETFNTG
	MOVFW	CHR
	XORLW	'G'
	BTFSS	STATUS,Z
	GOTO	SETFNTH
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'01111010'
	MOVWF	X5
	RETURN
;
SETFNTH
	MOVFW	CHR
	XORLW	'H'
	BTFSS	STATUS,Z
	GOTO	SETFNTI
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00001000'
	MOVWF	X2
	MOVLW	B'00001000'
	MOVWF	X3
	MOVLW	B'00001000'
	MOVWF	X4
	MOVLW	B'01111111'
	MOVWF	X5
	RETURN
;
SETFNTI
	MOVFW	CHR
	XORLW	'I'
	BTFSS	STATUS,Z
	GOTO	SETFNTJ
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTJ
	MOVFW	CHR
	XORLW	'J'
	BTFSS	STATUS,Z
	GOTO	SETFNTK
	MOVLW	B'00100000'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00111111'
	MOVWF	X5
	RETURN
;
SETFNTK
	MOVFW	CHR
	XORLW	'K'
	BTFSS	STATUS,Z
	GOTO	SETFNTL
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00001000'
	MOVWF	X2
	MOVLW	B'00010100'
	MOVWF	X3
	MOVLW	B'00100010'
	MOVWF	X4
	MOVLW	B'01000001'
	MOVWF	X5
	RETURN
;
SETFNTL
	MOVFW	CHR
	XORLW	'L'
	BTFSS	STATUS,Z
	GOTO	SETFNTM
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTM
	MOVFW	CHR
	XORLW	'M'
	BTFSS	STATUS,Z
	GOTO	SETFNTN
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'00011100'
	MOVWF	X3
	MOVLW	B'00000010'
	MOVWF	X4
	MOVLW	B'01111111'
	MOVWF	X5
	RETURN
;
SETFNTN
	MOVFW	CHR
	XORLW	'N'
	BTFSS	STATUS,Z
	GOTO	SETFNTO
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'00001000'
	MOVWF	X3
	MOVLW	B'00100000'
	MOVWF	X4
	MOVLW	B'01111111'
	MOVWF	X5
	RETURN
;
SETFNTO
	MOVFW	CHR
	XORLW	'O'
	BTFSS	STATUS,Z
	GOTO	SETFNTP
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01000001'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTP
	MOVFW	CHR
	XORLW	'P'
	BTFSS	STATUS,Z
	GOTO	SETFNTQ
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00001001'
	MOVWF	X2
	MOVLW	B'00001001'
	MOVWF	X3
	MOVLW	B'00001001'
	MOVWF	X4
	MOVLW	B'00000110'
	MOVWF	X5
	RETURN
;
SETFNTQ
	MOVFW	CHR
	XORLW	'Q'
	BTFSS	STATUS,Z
	GOTO	SETFNTR
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'01010001'
	MOVWF	X3
	MOVLW	B'00111110'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTR
	MOVFW	CHR
	XORLW	'R'
	BTFSS	STATUS,Z
	GOTO	SETFNTS
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00001001'
	MOVWF	X2
	MOVLW	B'00011001'
	MOVWF	X3
	MOVLW	B'00101001'
	MOVWF	X4
	MOVLW	B'01000110'
	MOVWF	X5
        RETURN
;
SETFNTS
	MOVFW	CHR
	XORLW	'S'
	BTFSS	STATUS,Z
	GOTO	SETFNTT
	MOVLW	B'00100110'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00110010'
	MOVWF	X5
	RETURN
;
SETFNTT
	MOVFW	CHR
	XORLW	'T'
	BTFSS	STATUS,Z
	GOTO	SETFNTU
	MOVLW	B'00000001'
	MOVWF	X1
	MOVLW	B'00000001'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00000001'
	MOVWF	X4
	MOVLW	B'00000001'
	MOVWF	X5
	RETURN
;
SETFNTU
	MOVFW	CHR
	XORLW	'U'
	BTFSS	STATUS,Z
	GOTO	SETFNTV
	MOVLW	B'00111111'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00111111'
	MOVWF	X5
	RETURN
;
SETFNTV
	MOVFW	CHR
	XORLW	'V'
	BTFSS	STATUS,Z
	GOTO	SETFNTW
	MOVLW	B'00011111'
	MOVWF	X1
	MOVLW	B'00100000'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'00100000'
	MOVWF	X4
	MOVLW	B'00011111'
	MOVWF	X5
	RETURN
;
SETFNTW
	MOVFW	CHR
	XORLW	'W'
	BTFSS	STATUS,Z
	GOTO	SETFNTX
	MOVLW	B'00111111'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'00111111'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00111111'
	MOVWF	X5
	RETURN
;
SETFNTX
	MOVFW	CHR
	XORLW	'X'
	BTFSS	STATUS,Z
	GOTO	SETFNTY
	MOVLW	B'01000001'
	MOVWF	X1
	MOVLW	B'00100010'
	MOVWF	X2
	MOVLW	B'00011100'
	MOVWF	X3
	MOVLW	B'00100010'
	MOVWF	X4
	MOVLW	B'01000001'
	MOVWF	X5
	RETURN
;
SETFNTY
	MOVFW	CHR
	XORLW	'Y'
	BTFSS	STATUS,Z
	GOTO	SETFNTZ
	MOVLW	B'00000001'
	MOVWF	X1
	MOVLW	B'00000100'
	MOVWF	X2
	MOVLW	B'01110000'
	MOVWF	X3
	MOVLW	B'00000100'
	MOVWF	X4
	MOVLW	B'00000001'
	MOVWF	X5
	RETURN
;
SETFNTZ
	MOVFW	CHR
	XORLW	'Z'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNA
	MOVLW	B'01100001'
	MOVWF	X1
	MOVLW	B'01010001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01000101'
	MOVWF	X4
	MOVLW	B'01000011'
	MOVWF	X5
	RETURN

; ****************
;   ¶إ•¶ژڑ
; ****************
;
SETFNTKNNA	;
	MOVF	CHR,W
	XORLW	'±'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNI
	MOVLW	B'00000001'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'00111101'
	MOVWF	X3
	MOVLW	B'00001001'
	MOVWF	X4
	MOVLW	B'00000111'
	MOVWF	X5
	RETURN
;
SETFNTKNNI
	MOVF	CHR,W
	XORLW	'²'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNU
	MOVLW	B'00100000'
	MOVWF	X1
	MOVLW	B'00010000'
	MOVWF	X2
	MOVLW	B'01111100'
	MOVWF	X3
	MOVLW	B'00000011'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNU	;
	MOVF	CHR,W
	XORLW	'³'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNE
	MOVLW	B'00000110'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'01000011'
	MOVWF	X3
	MOVLW	B'00100010'
	MOVWF	X4
	MOVLW	B'00011110'
	MOVWF	X5
	RETURN
;
SETFNTKNNE	;
	MOVF	CHR,W
	XORLW	'´'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNO
	MOVLW	B'01000000'
	MOVWF	X1
	MOVLW	B'01000010'
	MOVWF	X2
	MOVLW	B'01111110'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNO
	MOVF	CHR,W
	XORLW	'µ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNKA
	MOVLW	B'00100010'
	MOVWF	X1
	MOVLW	B'00010010'
	MOVWF	X2
	MOVLW	B'00001010'
	MOVWF	X3
	MOVLW	B'01111111'
	MOVWF	X4
	MOVLW	B'00000010'
	MOVWF	X5
	RETURN
;
SETFNTKNNKA
	MOVF	CHR,W
	XORLW	'¶'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNKI
	MOVLW	B'01000010'
	MOVWF	X1
	MOVLW	B'00111111'
	MOVWF	X2
	MOVLW	B'00000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNKI
	MOVF	CHR,W
	XORLW	'·'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNKU
	MOVLW	B'00001010'
	MOVWF	X1
	MOVLW	B'00001010'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00001010'
	MOVWF	X4
	MOVLW	B'00001010'
	MOVWF	X5
	RETURN
;
SETFNTKNNKU
	MOVF	CHR,W
	XORLW	'¸'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNKE
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'00000011'
	MOVWF	X2
	MOVLW	B'01000001'
	MOVWF	X3
	MOVLW	B'00100001'
	MOVWF	X4
	MOVLW	B'00011111'
	MOVWF	X5
	RETURN
;
SETFNTKNNKE
	MOVF	CHR,W
	XORLW	'¹'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNKO
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00000111'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'00111110'
	MOVWF	X4
	MOVLW	B'00000010'
	MOVWF	X5
	RETURN
;
SETFNTKNNKO
	MOVF	CHR,W
	XORLW	'؛'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNSA
	MOVLW	B'01000010'
	MOVWF	X1
	MOVLW	B'01000010'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'01111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNSA
	MOVF	CHR,W
	XORLW	'»'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNSI
	MOVLW	B'00000010'
	MOVWF	X1
	MOVLW	B'00001111'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'00111111'
	MOVWF	X4
	MOVLW	B'00000010'
	MOVWF	X5
	RETURN
;
SETFNTKNNSI
	MOVF	CHR,W
	XORLW	'¼'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNSU
	MOVLW	B'00001010'
	MOVWF	X1
	MOVLW	B'00010100'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNSU
	MOVF	CHR,W
	XORLW	'½'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNSE
	MOVLW	B'01000010'
	MOVWF	X1
	MOVLW	B'00100010'
	MOVWF	X2
	MOVLW	B'00011010'
	MOVWF	X3
	MOVLW	B'00100110'
	MOVWF	X4
	MOVLW	B'01000010'
	MOVWF	X5
	RETURN
;
SETFNTKNNSE
	MOVF	CHR,W
	XORLW	'¾'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNSO
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'01111111'
	MOVWF	X2
	MOVLW	B'01000100'
	MOVWF	X3
	MOVLW	B'01000100'
	MOVWF	X4
	MOVLW	B'01011100'
	MOVWF	X5
	RETURN
;
SETFNTKNNSO
	MOVF	CHR,W
	XORLW	'؟'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNTA
	MOVLW	B'00000010'
	MOVWF	X1
	MOVLW	B'00000100'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'00100000'
	MOVWF	X4
	MOVLW	B'00011110'
	MOVWF	X5
	RETURN
;
SETFNTKNNTA
	MOVF	CHR,W
	XORLW	'ہ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNTH
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00000110'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'00100001'
	MOVWF	X4
	MOVLW	B'00011111'
	MOVWF	X5
	RETURN
;
SETFNTKNNTH
	MOVF	CHR,W
	XORLW	'ء'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNTU
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'01001010'
	MOVWF	X2
	MOVLW	B'00111111'
	MOVWF	X3
	MOVLW	B'00001001'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTKNNTU
	MOVF	CHR,W
	XORLW	'آ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNTE
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'00001000'
	MOVWF	X2
	MOVLW	B'00000100'
	MOVWF	X3
	MOVLW	B'01001000'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNTE
	MOVF	CHR,W
	XORLW	'أ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNTO
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'01000101'
	MOVWF	X2
	MOVLW	B'00111101'
	MOVWF	X3
	MOVLW	B'00000101'
	MOVWF	X4
	MOVLW	B'00000100'
	MOVWF	X5
	RETURN
;
SETFNTKNNTO
	MOVF	CHR,W
	XORLW	'ؤ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNNA
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01111111'
	MOVWF	X2
	MOVLW	B'00001000'
	MOVWF	X3
	MOVLW	B'00010000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNNA
	MOVF	CHR,W
	XORLW	'إ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNNI
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'00000100'
	MOVWF	X2
	MOVLW	B'01000100'
	MOVWF	X3
	MOVLW	B'00111111'
	MOVWF	X4
	MOVLW	B'00000100'
	MOVWF	X5
	RETURN
;
SETFNTKNNNI
	MOVF	CHR,W
	XORLW	'ئ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNNU
	MOVLW	B'01000000'
	MOVWF	X1
	MOVLW	B'01000010'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNNU
	MOVF	CHR,W
	XORLW	'ا'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNNE
	MOVLW	B'01000010'
	MOVWF	X1
	MOVLW	B'00101010'
	MOVWF	X2
	MOVLW	B'00010010'
	MOVWF	X3
	MOVLW	B'00101010'
	MOVWF	X4
	MOVLW	B'01000110'
	MOVWF	X5
	RETURN
;
SETFNTKNNNE
	MOVF	CHR,W
	XORLW	'ب'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNNO
	MOVLW	B'00100010'
	MOVWF	X1
	MOVLW	B'00010010'
	MOVWF	X2
	MOVLW	B'01111011'
	MOVWF	X3
	MOVLW	B'00010110'
	MOVWF	X4
	MOVLW	B'00100010'
	MOVWF	X5
	RETURN
;
SETFNTKNNNO
	MOVF	CHR,W
	XORLW	'ة'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNHA
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'00111111'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNHA
	MOVF	CHR,W
	XORLW	'ت'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNHI
	MOVLW	B'01100000'
	MOVWF	X1
	MOVLW	B'00011110'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'00011110'
	MOVWF	X4
	MOVLW	B'01100000'
	MOVWF	X5
	RETURN
;
SETFNTKNNHI
	MOVF	CHR,W
	XORLW	'ث'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNHU
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01001000'
	MOVWF	X2
	MOVLW	B'01001000'
	MOVWF	X3
	MOVLW	B'01001000'
	MOVWF	X4
	MOVLW	B'01001000'
	MOVWF	X5
	RETURN
;
SETFNTKNNHU
	MOVF	CHR,W
	XORLW	'ج'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNHE
	MOVLW	B'00000010'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNHE
	MOVF	CHR,W
	XORLW	'ح'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNHO
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00000100'
	MOVWF	X2
	MOVLW	B'00000100'
	MOVWF	X3
	MOVLW	B'00001000'
	MOVWF	X4
	MOVLW	B'00010000'
	MOVWF	X5
	RETURN
;
SETFNTKNNHO
	MOVF	CHR,W
	XORLW	'خ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNMA
	MOVLW	B'00110010'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00000010'
	MOVWF	X4
	MOVLW	B'00110010'
	MOVWF	X5
	RETURN
;
SETFNTKNNMA
	MOVF	CHR,W
	XORLW	'د'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNMI
	MOVLW	B'00000010'
	MOVWF	X1
	MOVLW	B'00001010'
	MOVWF	X2
	MOVLW	B'00010010'
	MOVWF	X3
	MOVLW	B'00101010'
	MOVWF	X4
	MOVLW	B'01000110'
	MOVWF	X5
	RETURN
;
SETFNTKNNMI
	MOVF	CHR,W
	XORLW	'ذ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNMU
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'01001001'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNMU
	MOVF	CHR,W
	XORLW	'ر'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNME
	MOVLW	B'01110000'
	MOVWF	X1
	MOVLW	B'01001111'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'00110000'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNME
	MOVF	CHR,W
	XORLW	'ز'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNMO
	MOVLW	B'01000000'
	MOVWF	X1
	MOVLW	B'00101000'
	MOVWF	X2
	MOVLW	B'00011111'
	MOVWF	X3
	MOVLW	B'00100000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNMO
	MOVF	CHR,W
	XORLW	'س'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNYA
	MOVLW	B'00001010'
	MOVWF	X1
	MOVLW	B'01111110'
	MOVWF	X2
	MOVLW	B'01001010'
	MOVWF	X3
	MOVLW	B'01001010'
	MOVWF	X4
	MOVLW	B'01001010'
	MOVWF	X5
	RETURN
;
SETFNTKNNYA
	MOVF	CHR,W
	XORLW	'ش'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNYU
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'01111111'
	MOVWF	X2
	MOVLW	B'00000100'
	MOVWF	X3
	MOVLW	B'00010100'
	MOVWF	X4
	MOVLW	B'00001100'
	MOVWF	X5
	RETURN
;
SETFNTKNNYU
	MOVF	CHR,W
	XORLW	'ص'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNYO
	MOVLW	B'01000000'
	MOVWF	X1
	MOVLW	B'01000100'
	MOVWF	X2
	MOVLW	B'01000100'
	MOVWF	X3
	MOVLW	B'01111100'
	MOVWF	X4
	MOVLW	B'01000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNYO
	MOVF	CHR,W
	XORLW	'ض'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNRA
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01010100'
	MOVWF	X2
	MOVLW	B'01010100'
	MOVWF	X3
	MOVLW	B'01111100'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNNRA
	MOVF	CHR,W
	XORLW	'×'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNRI
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'00000101'
	MOVWF	X2
	MOVLW	B'01000101'
	MOVWF	X3
	MOVLW	B'01000101'
	MOVWF	X4
	MOVLW	B'00111100'
	MOVWF	X5
	RETURN
;
SETFNTKNNRI
	MOVF	CHR,W
	XORLW	'ط'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNRU
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00001111'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00111111'
	MOVWF	X5
	RETURN
;
SETFNTKNNRU
	MOVF	CHR,W
	XORLW	'ظ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNRE
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00100000'
	MOVWF	X5
	RETURN
;
SETFNTKNNRE
	MOVF	CHR,W
	XORLW	'ع'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNRO
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01111111'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'01000000'
	MOVWF	X4
	MOVLW	B'00100000'
	MOVWF	X5
	RETURN
;
SETFNTKNNRO
	MOVF	CHR,W
	XORLW	'غ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNWA
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01111110'
	MOVWF	X2
	MOVLW	B'01000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'01111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNWA
	MOVF	CHR,W
	XORLW	'ـ'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNNN
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00001110'
	MOVWF	X2
	MOVLW	B'00000010'
	MOVWF	X3
	MOVLW	B'01000010'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTKNNN
	MOVF	CHR,W
	XORLW	'ف'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNTN
	MOVLW	B'00000010'
	MOVWF	X1
	MOVLW	B'00000100'
	MOVWF	X2
	MOVLW	B'01000000'
	MOVWF	X3
	MOVLW	B'00110000'
	MOVWF	X4
	MOVLW	B'00001110'
	MOVWF	X5
	RETURN
;
SETFNTKNTN
	MOVF	CHR,W
	XORLW	'ق'
	BTFSS	STATUS,Z
	GOTO	SETFNTKNKN
	MOVLW	B'00000111'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'00000111'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTKNKN
	MOVF	CHR,W
	XORLW	'ك'
	BTFSS	STATUS,Z
	GOTO	SETFNTSPP
	MOVLW	B'00000111'
	MOVWF	X1
	MOVLW	B'00000101'
	MOVWF	X2
	MOVLW	B'00000111'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN

; ****************
;   ELSE
; ****************
;
SETFNTSPP
	MOVFW	CHR
	XORLW	' '
	BTFSS	STATUS,Z
	GOTO	SETFNTSU
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTSU
	MOVFW	CHR
	XORLW	'u'
	BTFSS	STATUS,Z
	GOTO	SETFNTSD
	MOVLW	B'00000100'
	MOVWF	X1
	MOVLW	B'00000010'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00000010'
	MOVWF	X4
	MOVLW	B'00000100'
	MOVWF	X5
	RETURN
;
SETFNTSD
	MOVFW	CHR
	XORLW	'd'
	BTFSS	STATUS,Z
	GOTO	SETFNTSR
	MOVLW	B'00010000'
	MOVWF	X1
	MOVLW	B'00100000'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00100000'
	MOVWF	X4
	MOVLW	B'00010000'
	MOVWF	X5
	RETURN
;
SETFNTSR
	MOVFW	CHR
	XORLW	'r'
	BTFSS	STATUS,Z
	GOTO	SETFNTSL
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'01001001'
	MOVWF	X2
	MOVLW	B'00101010'
	MOVWF	X3
	MOVLW	B'00011100'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTSL
	MOVFW	CHR
	XORLW	'l'
	BTFSS	STATUS,Z
	GOTO	SETFNTSA
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00011100'
	MOVWF	X2
	MOVLW	B'00101010'
	MOVWF	X3
	MOVLW	B'01001001'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTSA
	MOVFW	CHR
	XORLW	'a'
	BTFSS	STATUS,Z
	GOTO	SETFNTPPP
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01111111'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'01111111'
	MOVWF	X4
	MOVLW	B'01111111'
	MOVWF	X5
	RETURN
;
SETFNTPPP
	MOVFW	CHR
	XORLW	'+'
	BTFSS	STATUS,Z
	GOTO	SETFNTPPN
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00001000'
	MOVWF	X2
	MOVLW	B'01111111'
	MOVWF	X3
	MOVLW	B'00001000'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTPPN
	MOVFW	CHR
	XORLW	'-'
	BTFSS	STATUS,Z
	GOTO	SETFNTPPE
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00001000'
	MOVWF	X2
	MOVLW	B'00001000'
	MOVWF	X3
	MOVLW	B'00001000'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTPPE
	MOVFW	CHR
	XORLW	'='
	BTFSS	STATUS,Z
	GOTO	SETFNTEK1R
	MOVLW	B'00010100'
	MOVWF	X1
	MOVLW	B'00010100'
	MOVWF	X2
	MOVLW	B'00010100'
	MOVWF	X3
	MOVLW	B'00010100'
	MOVWF	X4
	MOVLW	B'00010100'
	MOVWF	X5
	RETURN
;
SETFNTEK1R
	MOVF	CHR,W
	XORLW	')'
	BTFSS	STATUS,Z
	GOTO	SETFNTPK1L
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00111110'
	MOVWF	X5
	RETURN
;
SETFNTPK1L
	MOVF	CHR,W
	XORLW	'('
	BTFSS	STATUS,Z
	GOTO	SETFNTEK2R
	MOVLW	B'00111110'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTEK2R
	MOVF	CHR,W
	XORLW	']'
	BTFSS	STATUS,Z
	GOTO	SETFNTPK2L
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'01111111'
	MOVWF	X5
	RETURN
;
SETFNTPK2L
	MOVF	CHR,W
	XORLW	'['
	BTFSS	STATUS,Z
	GOTO	SETFNTEK3R
	MOVLW	B'01111111'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTEK3R
	MOVF	CHR,W
	XORLW	'>'
	BTFSS	STATUS,Z
	GOTO	SETFNTPK3L
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01000001'
	MOVWF	X2
	MOVLW	B'00100010'
	MOVWF	X3
	MOVLW	B'00010100'
	MOVWF	X4
	MOVLW	B'00001000'
	MOVWF	X5
	RETURN
;
SETFNTPK3L
	MOVF	CHR,W
	XORLW	'['
	BTFSS	STATUS,Z
	GOTO	SETFNTPPMU
	MOVLW	B'00001000'
	MOVWF	X1
	MOVLW	B'00010100'
	MOVWF	X2
	MOVLW	B'00100010'
	MOVWF	X3
	MOVLW	B'01000001'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPPMU
	MOVF	CHR,W
	XORLW	'*'
	BTFSS	STATUS,Z
	GOTO	SETFNTPPWA
	MOVLW	B'00100010'
	MOVWF	X1
	MOVLW	B'00010100'
	MOVWF	X2
	MOVLW	B'00001000'
	MOVWF	X3
	MOVLW	B'00010100'
	MOVWF	X4
	MOVLW	B'00100010'
	MOVWF	X5
	RETURN

;
SETFNTPPWA
	MOVF	CHR,W
	XORLW	'/'
	BTFSS	STATUS,Z
	GOTO	SETFNTPWBU
	MOVLW	B'10000000'
	MOVWF	X1
	MOVLW	B'01100000'
	MOVWF	X2
	MOVLW	B'00011000'
	MOVWF	X3
	MOVLW	B'00000110'
	MOVWF	X4
	MOVLW	B'00000001'
	MOVWF	X5
	RETURN
;
SETFNTPWBU
	MOVF	CHR,W
	XORLW	'"'
	BTFSS	STATUS,Z
	GOTO	SETFNTPBIK
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000111'
	MOVWF	X2
	MOVLW	B'00000000'
	MOVWF	X3
	MOVLW	B'00000111'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPBIK
	MOVF	CHR,W
	XORLW	'!'
	BTFSS	STATUS,Z
	GOTO	SETFNTPKANM
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'11011111'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPKANM
	MOVF	CHR,W
	XORLW	','
	BTFSS	STATUS,Z
	GOTO	SETFNTPTEN
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'00110000'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPTEN
	MOVF	CHR,W
	XORLW	'.'
	BTFSS	STATUS,Z
	GOTO	SETFNTPKOR
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'01100000'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPKOR
	MOVF	CHR,W
	XORLW	':'
	BTFSS	STATUS,Z
	GOTO	SETFNTPSKOR
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'00000000'
	MOVWF	X2
	MOVLW	B'00110110'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTPSKOR
	MOVF	CHR,W
	XORLW	';'
	BTFSS	STATUS,Z
	GOTO	SETFNTEE
	MOVLW	B'00000000'
	MOVWF	X1
	MOVLW	B'01000000'
	MOVWF	X2
	MOVLW	B'00110110'
	MOVWF	X3
	MOVLW	B'00000000'
	MOVWF	X4
	MOVLW	B'00000000'
	MOVWF	X5
	RETURN
;
SETFNTEE
	MOVLW	B'00000110'
	MOVWF	X1
	MOVLW	B'00001001'
	MOVWF	X2
	MOVLW	B'01110001'
	MOVWF	X3
	MOVLW	B'00000001'
	MOVWF	X4
	MOVLW	B'00000010'
	MOVWF	X5
	RETURN

;******************************************************************************************
;   Function Name : WATDSP
;   Title         : 
;   Input         : W-reg (1/2[S])
;   Output        :
;   Description   : 
;******************************************************************************************
WATDSP
	MOVWF	NUM
; =========================
;   1.Initialize
; =========================
	CLRF	PORTA
	CLRF	PORTB
; =========================
;   2.Display
; =========================
	MOVFW	NUM
	MOVWF	DSPLP0
WATDSP0
;	MOVLW	H'32'
	MOVLW	H'19'
	MOVWF	DSPLP1
WATDSP1
; (1)X=1
	MOVFW	X1
	IORLW	B'10000000'
	MOVWF	PORTB
	MOVLW	H'04'
	CALL	WAT
	CLRF	PORTA
	CLRF	PORTB
; (2)X=2
	MOVFW	X2
	ANDLW	B'01111111'
	MOVWF	PORTB
	MOVLW	B'00000001'
	MOVWF	PORTA
	MOVLW	H'04'
	CALL	WAT
	CLRF	PORTA
	CLRF	PORTB
; (3)X=3
	MOVFW	X3
	ANDLW	B'01111111'
	MOVWF	PORTB
	MOVLW	B'00000010'
	MOVWF	PORTA
	MOVLW	H'04'
	CALL	WAT
	CLRF	PORTA
	CLRF	PORTB
; (4)X=4
	MOVFW	X4
	ANDLW	B'01111111'
	MOVWF	PORTB
	MOVLW	B'00000100'
	MOVWF	PORTA
	MOVLW	H'04'
	CALL	WAT
	CLRF	PORTA
	CLRF	PORTB
; (5)X=5
	MOVFW	X5
	ANDLW	B'01111111'
	MOVWF	PORTB
	MOVLW	B'00001000'
	MOVWF	PORTA
	MOVLW	H'04'
	CALL	WAT
	CLRF	PORTA
	CLRF	PORTB
; (E)Loop
	DECFSZ	DSPLP1,F
	GOTO	WATDSP1
	DECFSZ	DSPLP0,F
	GOTO	WATDSP0
;
	RETURN

;******************************************************************************************
;   Function Name : WAT
;   Title         : 
;   Input         : W-reg
;   Output        :
;   Description   : OSC(4MHz) => 1mS
;******************************************************************************************
WAT
	MOVWF	WAT2
WATB
	MOVLW	H'64'
	MOVWF	WAT1
WATA
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	DECFSZ	WAT1,F
	GOTO	WATA
	DECFSZ	WAT2,F
	GOTO	WATB
;
	RETURN

	END
