boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

P1-riscv64.M1 (17675B)


      1 ## riscv64.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 li_a0 170500000335C5006F00C000
      9 DEFINE li_a1 9705000083B5C5006F00C000
     10 DEFINE li_a2 170600000336C6006F00C000
     11 DEFINE li_a3 9706000083B6C6006F00C000
     12 DEFINE li_t0 9702000083B2C2006F00C000
     13 DEFINE li_t1 170300000333C3006F00C000
     14 DEFINE li_t2 9703000083B3C3006F00C000
     15 DEFINE la_a0 170500000365C5006F008000
     16 DEFINE la_a1 9705000083E5C5006F008000
     17 DEFINE la_a2 170600000366C6006F008000
     18 DEFINE la_a3 9706000083E6C6006F008000
     19 DEFINE la_t0 9702000083E2C2006F008000
     20 DEFINE la_t1 170300000363C3006F008000
     21 DEFINE la_t2 9703000083E3C3006F008000
     22 DEFINE la_br 970F000083EFCF006F008000
     23 
     24 ## ---- Moves
     25 DEFINE mov_a0,a1 13850500
     26 DEFINE mov_a0,a3 13850600
     27 DEFINE mov_a0,t0 13850200
     28 DEFINE mov_a0,t1 13050300
     29 DEFINE mov_a1,a0 93050500
     30 DEFINE mov_a1,t0 93850200
     31 DEFINE mov_a1,t1 93050300
     32 DEFINE mov_a1,t2 93850300
     33 DEFINE mov_a2,a1 13860500
     34 DEFINE mov_a2,t0 13860200
     35 DEFINE mov_a2,t1 13060300
     36 DEFINE mov_t0,a0 93020500
     37 DEFINE mov_t1,a0 13030500
     38 DEFINE mov_t1,t0 13830200
     39 DEFINE mov_t2,a0 93030500
     40 DEFINE mov_t2,t1 93030300
     41 
     42 ## ---- Register Arithmetic
     43 DEFINE add_a0,a0,a1 3305B500
     44 DEFINE add_a0,a0,a2 3305C500
     45 DEFINE add_a0,a0,a3 3305D500
     46 DEFINE add_a0,a0,t0 33055500
     47 DEFINE add_a0,a0,t1 33056500
     48 DEFINE add_a0,a2,a0 3305A600
     49 DEFINE add_a0,a2,t2 33057600
     50 DEFINE add_a0,t0,a3 3385D200
     51 DEFINE add_a0,t1,a0 3305A300
     52 DEFINE add_a0,t1,t2 33057300
     53 DEFINE add_a0,t2,a1 3385B300
     54 DEFINE add_a1,a0,a1 B305B500
     55 DEFINE add_a1,a0,a3 B305D500
     56 DEFINE add_a1,a1,a0 B385A500
     57 DEFINE add_a1,a1,a2 B385C500
     58 DEFINE add_a1,a1,a3 B385D500
     59 DEFINE add_a1,a1,t0 B3855500
     60 DEFINE add_a1,a1,t2 B3857500
     61 DEFINE add_a1,a2,t0 B3055600
     62 DEFINE add_a1,a3,a1 B385B600
     63 DEFINE add_a1,t0,a0 B385A200
     64 DEFINE add_a1,t2,a1 B385B300
     65 DEFINE add_a1,t2,a3 B385D300
     66 DEFINE add_a1,t2,t1 B3856300
     67 DEFINE add_a2,a1,a3 3386D500
     68 DEFINE add_a2,a1,t0 33865500
     69 DEFINE add_a2,a2,a0 3306A600
     70 DEFINE add_a2,a2,a1 3306B600
     71 DEFINE add_a2,a2,a3 3306D600
     72 DEFINE add_a2,a2,t0 33065600
     73 DEFINE add_a2,a2,t1 33066600
     74 DEFINE add_a2,a2,t2 33067600
     75 DEFINE add_a2,a3,a1 3386B600
     76 DEFINE add_a2,a3,a2 3386C600
     77 DEFINE add_a2,t0,t1 33866200
     78 DEFINE add_a2,t2,a0 3386A300
     79 DEFINE add_a2,t2,a2 3386C300
     80 DEFINE add_a3,a0,a2 B306C500
     81 DEFINE add_a3,a1,t1 B3866500
     82 DEFINE add_a3,a1,t2 B3867500
     83 DEFINE add_a3,a2,t1 B3066600
     84 DEFINE add_a3,a3,a0 B386A600
     85 DEFINE add_a3,a3,a1 B386B600
     86 DEFINE add_a3,a3,a2 B386C600
     87 DEFINE add_a3,a3,t0 B3865600
     88 DEFINE add_a3,a3,t1 B3866600
     89 DEFINE add_a3,a3,t2 B3867600
     90 DEFINE add_a3,t0,t2 B3867200
     91 DEFINE add_a3,t1,a2 B306C300
     92 DEFINE add_t0,a1,t2 B3827500
     93 DEFINE add_t0,a2,a3 B302D600
     94 DEFINE add_t0,a3,a1 B382B600
     95 DEFINE add_t0,a3,t0 B3825600
     96 DEFINE add_t0,t0,a0 B382A200
     97 DEFINE add_t0,t0,a1 B382B200
     98 DEFINE add_t0,t0,a3 B382D200
     99 DEFINE add_t0,t0,t1 B3826200
    100 DEFINE add_t0,t2,a3 B382D300
    101 DEFINE add_t1,a0,t0 33035500
    102 DEFINE add_t1,a3,t1 33836600
    103 DEFINE add_t1,t0,a0 3383A200
    104 DEFINE add_t1,t0,t1 33836200
    105 DEFINE add_t1,t1,a2 3303C300
    106 DEFINE add_t1,t1,t0 33035300
    107 DEFINE add_t1,t1,t2 33037300
    108 DEFINE add_t2,a0,t0 B3035500
    109 DEFINE add_t2,a0,t1 B3036500
    110 DEFINE add_t2,a1,t2 B3837500
    111 DEFINE add_t2,a2,t1 B3036600
    112 DEFINE add_t2,t0,t1 B3836200
    113 DEFINE add_t2,t1,t0 B3035300
    114 DEFINE add_t2,t1,t2 B3037300
    115 DEFINE add_t2,t2,a0 B383A300
    116 DEFINE add_t2,t2,a3 B383D300
    117 DEFINE add_t2,t2,t1 B3836300
    118 DEFINE sub_a0,a0,t1 33056540
    119 DEFINE sub_a0,a1,a0 3385A540
    120 DEFINE sub_a0,a1,t2 33857540
    121 DEFINE sub_a0,a3,a0 3385A640
    122 DEFINE sub_a0,t0,a1 3385B240
    123 DEFINE sub_a0,t0,t1 33856240
    124 DEFINE sub_a0,t1,a0 3305A340
    125 DEFINE sub_a1,t0,a0 B385A240
    126 DEFINE sub_a2,a1,a0 3386A540
    127 DEFINE sub_a2,a2,a2 3306C640
    128 DEFINE sub_a2,a2,t0 33065640
    129 DEFINE sub_a2,t0,t1 33866240
    130 DEFINE sub_a2,t2,a3 3386D340
    131 DEFINE sub_a3,a1,a2 B386C540
    132 DEFINE sub_a3,a3,a2 B386C640
    133 DEFINE sub_a3,t0,a2 B386C240
    134 DEFINE sub_a3,t0,a3 B386D240
    135 DEFINE sub_a3,t1,a2 B306C340
    136 DEFINE sub_a3,t1,a3 B306D340
    137 DEFINE sub_a3,t1,t0 B3065340
    138 DEFINE sub_a3,t2,t1 B3866340
    139 DEFINE sub_t0,a1,a2 B382C540
    140 DEFINE sub_t0,t0,a1 B382B240
    141 DEFINE sub_t0,t0,t1 B3826240
    142 DEFINE sub_t0,t1,t0 B3025340
    143 DEFINE sub_t1,t1,t0 33035340
    144 DEFINE sub_t2,t1,t0 B3035340
    145 DEFINE and_a3,a3,a2 B3F6C600
    146 DEFINE or_a0,a0,a2 3365C500
    147 DEFINE or_a3,a3,a2 B3E6C600
    148 DEFINE or_t0,t0,t1 B3E26200
    149 DEFINE xor_a2,a2,a3 3346D600
    150 DEFINE xor_a3,a3,a2 B3C6C600
    151 DEFINE shl_a2,a2,a3 3316D600
    152 DEFINE sar_a2,a2,a3 3356D640
    153 DEFINE mul_a0,a0,a3 3305D502
    154 DEFINE mul_a0,a0,t0 33055502
    155 DEFINE mul_a0,t1,t2 33057302
    156 DEFINE mul_a1,t0,t1 B3856202
    157 DEFINE mul_a2,a2,t1 33066602
    158 DEFINE mul_a3,a3,a2 B386C602
    159 DEFINE mul_t0,t0,a1 B382B202
    160 DEFINE mul_t0,t0,t1 B3826202
    161 DEFINE mul_t2,t0,a2 B383C202
    162 DEFINE div_a0,a0,a1 3345B502
    163 DEFINE div_a0,a0,t1 33456502
    164 DEFINE div_a2,a2,a3 3346D602
    165 DEFINE rem_a2,a0,a1 3366B502
    166 DEFINE rem_a2,a0,t1 33666502
    167 DEFINE rem_a2,a2,a3 3366D602
    168 DEFINE rem_a2,t0,a1 33E6B202
    169 
    170 ## ---- Immediate Arithmetic
    171 DEFINE addi_a0,a0,neg1 1305F5FF
    172 DEFINE addi_a0,a0,1 13051500
    173 DEFINE addi_a0,a0,32 13050502
    174 DEFINE addi_a1,a1,neg32 938505FE
    175 DEFINE addi_a1,a1,neg2 9385E5FF
    176 DEFINE addi_a1,a1,1 93851500
    177 DEFINE addi_a1,a1,2 93852500
    178 DEFINE addi_a1,a1,3 93853500
    179 DEFINE addi_a1,t0,1 93851200
    180 DEFINE addi_a2,a0,1 13061500
    181 DEFINE addi_a2,a2,neg1 1306F6FF
    182 DEFINE addi_a2,a2,1 13061600
    183 DEFINE addi_a2,a2,2 13062600
    184 DEFINE addi_a2,a2,3 13063600
    185 DEFINE addi_a2,a2,8 13068600
    186 DEFINE addi_a2,a2,24 13068601
    187 DEFINE addi_a2,a2,48 13060603
    188 DEFINE addi_a2,t0,1 13861200
    189 DEFINE addi_a2,t0,32 13860202
    190 DEFINE addi_a2,t2,neg48 138603FD
    191 DEFINE addi_a3,a3,neg1 9386F6FF
    192 DEFINE addi_a3,a3,1 93861600
    193 DEFINE addi_a3,a3,32 93860602
    194 DEFINE addi_a3,t0,32 93860202
    195 DEFINE addi_a3,t1,32 93060302
    196 DEFINE addi_t0,a0,32 93020502
    197 DEFINE addi_t0,a1,neg32 938205FE
    198 DEFINE addi_t0,a1,32 93820502
    199 DEFINE addi_t0,a3,neg1 9382F6FF
    200 DEFINE addi_t0,t0,neg1 9382F2FF
    201 DEFINE addi_t0,t0,1 93821200
    202 DEFINE addi_t0,t0,2 93822200
    203 DEFINE addi_t0,t0,7 93827200
    204 DEFINE addi_t0,t0,32 93820202
    205 DEFINE addi_t1,t0,32 13830202
    206 DEFINE addi_t1,t1,neg32 130303FE
    207 DEFINE addi_t1,t1,neg1 1303F3FF
    208 DEFINE addi_t1,t1,1 13031300
    209 DEFINE addi_t1,t1,16 13030301
    210 DEFINE addi_t1,t1,32 13030302
    211 DEFINE addi_t2,a1,neg32 938305FE
    212 DEFINE addi_t2,t0,neg32 938302FE
    213 DEFINE addi_t2,t0,32 93830202
    214 DEFINE addi_t2,t1,2 93032300
    215 DEFINE addi_t2,t2,neg1 9383F3FF
    216 DEFINE addi_t2,t2,1 93831300
    217 DEFINE addi_t2,t2,7 93837300
    218 DEFINE addi_t2,t2,24 93838301
    219 DEFINE addi_t2,t2,32 93830302
    220 DEFINE andi_a0,a0,255 1375F50F
    221 DEFINE andi_a2,a2,15 1376F600
    222 DEFINE andi_a3,a3,15 93F6F600
    223 DEFINE andi_a3,a3,255 93F6F60F
    224 DEFINE andi_a3,t2,255 93F6F30F
    225 DEFINE shli_a0,a0,3 13153500
    226 DEFINE shli_a0,a0,4 13154500
    227 DEFINE shli_a1,a1,1 93951500
    228 DEFINE shli_a2,a2,3 13163600
    229 DEFINE shli_a2,t1,3 13163300
    230 DEFINE shli_a3,t0,1 93961200
    231 DEFINE shli_a3,t0,4 93964200
    232 DEFINE shli_t0,t0,4 93924200
    233 DEFINE shli_t1,a2,3 13133600
    234 DEFINE shli_t1,t1,3 13133300
    235 DEFINE shli_t2,t0,3 93933200
    236 DEFINE shri_a0,a0,5 13555500
    237 DEFINE shri_a2,a3,4 13D64600
    238 DEFINE shri_t2,t2,8 93D38300
    239 
    240 ## ---- Memory
    241 DEFINE ld_a0,a0,0 03350500
    242 DEFINE ld_a0,a0,8 03358500
    243 DEFINE ld_a0,a0,16 03350501
    244 DEFINE ld_a0,a1,0 03B50500
    245 DEFINE ld_a0,a1,16 03B50501
    246 DEFINE ld_a0,a2,0 03350600
    247 DEFINE ld_a0,a2,24 03358601
    248 DEFINE ld_a0,a3,0 03B50600
    249 DEFINE ld_a0,a3,8 03B58600
    250 DEFINE ld_a0,a3,16 03B50601
    251 DEFINE ld_a0,a3,24 03B58601
    252 DEFINE ld_a0,t0,0 03B50200
    253 DEFINE ld_a0,t0,8 03B58200
    254 DEFINE ld_a0,t0,16 03B50201
    255 DEFINE ld_a0,sp,0 03350101
    256 DEFINE ld_a0,sp,8 03358101
    257 DEFINE ld_a0,sp,24 03358102
    258 DEFINE ld_a1,a0,0 83350500
    259 DEFINE ld_a1,a0,8 83358500
    260 DEFINE ld_a1,a0,16 83350501
    261 DEFINE ld_a1,a1,0 83B50500
    262 DEFINE ld_a1,a1,8 83B58500
    263 DEFINE ld_a1,a2,8 83358600
    264 DEFINE ld_a1,a3,8 83B58600
    265 DEFINE ld_a1,t0,0 83B50200
    266 DEFINE ld_a1,t0,8 83B58200
    267 DEFINE ld_a1,t0,16 83B50201
    268 DEFINE ld_a1,t0,24 83B58201
    269 DEFINE ld_a1,t1,0 83350300
    270 DEFINE ld_a1,t1,24 83358301
    271 DEFINE ld_a1,t2,16 83B50301
    272 DEFINE ld_a1,sp,0 83350101
    273 DEFINE ld_a1,sp,8 83358101
    274 DEFINE ld_a2,a0,0 03360500
    275 DEFINE ld_a2,a0,16 03360501
    276 DEFINE ld_a2,a0,24 03368501
    277 DEFINE ld_a2,a1,0 03B60500
    278 DEFINE ld_a2,a2,0 03360600
    279 DEFINE ld_a2,t0,0 03B60200
    280 DEFINE ld_a2,t0,8 03B68200
    281 DEFINE ld_a2,t0,16 03B60201
    282 DEFINE ld_a2,t0,24 03B68201
    283 DEFINE ld_a2,t1,neg32 033603FE
    284 DEFINE ld_a2,t1,0 03360300
    285 DEFINE ld_a2,t2,0 03B60300
    286 DEFINE ld_a2,sp,16 03360102
    287 DEFINE ld_a3,a0,0 83360500
    288 DEFINE ld_a3,a0,8 83368500
    289 DEFINE ld_a3,a0,16 83360501
    290 DEFINE ld_a3,a1,0 83B60500
    291 DEFINE ld_a3,a1,8 83B68500
    292 DEFINE ld_a3,a2,0 83360600
    293 DEFINE ld_a3,a3,0 83B60600
    294 DEFINE ld_a3,t0,0 83B60200
    295 DEFINE ld_a3,t0,8 83B68200
    296 DEFINE ld_a3,t0,16 83B60201
    297 DEFINE ld_a3,t0,24 83B68201
    298 DEFINE ld_a3,t1,8 83368300
    299 DEFINE ld_t0,a0,0 83320500
    300 DEFINE ld_t0,a0,8 83328500
    301 DEFINE ld_t0,a0,16 83320501
    302 DEFINE ld_t0,a0,24 83328501
    303 DEFINE ld_t0,a1,0 83B20500
    304 DEFINE ld_t0,a1,8 83B28500
    305 DEFINE ld_t0,a1,16 83B20501
    306 DEFINE ld_t0,a1,24 83B28501
    307 DEFINE ld_t0,a1,32 83B20502
    308 DEFINE ld_t0,a1,40 83B28502
    309 DEFINE ld_t0,a1,48 83B20503
    310 DEFINE ld_t0,a1,64 83B20504
    311 DEFINE ld_t0,a2,0 83320600
    312 DEFINE ld_t0,a3,0 83B20600
    313 DEFINE ld_t0,t0,0 83B20200
    314 DEFINE ld_t0,t2,0 83B20300
    315 DEFINE ld_t0,t2,16 83B20301
    316 DEFINE ld_t0,sp,0 83320101
    317 DEFINE ld_t0,sp,8 83328101
    318 DEFINE ld_t0,sp,16 83320102
    319 DEFINE ld_t0,sp,24 83328102
    320 DEFINE ld_t0,sp,32 83320103
    321 DEFINE ld_t0,sp,40 83328103
    322 DEFINE ld_t1,a0,0 03330500
    323 DEFINE ld_t1,a0,8 03338500
    324 DEFINE ld_t1,a0,16 03330501
    325 DEFINE ld_t1,a0,24 03338501
    326 DEFINE ld_t1,a1,0 03B30500
    327 DEFINE ld_t1,a1,8 03B38500
    328 DEFINE ld_t1,a1,16 03B30501
    329 DEFINE ld_t1,a1,56 03B38503
    330 DEFINE ld_t1,a2,0 03330600
    331 DEFINE ld_t1,a2,8 03338600
    332 DEFINE ld_t1,a2,16 03330601
    333 DEFINE ld_t1,a3,0 03B30600
    334 DEFINE ld_t1,a3,8 03B38600
    335 DEFINE ld_t1,t0,0 03B30200
    336 DEFINE ld_t1,t0,16 03B30201
    337 DEFINE ld_t1,t1,0 03330300
    338 DEFINE ld_t1,t1,16 03330301
    339 DEFINE ld_t1,sp,8 03338101
    340 DEFINE ld_t1,sp,32 03330103
    341 DEFINE ld_t1,sp,48 03330104
    342 DEFINE ld_t2,a0,0 83330500
    343 DEFINE ld_t2,a1,0 83B30500
    344 DEFINE ld_t2,a3,0 83B30600
    345 DEFINE ld_t2,a3,16 83B30601
    346 DEFINE ld_t2,t0,0 83B30200
    347 DEFINE ld_t2,t0,8 83B38200
    348 DEFINE ld_t2,t0,24 83B38201
    349 DEFINE ld_t2,t1,0 83330300
    350 DEFINE ld_t2,t1,8 83338300
    351 DEFINE ld_t2,t1,16 83330301
    352 DEFINE ld_t2,t2,0 83B30300
    353 DEFINE ld_t2,sp,16 83330102
    354 DEFINE st_a0,a1,0 23B0A500
    355 DEFINE st_a0,a2,0 2330A600
    356 DEFINE st_a0,a2,8 2334A600
    357 DEFINE st_a0,a2,16 2338A600
    358 DEFINE st_a0,a2,24 233CA600
    359 DEFINE st_a0,a3,0 23B0A600
    360 DEFINE st_a0,a3,8 23B4A600
    361 DEFINE st_a0,a3,16 23B8A600
    362 DEFINE st_a0,t0,0 23B0A200
    363 DEFINE st_a0,t0,8 23B4A200
    364 DEFINE st_a0,t1,0 2330A300
    365 DEFINE st_a0,t2,0 23B0A300
    366 DEFINE st_a0,t2,8 23B4A300
    367 DEFINE st_a0,t2,16 23B8A300
    368 DEFINE st_a0,sp,0 2338A100
    369 DEFINE st_a0,sp,16 2330A102
    370 DEFINE st_a1,a0,0 2330B500
    371 DEFINE st_a1,a2,0 2330B600
    372 DEFINE st_a1,a2,16 2338B600
    373 DEFINE st_a1,a2,24 233CB600
    374 DEFINE st_a1,a3,0 23B0B600
    375 DEFINE st_a1,a3,8 23B4B600
    376 DEFINE st_a1,t0,0 23B0B200
    377 DEFINE st_a1,t0,8 23B4B200
    378 DEFINE st_a1,t0,16 23B8B200
    379 DEFINE st_a1,t0,24 23BCB200
    380 DEFINE st_a1,t1,0 2330B300
    381 DEFINE st_a1,t1,8 2334B300
    382 DEFINE st_a1,t1,16 2338B300
    383 DEFINE st_a1,t1,24 233CB300
    384 DEFINE st_a1,t2,16 23B8B300
    385 DEFINE st_a1,sp,8 233CB100
    386 DEFINE st_a1,sp,16 2330B102
    387 DEFINE st_a2,a0,0 2330C500
    388 DEFINE st_a2,a1,0 23B0C500
    389 DEFINE st_a2,a3,0 23B0C600
    390 DEFINE st_a2,a3,16 23B8C600
    391 DEFINE st_a2,a3,24 23BCC600
    392 DEFINE st_a2,a3,32 23B0C602
    393 DEFINE st_a2,t0,0 23B0C200
    394 DEFINE st_a2,t0,16 23B8C200
    395 DEFINE st_a2,t1,0 2330C300
    396 DEFINE st_a2,t2,0 23B0C300
    397 DEFINE st_a3,a0,0 2330D500
    398 DEFINE st_a3,a1,0 23B0D500
    399 DEFINE st_a3,a2,0 2330D600
    400 DEFINE st_a3,t0,24 23BCD200
    401 DEFINE st_a3,t1,0 2330D300
    402 DEFINE st_a3,t1,8 2334D300
    403 DEFINE st_a3,t2,0 23B0D300
    404 DEFINE st_a3,t2,8 23B4D300
    405 DEFINE st_a3,t2,16 23B8D300
    406 DEFINE st_a3,t2,24 23BCD300
    407 DEFINE st_t0,a0,0 23305500
    408 DEFINE st_t0,a0,8 23345500
    409 DEFINE st_t0,a0,16 23385500
    410 DEFINE st_t0,a0,24 233C5500
    411 DEFINE st_t0,a1,0 23B05500
    412 DEFINE st_t0,a1,8 23B45500
    413 DEFINE st_t0,a1,16 23B85500
    414 DEFINE st_t0,a1,24 23BC5500
    415 DEFINE st_t0,a1,32 23B05502
    416 DEFINE st_t0,a1,40 23B45502
    417 DEFINE st_t0,a1,48 23B85502
    418 DEFINE st_t0,a1,56 23BC5502
    419 DEFINE st_t0,a1,64 23B05504
    420 DEFINE st_t0,a2,0 23305600
    421 DEFINE st_t0,a3,0 23B05600
    422 DEFINE st_t0,t1,0 23305300
    423 DEFINE st_t0,t2,0 23B05300
    424 DEFINE st_t0,sp,0 23385100
    425 DEFINE st_t0,sp,8 233C5100
    426 DEFINE st_t0,sp,16 23305102
    427 DEFINE st_t0,sp,24 23345102
    428 DEFINE st_t0,sp,32 23385102
    429 DEFINE st_t0,sp,40 233C5102
    430 DEFINE st_t0,sp,48 23305104
    431 DEFINE st_t1,a0,0 23306500
    432 DEFINE st_t1,a0,24 233C6500
    433 DEFINE st_t1,a0,56 233C6502
    434 DEFINE st_t1,a1,0 23B06500
    435 DEFINE st_t1,a2,0 23306600
    436 DEFINE st_t1,a3,0 23B06600
    437 DEFINE st_t1,a3,8 23B46600
    438 DEFINE st_t1,a3,16 23B86600
    439 DEFINE st_t1,a3,24 23BC6600
    440 DEFINE st_t1,t0,0 23B06200
    441 DEFINE st_t2,a0,0 23307500
    442 DEFINE st_t2,a1,0 23B07500
    443 DEFINE st_t2,a2,0 23307600
    444 DEFINE st_t2,a3,0 23B07600
    445 DEFINE st_t2,t0,0 23B07200
    446 DEFINE st_t2,t1,0 23307300
    447 DEFINE lb_a0,a0,0 03450500
    448 DEFINE lb_a0,a1,0 03C50500
    449 DEFINE lb_a0,a2,0 03450600
    450 DEFINE lb_a0,t0,0 03C50200
    451 DEFINE lb_a1,a1,0 83C50500
    452 DEFINE lb_a1,a2,0 83450600
    453 DEFINE lb_a1,a2,1 83451600
    454 DEFINE lb_a2,a1,0 03C60500
    455 DEFINE lb_a2,a2,0 03460600
    456 DEFINE lb_a2,t0,0 03C60200
    457 DEFINE lb_a3,a0,0 83460500
    458 DEFINE lb_a3,a1,0 83C60500
    459 DEFINE lb_a3,a2,0 83460600
    460 DEFINE lb_a3,a3,0 83C60600
    461 DEFINE lb_a3,t2,0 83C60300
    462 DEFINE lb_a3,t2,1 83C61300
    463 DEFINE lb_t0,a0,0 83420500
    464 DEFINE lb_t0,a0,1 83421500
    465 DEFINE lb_t0,t0,0 83C20200
    466 DEFINE lb_t1,t1,0 03430300
    467 DEFINE lb_t2,a2,0 83430600
    468 DEFINE lb_t2,t0,0 83C30200
    469 DEFINE lb_t2,t2,0 83C30300
    470 DEFINE sb_a0,a1,0 2380A500
    471 DEFINE sb_a0,a2,0 2300A600
    472 DEFINE sb_a0,a3,0 2380A600
    473 DEFINE sb_a0,t2,0 2380A300
    474 DEFINE sb_a1,a2,0 2300B600
    475 DEFINE sb_a1,t0,0 2380B200
    476 DEFINE sb_a2,a1,0 2380C500
    477 DEFINE sb_a2,a3,0 2380C600
    478 DEFINE sb_a2,t2,0 2380C300
    479 DEFINE sb_a3,a0,0 2300D500
    480 DEFINE sb_a3,a1,0 2380D500
    481 DEFINE sb_a3,a2,0 2300D600
    482 DEFINE sb_a3,t2,0 2380D300
    483 DEFINE sb_t0,a3,0 23805600
    484 DEFINE sb_t1,a0,0 23006500
    485 DEFINE sb_t1,a2,0 23006600
    486 DEFINE sb_t2,a1,0 23807500
    487 DEFINE sb_t2,a2,0 23007600
    488 
    489 ## ---- ABI Access
    490 
    491 ## ---- Branches
    492 DEFINE b 67800F00
    493 DEFINE beq_a0,a1 6314B50067800F00
    494 DEFINE beq_a0,t0 6314550067800F00
    495 DEFINE beq_a0,t1 6314650067800F00
    496 DEFINE beq_a1,a0 6394A50067800F00
    497 DEFINE beq_a1,a2 6394C50067800F00
    498 DEFINE beq_a2,a1 6314B60067800F00
    499 DEFINE beq_a2,a3 6314D60067800F00
    500 DEFINE beq_a3,a0 6394A60067800F00
    501 DEFINE beq_a3,a1 6394B60067800F00
    502 DEFINE beq_a3,a2 6394C60067800F00
    503 DEFINE beq_a3,t0 6394560067800F00
    504 DEFINE beq_a3,t1 6394660067800F00
    505 DEFINE beq_t0,a0 6394A20067800F00
    506 DEFINE beq_t0,a1 6394B20067800F00
    507 DEFINE beq_t0,a2 6394C20067800F00
    508 DEFINE beq_t0,t1 6394620067800F00
    509 DEFINE beq_t0,t2 6394720067800F00
    510 DEFINE beq_t1,a0 6314A30067800F00
    511 DEFINE beq_t1,a1 6314B30067800F00
    512 DEFINE beq_t1,a2 6314C30067800F00
    513 DEFINE beq_t1,t0 6314530067800F00
    514 DEFINE beq_t1,t2 6314730067800F00
    515 DEFINE beq_t2,a2 6394C30067800F00
    516 DEFINE beq_t2,a3 6394D30067800F00
    517 DEFINE beq_t2,t1 6394630067800F00
    518 DEFINE bne_a0,a1 6304B50067800F00
    519 DEFINE bne_a0,t0 6304550067800F00
    520 DEFINE bne_a0,t1 6304650067800F00
    521 DEFINE bne_a1,a0 6384A50067800F00
    522 DEFINE bne_a1,a2 6384C50067800F00
    523 DEFINE bne_a1,t0 6384550067800F00
    524 DEFINE bne_a2,a1 6304B60067800F00
    525 DEFINE bne_a2,a3 6304D60067800F00
    526 DEFINE bne_a3,a0 6384A60067800F00
    527 DEFINE bne_a3,a1 6384B60067800F00
    528 DEFINE bne_a3,a2 6384C60067800F00
    529 DEFINE bne_a3,t0 6384560067800F00
    530 DEFINE bne_t0,a0 6384A20067800F00
    531 DEFINE bne_t0,a2 6384C20067800F00
    532 DEFINE bne_t0,t1 6384620067800F00
    533 DEFINE bne_t0,t2 6384720067800F00
    534 DEFINE bne_t1,a0 6304A30067800F00
    535 DEFINE bne_t1,a2 6304C30067800F00
    536 DEFINE bne_t1,a3 6304D30067800F00
    537 DEFINE bne_t1,t2 6304730067800F00
    538 DEFINE bne_t2,a2 6384C30067800F00
    539 DEFINE bne_t2,a3 6384D30067800F00
    540 DEFINE bne_t2,t0 6384530067800F00
    541 DEFINE blt_a0,a1 6354B50067800F00
    542 DEFINE blt_a0,a2 6354C50067800F00
    543 DEFINE blt_a0,t1 6354650067800F00
    544 DEFINE blt_a1,a0 63D4A50067800F00
    545 DEFINE blt_a1,a2 63D4C50067800F00
    546 DEFINE blt_a1,t0 63D4550067800F00
    547 DEFINE blt_a1,t2 63D4750067800F00
    548 DEFINE blt_a2,a1 6354B60067800F00
    549 DEFINE blt_a2,a3 6354D60067800F00
    550 DEFINE blt_a2,t0 6354560067800F00
    551 DEFINE blt_a2,t1 6354660067800F00
    552 DEFINE blt_a3,a2 63D4C60067800F00
    553 DEFINE blt_a3,t2 63D4760067800F00
    554 DEFINE blt_t0,a0 63D4A20067800F00
    555 DEFINE blt_t0,a2 63D4C20067800F00
    556 DEFINE blt_t0,t1 63D4620067800F00
    557 DEFINE blt_t1,a0 6354A30067800F00
    558 DEFINE blt_t1,a1 6354B30067800F00
    559 DEFINE blt_t1,t0 6354530067800F00
    560 DEFINE blt_t2,a3 63D4D30067800F00
    561 DEFINE blt_t2,t1 63D4630067800F00
    562 DEFINE beqz_a0 6314050067800F00
    563 DEFINE beqz_a1 6394050067800F00
    564 DEFINE beqz_a2 6314060067800F00
    565 DEFINE beqz_a3 6394060067800F00
    566 DEFINE beqz_t0 6394020067800F00
    567 DEFINE beqz_t1 6314030067800F00
    568 DEFINE beqz_t2 6394030067800F00
    569 DEFINE bnez_a0 6304050067800F00
    570 DEFINE bnez_a1 6384050067800F00
    571 DEFINE bnez_a2 6304060067800F00
    572 DEFINE bnez_a3 6384060067800F00
    573 DEFINE bnez_t0 6384020067800F00
    574 DEFINE bnez_t1 6304030067800F00
    575 DEFINE bnez_t2 6384030067800F00
    576 DEFINE bltz_a0 6354050067800F00
    577 DEFINE bltz_t0 63D4020067800F00
    578 
    579 ## ---- Calls And Returns
    580 DEFINE call E7800F00
    581 DEFINE ret 67800000
    582 DEFINE eret 83300100033481001301040067800000
    583 DEFINE tail 83300100033481001301040067800F00
    584 
    585 ## ---- Frame Management
    586 DEFINE enter_0 130101FF233011001304010123348100
    587 DEFINE enter_8 130101FE233011001304010223348100
    588 DEFINE enter_16 130101FE233011001304010223348100
    589 DEFINE enter_40 130101FC233011001304010423348100
    590 DEFINE enter_56 130101FB233011001304010523348100
    591 
    592 ## ---- System
    593 DEFINE syscall 938E0500130E0600138806009308050013850E0093050E00130608009386020013870400930709007300000093850E0013060E0093060800
    594 DEFINE sys_exit 5D00000000000000
    595 DEFINE sys_openat 3800000000000000
    596 DEFINE sys_read 3F00000000000000
    597 DEFINE sys_write 4000000000000000
    598 
    599 ## ---- Program Entry
    600 ## Backend-owned :_start stub per docs/P1.md §Program Entry.
    601 ## Calls p1_main under the one-word direct-result convention
    602 ## (a0=argc, a1=argv) and sys_exits its return value.
    603 :_start
    604 '03350100'
    605 '93058100'
    606 '970F000083EFCF006F008000'
    607 &p1_main
    608 'E7800F00'
    609 '9308D005'
    610 '73000000'