
define/split   const data / uninited data segments

65c02 optimizations

new variable qualifier:  fixed
makes the variable set as non-relocatable

define ALL pointers to page zero...
no reason to put them anywhere else for AIM or 7800

//		fixed uint *ptr = &0x40;
.org $40
ptr1: db 0(2)
//		ptr1 = 0x2000;
lda #0
sta ptr1
lda #$20
sta ptr1+1
//		ptr1[7] = 5;
lda #5
ldy #7
sta(ptr1),Y


bugs:
memory.int[] = memory.int[] + memory.int[];
assembler can only include 1 file


// things to do
//  . fix pointers and int <op> char errors
//  . add inline assembly ability
//  . #ifdef/#endif would be nice for below
//  . make runtime library modular using inline keyword, if possible
//	char io
//      mul/div
//	the ones required for the compiler stay in uplrtime.obj
//      new modules
//	 8 & 16-bit shifts
//	 BCD floating math
//       binary fixed point math
//	 32bit math (+,*,-,/,>>,<<,&,|,^)
//	 OS-based file io calls

// malloc (in 256 byte blocks starting at top of data segment thru
// top of ram

// pointers use defined areas of page 0
