1# Test the mips16 instruction set. 2 3 .set mips16 4 5 .macro ldst op, reg, base 6 \op \reg,0(\base) 7 \op \reg,1(\base) 8 \op \reg,2(\base) 9 \op \reg,3(\base) 10 \op \reg,4(\base) 11 \op \reg,8(\base) 12 \op \reg,16(\base) 13 \op \reg,32(\base) 14 \op \reg,64(\base) 15 \op \reg,128(\base) 16 \op \reg,256(\base) 17 \op \reg,512(\base) 18 \op \reg,1024(\base) 19 \op \reg,2048(\base) 20 \op \reg,-1(\base) 21 \op \reg,-2(\base) 22 \op \reg,-3(\base) 23 \op \reg,-4(\base) 24 \op \reg,-8(\base) 25 \op \reg,-16(\base) 26 \op \reg,-32(\base) 27 \op \reg,-64(\base) 28 \op \reg,-128(\base) 29 \op \reg,-256(\base) 30 \op \reg,-512(\base) 31 \op \reg,-1024(\base) 32 \op \reg,-2048(\base) 33 .endm 34 35 .p2align 3 36data1: 37 .word 0 38insns1: 39 ldst ld, $2, $3 40 ld $2,data1 41 ld $2,data2 42 ld $2,bar 43 ld $2,quux 44 ldst ld, $2, $sp 45 ldst lwu, $2, $3 46 ldst lw, $2, $3 47 lw $2,data1 48 lw $2,data2 49 lw $2,bar 50 lw $2,quux 51 ldst lw, $2, $sp 52 ldst lh, $2, $3 53 ldst lhu, $2, $3 54 ldst lb, $2, $3 55 ldst lbu, $2, $3 56 ldst sd, $2, $3 57 ldst sd, $2, $sp 58 ldst sd, $31, $sp 59 ldst sw, $2, $3 60 ldst sw, $2, $sp 61 ldst sw, $31, $sp 62 ldst sh, $2, $3 63 ldst sb, $2, $3 64 65 li $2,0 66 li $2,1 67 li $2,256 68 69 move $2,$30 70 move $20,$2 71 72 daddu $2,$3,0 73 daddu $2,$3,1 74 daddu $2,$3,-1 75 daddu $2,$3,16 76 daddu $2,$3,-16 77 daddu $2,$3,$4 78 daddu $2,0 79 daddu $2,1 80 daddu $2,-1 81 daddu $2,32 82 daddu $2,-32 83 daddu $2,128 84 daddu $2,-128 85 dla $2,data1 86 dla $2,data2 87 dla $2,bar 88 dla $2,quux 89 daddu $sp,0 90 daddu $sp,1 91 daddu $sp,-1 92 daddu $sp,256 93 daddu $sp,-256 94 daddu $2,$sp,0 95 daddu $2,$sp,1 96 daddu $2,$sp,-1 97 daddu $2,$sp,32 98 daddu $2,$sp,-32 99 daddu $2,$sp,128 100 daddu $2,$sp,-128 101 102 addu $2,$3,0 103 addu $2,$3,1 104 addu $2,$3,-1 105 addu $2,$3,16 106 addu $2,$3,-16 107 addu $2,$3,$4 108 addu $2,0 109 addu $2,1 110 addu $2,-1 111 addu $2,32 112 addu $2,-32 113 addu $2,128 114 addu $2,-128 115 la $2,data1 116 la $2,data2 117 la $2,bar 118 la $2,quux 119 addu $sp,0 120 addu $sp,1 121 addu $sp,-1 122 addu $sp,256 123 addu $sp,-256 124 addu $2,$sp,0 125 addu $2,$sp,1 126 addu $2,$sp,-1 127 addu $2,$sp,32 128 addu $2,$sp,-32 129 addu $2,$sp,128 130 addu $2,$sp,-128 131 132data2: 133 .word 0 134insns2: 135 dsubu $2,$3,$4 136 subu $2,$3,$4 137 neg $2,$3 138 139 and $2,$3 140 or $2,$3 141 xor $2,$3 142 not $2,$3 143 144 slt $2,0 145 slt $2,1 146 slt $2,-1 147 slt $2,255 148 slt $2,256 149 slt $2,$3 150 sltu $2,0 151 sltu $2,1 152 sltu $2,-1 153 sltu $2,255 154 sltu $2,256 155 sltu $2,$3 156 cmp $2,0 157 cmp $2,1 158 cmp $2,255 159 cmp $2,256 160 cmp $2,$3 161 162 dsll $2,$3,0 163 dsll $2,$3,1 164 dsll $2,$3,8 165 dsll $2,$3,9 166 dsll $2,$3,63 167 dsll $2,$3 168 dsrl $2,0 169 dsrl $2,1 170 dsrl $2,8 171 dsrl $2,9 172 dsrl $2,63 173 dsrl $2,$3 174 dsra $2,0 175 dsra $2,1 176 dsra $2,8 177 dsra $2,9 178 dsra $2,63 179 dsra $2,$3 180 181 mflo $2 182 mfhi $3 183 184 sll $2,$3,0 185 sll $2,$3,1 186 sll $2,$3,8 187 sll $2,$3,9 188 sll $2,$3,31 189 sll $2,$3 190 srl $2,$3,0 191 srl $2,$3,1 192 srl $2,$3,8 193 srl $2,$3,9 194 srl $2,$3,31 195 srl $2,$3 196 sra $2,$3,0 197 sra $2,$3,1 198 sra $2,$3,8 199 sra $2,$3,9 200 sra $2,$3,31 201 sra $2,$3 202 203 dmult $2,$3 204 dmultu $2,$3 205 ddiv $2,$3 206 ddivu $2,$3 207 208 mult $2,$3 209 multu $2,$3 210 div $2,$3 211 divu $2,$3 212 213 jr $2 214 jr $31 215 jalr $31,$2 216 217 beqz $2,insns1 218 beqz $2,insns2 219 beqz $2,bar 220 beqz $2,quux 221 bnez $2,insns1 222 bnez $2,insns2 223 bnez $2,bar 224 bnez $2,quux 225 bteqz insns1 226 bteqz insns2 227 bteqz bar 228 bteqz quux 229 btnez insns1 230 btnez insns2 231 btnez bar 232 btnez quux 233 b insns1 234 b insns2 235 b bar 236 b quux 237 238 break 0 239 break 1 240 break 63 241 242 jal extern 243 244 entry 245 entry $4 246 entry $4-$6,$16 247 entry $16-$17,$31 248 entry $31 249 exit 250 exit $16 251 exit $16-$17,$31 252 exit $31 253 254 .p2align 3 255bar: 256 257 .skip 200 258quux: 259