
; PicBasic Pro Compiler 2.46, (c) 1998, 2005 microEngineering Labs, Inc. All Rights Reserved.  
PM_USED			EQU	1

	INCLUDE	"16F877.INC"


; Define statements.
#define		CODE_SIZE		 8
#define		LCD_DREG		      PORTD      
#define		LCD_DBIT		      4          
#define		LCD_EREG		      PORTD      
#define		LCD_EBIT		      3          
#define		LCD_RSREG		     PORTD      
#define		LCD_RSBIT		     2          
#define		LCD_BITS		      4          
#define		LCD_LINES		     2          

RAM_START       		EQU	00020h
RAM_END         		EQU	001EFh
RAM_BANKS       		EQU	00004h
BANK0_START     		EQU	00020h
BANK0_END       		EQU	0007Fh
BANK1_START     		EQU	000A0h
BANK1_END       		EQU	000EFh
BANK2_START     		EQU	00110h
BANK2_END       		EQU	0016Fh
BANK3_START     		EQU	00190h
BANK3_END       		EQU	001EFh
EEPROM_START    		EQU	02100h
EEPROM_END      		EQU	021FFh

R0              		EQU	RAM_START + 000h
R1              		EQU	RAM_START + 002h
R2              		EQU	RAM_START + 004h
R3              		EQU	RAM_START + 006h
R4              		EQU	RAM_START + 008h
R5              		EQU	RAM_START + 00Ah
R6              		EQU	RAM_START + 00Ch
R7              		EQU	RAM_START + 00Eh
R8              		EQU	RAM_START + 010h
FLAGS           		EQU	RAM_START + 012h
GOP             		EQU	RAM_START + 013h
RM1             		EQU	RAM_START + 014h
RM2             		EQU	RAM_START + 015h
RR1             		EQU	RAM_START + 016h
RR2             		EQU	RAM_START + 017h
_TUS             		EQU	RAM_START + 018h
_PORTL           		EQU	 PORTB
_PORTH           		EQU	 PORTC
_TRISL           		EQU	 TRISB
_TRISH           		EQU	 TRISC
#define _YATAY_A         	_PORTB_4
#define _YATAY_B         	_PORTB_5
#define _YATAY_C         	_PORTB_6
#define _YATAY_D         	_PORTB_7
#define _DIKEY_1         	_PORTB_1
#define _DIKEY_2         	_PORTB_2
#define _DIKEY_3         	_PORTB_3
#define _OPTION_REG_7    	 OPTION_REG, 007h
#define _PORTB_4         	 PORTB, 004h
#define _PORTB_5         	 PORTB, 005h
#define _PORTB_6         	 PORTB, 006h
#define _PORTB_7         	 PORTB, 007h
#define _PORTB_1         	 PORTB, 001h
#define _PORTB_2         	 PORTB, 002h
#define _PORTB_3         	 PORTB, 003h
	INCLUDE	"DISPLA~1.MAC"
	INCLUDE	"PBPPIC14.LIB"

	MOVE?CB	00Eh, TRISB
	MOVE?CB	000h, TRISC
	MOVE?CB	000h, TRISD
	MOVE?CT	000h, _OPTION_REG_7
	MOVE?CW	000h, _TUS
	PAUSE?C	001F4h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	02Ah
	LCDOUT?C	02Ah
	LCDOUT?C	041h
	LCDOUT?C	059h
	LCDOUT?C	04Bh
	LCDOUT?C	055h
	LCDOUT?C	054h
	LCDOUT?C	020h
	LCDOUT?C	059h
	LCDOUT?C	049h
	LCDOUT?C	04Ch
	LCDOUT?C	04Dh
	LCDOUT?C	041h
	LCDOUT?C	05Ah
	LCDOUT?C	02Ah
	LCDOUT?C	02Ah
	LCDOUT?C	0FEh
	LCDOUT?C	0C1h
	LCDOUT?C	045h
	LCDOUT?C	04Eh
	LCDOUT?C	044h
	LCDOUT?C	02Eh
	LCDOUT?C	045h
	LCDOUT?C	04Ch
	LCDOUT?C	045h
	LCDOUT?C	04Bh
	LCDOUT?C	054h
	LCDOUT?C	052h
	LCDOUT?C	04Fh
	LCDOUT?C	04Eh
	LCDOUT?C	049h
	LCDOUT?C	04Bh
	PAUSE?C	01388h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	LCDOUT?C	048h
	LCDOUT?C	041h
	LCDOUT?C	044h
	LCDOUT?C	049h
	LCDOUT?C	020h
	LCDOUT?C	042h
	LCDOUT?C	041h
	LCDOUT?C	053h
	LCDOUT?C	04Ch
	LCDOUT?C	041h
	LCDOUT?C	059h
	LCDOUT?C	041h
	LCDOUT?C	04Ch
	LCDOUT?C	049h
	LCDOUT?C	04Dh
	LCDOUT?C	0FEh
	LCDOUT?C	0C2h
	LCDOUT?C	04Bh
	LCDOUT?C	04Fh
	LCDOUT?C	04Ch
	LCDOUT?C	041h
	LCDOUT?C	059h
	LCDOUT?C	020h
	LCDOUT?C	047h
	LCDOUT?C	045h
	LCDOUT?C	04Ch
	LCDOUT?C	053h
	LCDOUT?C	049h
	LCDOUT?C	04Eh
	PAUSE?C	00BB8h
	LCDOUT?C	0FEh
	LCDOUT?C	001h
	MOVE?CB	000h, PORTC

	LABEL?L	_BASLA	
	MOVE?CB	0FEh, PORTB
	MOVE?CT	000h, _YATAY_A
	CMPNE?TCL	_DIKEY_1, 000h, L00001
	MOVE?CW	001h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	006h, PORTC
	LABEL?L	L00003	
	CMPNE?TCL	_DIKEY_1, 000h, L00004
	GOTO?L	L00003
	LABEL?L	L00004	
	LABEL?L	L00001	
	CMPNE?TCL	_DIKEY_2, 000h, L00005
	MOVE?CW	002h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	05Bh, PORTC
	LABEL?L	L00007	
	CMPNE?TCL	_DIKEY_2, 000h, L00008
	GOTO?L	L00007
	LABEL?L	L00008	
	LABEL?L	L00005	
	CMPNE?TCL	_DIKEY_3, 000h, L00009
	MOVE?CW	003h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	04Fh, PORTC
	LABEL?L	L00011	
	CMPNE?TCL	_DIKEY_3, 000h, L00012
	GOTO?L	L00011
	LABEL?L	L00012	
	LABEL?L	L00009	
	HIGH?T	_YATAY_A
	MOVE?CT	000h, _YATAY_B
	CMPNE?TCL	_DIKEY_1, 000h, L00013
	MOVE?CW	004h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	066h, PORTC
	LABEL?L	L00015	
	CMPNE?TCL	_DIKEY_1, 000h, L00016
	GOTO?L	L00015
	LABEL?L	L00016	
	LABEL?L	L00013	
	MOVE?CT	000h, _YATAY_B
	CMPNE?TCL	_DIKEY_2, 000h, L00017
	MOVE?CW	005h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	06Dh, PORTC
	LABEL?L	L00019	
	CMPNE?TCL	_DIKEY_2, 000h, L00020
	GOTO?L	L00019
	LABEL?L	L00020	
	LABEL?L	L00017	
	MOVE?CT	000h, _YATAY_B
	CMPNE?TCL	_DIKEY_3, 000h, L00021
	MOVE?CW	006h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	07Dh, PORTC
	LABEL?L	L00023	
	CMPNE?TCL	_DIKEY_3, 000h, L00024
	GOTO?L	L00023
	LABEL?L	L00024	
	LABEL?L	L00021	
	HIGH?T	_YATAY_B
	MOVE?CT	000h, _YATAY_C
	CMPNE?TCL	_DIKEY_1, 000h, L00025
	MOVE?CW	007h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	007h, PORTC
	LABEL?L	L00027	
	CMPNE?TCL	_DIKEY_1, 000h, L00028
	GOTO?L	L00027
	LABEL?L	L00028	
	LABEL?L	L00025	
	MOVE?CT	000h, _YATAY_C
	CMPNE?TCL	_DIKEY_2, 000h, L00029
	MOVE?CW	008h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	07Fh, PORTC
	LABEL?L	L00031	
	CMPNE?TCL	_DIKEY_2, 000h, L00032
	GOTO?L	L00031
	LABEL?L	L00032	
	LABEL?L	L00029	
	MOVE?CT	000h, _YATAY_C
	CMPNE?TCL	_DIKEY_3, 000h, L00033
	MOVE?CW	009h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	06Fh, PORTC
	LABEL?L	L00035	
	CMPNE?TCL	_DIKEY_3, 000h, L00036
	GOTO?L	L00035
	LABEL?L	L00036	
	LABEL?L	L00033	
	HIGH?T	_YATAY_C
	MOVE?CT	000h, _YATAY_D
	CMPNE?TCL	_DIKEY_2, 000h, L00037
	MOVE?CW	000h, _TUS
	GOSUB?L	_EKRANAYAZ
	MOVE?CB	03Fh, PORTC
	LABEL?L	L00039	
	CMPNE?TCL	_DIKEY_2, 000h, L00040
	GOTO?L	L00039
	LABEL?L	L00040	
	LABEL?L	L00037	
	HIGH?T	_YATAY_D
	PAUSE?C	064h
	GOTO?L	_BASLA

	LABEL?L	_EKRANAYAZ	
	LCDOUT?C	0FEh
	LCDOUT?C	081h
	LCDOUT?C	042h
	LCDOUT?C	041h
	LCDOUT?C	053h
	LCDOUT?C	049h
	LCDOUT?C	04Ch
	LCDOUT?C	041h
	LCDOUT?C	04Eh
	LCDOUT?C	020h
	LCDOUT?C	054h
	LCDOUT?C	055h
	LCDOUT?C	053h
	LCDOUT?C	03Dh
	LCDOUTD?W	_TUS
	LCDOUT?C	0FEh
	LCDOUT?C	0C1h
	LCDOUT?C	044h
	LCDOUT?C	049h
	LCDOUT?C	053h
	LCDOUT?C	050h
	LCDOUT?C	04Ch
	LCDOUT?C	041h
	LCDOUT?C	059h
	LCDOUT?C	045h
	LCDOUT?C	020h
	LCDOUT?C	042h
	LCDOUT?C	041h
	LCDOUT?C	04Bh
	LCDOUT?C	03Dh
	LCDOUTD?W	_TUS
	PAUSE?C	032h
	RETURN?	
	END?	

	END

