boot2

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

P1-aarch64.M1 (15743B)


      1 ## aarch64.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 4000005803000014
      9 DEFINE li_a1 4100005803000014
     10 DEFINE li_a2 4200005803000014
     11 DEFINE li_a3 4300005803000014
     12 DEFINE li_t0 4900005803000014
     13 DEFINE li_t1 4A00005803000014
     14 DEFINE li_t2 4B00005803000014
     15 DEFINE la_a0 4000001802000014
     16 DEFINE la_a1 4100001802000014
     17 DEFINE la_a2 4200001802000014
     18 DEFINE la_a3 4300001802000014
     19 DEFINE la_t0 4900001802000014
     20 DEFINE la_t1 4A00001802000014
     21 DEFINE la_t2 4B00001802000014
     22 DEFINE la_br 5100001802000014
     23 
     24 ## ---- Moves
     25 DEFINE mov_a0,a1 E00301AA
     26 DEFINE mov_a0,a3 E00303AA
     27 DEFINE mov_a0,t0 E00309AA
     28 DEFINE mov_a0,t1 E0030AAA
     29 DEFINE mov_a0,t2 E0030BAA
     30 DEFINE mov_a1,a0 E10300AA
     31 DEFINE mov_a1,t0 E10309AA
     32 DEFINE mov_a1,t1 E1030AAA
     33 DEFINE mov_a1,t2 E1030BAA
     34 DEFINE mov_a2,a1 E20301AA
     35 DEFINE mov_a2,t0 E20309AA
     36 DEFINE mov_a2,t1 E2030AAA
     37 DEFINE mov_a3,t0 E30309AA
     38 DEFINE mov_a3,t1 E3030AAA
     39 DEFINE mov_t0,a0 E90300AA
     40 DEFINE mov_t1,a0 EA0300AA
     41 DEFINE mov_t2,a0 EB0300AA
     42 DEFINE mov_t2,t1 EB030AAA
     43 
     44 ## ---- Register Arithmetic
     45 DEFINE add_a0,a0,a1 0000018B
     46 DEFINE add_a0,a0,a2 0000028B
     47 DEFINE add_a0,a0,t0 0000098B
     48 DEFINE add_a0,a0,t1 00000A8B
     49 DEFINE add_a0,a0,t2 00000B8B
     50 DEFINE add_a0,a2,a0 4000008B
     51 DEFINE add_a0,a2,t2 40000B8B
     52 DEFINE add_a0,t0,a3 2001038B
     53 DEFINE add_a0,t1,a0 4001008B
     54 DEFINE add_a0,t1,t2 40010B8B
     55 DEFINE add_a0,t2,a1 6001018B
     56 DEFINE add_a1,a0,a1 0100018B
     57 DEFINE add_a1,a1,a0 2100008B
     58 DEFINE add_a1,a1,a2 2100028B
     59 DEFINE add_a1,a1,a3 2100038B
     60 DEFINE add_a1,a1,t0 2100098B
     61 DEFINE add_a1,a1,t1 21000A8B
     62 DEFINE add_a1,a2,a1 4100018B
     63 DEFINE add_a1,a2,a3 4100038B
     64 DEFINE add_a1,a2,t0 4100098B
     65 DEFINE add_a1,a3,a1 6100018B
     66 DEFINE add_a1,t0,a0 2101008B
     67 DEFINE add_a1,t2,a1 6101018B
     68 DEFINE add_a1,t2,a3 6101038B
     69 DEFINE add_a1,t2,t1 61010A8B
     70 DEFINE add_a2,a1,a3 2200038B
     71 DEFINE add_a2,a1,t0 2200098B
     72 DEFINE add_a2,a2,a0 4200008B
     73 DEFINE add_a2,a2,a3 4200038B
     74 DEFINE add_a2,a2,t0 4200098B
     75 DEFINE add_a2,a2,t1 42000A8B
     76 DEFINE add_a2,a3,a2 6200028B
     77 DEFINE add_a2,t0,t1 22010A8B
     78 DEFINE add_a2,t1,t2 42010B8B
     79 DEFINE add_a2,t2,a0 6201008B
     80 DEFINE add_a2,t2,a2 6201028B
     81 DEFINE add_a3,a0,a2 0300028B
     82 DEFINE add_a3,a1,t1 23000A8B
     83 DEFINE add_a3,a1,t2 23000B8B
     84 DEFINE add_a3,a3,a1 6300018B
     85 DEFINE add_a3,a3,a2 6300028B
     86 DEFINE add_a3,a3,t0 6300098B
     87 DEFINE add_a3,a3,t1 63000A8B
     88 DEFINE add_a3,a3,t2 63000B8B
     89 DEFINE add_a3,t0,t2 23010B8B
     90 DEFINE add_a3,t1,a2 4301028B
     91 DEFINE add_t0,a1,t2 29000B8B
     92 DEFINE add_t0,a3,a1 6900018B
     93 DEFINE add_t0,t0,a0 2901008B
     94 DEFINE add_t0,t0,a1 2901018B
     95 DEFINE add_t0,t0,a3 2901038B
     96 DEFINE add_t0,t0,t1 29010A8B
     97 DEFINE add_t1,a0,t0 0A00098B
     98 DEFINE add_t1,t0,t1 2A010A8B
     99 DEFINE add_t1,t1,a0 4A01008B
    100 DEFINE add_t1,t1,a1 4A01018B
    101 DEFINE add_t1,t1,a2 4A01028B
    102 DEFINE add_t1,t1,t2 4A010B8B
    103 DEFINE add_t2,a0,t0 0B00098B
    104 DEFINE add_t2,a0,t1 0B000A8B
    105 DEFINE add_t2,a1,a3 2B00038B
    106 DEFINE add_t2,a1,t2 2B000B8B
    107 DEFINE add_t2,a2,t1 4B000A8B
    108 DEFINE add_t2,t0,t1 2B010A8B
    109 DEFINE add_t2,t1,t2 4B010B8B
    110 DEFINE add_t2,t2,a0 6B01008B
    111 DEFINE add_t2,t2,a3 6B01038B
    112 DEFINE sub_a0,a0,t1 00000ACB
    113 DEFINE sub_a0,a1,t2 20000BCB
    114 DEFINE sub_a0,a3,a0 600000CB
    115 DEFINE sub_a1,t0,a0 210100CB
    116 DEFINE sub_a2,a1,a0 220000CB
    117 DEFINE sub_a2,a2,a2 420002CB
    118 DEFINE sub_a2,a2,t0 420009CB
    119 DEFINE sub_a2,t0,t1 22010ACB
    120 DEFINE sub_a2,t2,a3 620103CB
    121 DEFINE sub_a3,a3,a1 630001CB
    122 DEFINE sub_a3,a3,a2 630002CB
    123 DEFINE sub_a3,t0,a2 230102CB
    124 DEFINE sub_a3,t0,a3 230103CB
    125 DEFINE sub_a3,t0,t1 23010ACB
    126 DEFINE sub_a3,t1,a2 430102CB
    127 DEFINE sub_a3,t1,t0 430109CB
    128 DEFINE sub_a3,t2,t1 63010ACB
    129 DEFINE sub_t0,a1,a2 290002CB
    130 DEFINE sub_t0,t0,a0 290100CB
    131 DEFINE sub_t0,t0,a1 290101CB
    132 DEFINE sub_t0,t0,t1 29010ACB
    133 DEFINE sub_t2,t1,t0 4B0109CB
    134 DEFINE and_a3,a3,a2 6300028A
    135 DEFINE or_a0,a0,a1 000001AA
    136 DEFINE or_a0,a0,a2 000002AA
    137 DEFINE or_a3,a3,a2 630002AA
    138 DEFINE xor_a2,a2,a3 420003CA
    139 DEFINE xor_a3,a3,a2 630002CA
    140 DEFINE shl_a2,a2,a3 4220C39A
    141 DEFINE sar_a2,a2,a3 4228C39A
    142 DEFINE mul_a0,a0,a3 007C039B
    143 DEFINE mul_a0,t1,t2 407D0B9B
    144 DEFINE mul_a1,a1,a3 217C039B
    145 DEFINE mul_a2,a2,t0 427C099B
    146 DEFINE mul_a3,a3,a2 637C029B
    147 DEFINE mul_t0,t0,a1 297D019B
    148 DEFINE mul_t0,t0,a2 297D029B
    149 DEFINE mul_t1,t1,a3 4A7D039B
    150 DEFINE mul_t2,t0,a2 2B7D029B
    151 DEFINE div_a0,a0,a1 000CC19A
    152 DEFINE div_a2,a2,a3 420CC39A
    153 DEFINE rem_a2,a0,a1 100CC19A0282019B
    154 DEFINE rem_a2,a2,a3 500CC39A028A039B
    155 
    156 ## ---- Immediate Arithmetic
    157 DEFINE addi_a0,a0,neg1 000400D1
    158 DEFINE addi_a0,a0,1 00040091
    159 DEFINE addi_a0,a0,24 00600091
    160 DEFINE addi_a1,a1,neg48 21C000D1
    161 DEFINE addi_a1,a1,neg24 216000D1
    162 DEFINE addi_a1,a1,neg2 210800D1
    163 DEFINE addi_a1,a1,1 21040091
    164 DEFINE addi_a1,a1,2 21080091
    165 DEFINE addi_a1,a1,3 210C0091
    166 DEFINE addi_a1,t0,1 21050091
    167 DEFINE addi_a2,a0,1 02040091
    168 DEFINE addi_a2,a2,neg1 420400D1
    169 DEFINE addi_a2,a2,1 42040091
    170 DEFINE addi_a2,a2,2 42080091
    171 DEFINE addi_a2,a2,3 420C0091
    172 DEFINE addi_a2,a2,8 42200091
    173 DEFINE addi_a2,a2,24 42600091
    174 DEFINE addi_a2,a2,48 42C00091
    175 DEFINE addi_a2,t0,1 22050091
    176 DEFINE addi_a2,t2,neg48 62C100D1
    177 DEFINE addi_a3,a3,1 63040091
    178 DEFINE addi_a3,a3,24 63600091
    179 DEFINE addi_t0,a1,neg24 296000D1
    180 DEFINE addi_t0,a1,24 29600091
    181 DEFINE addi_t0,t0,neg1 290500D1
    182 DEFINE addi_t0,t0,1 29050091
    183 DEFINE addi_t0,t0,2 29090091
    184 DEFINE addi_t0,t0,24 29610091
    185 DEFINE addi_t0,t0,48 29C10091
    186 DEFINE addi_t1,t0,24 2A610091
    187 DEFINE addi_t1,t1,neg24 4A6100D1
    188 DEFINE addi_t1,t1,neg1 4A0500D1
    189 DEFINE addi_t1,t1,1 4A050091
    190 DEFINE addi_t1,t1,16 4A410091
    191 DEFINE addi_t1,t1,24 4A610091
    192 DEFINE addi_t2,a1,neg24 2B6000D1
    193 DEFINE addi_t2,t0,neg24 2B6100D1
    194 DEFINE addi_t2,t0,24 2B610091
    195 DEFINE addi_t2,t1,2 4B090091
    196 DEFINE addi_t2,t2,neg1 6B0500D1
    197 DEFINE addi_t2,t2,1 6B050091
    198 DEFINE addi_t2,t2,24 6B610091
    199 DEFINE andi_a2,a0,15 F00180D20200108A
    200 DEFINE andi_a2,a1,15 F00180D22200108A
    201 DEFINE andi_a2,a2,15 F00180D24200108A
    202 DEFINE andi_a3,a3,15 F00180D26300108A
    203 DEFINE andi_a3,t2,255 F01F80D26301108A
    204 DEFINE shli_a0,a0,3 00F07DD3
    205 DEFINE shli_a0,a0,4 00EC7CD3
    206 DEFINE shli_a1,a1,1 21F87FD3
    207 DEFINE shli_a2,t1,3 42F17DD3
    208 DEFINE shli_a3,t0,1 23F97FD3
    209 DEFINE shli_a3,t0,4 23ED7CD3
    210 DEFINE shli_t1,a2,3 4AF07DD3
    211 DEFINE shli_t2,t0,3 2BF17DD3
    212 DEFINE shri_a0,a0,6 00FC46D3
    213 DEFINE shri_a1,a1,6 21FC46D3
    214 DEFINE shri_a2,a3,4 62FC44D3
    215 DEFINE shri_t2,t2,8 6BFD48D3
    216 
    217 ## ---- Memory
    218 DEFINE ld_a0,a0,0 000040F9
    219 DEFINE ld_a0,a0,8 000440F9
    220 DEFINE ld_a0,a0,16 000840F9
    221 DEFINE ld_a0,a1,0 200040F9
    222 DEFINE ld_a0,a2,0 400040F9
    223 DEFINE ld_a0,a3,0 600040F9
    224 DEFINE ld_a0,a3,8 600440F9
    225 DEFINE ld_a0,a3,16 600840F9
    226 DEFINE ld_a0,t0,0 200140F9
    227 DEFINE ld_a0,sp,0 E00B40F9
    228 DEFINE ld_a0,sp,8 E00F40F9
    229 DEFINE ld_a0,sp,24 E01740F9
    230 DEFINE ld_a1,a0,0 010040F9
    231 DEFINE ld_a1,a0,8 010440F9
    232 DEFINE ld_a1,a0,24 010C40F9
    233 DEFINE ld_a1,a1,0 210040F9
    234 DEFINE ld_a1,a2,8 410440F9
    235 DEFINE ld_a1,a3,8 610440F9
    236 DEFINE ld_a1,t0,0 210140F9
    237 DEFINE ld_a1,t0,8 210540F9
    238 DEFINE ld_a1,t0,16 210940F9
    239 DEFINE ld_a1,t1,0 410140F9
    240 DEFINE ld_a1,t2,16 610940F9
    241 DEFINE ld_a1,sp,8 E10F40F9
    242 DEFINE ld_a2,a0,0 020040F9
    243 DEFINE ld_a2,a0,8 020440F9
    244 DEFINE ld_a2,a0,16 020840F9
    245 DEFINE ld_a2,a1,0 220040F9
    246 DEFINE ld_a2,a1,8 220440F9
    247 DEFINE ld_a2,a2,0 420040F9
    248 DEFINE ld_a2,t0,0 220140F9
    249 DEFINE ld_a2,t0,8 220540F9
    250 DEFINE ld_a2,t0,16 220940F9
    251 DEFINE ld_a2,t1,neg24 42815EF8
    252 DEFINE ld_a2,t1,0 420140F9
    253 DEFINE ld_a2,t2,0 620140F9
    254 DEFINE ld_a2,sp,16 E21340F9
    255 DEFINE ld_a3,a0,0 030040F9
    256 DEFINE ld_a3,a0,8 030440F9
    257 DEFINE ld_a3,a0,16 030840F9
    258 DEFINE ld_a3,a1,0 230040F9
    259 DEFINE ld_a3,a1,8 230440F9
    260 DEFINE ld_a3,a2,0 430040F9
    261 DEFINE ld_a3,a3,0 630040F9
    262 DEFINE ld_a3,t0,0 230140F9
    263 DEFINE ld_a3,t0,8 230540F9
    264 DEFINE ld_a3,t0,16 230940F9
    265 DEFINE ld_a3,t1,8 430540F9
    266 DEFINE ld_t0,a0,0 090040F9
    267 DEFINE ld_t0,a0,8 090440F9
    268 DEFINE ld_t0,a0,16 090840F9
    269 DEFINE ld_t0,a1,0 290040F9
    270 DEFINE ld_t0,a1,8 290440F9
    271 DEFINE ld_t0,a1,16 290840F9
    272 DEFINE ld_t0,a1,24 290C40F9
    273 DEFINE ld_t0,a1,32 291040F9
    274 DEFINE ld_t0,a2,0 490040F9
    275 DEFINE ld_t0,a3,0 690040F9
    276 DEFINE ld_t0,t0,0 290140F9
    277 DEFINE ld_t0,t1,8 490540F9
    278 DEFINE ld_t0,t1,16 490940F9
    279 DEFINE ld_t0,t2,16 690940F9
    280 DEFINE ld_t0,sp,0 E90B40F9
    281 DEFINE ld_t0,sp,8 E90F40F9
    282 DEFINE ld_t0,sp,16 E91340F9
    283 DEFINE ld_t0,sp,24 E91740F9
    284 DEFINE ld_t0,sp,32 E91B40F9
    285 DEFINE ld_t0,sp,40 E91F40F9
    286 DEFINE ld_t1,a0,0 0A0040F9
    287 DEFINE ld_t1,a0,8 0A0440F9
    288 DEFINE ld_t1,a0,16 0A0840F9
    289 DEFINE ld_t1,a1,0 2A0040F9
    290 DEFINE ld_t1,a1,8 2A0440F9
    291 DEFINE ld_t1,a1,16 2A0840F9
    292 DEFINE ld_t1,a2,8 4A0440F9
    293 DEFINE ld_t1,a2,16 4A0840F9
    294 DEFINE ld_t1,a3,0 6A0040F9
    295 DEFINE ld_t1,a3,8 6A0440F9
    296 DEFINE ld_t1,t0,0 2A0140F9
    297 DEFINE ld_t1,t0,16 2A0940F9
    298 DEFINE ld_t1,t1,0 4A0140F9
    299 DEFINE ld_t1,t1,16 4A0940F9
    300 DEFINE ld_t1,sp,8 EA0F40F9
    301 DEFINE ld_t1,sp,32 EA1B40F9
    302 DEFINE ld_t1,sp,48 EA2340F9
    303 DEFINE ld_t2,a0,0 0B0040F9
    304 DEFINE ld_t2,a1,0 2B0040F9
    305 DEFINE ld_t2,a3,16 6B0840F9
    306 DEFINE ld_t2,t0,0 2B0140F9
    307 DEFINE ld_t2,t1,0 4B0140F9
    308 DEFINE ld_t2,t2,0 6B0140F9
    309 DEFINE ld_t2,sp,16 EB1340F9
    310 DEFINE st_a0,a1,0 200000F9
    311 DEFINE st_a0,a2,0 400000F9
    312 DEFINE st_a0,a2,8 400400F9
    313 DEFINE st_a0,a2,16 400800F9
    314 DEFINE st_a0,a3,0 600000F9
    315 DEFINE st_a0,a3,8 600400F9
    316 DEFINE st_a0,a3,16 600800F9
    317 DEFINE st_a0,t0,0 200100F9
    318 DEFINE st_a0,t0,8 200500F9
    319 DEFINE st_a0,t2,0 600100F9
    320 DEFINE st_a0,t2,8 600500F9
    321 DEFINE st_a0,t2,16 600900F9
    322 DEFINE st_a0,sp,0 E00B00F9
    323 DEFINE st_a0,sp,16 E01300F9
    324 DEFINE st_a1,a0,0 010000F9
    325 DEFINE st_a1,a2,0 410000F9
    326 DEFINE st_a1,a2,16 410800F9
    327 DEFINE st_a1,a3,0 610000F9
    328 DEFINE st_a1,a3,8 610400F9
    329 DEFINE st_a1,t0,0 210100F9
    330 DEFINE st_a1,t0,8 210500F9
    331 DEFINE st_a1,t0,16 210900F9
    332 DEFINE st_a1,t1,0 410100F9
    333 DEFINE st_a1,t1,8 410500F9
    334 DEFINE st_a1,t1,16 410900F9
    335 DEFINE st_a1,t2,16 610900F9
    336 DEFINE st_a1,sp,8 E10F00F9
    337 DEFINE st_a1,sp,16 E11300F9
    338 DEFINE st_a2,a0,0 020000F9
    339 DEFINE st_a2,a1,0 220000F9
    340 DEFINE st_a2,a3,0 620000F9
    341 DEFINE st_a2,a3,16 620800F9
    342 DEFINE st_a2,a3,32 621000F9
    343 DEFINE st_a2,t0,0 220100F9
    344 DEFINE st_a2,t0,16 220900F9
    345 DEFINE st_a2,t1,0 420100F9
    346 DEFINE st_a2,t2,0 620100F9
    347 DEFINE st_a3,a0,0 030000F9
    348 DEFINE st_a3,a2,0 430000F9
    349 DEFINE st_a3,t0,0 230100F9
    350 DEFINE st_a3,t1,8 430500F9
    351 DEFINE st_a3,t2,0 630100F9
    352 DEFINE st_a3,t2,8 630500F9
    353 DEFINE st_a3,t2,16 630900F9
    354 DEFINE st_t0,a0,0 090000F9
    355 DEFINE st_t0,a0,16 090800F9
    356 DEFINE st_t0,a0,24 090C00F9
    357 DEFINE st_t0,a1,0 290000F9
    358 DEFINE st_t0,a2,0 490000F9
    359 DEFINE st_t0,a3,0 690000F9
    360 DEFINE st_t0,a3,8 690400F9
    361 DEFINE st_t0,t1,0 490100F9
    362 DEFINE st_t0,sp,0 E90B00F9
    363 DEFINE st_t0,sp,8 E90F00F9
    364 DEFINE st_t0,sp,16 E91300F9
    365 DEFINE st_t0,sp,24 E91700F9
    366 DEFINE st_t0,sp,32 E91B00F9
    367 DEFINE st_t0,sp,40 E91F00F9
    368 DEFINE st_t0,sp,48 E92300F9
    369 DEFINE st_t1,a0,0 0A0000F9
    370 DEFINE st_t1,a0,24 0A0C00F9
    371 DEFINE st_t1,a1,0 2A0000F9
    372 DEFINE st_t1,a3,0 6A0000F9
    373 DEFINE st_t1,a3,8 6A0400F9
    374 DEFINE st_t1,a3,16 6A0800F9
    375 DEFINE st_t1,a3,24 6A0C00F9
    376 DEFINE st_t1,t0,0 2A0100F9
    377 DEFINE st_t2,a0,0 0B0000F9
    378 DEFINE st_t2,a1,0 2B0000F9
    379 DEFINE st_t2,a2,0 4B0000F9
    380 DEFINE st_t2,a3,0 6B0000F9
    381 DEFINE st_t2,t0,0 2B0100F9
    382 DEFINE st_t2,t1,0 4B0100F9
    383 DEFINE lb_a0,a0,0 00004039
    384 DEFINE lb_a0,t0,0 20014039
    385 DEFINE lb_a1,a1,0 21004039
    386 DEFINE lb_a1,a3,0 61004039
    387 DEFINE lb_a1,a3,1 61044039
    388 DEFINE lb_a1,t0,0 21014039
    389 DEFINE lb_a1,t0,1 21054039
    390 DEFINE lb_a2,a1,0 22004039
    391 DEFINE lb_a2,a2,0 42004039
    392 DEFINE lb_a2,t0,0 22014039
    393 DEFINE lb_a3,a1,0 23004039
    394 DEFINE lb_a3,a2,0 43004039
    395 DEFINE lb_a3,a3,0 63004039
    396 DEFINE lb_t0,a3,0 69004039
    397 DEFINE lb_t0,a3,1 69044039
    398 DEFINE lb_t0,a3,2 69084039
    399 DEFINE lb_t0,t0,0 29014039
    400 DEFINE lb_t1,t1,0 4A014039
    401 DEFINE lb_t2,t0,0 2B014039
    402 DEFINE lb_t2,t2,0 6B014039
    403 DEFINE sb_a0,a1,0 20000039
    404 DEFINE sb_a0,a2,0 40000039
    405 DEFINE sb_a0,t2,0 60010039
    406 DEFINE sb_a1,a2,0 41000039
    407 DEFINE sb_a2,a0,0 02000039
    408 DEFINE sb_a2,a1,0 22000039
    409 DEFINE sb_a2,a3,0 62000039
    410 DEFINE sb_a2,t2,0 62010039
    411 DEFINE sb_a3,a0,0 03000039
    412 DEFINE sb_a3,a1,0 23000039
    413 DEFINE sb_a3,a2,0 43000039
    414 DEFINE sb_a3,t2,0 63010039
    415 DEFINE sb_t1,a0,0 0A000039
    416 DEFINE sb_t1,a2,0 4A000039
    417 DEFINE sb_t2,a0,0 0B000039
    418 DEFINE sb_t2,a1,0 2B000039
    419 DEFINE sb_t2,a2,0 4B000039
    420 
    421 ## ---- ABI Access
    422 
    423 ## ---- Branches
    424 DEFINE b 20021FD6
    425 DEFINE beq_a0,a1 1F0001EB4100005420021FD6
    426 DEFINE beq_a0,t0 1F0009EB4100005420021FD6
    427 DEFINE beq_a0,t1 1F000AEB4100005420021FD6
    428 DEFINE beq_a1,a2 3F0002EB4100005420021FD6
    429 DEFINE beq_a2,a1 5F0001EB4100005420021FD6
    430 DEFINE beq_a2,a3 5F0003EB4100005420021FD6
    431 DEFINE beq_a3,a2 7F0002EB4100005420021FD6
    432 DEFINE beq_a3,t0 7F0009EB4100005420021FD6
    433 DEFINE beq_a3,t1 7F000AEB4100005420021FD6
    434 DEFINE beq_t0,a0 3F0100EB4100005420021FD6
    435 DEFINE beq_t0,a1 3F0101EB4100005420021FD6
    436 DEFINE beq_t0,a2 3F0102EB4100005420021FD6
    437 DEFINE beq_t0,t1 3F010AEB4100005420021FD6
    438 DEFINE beq_t0,t2 3F010BEB4100005420021FD6
    439 DEFINE beq_t1,a0 5F0100EB4100005420021FD6
    440 DEFINE beq_t1,a1 5F0101EB4100005420021FD6
    441 DEFINE beq_t1,a2 5F0102EB4100005420021FD6
    442 DEFINE beq_t1,t0 5F0109EB4100005420021FD6
    443 DEFINE beq_t1,t2 5F010BEB4100005420021FD6
    444 DEFINE beq_t2,a0 7F0100EB4100005420021FD6
    445 DEFINE beq_t2,a2 7F0102EB4100005420021FD6
    446 DEFINE beq_t2,a3 7F0103EB4100005420021FD6
    447 DEFINE beq_t2,t0 7F0109EB4100005420021FD6
    448 DEFINE beq_t2,t1 7F010AEB4100005420021FD6
    449 DEFINE bne_a0,t0 1F0009EB4000005420021FD6
    450 DEFINE bne_a1,a2 3F0002EB4000005420021FD6
    451 DEFINE bne_a1,t0 3F0009EB4000005420021FD6
    452 DEFINE bne_a2,a3 5F0003EB4000005420021FD6
    453 DEFINE bne_a3,a0 7F0000EB4000005420021FD6
    454 DEFINE bne_a3,a2 7F0002EB4000005420021FD6
    455 DEFINE bne_a3,t0 7F0009EB4000005420021FD6
    456 DEFINE bne_t0,t1 3F010AEB4000005420021FD6
    457 DEFINE bne_t0,t2 3F010BEB4000005420021FD6
    458 DEFINE bne_t1,a2 5F0102EB4000005420021FD6
    459 DEFINE bne_t1,a3 5F0103EB4000005420021FD6
    460 DEFINE bne_t1,t2 5F010BEB4000005420021FD6
    461 DEFINE bne_t2,a2 7F0102EB4000005420021FD6
    462 DEFINE bne_t2,a3 7F0103EB4000005420021FD6
    463 DEFINE bne_t2,t0 7F0109EB4000005420021FD6
    464 DEFINE blt_a0,a2 1F0002EB4A00005420021FD6
    465 DEFINE blt_a1,a0 3F0000EB4A00005420021FD6
    466 DEFINE blt_a1,a2 3F0002EB4A00005420021FD6
    467 DEFINE blt_a1,t2 3F000BEB4A00005420021FD6
    468 DEFINE blt_a2,a1 5F0001EB4A00005420021FD6
    469 DEFINE blt_a2,a3 5F0003EB4A00005420021FD6
    470 DEFINE blt_a2,t0 5F0009EB4A00005420021FD6
    471 DEFINE blt_a2,t1 5F000AEB4A00005420021FD6
    472 DEFINE blt_a2,t2 5F000BEB4A00005420021FD6
    473 DEFINE blt_a3,a2 7F0002EB4A00005420021FD6
    474 DEFINE blt_a3,t2 7F000BEB4A00005420021FD6
    475 DEFINE blt_t0,t1 3F010AEB4A00005420021FD6
    476 DEFINE blt_t0,t2 3F010BEB4A00005420021FD6
    477 DEFINE blt_t1,a1 5F0101EB4A00005420021FD6
    478 DEFINE blt_t1,t0 5F0109EB4A00005420021FD6
    479 DEFINE blt_t2,a3 7F0103EB4A00005420021FD6
    480 DEFINE blt_t2,t1 7F010AEB4A00005420021FD6
    481 DEFINE bltu_t0,t1 3F010AEB4200005420021FD6
    482 DEFINE beqz_a0 400000B520021FD6
    483 DEFINE beqz_a1 410000B520021FD6
    484 DEFINE beqz_a2 420000B520021FD6
    485 DEFINE beqz_a3 430000B520021FD6
    486 DEFINE beqz_t0 490000B520021FD6
    487 DEFINE beqz_t1 4A0000B520021FD6
    488 DEFINE beqz_t2 4B0000B520021FD6
    489 DEFINE bnez_a0 400000B420021FD6
    490 DEFINE bnez_a1 410000B420021FD6
    491 DEFINE bnez_a2 420000B420021FD6
    492 DEFINE bnez_t0 490000B420021FD6
    493 DEFINE bnez_t1 4A0000B420021FD6
    494 DEFINE bnez_t2 4B0000B420021FD6
    495 DEFINE bltz_a0 1F001FEB4A00005420021FD6
    496 DEFINE bltz_t0 3F011FEB4A00005420021FD6
    497 
    498 ## ---- Calls And Returns
    499 DEFINE call 20023FD6
    500 DEFINE ret C0035FD6
    501 DEFINE eret FE0340F9E80740F91F010091C0035FD6
    502 DEFINE tail FE0340F9E80740F91F01009120021FD6
    503 
    504 ## ---- Frame Management
    505 DEFINE enter_0 FF4300D1FE0300F9E8430091E80700F9
    506 DEFINE enter_8 FF8300D1FE0300F9E8830091E80700F9
    507 DEFINE enter_16 FF8300D1FE0300F9E8830091E80700F9
    508 DEFINE enter_40 FF0301D1FE0300F9E8030191E80700F9
    509 DEFINE enter_56 FF4301D1FE0300F9E8430191E80700F9
    510 
    511 ## ---- System
    512 DEFINE syscall E80300AAF70301AAF80302AAF90303AAE00317AAE10318AAE20319AAE30309AAE40313AAE50314AA010000D4E10317AAE20318AAE30319AA
    513 DEFINE sys_close 3900000000000000
    514 DEFINE sys_exit 5D00000000000000
    515 DEFINE sys_openat 3800000000000000
    516 DEFINE sys_read 3F00000000000000
    517 DEFINE sys_write 4000000000000000
    518 
    519 ## ---- Program Entry
    520 ## Backend-owned :_start stub per docs/P1.md §Program Entry.
    521 ## Calls p1_main under the one-word direct-result convention
    522 ## (a0=argc, a1=argv) and sys_exits its return value.
    523 :_start
    524 'E00340F9'
    525 'E1230091'
    526 '5100001802000014'
    527 &p1_main
    528 '20023FD6'
    529 'A80B80D2'
    530 '010000D4'