1#define AA 1 2#define POKE(a,b) lda #b: sta a 3#define WW AA 4 5start 6 ; next line works 7 POKE(1, 2) 8 ; next two lines work 9 lda #AA 10 sta 2 11 ; next line fails 12 POKE(AA, 2) 13 POKE(WW, 2) 14 lda #WW 15 sta 2 16 17#define WW 94 18 POKE(WW, 2) 19#define WW 5 20#define AA WW 21#define POKE(a,b) lda #a: sta b 22 POKE(AA, 3) 23 24 bne start 25 rts 26 27/* this should bug out */ 28 29#ifdef FAIL 30 POKE(NOGOOD, 7) 31#endif 32