;sinus generator
;------------------[ TORTENET IDE KERUL MINDEN INFORMACIO ]---------
;
;------------------[ SPECIFIKÁCIÓK, KIEGÉSZÍTÉSEK ]-----------------
;
;==================[ D E F I N I C I O K ] =========================
;
;------------------[ PROCESSZOR + KONFIGURACIO + INCLUDE ]----------
;
	LIST P=16F871	; PROCESSZOR TÍPUS
    	INCLUDE "P16F877.INC"

;A LETÖLTÖTT PROGRAM NEM HASZNALHATJA A CONFIG DIREKTIVÁT!!!
;MERT A LETÖLTŐ PROGRAM BEÍRÁSAKOR MÁR BEÁLLÍTOTTUK! A BEÁLLÍTÁS:
	__CONFIG	_CP_OFF&_DEBUG_OFF&_WRT_ENABLE_ON&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC  
;
;------------------[ I/O PORTOK ]----------------------------------
#DEFINE GOMB	PORTB,0
;------------------[ ÁLLANDÓK ]------------------------------------
;
;------------------[ VÁLTOZÓK ]------------------------------------
DELAYCTR_A		equ	0x20	;A késleltetéshez használt változók...
DELAYCTR_B		equ	0x21	;
DELAYCTR_C		equ	0x22	;
delayctr_tmpa		equ	0x23
delayctr_tmpb		equ	0x24
delayctr_tmpc		equ	0x25
POINTER			EQU	0X26
CIKL			EQU	0X27
NYOMI			EQU	0X28
CIKL1			EQU	0X29
LEPES			EQU	0X2A
MENTW			EQU	0X2B
MENTS			EQU	0X2C


;------------------[ BITES VÁLTOZÓK ]------------------------------
;
;------------------[ MAKRÓK ]--------------------------------------
;
;==================[ P R O G R A M  T E R Ü L E T E ]=============
MAIN:	ORG	0X0003		;AZ ELSŐ HÁROM BÁJT FOGLALT
				;A LETÖLTŐHÖZ
;AZÉRT ILYEN EGYSZERÜ, MENT NINCS MEGSZAKÍTÁS
;------------------[FELHASZNÁLÓI PROGRAM KEZDETE]-----------------
USER_PROGRAM:
	GOTO	INI_PORT
	ORG	0X0004
	MOVWF	MENTW
	MOVFW	STATUS
	MOVWF	MENTS
	INCF	NYOMI
	MOVFW	MENTS
	MOVWF	STATUS
	MOVFW	MENTW
	RETFIE


INI_PORT
	BANKSEL	TRISC		;BANK1
	CLRF	TRISC
	MOVLW	1
	MOVWF	TRISA
	BANKSEL	PORTC		;BANK0
	CLRF	PORTC		;C port 0

	MOVLW	0X90
	MOVWF	INTCON

	MOVLW	72		;az időzítő ciklusszámai
	MOVWF	DELAYCTR_A
	MOVLW	1	
	MOVWF	DELAYCTR_B
	MOVLW	1	
	MOVWF	DELAYCTR_C

INI_PWM
	BANKSEL PR2		;BANK1
	MOVLW	0XFF	
	MOVWF	PR2	
	BANKSEL	CCPR1H		;BANK0
	CLRF	CCPR1H
	CLRF	CCPR1L
	CLRF	CCP1CON
	BSF	CCP1CON,2
	BSF	CCP1CON,3
	BSF	CCP1CON,4
	BSF	CCP1CON,5
	MOVLW	0X04
	MOVWF	T2CON
	CLRF	NYOMI



;	BTFSC	PORTB,0



;GOMB_BE	
;	BTFSS	PORTB,0
;	GOTO	GOMB_BE


CIMKE
	MOVFW	NYOMI
	BCF	PCLATH,0
	BCF	PCLATH,1
	BCF	PCLATH,2
	CALL	TABCIKL
	MOVWF	CIKL1

	MOVFW	NYOMI
	BCF	PCLATH,0
	BCF	PCLATH,1
	BCF	PCLATH,2
	CALL	TABLEP
	MOVWF	LEPES

	
INDUL	
;---------------------------------------------------------------------------
	MOVLW	0X00
	MOVWF	POINTER
	
	MOVFW	CIKL1
				;LÉPÉSSZÁM
	MOVWF	CIKL

POZ1
	BSF	PCLATH,0
	BCF	PCLATH,1
	BCF	PCLATH,2		;0X100 CIMRE IRT TABLA1

	MOVFW	POINTER	
	CALL	TABLA1
	MOVWF	CCPR1L


	BCF	PCLATH,0
	BSF	PCLATH,1
	BCF	PCLATH,2		;0X200 CIMRE IRT TABLA2

	MOVFW	POINTER
	CALL	TABLA2
	MOVWF	CCP1CON

	MOVFW	LEPES
	ADDWF	POINTER			;MINTAVÉTEL
	
	CALL	DELAY
	
	DECFSZ	CIKL,1
	GOTO	POZ1
;-----------------------------------------------------------------------
	MOVLW	0XFE
	MOVWF	POINTER

	MOVFW	CIKL1
				;LÉPÉSSZÁM
	MOVWF	CIKL

POZ2
	MOVFW	POINTER	
	BSF	PCLATH,0
	BCF	PCLATH,1
	BCF	PCLATH,2		;0X100 CIMRE IRT TABLA1
	CALL	TABLA1
	MOVWF	CCPR1L
	BCF	PCLATH,0
	BSF	PCLATH,1
	BCF	PCLATH,2		;0X200 CIMRE IRT TABLA2
	MOVFW	POINTER
	CALL	TABLA2
	MOVWF	CCP1CON
	CALL	DELAY

	MOVFW	LEPES
	SUBWF	POINTER			;MINTAVÉTEL

	DECFSZ	CIKL,1
	GOTO	POZ2
;-----------------------------------------------------------------------
	MOVLW	0X00
	MOVWF	POINTER

	MOVFW	CIKL1
				;LÉPÉSSZÁM
	MOVWF	CIKL

NEG1
	MOVFW	POINTER	
	BSF	PCLATH,0
	BSF	PCLATH,1
	BCF	PCLATH,2		;0X300 CIMRE IRT TABLA3
	CALL	TABLA3
	MOVWF	CCPR1L
	BCF	PCLATH,0
	BCF	PCLATH,1
	BSF	PCLATH,2		;0X400 CIMRE IRT TABLA4
	MOVFW	POINTER
	CALL	TABLA4
	MOVWF	CCP1CON
	CALL	DELAY
	
	MOVFW	LEPES
	ADDWF	POINTER			;MINTAVÉTEL
	
	DECFSZ	CIKL,1
	GOTO	NEG1
;----------------------------------------------------------------------

	MOVLW	0XFE
	MOVWF	POINTER

	MOVFW	CIKL1
				;LÉPÉSSZÁM
	MOVWF	CIKL
NEG2
	MOVFW	POINTER	
	BSF	PCLATH,0
	BSF	PCLATH,1
	BCF	PCLATH,2		;0X300 CIMRE IRT TABLA3
	CALL	TABLA3
	MOVWF	CCPR1L
	BCF	PCLATH,0
	BCF	PCLATH,1
	BSF	PCLATH,2		;0X400 CIMRE IRT TABLA4
	MOVFW	POINTER
	CALL	TABLA4
	MOVWF	CCP1CON
	CALL	DELAY
	
	MOVFW	LEPES
	SUBWF	POINTER			;MINTAVÉTEL
	
	DECFSZ	CIKL,1
	GOTO	NEG2
;---------------------------------------------------------------------
	GOTO	CIMKE

;----------------------[SZUBRUTINOK]--------------------------------
; késleltetés hossza: 4/CLKFRQ*((3a+5)*b+5)*c+9)

DELAY
	movf DELAYCTR_C,w
	movwf delayctr_tmpc
dl0
	movf DELAYCTR_B,w
	movwf delayctr_tmpb
dl1	
	movf DELAYCTR_A,w
	movwf delayctr_tmpa
dl2
	decfsz delayctr_tmpa,f
	goto dl2
	decfsz delayctr_tmpb,f
	goto dl1
	decfsz delayctr_tmpc,f
	goto dl0
	return
;------------------------------------------------------

	ORG	0X00B0

TABCIKL	ADDWF	PCL,1		;A CIKLUSSZÁM
	RETLW	0XFF
	RETLW	0X80
	RETLW	0X40
	RETLW	0X20
	RETLW	0X10
	RETLW	0X08
	RETLW	0X04
	RETLW	0X02
	RETLW	0X01

TABLEP	ADDWF	PCL,1		;A LÉPÉSSZÁM
	RETLW	0X01
	RETLW	0X02
	RETLW	0X04
	RETLW	0X08
	RETLW	0X10
	RETLW	0X20
	RETLW	0X40
	RETLW	0X80
	RETLW	0XFF

	ORG	0X00FF
TABLA1	ADDWF	PCL,1		;CCPR1L ÉRTÉKEI
	RETLW	0X80
	RETLW	0X81
	RETLW	0X81
	RETLW	0X82
	RETLW	0X83
	RETLW	0X84
	RETLW	0X84
	RETLW	0X85
	RETLW	0X86
	RETLW	0X87
	RETLW	0X88
	RETLW	0X88
	RETLW	0X89
	RETLW	0X8A
	RETLW	0X8B
	RETLW	0X8B
	RETLW	0X8C
	RETLW	0X8D
	RETLW	0X8E
	RETLW	0X8F
	RETLW	0X8F
	RETLW	0X90
	RETLW	0X91
	RETLW	0X92
	RETLW	0X92
	RETLW	0X93
	RETLW	0X94
	RETLW	0X95
	RETLW	0X96
	RETLW	0X96
	RETLW	0X97
	RETLW	0X98
	RETLW	0X99
	RETLW	0X99
	RETLW	0X9A
	RETLW	0X9B
	RETLW	0X9C
	RETLW	0X9C
	RETLW	0X9D
	RETLW	0X9E
	RETLW	0X9F
	RETLW	0X9F
	RETLW	0XA0
	RETLW	0XA1
	RETLW	0XA2
	RETLW	0XA3
	RETLW	0XA3
	RETLW	0XA4
	RETLW	0XA5
	RETLW	0XA6
	RETLW	0XA6
	RETLW	0XA7
	RETLW	0XA8
	RETLW	0XA8
	RETLW	0XA9
	RETLW	0XAA
	RETLW	0XAB
	RETLW	0XAB
	RETLW	0XAC
	RETLW	0XAD
	RETLW	0XAE
	RETLW	0XAE
	RETLW	0XAF
	RETLW	0XB0
	RETLW	0XB1
	RETLW	0XB1
	RETLW	0XB2
	RETLW	0XB3
	RETLW	0XB3
	RETLW	0XB4
	RETLW	0XB5
	RETLW	0XB6
	RETLW	0XB6
	RETLW	0XB7
	RETLW	0XB8
	RETLW	0XB8
	RETLW	0XB9
	RETLW	0XBA
	RETLW	0XBA
	RETLW	0XBB
	RETLW	0XBC
	RETLW	0XBC
	RETLW	0XBD
	RETLW	0XBE
	RETLW	0XBF
	RETLW	0XBF
	RETLW	0XC0
	RETLW	0XC1
	RETLW	0XC1
	RETLW	0XC2
	RETLW	0XC3
	RETLW	0XC3
	RETLW	0XC4
	RETLW	0XC5
	RETLW	0XC5
	RETLW	0XC6
	RETLW	0XC6
	RETLW	0XC7
	RETLW	0XC8
	RETLW	0XC8
	RETLW	0XC9
	RETLW	0XCA
	RETLW	0XCA
	RETLW	0XCB
	RETLW	0XCC
	RETLW	0XCC
	RETLW	0XCD
	RETLW	0XCD
	RETLW	0XCE
	RETLW	0XCF
	RETLW	0XCF
	RETLW	0XD0
	RETLW	0XD0
	RETLW	0XD1
	RETLW	0XD2
	RETLW	0XD2
	RETLW	0XD3
	RETLW	0XD3
	RETLW	0XD4
	RETLW	0XD5
	RETLW	0XD5
	RETLW	0XD6
	RETLW	0XD6
	RETLW	0XD7
	RETLW	0XD7
	RETLW	0XD8
	RETLW	0XD9
	RETLW	0XD9
	RETLW	0XDA
	RETLW	0XDA
	RETLW	0XDB
	RETLW	0XDB
	RETLW	0XDC
	RETLW	0XDC
	RETLW	0XDD
	RETLW	0XDD
	RETLW	0XDE
	RETLW	0XDF
	RETLW	0XDF
	RETLW	0XE0
	RETLW	0XE0
	RETLW	0XE1
	RETLW	0XE1
	RETLW	0XE2
	RETLW	0XE2
	RETLW	0XE3
	RETLW	0XE3
	RETLW	0XE4
	RETLW	0XE4
	RETLW	0XE4
	RETLW	0XE5
	RETLW	0XE5
	RETLW	0XE6
	RETLW	0XE6
	RETLW	0XE7
	RETLW	0XE7
	RETLW	0XE8
	RETLW	0XE8
	RETLW	0XE9
	RETLW	0XE9
	RETLW	0XE9
	RETLW	0XEA
	RETLW	0XEA
	RETLW	0XEB
	RETLW	0XEB
	RETLW	0XEC
	RETLW	0XEC
	RETLW	0XEC
	RETLW	0XED
	RETLW	0XED
	RETLW	0XEE
	RETLW	0XEE
	RETLW	0XEE
	RETLW	0XEF
	RETLW	0XEF
	RETLW	0XEF
	RETLW	0XF0
	RETLW	0XF0
	RETLW	0XF1
	RETLW	0XF1
	RETLW	0XF1
	RETLW	0XF2
	RETLW	0XF2
	RETLW	0XF2
	RETLW	0XF3
	RETLW	0XF3
	RETLW	0XF3
	RETLW	0XF4
	RETLW	0XF4
	RETLW	0XF4
	RETLW	0XF4
	RETLW	0XF5
	RETLW	0XF5
	RETLW	0XF5
	RETLW	0XF6
	RETLW	0XF6
	RETLW	0XF6
	RETLW	0XF7
	RETLW	0XF7
	RETLW	0XF7
	RETLW	0XF7
	RETLW	0XF8
	RETLW	0XF8
	RETLW	0XF8
	RETLW	0XF8
	RETLW	0XF9
	RETLW	0XF9
	RETLW	0XF9
	RETLW	0XF9
	RETLW	0XF9
	RETLW	0XFA
	RETLW	0XFA
	RETLW	0XFA
	RETLW	0XFA
	RETLW	0XFA
	RETLW	0XFB
	RETLW	0XFB
	RETLW	0XFB
	RETLW	0XFB
	RETLW	0XFB
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFC
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFD
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE
	RETLW	0XFE

	RETLW	0XFF
;------------------------------------------------------------------





	ORG	0X01FF
TABLA2	ADDWF	PCL,1		;CCP1CON <5:4>
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C

	RETLW	0X0C
;-----------------------------------------------------------------------

	ORG	0X02FF
TABLA3	ADDWF	PCL,1		;CCPR1L ÉRTÉKEI
	RETLW	0X7F
	RETLW	0X7E
	RETLW	0X7D
	RETLW	0X7D
	RETLW	0X7C
	RETLW	0X7B
	RETLW	0X7A
	RETLW	0X7A
	RETLW	0X79
	RETLW	0X78
	RETLW	0X77
	RETLW	0X76
	RETLW	0X76
	RETLW	0X75
	RETLW	0X74
	RETLW	0X73
	RETLW	0X73
	RETLW	0X72
	RETLW	0X71
	RETLW	0X70
	RETLW	0X6F
	RETLW	0X6F
	RETLW	0X6E
	RETLW	0X6D
	RETLW	0X6C
	RETLW	0X6C
	RETLW	0X6B
	RETLW	0X6A
	RETLW	0X69
	RETLW	0X68
	RETLW	0X68
	RETLW	0X67
	RETLW	0X66
	RETLW	0X65
	RETLW	0X65
	RETLW	0X64
	RETLW	0X63
	RETLW	0X62
	RETLW	0X62
	RETLW	0X61
	RETLW	0X60
	RETLW	0X5F
	RETLW	0X5F
	RETLW	0X5E
	RETLW	0X5D
	RETLW	0X5C
	RETLW	0X5B
	RETLW	0X5B
	RETLW	0X5A
	RETLW	0X59
	RETLW	0X58
	RETLW	0X58
	RETLW	0X57
	RETLW	0X56
	RETLW	0X56
	RETLW	0X55
	RETLW	0X54
	RETLW	0X53
	RETLW	0X53
	RETLW	0X52
	RETLW	0X51
	RETLW	0X50
	RETLW	0X50
	RETLW	0X4F
	RETLW	0X4E
	RETLW	0X4D
	RETLW	0X4D
	RETLW	0X4C
	RETLW	0X4B
	RETLW	0X4B
	RETLW	0X4A
	RETLW	0X49
	RETLW	0X48
	RETLW	0X48
	RETLW	0X47
	RETLW	0X46
	RETLW	0X46
	RETLW	0X45
	RETLW	0X44
	RETLW	0X44
	RETLW	0X43
	RETLW	0X42
	RETLW	0X42
	RETLW	0X41
	RETLW	0X40
	RETLW	0X3F
	RETLW	0X3F
	RETLW	0X3E
	RETLW	0X3D
	RETLW	0X3D
	RETLW	0X3C
	RETLW	0X3B
	RETLW	0X3B
	RETLW	0X3A
	RETLW	0X39
	RETLW	0X39
	RETLW	0X38
	RETLW	0X38
	RETLW	0X37
	RETLW	0X36
	RETLW	0X36
	RETLW	0X35
	RETLW	0X34
	RETLW	0X34
	RETLW	0X33
	RETLW	0X32
	RETLW	0X32
	RETLW	0X31
	RETLW	0X31
	RETLW	0X30
	RETLW	0X2F
	RETLW	0X2F
	RETLW	0X2E
	RETLW	0X2E
	RETLW	0X2D
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X2B
	RETLW	0X2B
	RETLW	0X2A
	RETLW	0X29
	RETLW	0X29
	RETLW	0X28
	RETLW	0X28
	RETLW	0X27
	RETLW	0X27
	RETLW	0X26
	RETLW	0X25
	RETLW	0X25
	RETLW	0X24
	RETLW	0X24
	RETLW	0X23
	RETLW	0X23
	RETLW	0X22
	RETLW	0X22
	RETLW	0X21
	RETLW	0X21
	RETLW	0X20
	RETLW	0X1F
	RETLW	0X1F
	RETLW	0X1E
	RETLW	0X1E
	RETLW	0X1D
	RETLW	0X1D
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X1B
	RETLW	0X1B
	RETLW	0X1A
	RETLW	0X1A
	RETLW	0X1A
	RETLW	0X19
	RETLW	0X19
	RETLW	0X18
	RETLW	0X18
	RETLW	0X17
	RETLW	0X17
	RETLW	0X16
	RETLW	0X16
	RETLW	0X15
	RETLW	0X15
	RETLW	0X15
	RETLW	0X14
	RETLW	0X14
	RETLW	0X13
	RETLW	0X13
	RETLW	0X12
	RETLW	0X12
	RETLW	0X12
	RETLW	0X11
	RETLW	0X11
	RETLW	0X10
	RETLW	0X10
	RETLW	0X10
	RETLW	0X0F
	RETLW	0X0F
	RETLW	0X0F
	RETLW	0X0E
	RETLW	0X0E
	RETLW	0X0D
	RETLW	0X0D
	RETLW	0X0D
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0B
	RETLW	0X0B
	RETLW	0X0B
	RETLW	0X0A
	RETLW	0X0A
	RETLW	0X0A
	RETLW	0X0A
	RETLW	0X09
	RETLW	0X09
	RETLW	0X09
	RETLW	0X08
	RETLW	0X08
	RETLW	0X08
	RETLW	0X07
	RETLW	0X07
	RETLW	0X07
	RETLW	0X07
	RETLW	0X06
	RETLW	0X06
	RETLW	0X06
	RETLW	0X06
	RETLW	0X05
	RETLW	0X05
	RETLW	0X05
	RETLW	0X05
	RETLW	0X05
	RETLW	0X04
	RETLW	0X04
	RETLW	0X04
	RETLW	0X04
	RETLW	0X04
	RETLW	0X03
	RETLW	0X03
	RETLW	0X03
	RETLW	0X03
	RETLW	0X03
	RETLW	0X02
	RETLW	0X02
	RETLW	0X02
	RETLW	0X02
	RETLW	0X02
	RETLW	0X02
	RETLW	0X02
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X01
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00
	RETLW	0X00

	RETLW	0X00
;--------------------------------------------------------

	ORG	0X03FF
TABLA4	ADDWF	PCL,1
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X3C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X1C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X2C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C
	RETLW	0X0C

	RETLW	0X0C
;-------------------------------------------------------------------
	END 			;PROGRAM VEGE		
