]>
Commit | Line | Data |
---|---|---|
dd43edf4 TS |
1 | # mach: crisv0 crisv3 crisv8 crisv10 crisv32 |
2 | # output: a\n | |
3 | ||
4 | ||
5 | .set smalloffset,0 | |
6 | .set largeoffset,0 | |
7 | ||
8 | ||
9 | .macro fail | |
10 | jump _fail | |
11 | .endm | |
12 | ||
13 | .global main | |
14 | main: | |
15 | moveq 0,$r3 | |
16 | ||
17 | ; Short forward branch. | |
18 | ba 0f | |
19 | addq 1,$r3 | |
20 | fail | |
21 | ||
22 | ; Max short forward branch. | |
23 | 1: | |
24 | ba 2f | |
25 | addq 1,$r3 | |
26 | fail | |
27 | ||
28 | ; Short backward branch. | |
29 | 0: | |
30 | ba 1b | |
31 | addq 1,$r3 | |
32 | fail | |
33 | ||
34 | .space 254-2+smalloffset+1b-.,0 | |
35 | moveq 0,$r3 | |
36 | ||
37 | 2: | |
38 | ; Transit branch (long). | |
39 | ba 3f | |
40 | addq 1,$r3 | |
41 | fail | |
42 | ||
43 | moveq 0,$r3 | |
44 | 4: | |
45 | ; Long forward branch. | |
46 | ba 5f | |
47 | addq 1,$r3 | |
48 | fail | |
49 | ||
50 | .space 256-2-smalloffset+4b-.,0 | |
51 | ||
52 | moveq 0,$r3 | |
53 | ||
54 | ; Max short backward branch. | |
55 | 3: | |
56 | ba 4b | |
57 | addq 1,$r3 | |
58 | fail | |
59 | ||
60 | 5: | |
61 | ; Max long forward branch. | |
62 | ba 6f | |
63 | addq 1,$r3 | |
64 | fail | |
65 | ||
66 | .space 32766+largeoffset-2+5b-.,0 | |
67 | ||
68 | moveq 0,$r3 | |
69 | 6: | |
70 | ; Transit branch. | |
71 | ba 7f | |
72 | addq 1,$r3 | |
73 | fail | |
74 | ||
75 | moveq 0,$r3 | |
76 | 9: | |
77 | jsr pass | |
78 | nop | |
79 | ||
80 | ; Transit branch. | |
81 | moveq 0,$r3 | |
82 | 7: | |
83 | ba 8f | |
84 | addq 1,$r3 | |
85 | fail | |
86 | ||
87 | .space 32768-largeoffset+9b-.,0 | |
88 | ||
89 | 8: | |
90 | ; Max long backward branch. | |
91 | ba 9b | |
92 | addq 1,$r3 | |
93 | fail |