Commit | Line | Data |
---|---|---|
cfb8c092 NC |
1 | .data |
2 | foodata: .hword 42 | |
3 | .text | |
4 | footext: | |
5 | .text | |
6 | ||
7 | .macro test nm:req, args:vararg | |
8 | \nm: \nm \args | |
9 | .global \nm | |
10 | .endm | |
11 | ||
12 | ;;; Basic Instruction Tests | |
13 | 1: ; All branches | |
14 | test beq,1b | |
15 | test bne,1b | |
16 | test bgtu,1b | |
17 | test bgteu,1b | |
18 | test blteu,1b | |
19 | test bltu,1b | |
20 | test bgt,1b | |
21 | test bgte,1b | |
22 | test blt,1b | |
23 | test blte,1b | |
24 | ||
25 | test bbeq,1b | |
26 | test bbne,1b | |
27 | test bblt,1b | |
28 | test b,1b | |
29 | test bl,1b | |
30 | ||
31 | ;;; jumps | |
32 | test jr,r1 | |
33 | jr r31 | |
34 | ||
35 | test jalr,r1 | |
36 | jalr r31 | |
37 | ||
38 | ||
39 | .macro test3i nm:req | |
40 | test \nm,r1,r2,r3 | |
41 | \nm r32,r33,r34 | |
42 | \nm r1,r2,#3 | |
43 | \nm r11,r2,#16 | |
44 | .endm | |
45 | test3i add | |
46 | test3i sub | |
47 | test3i asr | |
48 | test3i lsr | |
49 | test3i lsl | |
50 | ||
51 | .macro test3 nm:req | |
52 | test \nm,r1,r2,r3 | |
53 | \nm r11,r12,r13 | |
54 | .endm | |
55 | ||
56 | test3 orr | |
57 | test3 and | |
58 | test3 eor | |
59 | ||
60 | .macro testmem nm:req | |
61 | \nm r0,[r1,#3] | |
62 | \nm r10,[r1,#255] | |
63 | \nm r0,[r1,r2] | |
64 | \nm r0,[r1,r11] | |
65 | \nm r0,[r3],r2 | |
66 | \nm r10,[r12],r13 | |
67 | .endm | |
68 | ||
69 | testmem ldrb | |
70 | testmem ldrh | |
71 | testmem ldr | |
72 | testmem ldrd | |
73 | ||
74 | ||
75 | testmem strb | |
76 | testmem strh | |
77 | testmem str | |
78 | testmem strd | |
79 | ||
80 | test mov,r6,#255 | |
81 | mov r31,#65535 | |
82 | mov r0,#4098 | |
83 | ||
84 | .macro testmov cond:req | |
85 | mov\cond r1,r2 | |
86 | mov\cond r11,r12 | |
87 | .endm | |
88 | ||
89 | testmov eq | |
90 | testmov ne | |
91 | testmov gtu | |
92 | testmov gteu | |
93 | testmov lteu | |
94 | testmov ltu | |
95 | testmov gt | |
96 | testmov gte | |
97 | testmov lt | |
98 | testmov lte | |
99 | testmov beq | |
100 | testmov bne | |
101 | testmov blt | |
102 | testmov blte | |
103 | mov r1,r2 | |
104 | mov r11,r12 | |
105 | ||
106 | test nop | |
107 | test idle | |
108 | test bkpt | |
109 | ||
110 | test3 fadd | |
111 | test3 fsub | |
112 | test3 fmul | |
113 | test3 fmadd | |
114 | test3 fmsub | |
115 | ||
116 | movts config,r1 | |
117 | movts status,r31 | |
118 | ||
119 | movfs r1,imask | |
120 | movfs r31,pc | |
121 | ||
122 | test trap,#0 ; write syscall for simulator. | |
123 | rti ; dummy instruction |