; CC8E Version 1.3, Copyright (c) B Knudsen Data ; C compiler for the PIC18 microcontrollers ; ************ 24. Jun 2009 9:08 ************* processor PIC18C252 radix DEC ug24 EQU 0x03 table1 EQU 0x06 cgt EQU 0x0C ov0 EQU 0 ov1 EQU 0x02 ov2 EQU 0x02 ov3 EQU 7 uu16 EQU 0x04 uu24 EQU 0x09 table2 EQU 0x06 GOTO main ; FILE 18\demo-var.c ;// DEFINING RAM VARIABLES ; ;#pragma chip PIC18C252 ; ;bit bt; ;char ga, c8; ;uns24 ug24; ; ;uns16 table1[3]; ; ;// a structure ;struct { ; char b; ; char c; ;} cgt; ; ;// a typedef ;typedef struct { ; uns16 ab; ; int tab[10]; ; struct { ; uns8 l1; ; uns8 l2; ; } vx; ;} Txx; ; ;Txx ax, bx[2]; ; ; ;// RAMBANK definition ;bank1 char a; ; ;#pragma rambank 3 ;char m1; ;bank0 char uu1; ;int24 m2; ; ;#pragma rambank - // unbanked RAM ;char yy; ; ;#pragma rambank 1 ;char pp; ;shrBank int16 ir; // unbanked RAM ; ; ;const char *pro[3]; // a table in RAM of pointers to 'const' data ; ; ;// variables overlaying another variable or table ;bit ov0 @ bt; // full overlay ;char ov1 @ c8; // full overlay ;int8 ov2 @ c8; // full overlay, different type ;bit ov3 @ ug24.23; // partial overlay ;uns16 uu16 @ ug24.high16; // partial overlay ;uns24 uu24 @ table1[1].high8; // partial overlay ;char table2[5] @ table1[0]; // partial overlay ; ; ; ;void main(void) ;{ main ; cgt.c = 0; CLRF cgt+1,0 ; ; ov0 = 0; BCF 0x00,ov0,0 ; ov1 = 0; CLRF ov1,0 ; ov2 = 0; CLRF ov2,0 ; ov3 = 0; BCF 0x05,ov3,0 ; ; ug24 = 0; CLRF ug24,0 CLRF ug24+1,0 CLRF ug24+2,0 ; uu16 = 0; CLRF uu16,0 CLRF uu16+1,0 ; ; uu24 = 0; CLRF uu24,0 CLRF uu24+1,0 CLRF uu24+2,0 ; table1[2] = 0; CLRF table1+4,0 CLRF table1+5,0 ; table1[0] = 0; CLRF table1,0 CLRF table1+1,0 ; table2[0] = 0; CLRF table2,0 ;} SLEEP RESET END ; *** KEY INFO *** ; 0x000004 20 word(s) 0 % : main ; RAM usage: 69 bytes (0 local), 1467 bytes free ; Maximum call level: 0 ; Total of 22 code words (0 %)