/*
 *	Header file for the Microchip :
 *	Enhanced ..
 *	PIC 16c52 chip
 *	PIC 16c54A chip
 *	PIC 16c58A chip
 *	PIC 16cr58A chip
 *	Baseline Microcontrollers
 */

static volatile unsigned char	TMR0	@ 0x01;
static volatile unsigned char	RTCC	@ 0x01;
static volatile unsigned char	PCL	@ 0x02;
static volatile unsigned char	STATUS	@ 0x03;
static          unsigned char	FSR	@ 0x04;
static volatile unsigned char	PORTA	@ 0x05;
static volatile unsigned char	PORTB	@ 0x06;

static          unsigned char control	OPTION	@ 0x00;
static volatile	unsigned char control	TRISA	@ 0x05;
static volatile	unsigned char control	TRISB	@ 0x06;

/*	STATUS bits	*/
static bit	PA1	@ (unsigned)&STATUS*8+6;
static bit	PA0	@ (unsigned)&STATUS*8+5;
static bit	TO	@ (unsigned)&STATUS*8+4;
static bit	PD	@ (unsigned)&STATUS*8+3;
static bit	ZERO	@ (unsigned)&STATUS*8+2;
static bit	DC	@ (unsigned)&STATUS*8+1;
static bit	CARRY	@ (unsigned)&STATUS*8+0;

/*	OPTION bits	*/
#define		T0CS	(1<<5)
#define		T0SE	(1<<4)
#define		PSA	(1<<3)
#define		PS2	(1<<2)
#define		PS1	(1<<1)
#define		PS0	(1<<0)

/*	PORTA bits	*/
static bit	RA3	@ (unsigned)&PORTA*8+3;
static bit	RA2	@ (unsigned)&PORTA*8+2;
static bit	RA1	@ (unsigned)&PORTA*8+1;
static bit	RA0	@ (unsigned)&PORTA*8+0;

/*	PORTB bits	*/
static bit 	RB7	@ (unsigned)&PORTB*8+7;
static bit 	RB6	@ (unsigned)&PORTB*8+6;
static bit 	RB5	@ (unsigned)&PORTB*8+5;
static bit 	RB4	@ (unsigned)&PORTB*8+4;
static bit 	RB3	@ (unsigned)&PORTB*8+3;
static bit 	RB2	@ (unsigned)&PORTB*8+2;
static bit 	RB1	@ (unsigned)&PORTB*8+1;
static bit 	RB0	@ (unsigned)&PORTB*8+0;

#define CONFIG_ADDR	0xFFF
#define FOSC0		0x01
#define FOSC1		0x02
#define WDTE		0x04

#if defined (_16CR58A)
#define	CP		0x0FF8
#else
#define CP		0x08
#endif
