P1-riscv32.M1 (17777B)
1 ## riscv32.M1 — GENERATED by p1/gen/p1_gen.py. Do not edit by hand. 2 ## 3 ## This table targets the P1 ISA described in docs/P1.md. 4 ## Row shapes are shared; per-arch lowering lives in p1/gen/<arch>.py. 5 6 7 ## ---- Materialization 8 DEFINE p1wordbytes 0400000000000000 9 DEFINE p1wordshift 0200000000000000 10 DEFINE li_a0 170500000325C5006F00C000 11 DEFINE li_a1 9705000083A5C5006F00C000 12 DEFINE li_a2 170600000326C6006F00C000 13 DEFINE li_a3 9706000083A6C6006F00C000 14 DEFINE li_t0 9702000083A2C2006F00C000 15 DEFINE li_t1 170300000323C3006F00C000 16 DEFINE li_t2 9703000083A3C3006F00C000 17 DEFINE la_a0 170500000325C5006F008000 18 DEFINE la_a1 9705000083A5C5006F008000 19 DEFINE la_a2 170600000326C6006F008000 20 DEFINE la_a3 9706000083A6C6006F008000 21 DEFINE la_t0 9702000083A2C2006F008000 22 DEFINE la_t1 170300000323C3006F008000 23 DEFINE la_t2 9703000083A3C3006F008000 24 DEFINE la_br 970F000083AFCF006F008000 25 26 ## ---- Moves 27 DEFINE mov_a0,a1 13850500 28 DEFINE mov_a0,a3 13850600 29 DEFINE mov_a0,t0 13850200 30 DEFINE mov_a0,t1 13050300 31 DEFINE mov_a1,a0 93050500 32 DEFINE mov_a1,t0 93850200 33 DEFINE mov_a1,t1 93050300 34 DEFINE mov_a1,t2 93850300 35 DEFINE mov_a2,a1 13860500 36 DEFINE mov_a2,t0 13860200 37 DEFINE mov_a2,t1 13060300 38 DEFINE mov_t0,a0 93020500 39 DEFINE mov_t1,a0 13030500 40 DEFINE mov_t1,t0 13830200 41 DEFINE mov_t2,a0 93030500 42 DEFINE mov_t2,t1 93030300 43 44 ## ---- Register Arithmetic 45 DEFINE add_a0,a0,a1 3305B500 46 DEFINE add_a0,a0,a2 3305C500 47 DEFINE add_a0,a0,a3 3305D500 48 DEFINE add_a0,a0,t0 33055500 49 DEFINE add_a0,a0,t1 33056500 50 DEFINE add_a0,a2,a0 3305A600 51 DEFINE add_a0,a2,t2 33057600 52 DEFINE add_a0,t0,a3 3385D200 53 DEFINE add_a0,t1,a0 3305A300 54 DEFINE add_a0,t1,t2 33057300 55 DEFINE add_a0,t2,a1 3385B300 56 DEFINE add_a1,a0,a1 B305B500 57 DEFINE add_a1,a0,a3 B305D500 58 DEFINE add_a1,a1,a0 B385A500 59 DEFINE add_a1,a1,a2 B385C500 60 DEFINE add_a1,a1,a3 B385D500 61 DEFINE add_a1,a1,t0 B3855500 62 DEFINE add_a1,a1,t2 B3857500 63 DEFINE add_a1,a2,t0 B3055600 64 DEFINE add_a1,a3,a1 B385B600 65 DEFINE add_a1,t0,a0 B385A200 66 DEFINE add_a1,t2,a1 B385B300 67 DEFINE add_a1,t2,a3 B385D300 68 DEFINE add_a1,t2,t1 B3856300 69 DEFINE add_a2,a1,a3 3386D500 70 DEFINE add_a2,a1,t0 33865500 71 DEFINE add_a2,a2,a0 3306A600 72 DEFINE add_a2,a2,a1 3306B600 73 DEFINE add_a2,a2,a3 3306D600 74 DEFINE add_a2,a2,t0 33065600 75 DEFINE add_a2,a2,t1 33066600 76 DEFINE add_a2,a2,t2 33067600 77 DEFINE add_a2,a3,a1 3386B600 78 DEFINE add_a2,a3,a2 3386C600 79 DEFINE add_a2,t0,t1 33866200 80 DEFINE add_a2,t2,a0 3386A300 81 DEFINE add_a2,t2,a2 3386C300 82 DEFINE add_a3,a0,a2 B306C500 83 DEFINE add_a3,a1,t1 B3866500 84 DEFINE add_a3,a1,t2 B3867500 85 DEFINE add_a3,a2,t1 B3066600 86 DEFINE add_a3,a3,a0 B386A600 87 DEFINE add_a3,a3,a1 B386B600 88 DEFINE add_a3,a3,a2 B386C600 89 DEFINE add_a3,a3,t0 B3865600 90 DEFINE add_a3,a3,t1 B3866600 91 DEFINE add_a3,a3,t2 B3867600 92 DEFINE add_a3,t0,t2 B3867200 93 DEFINE add_a3,t1,a2 B306C300 94 DEFINE add_t0,a1,t2 B3827500 95 DEFINE add_t0,a2,a3 B302D600 96 DEFINE add_t0,a3,a1 B382B600 97 DEFINE add_t0,a3,t0 B3825600 98 DEFINE add_t0,t0,a0 B382A200 99 DEFINE add_t0,t0,a1 B382B200 100 DEFINE add_t0,t0,a3 B382D200 101 DEFINE add_t0,t0,t1 B3826200 102 DEFINE add_t0,t2,a3 B382D300 103 DEFINE add_t1,a0,t0 33035500 104 DEFINE add_t1,a1,t2 33837500 105 DEFINE add_t1,a3,t1 33836600 106 DEFINE add_t1,t0,a0 3383A200 107 DEFINE add_t1,t0,t1 33836200 108 DEFINE add_t1,t1,a2 3303C300 109 DEFINE add_t1,t1,t0 33035300 110 DEFINE add_t1,t1,t2 33037300 111 DEFINE add_t2,a0,t0 B3035500 112 DEFINE add_t2,a0,t1 B3036500 113 DEFINE add_t2,a1,t2 B3837500 114 DEFINE add_t2,a2,t1 B3036600 115 DEFINE add_t2,t0,t1 B3836200 116 DEFINE add_t2,t1,t0 B3035300 117 DEFINE add_t2,t1,t2 B3037300 118 DEFINE add_t2,t2,a0 B383A300 119 DEFINE add_t2,t2,a3 B383D300 120 DEFINE add_t2,t2,t1 B3836300 121 DEFINE sub_a0,a0,t1 33056540 122 DEFINE sub_a0,a1,a0 3385A540 123 DEFINE sub_a0,a1,t2 33857540 124 DEFINE sub_a0,a3,a0 3385A640 125 DEFINE sub_a0,t0,a1 3385B240 126 DEFINE sub_a0,t0,t1 33856240 127 DEFINE sub_a0,t1,a0 3305A340 128 DEFINE sub_a1,t0,a0 B385A240 129 DEFINE sub_a2,a1,a0 3386A540 130 DEFINE sub_a2,a2,a2 3306C640 131 DEFINE sub_a2,a2,t0 33065640 132 DEFINE sub_a2,t0,t1 33866240 133 DEFINE sub_a2,t2,a3 3386D340 134 DEFINE sub_a3,a1,a2 B386C540 135 DEFINE sub_a3,a3,a2 B386C640 136 DEFINE sub_a3,t0,a2 B386C240 137 DEFINE sub_a3,t0,a3 B386D240 138 DEFINE sub_a3,t1,a2 B306C340 139 DEFINE sub_a3,t1,a3 B306D340 140 DEFINE sub_a3,t1,t0 B3065340 141 DEFINE sub_a3,t2,t1 B3866340 142 DEFINE sub_t0,a1,a2 B382C540 143 DEFINE sub_t0,t0,a1 B382B240 144 DEFINE sub_t0,t0,t1 B3826240 145 DEFINE sub_t0,t1,t0 B3025340 146 DEFINE sub_t1,t1,t0 33035340 147 DEFINE sub_t2,t1,t0 B3035340 148 DEFINE and_a3,a3,a2 B3F6C600 149 DEFINE or_a0,a0,a2 3365C500 150 DEFINE or_a3,a3,a2 B3E6C600 151 DEFINE or_t0,t0,t1 B3E26200 152 DEFINE xor_a2,a2,a3 3346D600 153 DEFINE xor_a3,a3,a2 B3C6C600 154 DEFINE shl_a2,a2,a3 3316D600 155 DEFINE shl_t2,t0,t2 B3937200 156 DEFINE sar_a2,a2,a3 3356D640 157 DEFINE mul_a0,a0,a3 3305D502 158 DEFINE mul_a0,a0,t0 33055502 159 DEFINE mul_a0,t1,t2 33057302 160 DEFINE mul_a1,t0,t1 B3856202 161 DEFINE mul_a2,a2,t1 33066602 162 DEFINE mul_a3,a3,a2 B386C602 163 DEFINE mul_t0,t0,a1 B382B202 164 DEFINE mul_t0,t0,t1 B3826202 165 DEFINE mul_t2,t0,a2 B383C202 166 DEFINE div_a0,a0,a1 3345B502 167 DEFINE div_a0,a0,t1 33456502 168 DEFINE div_a2,a2,a3 3346D602 169 DEFINE rem_a2,a0,a1 3366B502 170 DEFINE rem_a2,a0,t1 33666502 171 DEFINE rem_a2,a2,a3 3366D602 172 DEFINE rem_a2,t0,a1 33E6B202 173 174 ## ---- Immediate Arithmetic 175 DEFINE addi_a0,a0,neg1 1305F5FF 176 DEFINE addi_a0,a0,1 13051500 177 DEFINE addi_a0,a0,32 13050502 178 DEFINE addi_a1,a1,neg32 938505FE 179 DEFINE addi_a1,a1,neg2 9385E5FF 180 DEFINE addi_a1,a1,1 93851500 181 DEFINE addi_a1,a1,2 93852500 182 DEFINE addi_a1,a1,3 93853500 183 DEFINE addi_a1,t0,1 93851200 184 DEFINE addi_a2,a0,1 13061500 185 DEFINE addi_a2,a2,neg1 1306F6FF 186 DEFINE addi_a2,a2,1 13061600 187 DEFINE addi_a2,a2,2 13062600 188 DEFINE addi_a2,a2,3 13063600 189 DEFINE addi_a2,a2,8 13068600 190 DEFINE addi_a2,a2,24 13068601 191 DEFINE addi_a2,a2,48 13060603 192 DEFINE addi_a2,t0,1 13861200 193 DEFINE addi_a2,t0,32 13860202 194 DEFINE addi_a2,t2,neg48 138603FD 195 DEFINE addi_a3,a3,neg1 9386F6FF 196 DEFINE addi_a3,a3,1 93861600 197 DEFINE addi_a3,a3,32 93860602 198 DEFINE addi_a3,t0,32 93860202 199 DEFINE addi_a3,t1,32 93060302 200 DEFINE addi_t0,a0,32 93020502 201 DEFINE addi_t0,a1,neg32 938205FE 202 DEFINE addi_t0,a1,32 93820502 203 DEFINE addi_t0,a3,neg1 9382F6FF 204 DEFINE addi_t0,t0,neg1 9382F2FF 205 DEFINE addi_t0,t0,1 93821200 206 DEFINE addi_t0,t0,2 93822200 207 DEFINE addi_t0,t0,7 93827200 208 DEFINE addi_t0,t0,32 93820202 209 DEFINE addi_t1,t0,32 13830202 210 DEFINE addi_t1,t1,neg32 130303FE 211 DEFINE addi_t1,t1,neg1 1303F3FF 212 DEFINE addi_t1,t1,1 13031300 213 DEFINE addi_t1,t1,16 13030301 214 DEFINE addi_t1,t1,32 13030302 215 DEFINE addi_t2,a1,neg32 938305FE 216 DEFINE addi_t2,t0,neg32 938302FE 217 DEFINE addi_t2,t0,32 93830202 218 DEFINE addi_t2,t1,2 93032300 219 DEFINE addi_t2,t2,neg1 9383F3FF 220 DEFINE addi_t2,t2,1 93831300 221 DEFINE addi_t2,t2,7 93837300 222 DEFINE addi_t2,t2,24 93838301 223 DEFINE addi_t2,t2,32 93830302 224 DEFINE andi_a0,a0,255 1375F50F 225 DEFINE andi_a2,a2,15 1376F600 226 DEFINE andi_a3,a3,15 93F6F600 227 DEFINE andi_a3,a3,255 93F6F60F 228 DEFINE andi_a3,t2,255 93F6F30F 229 DEFINE shli_a0,a0,3 13153500 230 DEFINE shli_a0,a0,4 13154500 231 DEFINE shli_a1,a1,1 93951500 232 DEFINE shli_a2,a2,3 13163600 233 DEFINE shli_a2,t1,3 13163300 234 DEFINE shli_a3,t0,1 93961200 235 DEFINE shli_a3,t0,4 93964200 236 DEFINE shli_t0,t0,4 93924200 237 DEFINE shli_t1,a2,3 13133600 238 DEFINE shli_t1,t1,3 13133300 239 DEFINE shli_t2,t0,3 93933200 240 DEFINE shri_a0,a0,5 13555500 241 DEFINE shri_a2,a3,4 13D64600 242 DEFINE shri_t2,t2,8 93D38300 243 244 ## ---- Memory 245 DEFINE ld_a0,a0,0 03250500 246 DEFINE ld_a0,a0,8 03258500 247 DEFINE ld_a0,a0,16 03250501 248 DEFINE ld_a0,a1,0 03A50500 249 DEFINE ld_a0,a1,16 03A50501 250 DEFINE ld_a0,a2,0 03250600 251 DEFINE ld_a0,a2,24 03258601 252 DEFINE ld_a0,a3,0 03A50600 253 DEFINE ld_a0,a3,8 03A58600 254 DEFINE ld_a0,a3,16 03A50601 255 DEFINE ld_a0,a3,24 03A58601 256 DEFINE ld_a0,t0,0 03A50200 257 DEFINE ld_a0,t0,8 03A58200 258 DEFINE ld_a0,t0,16 03A50201 259 DEFINE ld_a0,sp,0 03258100 260 DEFINE ld_a0,sp,8 03250101 261 DEFINE ld_a0,sp,24 03250102 262 DEFINE ld_a1,a0,0 83250500 263 DEFINE ld_a1,a0,8 83258500 264 DEFINE ld_a1,a0,16 83250501 265 DEFINE ld_a1,a1,0 83A50500 266 DEFINE ld_a1,a1,8 83A58500 267 DEFINE ld_a1,a2,8 83258600 268 DEFINE ld_a1,a3,8 83A58600 269 DEFINE ld_a1,t0,0 83A50200 270 DEFINE ld_a1,t0,8 83A58200 271 DEFINE ld_a1,t0,16 83A50201 272 DEFINE ld_a1,t0,24 83A58201 273 DEFINE ld_a1,t1,0 83250300 274 DEFINE ld_a1,t1,24 83258301 275 DEFINE ld_a1,t2,16 83A50301 276 DEFINE ld_a1,sp,0 83258100 277 DEFINE ld_a1,sp,8 83250101 278 DEFINE ld_a2,a0,0 03260500 279 DEFINE ld_a2,a0,16 03260501 280 DEFINE ld_a2,a0,24 03268501 281 DEFINE ld_a2,a1,0 03A60500 282 DEFINE ld_a2,a2,0 03260600 283 DEFINE ld_a2,t0,0 03A60200 284 DEFINE ld_a2,t0,8 03A68200 285 DEFINE ld_a2,t0,16 03A60201 286 DEFINE ld_a2,t0,24 03A68201 287 DEFINE ld_a2,t1,neg32 032603FE 288 DEFINE ld_a2,t1,0 03260300 289 DEFINE ld_a2,t2,0 03A60300 290 DEFINE ld_a2,sp,16 03268101 291 DEFINE ld_a3,a0,0 83260500 292 DEFINE ld_a3,a0,8 83268500 293 DEFINE ld_a3,a0,16 83260501 294 DEFINE ld_a3,a1,0 83A60500 295 DEFINE ld_a3,a1,8 83A68500 296 DEFINE ld_a3,a2,0 83260600 297 DEFINE ld_a3,a3,0 83A60600 298 DEFINE ld_a3,t0,0 83A60200 299 DEFINE ld_a3,t0,8 83A68200 300 DEFINE ld_a3,t0,16 83A60201 301 DEFINE ld_a3,t0,24 83A68201 302 DEFINE ld_a3,t1,8 83268300 303 DEFINE ld_t0,a0,0 83220500 304 DEFINE ld_t0,a0,8 83228500 305 DEFINE ld_t0,a0,16 83220501 306 DEFINE ld_t0,a0,24 83228501 307 DEFINE ld_t0,a1,0 83A20500 308 DEFINE ld_t0,a1,24 83A28501 309 DEFINE ld_t0,a1,32 83A20502 310 DEFINE ld_t0,a1,40 83A28502 311 DEFINE ld_t0,a1,48 83A20503 312 DEFINE ld_t0,a1,64 83A20504 313 DEFINE ld_t0,a2,0 83220600 314 DEFINE ld_t0,a3,0 83A20600 315 DEFINE ld_t0,t0,0 83A20200 316 DEFINE ld_t0,t1,0 83220300 317 DEFINE ld_t0,t2,0 83A20300 318 DEFINE ld_t0,t2,16 83A20301 319 DEFINE ld_t0,sp,0 83228100 320 DEFINE ld_t0,sp,8 83220101 321 DEFINE ld_t0,sp,16 83228101 322 DEFINE ld_t0,sp,24 83220102 323 DEFINE ld_t0,sp,32 83228102 324 DEFINE ld_t0,sp,40 83220103 325 DEFINE ld_t1,a0,0 03230500 326 DEFINE ld_t1,a0,8 03238500 327 DEFINE ld_t1,a0,16 03230501 328 DEFINE ld_t1,a0,24 03238501 329 DEFINE ld_t1,a1,0 03A30500 330 DEFINE ld_t1,a1,8 03A38500 331 DEFINE ld_t1,a1,16 03A30501 332 DEFINE ld_t1,a1,56 03A38503 333 DEFINE ld_t1,a2,0 03230600 334 DEFINE ld_t1,a2,8 03238600 335 DEFINE ld_t1,a2,16 03230601 336 DEFINE ld_t1,a3,0 03A30600 337 DEFINE ld_t1,a3,8 03A38600 338 DEFINE ld_t1,t0,0 03A30200 339 DEFINE ld_t1,t0,16 03A30201 340 DEFINE ld_t1,t1,0 03230300 341 DEFINE ld_t1,t1,16 03230301 342 DEFINE ld_t1,sp,8 03230101 343 DEFINE ld_t1,sp,32 03238102 344 DEFINE ld_t1,sp,48 03238103 345 DEFINE ld_t2,a0,0 83230500 346 DEFINE ld_t2,a1,0 83A30500 347 DEFINE ld_t2,a3,0 83A30600 348 DEFINE ld_t2,a3,16 83A30601 349 DEFINE ld_t2,t0,0 83A30200 350 DEFINE ld_t2,t0,8 83A38200 351 DEFINE ld_t2,t0,24 83A38201 352 DEFINE ld_t2,t1,0 83230300 353 DEFINE ld_t2,t1,8 83238300 354 DEFINE ld_t2,t1,16 83230301 355 DEFINE ld_t2,t2,0 83A30300 356 DEFINE ld_t2,sp,16 83238101 357 DEFINE st_a0,a1,0 23A0A500 358 DEFINE st_a0,a2,0 2320A600 359 DEFINE st_a0,a2,8 2324A600 360 DEFINE st_a0,a2,16 2328A600 361 DEFINE st_a0,a2,24 232CA600 362 DEFINE st_a0,a3,0 23A0A600 363 DEFINE st_a0,a3,8 23A4A600 364 DEFINE st_a0,a3,16 23A8A600 365 DEFINE st_a0,t0,0 23A0A200 366 DEFINE st_a0,t0,8 23A4A200 367 DEFINE st_a0,t1,0 2320A300 368 DEFINE st_a0,t2,0 23A0A300 369 DEFINE st_a0,t2,8 23A4A300 370 DEFINE st_a0,t2,16 23A8A300 371 DEFINE st_a0,sp,0 2324A100 372 DEFINE st_a0,sp,16 232CA100 373 DEFINE st_a1,a0,0 2320B500 374 DEFINE st_a1,a2,0 2320B600 375 DEFINE st_a1,a2,16 2328B600 376 DEFINE st_a1,a2,24 232CB600 377 DEFINE st_a1,a3,0 23A0B600 378 DEFINE st_a1,a3,8 23A4B600 379 DEFINE st_a1,t0,0 23A0B200 380 DEFINE st_a1,t0,8 23A4B200 381 DEFINE st_a1,t0,16 23A8B200 382 DEFINE st_a1,t0,24 23ACB200 383 DEFINE st_a1,t1,0 2320B300 384 DEFINE st_a1,t1,8 2324B300 385 DEFINE st_a1,t1,16 2328B300 386 DEFINE st_a1,t1,24 232CB300 387 DEFINE st_a1,t2,16 23A8B300 388 DEFINE st_a1,sp,8 2328B100 389 DEFINE st_a1,sp,16 232CB100 390 DEFINE st_a2,a0,0 2320C500 391 DEFINE st_a2,a1,0 23A0C500 392 DEFINE st_a2,a3,0 23A0C600 393 DEFINE st_a2,a3,16 23A8C600 394 DEFINE st_a2,a3,24 23ACC600 395 DEFINE st_a2,a3,32 23A0C602 396 DEFINE st_a2,t0,0 23A0C200 397 DEFINE st_a2,t0,16 23A8C200 398 DEFINE st_a2,t1,0 2320C300 399 DEFINE st_a2,t2,0 23A0C300 400 DEFINE st_a3,a0,0 2320D500 401 DEFINE st_a3,a1,0 23A0D500 402 DEFINE st_a3,a2,0 2320D600 403 DEFINE st_a3,t0,24 23ACD200 404 DEFINE st_a3,t1,0 2320D300 405 DEFINE st_a3,t1,8 2324D300 406 DEFINE st_a3,t2,0 23A0D300 407 DEFINE st_a3,t2,8 23A4D300 408 DEFINE st_a3,t2,16 23A8D300 409 DEFINE st_a3,t2,24 23ACD300 410 DEFINE st_t0,a0,0 23205500 411 DEFINE st_t0,a0,8 23245500 412 DEFINE st_t0,a0,16 23285500 413 DEFINE st_t0,a0,24 232C5500 414 DEFINE st_t0,a1,0 23A05500 415 DEFINE st_t0,a1,8 23A45500 416 DEFINE st_t0,a1,16 23A85500 417 DEFINE st_t0,a1,24 23AC5500 418 DEFINE st_t0,a1,32 23A05502 419 DEFINE st_t0,a1,40 23A45502 420 DEFINE st_t0,a1,48 23A85502 421 DEFINE st_t0,a1,56 23AC5502 422 DEFINE st_t0,a1,64 23A05504 423 DEFINE st_t0,a2,0 23205600 424 DEFINE st_t0,a3,0 23A05600 425 DEFINE st_t0,t1,0 23205300 426 DEFINE st_t0,t2,0 23A05300 427 DEFINE st_t0,sp,0 23245100 428 DEFINE st_t0,sp,8 23285100 429 DEFINE st_t0,sp,16 232C5100 430 DEFINE st_t0,sp,24 23205102 431 DEFINE st_t0,sp,32 23245102 432 DEFINE st_t0,sp,40 23285102 433 DEFINE st_t0,sp,48 232C5102 434 DEFINE st_t1,a0,0 23206500 435 DEFINE st_t1,a0,24 232C6500 436 DEFINE st_t1,a0,56 232C6502 437 DEFINE st_t1,a1,0 23A06500 438 DEFINE st_t1,a2,0 23206600 439 DEFINE st_t1,a3,0 23A06600 440 DEFINE st_t1,a3,8 23A46600 441 DEFINE st_t1,a3,16 23A86600 442 DEFINE st_t1,a3,24 23AC6600 443 DEFINE st_t1,t0,0 23A06200 444 DEFINE st_t2,a0,0 23207500 445 DEFINE st_t2,a1,0 23A07500 446 DEFINE st_t2,a2,0 23207600 447 DEFINE st_t2,a3,0 23A07600 448 DEFINE st_t2,t0,0 23A07200 449 DEFINE st_t2,t1,0 23207300 450 DEFINE lb_a0,a0,0 03450500 451 DEFINE lb_a0,a1,0 03C50500 452 DEFINE lb_a0,a2,0 03450600 453 DEFINE lb_a0,t0,0 03C50200 454 DEFINE lb_a1,a1,0 83C50500 455 DEFINE lb_a1,a2,0 83450600 456 DEFINE lb_a1,a2,1 83451600 457 DEFINE lb_a2,a1,0 03C60500 458 DEFINE lb_a2,a2,0 03460600 459 DEFINE lb_a2,t0,0 03C60200 460 DEFINE lb_a3,a0,0 83460500 461 DEFINE lb_a3,a1,0 83C60500 462 DEFINE lb_a3,a2,0 83460600 463 DEFINE lb_a3,a3,0 83C60600 464 DEFINE lb_a3,t2,0 83C60300 465 DEFINE lb_a3,t2,1 83C61300 466 DEFINE lb_t0,a0,0 83420500 467 DEFINE lb_t0,a0,1 83421500 468 DEFINE lb_t0,t0,0 83C20200 469 DEFINE lb_t1,t1,0 03430300 470 DEFINE lb_t2,a2,0 83430600 471 DEFINE lb_t2,t0,0 83C30200 472 DEFINE lb_t2,t2,0 83C30300 473 DEFINE sb_a0,a1,0 2380A500 474 DEFINE sb_a0,a2,0 2300A600 475 DEFINE sb_a0,a3,0 2380A600 476 DEFINE sb_a0,t2,0 2380A300 477 DEFINE sb_a1,a2,0 2300B600 478 DEFINE sb_a1,t0,0 2380B200 479 DEFINE sb_a2,a1,0 2380C500 480 DEFINE sb_a2,a3,0 2380C600 481 DEFINE sb_a2,t2,0 2380C300 482 DEFINE sb_a3,a0,0 2300D500 483 DEFINE sb_a3,a1,0 2380D500 484 DEFINE sb_a3,a2,0 2300D600 485 DEFINE sb_a3,t2,0 2380D300 486 DEFINE sb_t0,a3,0 23805600 487 DEFINE sb_t1,a0,0 23006500 488 DEFINE sb_t1,a2,0 23006600 489 DEFINE sb_t2,a1,0 23807500 490 DEFINE sb_t2,a2,0 23007600 491 492 ## ---- ABI Access 493 494 ## ---- Branches 495 DEFINE b 67800F00 496 DEFINE beq_a0,a1 6314B50067800F00 497 DEFINE beq_a0,t0 6314550067800F00 498 DEFINE beq_a0,t1 6314650067800F00 499 DEFINE beq_a1,a0 6394A50067800F00 500 DEFINE beq_a1,a2 6394C50067800F00 501 DEFINE beq_a2,a1 6314B60067800F00 502 DEFINE beq_a2,a3 6314D60067800F00 503 DEFINE beq_a3,a0 6394A60067800F00 504 DEFINE beq_a3,a1 6394B60067800F00 505 DEFINE beq_a3,a2 6394C60067800F00 506 DEFINE beq_a3,t0 6394560067800F00 507 DEFINE beq_a3,t1 6394660067800F00 508 DEFINE beq_t0,a0 6394A20067800F00 509 DEFINE beq_t0,a1 6394B20067800F00 510 DEFINE beq_t0,a2 6394C20067800F00 511 DEFINE beq_t0,t1 6394620067800F00 512 DEFINE beq_t0,t2 6394720067800F00 513 DEFINE beq_t1,a0 6314A30067800F00 514 DEFINE beq_t1,a1 6314B30067800F00 515 DEFINE beq_t1,a2 6314C30067800F00 516 DEFINE beq_t1,t0 6314530067800F00 517 DEFINE beq_t1,t2 6314730067800F00 518 DEFINE beq_t2,a2 6394C30067800F00 519 DEFINE beq_t2,a3 6394D30067800F00 520 DEFINE beq_t2,t1 6394630067800F00 521 DEFINE bne_a0,a1 6304B50067800F00 522 DEFINE bne_a0,t0 6304550067800F00 523 DEFINE bne_a0,t1 6304650067800F00 524 DEFINE bne_a1,a0 6384A50067800F00 525 DEFINE bne_a1,a2 6384C50067800F00 526 DEFINE bne_a1,t0 6384550067800F00 527 DEFINE bne_a2,a1 6304B60067800F00 528 DEFINE bne_a2,a3 6304D60067800F00 529 DEFINE bne_a3,a0 6384A60067800F00 530 DEFINE bne_a3,a1 6384B60067800F00 531 DEFINE bne_a3,a2 6384C60067800F00 532 DEFINE bne_a3,t0 6384560067800F00 533 DEFINE bne_t0,a0 6384A20067800F00 534 DEFINE bne_t0,a2 6384C20067800F00 535 DEFINE bne_t0,t1 6384620067800F00 536 DEFINE bne_t0,t2 6384720067800F00 537 DEFINE bne_t1,a0 6304A30067800F00 538 DEFINE bne_t1,a2 6304C30067800F00 539 DEFINE bne_t1,a3 6304D30067800F00 540 DEFINE bne_t1,t2 6304730067800F00 541 DEFINE bne_t2,a2 6384C30067800F00 542 DEFINE bne_t2,a3 6384D30067800F00 543 DEFINE bne_t2,t0 6384530067800F00 544 DEFINE blt_a0,a1 6354B50067800F00 545 DEFINE blt_a0,a2 6354C50067800F00 546 DEFINE blt_a0,t1 6354650067800F00 547 DEFINE blt_a1,a0 63D4A50067800F00 548 DEFINE blt_a1,a2 63D4C50067800F00 549 DEFINE blt_a1,t0 63D4550067800F00 550 DEFINE blt_a1,t2 63D4750067800F00 551 DEFINE blt_a2,a1 6354B60067800F00 552 DEFINE blt_a2,a3 6354D60067800F00 553 DEFINE blt_a2,t0 6354560067800F00 554 DEFINE blt_a2,t1 6354660067800F00 555 DEFINE blt_a3,a2 63D4C60067800F00 556 DEFINE blt_a3,t2 63D4760067800F00 557 DEFINE blt_t0,a0 63D4A20067800F00 558 DEFINE blt_t0,a2 63D4C20067800F00 559 DEFINE blt_t0,t1 63D4620067800F00 560 DEFINE blt_t1,a0 6354A30067800F00 561 DEFINE blt_t1,a1 6354B30067800F00 562 DEFINE blt_t1,t0 6354530067800F00 563 DEFINE blt_t2,a3 63D4D30067800F00 564 DEFINE blt_t2,t1 63D4630067800F00 565 DEFINE beqz_a0 6314050067800F00 566 DEFINE beqz_a1 6394050067800F00 567 DEFINE beqz_a2 6314060067800F00 568 DEFINE beqz_a3 6394060067800F00 569 DEFINE beqz_t0 6394020067800F00 570 DEFINE beqz_t1 6314030067800F00 571 DEFINE beqz_t2 6394030067800F00 572 DEFINE bnez_a0 6304050067800F00 573 DEFINE bnez_a1 6384050067800F00 574 DEFINE bnez_a2 6304060067800F00 575 DEFINE bnez_a3 6384060067800F00 576 DEFINE bnez_t0 6384020067800F00 577 DEFINE bnez_t1 6304030067800F00 578 DEFINE bnez_t2 6384030067800F00 579 DEFINE bltz_a0 6354050067800F00 580 DEFINE bltz_t0 63D4020067800F00 581 582 ## ---- Calls And Returns 583 DEFINE call E7800F00 584 DEFINE ret 67800000 585 DEFINE eret 83200100032441001301040067800000 586 DEFINE tail 83200100032441001301040067800F00 587 588 ## ---- Frame Management 589 DEFINE enter_0 130101FF232011001304010123228100 590 DEFINE enter_8 130101FF232011001304010123228100 591 DEFINE enter_16 130101FE232011001304010223228100 592 DEFINE enter_40 130101FD232011001304010323228100 593 DEFINE enter_56 130101FC232011001304010423228100 594 595 ## ---- System 596 DEFINE syscall 938E0500130E0600138806009308050013850E0093050E00130608009386020013870400930709007300000093850E0013060E0093060800 597 DEFINE sys_exit 5D00000000000000 598 DEFINE sys_openat 3800000000000000 599 DEFINE sys_read 3F00000000000000 600 DEFINE sys_write 4000000000000000 601 602 ## ---- Program Entry 603 ## Backend-owned :_start stub per docs/P1.md §Program Entry. 604 ## Calls p1_main under the one-word direct-result convention 605 ## (a0=argc, a1=argv) and sys_exits its return value. 606 :_start 607 '03250100' 608 '93054100' 609 '970F000083AFCF006F008000' 610 &p1_main 611 'E7800F00' 612 '9308D005' 613 '73000000'