Hi Shane (Shane Nelson), in on Aug 6 you wrote: > My question: is it possible to have the compiler > dynamically allocate memory in some way? > > ie) > Instead of having to do this: > > COUNT equ h'7' > ACCA equ h'8' > ;16bit > ACCB equ h'9' > ACCD equ h'a' > > I want to be able to get away with something more like this: > > db = define byte > dw = define word > > db COUNT > dw ACCA > db ACCB > db ACCD Yes, it is possible. I do it like his (off my head, so prepare for typos): BOFFSET SET 0x0c BYTE MACRO LABEL LABEL EQU BOFFSET BOFFSET SET BOFFSET+1 IF BOFFSET>0x30 retlw ERROR_OUT_OF_REGISTERS ENDIF > ENDM STRUCT MACRO LABEL,SIZE LABEL EQU BOFFSET BOFFSET SET BOFFSET+SIZE IF BOFFSET>0x30 retlw ERROR_OUT_OF_REGISTERS ENDIF > ENDM Then I use the macros like shown BYTE CNT ; assigns 0x0c to CNT STRUCT Keybuffer,4 ; reserves 4 bytes at 0x0d Have fun pic'ing