Fairly minimal example that exhibits the problem.
Chris Pressey
4 years ago
0 | vector routine | |
1 | trashes a, z, n | |
2 | ||
3 | ||
4 | vector (routine | |
5 | trashes a, z, n) | |
6 | table[32] vectors | |
7 | ||
8 | routine chrout | |
9 | inputs a | |
10 | trashes a | |
11 | @ 65490 | |
12 | ||
13 | routine printa | |
14 | trashes a, z, n | |
15 | { | |
16 | ld a, 65 | |
17 | call chrout | |
18 | } | |
19 | ||
20 | routine printb | |
21 | trashes a, z, n | |
22 | { | |
23 | ld a, 66 | |
24 | call chrout | |
25 | } | |
26 | ||
27 | routine main | |
28 | inputs vectors | |
29 | outputs vectors | |
30 | trashes print, a, x, z, n, c | |
31 | { | |
32 | ld x, 0 | |
33 | copy printa, vectors + x | |
34 | inc x | |
35 | copy printa, vectors + x | |
36 | inc x | |
37 | copy printb, vectors + x | |
38 | inc x | |
39 | copy printa, vectors + x | |
40 | inc x | |
41 | copy printb, vectors + x | |
42 | ||
43 | copy printa, print | |
44 | ||
45 | ld x, 0 | |
46 | repeat { | |
47 | copy vectors + x, print | |
48 | call print | |
49 | inc x | |
50 | cmp x, 5 | |
51 | } until z | |
52 | } |