Commit | Line | Data |
---|---|---|
280d71bf DB |
1 | |
2 | .global main | |
3 | .global foo | |
4 | .global bar | |
5 | main: | |
6 | nop | |
7 | nop | |
8 | lb $5, foo($3) | |
9 | bsr foo | |
10 | repeat $5, foo | |
11 | ||
12 | nop | |
13 | nop | |
14 | lb $5, (-foo & 0xffff)($3) | |
15 | bsr -foo | |
16 | repeat $5, -foo | |
17 | ||
18 | nop | |
19 | nop | |
20 | lb $5, (foo + bar)($3) | |
21 | bsr (foo + bar) | |
22 | repeat $5, (foo + bar) | |
23 | ||
24 | jmp (foo << 3) | |
25 | jmp (foo >> 3) | |
26 | jmp (foo - bar) & 0x7fffff | |
27 | jmp (foo - main) & 0x7fffff | |
28 | jmp (.text - foo) & 0x7fffff | |
29 | jmp (.data - foo) & 0x7fffff | |
30 | jmp (foo - %sizeof(.text)) | |
31 | jmp (foo * 7) | |
32 | jmp (foo / 7) | |
33 | jmp (foo % 7) | |
34 | jmp (foo ^ bar) | |
35 | jmp (foo | bar) | |
36 | jmp (foo & bar) | |
37 | jmp (foo == bar) << 5 | |
38 | jmp (foo < bar) << 5 | |
39 | jmp (foo <= bar) << 5 | |
40 | jmp (foo > bar) << 5 | |
41 | jmp (foo >= bar) << 5 | |
42 | # jmp (foo != bar) # FIXME this appears to not work atm. | |
43 | jmp (foo && bar) << 5 | |
44 | jmp (foo || bar) << 5 | |
45 | ||
46 | nop | |
47 | nop | |
48 | nop | |
49 | nop | |
50 | ||
51 | jmp %sizeof(.data) >> (((main ^ (bar + 0xf)) - ((foo | .text) << 2)) / 3) | |
52 | ||
53 | nop | |
54 | nop | |
55 | nop |