>#define DECLARE_POINT(x,y) asm("\nMyRect: .long " x ", " y "\n");
bad, bad, bad -- that code will NOT be what you think it will be. You
CANNOT have the space after the comma. You must use the simpler:
#define DECLARE_POINT(x,y) asm("\nMyRect: .long " x "," y "\n");
-Scott