|
|
1.1 root 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.