// 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) { cgt.c = 0; ov0 = 0; ov1 = 0; ov2 = 0; ov3 = 0; ug24 = 0; uu16 = 0; uu24 = 0; table1[2] = 0; table1[0] = 0; table2[0] = 0; }