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