Commit | Line | Data |
---|---|---|
a471a06b HPN |
1 | ; Tests the broken-word function, one more word than fits in a |
2 | ; single branch. | |
0465aa2f | 3 | .syntax no_register_prefix |
a471a06b HPN |
4 | start: moveq 0,r0 |
5 | ||
6 | ; Take the opportunity to (rudimentally) test case-recognition, | |
7 | ; as the diassembler gets overly confused by the table. | |
8 | subs.b 87,r0 | |
9 | bound.b 41,r0 | |
10 | adds.w [pc+r0.w],pc | |
11 | sym2: | |
12 | .word sym1 - sym2 | |
13 | .word sym3 - sym2 | |
14 | .word sym4 - sym2 | |
15 | .word sym5 - sym2 | |
16 | .word sym6 - sym2 | |
17 | .word sym7 - sym2 | |
18 | .word sym8 - sym2 | |
19 | .word sym9 - sym2 | |
20 | .word sym10 - sym2 | |
21 | .word sym11 - sym2 | |
22 | .word sym12 - sym2 | |
23 | .word sym13 - sym2 | |
24 | .word sym14 - sym2 | |
25 | .word sym15 - sym2 | |
26 | .word sym16 - sym2 | |
27 | .word sym17 - sym2 | |
28 | .word sym18 - sym2 | |
29 | .word sym19 - sym2 | |
30 | .word sym20 - sym2 | |
31 | .word sym21 - sym2 | |
32 | .word sym22 - sym2 | |
33 | .word sym23 - sym2 | |
34 | .word sym24 - sym2 | |
35 | .word sym25 - sym2 | |
36 | .word sym26 - sym2 | |
37 | .word sym27 - sym2 | |
38 | .word sym28 - sym2 | |
39 | .word sym29 - sym2 | |
40 | .word sym30 - sym2 | |
41 | .word sym31 - sym2 | |
42 | .word sym32 - sym2 | |
43 | .word sym33 - sym2 | |
44 | .word sym34 - sym2 | |
45 | .word sym35 - sym2 | |
46 | .word sym36 - sym2 | |
47 | .word sym37 - sym2 | |
48 | .word sym38 - sym2 | |
49 | .word sym39 - sym2 | |
50 | .word sym40 - sym2 | |
51 | .word sym41 - sym2 | |
52 | .word sym42 - sym2 | |
53 | .word sym43 - sym2 | |
54 | ||
55 | .space 16, 0 | |
56 | ||
57 | moveq 1,r0 | |
58 | ; Medium-range branch around secondary jump table inserted here : | |
59 | ; ba next_label | |
60 | ; nop | |
61 | ; .skip 2,0 | |
62 | ; Secondary jump table inserted here : | |
63 | ; jump sym1 | |
64 | ; jump sym3 | |
65 | ; ... | |
66 | next_label: | |
67 | moveq 2,r0 | |
68 | ||
69 | .space 32768, 0 | |
70 | ||
71 | sym1: moveq -3,r0 | |
72 | sym3: moveq 3,r0 | |
73 | sym4: moveq 4,r0 | |
74 | sym5: moveq 5,r0 | |
75 | sym6: moveq 6,r0 | |
76 | sym7: moveq 7,r0 | |
77 | sym8: moveq 8,r0 | |
78 | sym9: moveq 9,r0 | |
79 | sym10: moveq 10,r0 | |
80 | sym11: moveq 11,r0 | |
81 | sym12: moveq 12,r0 | |
82 | sym13: moveq 13,r0 | |
83 | sym14: moveq 14,r0 | |
84 | sym15: moveq 15,r0 | |
85 | sym16: moveq 16,r0 | |
86 | sym17: moveq 17,r0 | |
87 | sym18: moveq 18,r0 | |
88 | sym19: moveq 19,r0 | |
89 | sym20: moveq 20,r0 | |
90 | sym21: moveq 21,r0 | |
91 | sym22: moveq 22,r0 | |
92 | sym23: moveq 23,r0 | |
93 | sym24: moveq 24,r0 | |
94 | sym25: moveq 25,r0 | |
95 | sym26: moveq 26,r0 | |
96 | sym27: moveq 27,r0 | |
97 | sym28: moveq 28,r0 | |
98 | sym29: moveq 29,r0 | |
99 | sym30: moveq 30,r0 | |
100 | sym31: moveq 31,r0 | |
101 | sym32: moveq -32,r0 | |
102 | sym33: moveq -31,r0 | |
103 | sym34: moveq -30,r0 | |
104 | sym35: moveq -29,r0 | |
105 | sym36: moveq -28,r0 | |
106 | sym37: moveq -27,r0 | |
107 | sym38: moveq -26,r0 | |
108 | sym39: moveq -25,r0 | |
109 | sym40: moveq -24,r0 | |
110 | sym41: moveq -23,r0 | |
111 | sym42: moveq -22,r0 | |
112 | sym43: moveq -21,r0 |