boot2

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

P1-amd64.M1 (16172B)


      1 ## amd64.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 48BF
      9 DEFINE li_a1 48BE
     10 DEFINE li_a2 48BA
     11 DEFINE li_a3 48B9
     12 DEFINE li_t0 49BA
     13 DEFINE li_t1 49BB
     14 DEFINE li_t2 49B8
     15 DEFINE la_a0 BF
     16 DEFINE la_a1 BE
     17 DEFINE la_a2 BA
     18 DEFINE la_a3 B9
     19 DEFINE la_t0 41BA
     20 DEFINE la_t1 41BB
     21 DEFINE la_t2 41B8
     22 DEFINE la_br 41BF
     23 
     24 ## ---- Moves
     25 DEFINE mov_a0,a1 4889F7
     26 DEFINE mov_a0,a3 4889CF
     27 DEFINE mov_a0,t0 4C89D7
     28 DEFINE mov_a0,t1 4C89DF
     29 DEFINE mov_a0,t2 4C89C7
     30 DEFINE mov_a1,a0 4889FE
     31 DEFINE mov_a1,t0 4C89D6
     32 DEFINE mov_a1,t1 4C89DE
     33 DEFINE mov_a1,t2 4C89C6
     34 DEFINE mov_a2,a1 4889F2
     35 DEFINE mov_a2,t0 4C89D2
     36 DEFINE mov_a2,t1 4C89DA
     37 DEFINE mov_a3,t0 4C89D1
     38 DEFINE mov_a3,t1 4C89D9
     39 DEFINE mov_t0,a0 4989FA
     40 DEFINE mov_t1,a0 4989FB
     41 DEFINE mov_t2,a0 4989F8
     42 DEFINE mov_t2,t1 4D89D8
     43 
     44 ## ---- Register Arithmetic
     45 DEFINE add_a0,a0,a1 4889FF4801F7
     46 DEFINE add_a0,a0,a2 4889FF4801D7
     47 DEFINE add_a0,a0,t0 4889FF4C01D7
     48 DEFINE add_a0,a0,t1 4889FF4C01DF
     49 DEFINE add_a0,a0,t2 4889FF4C01C7
     50 DEFINE add_a0,a2,a0 4989F94889D74C01CF
     51 DEFINE add_a0,a2,t2 4889D74C01C7
     52 DEFINE add_a0,t0,a3 4C89D74801CF
     53 DEFINE add_a0,t1,a0 4989F94C89DF4C01CF
     54 DEFINE add_a0,t1,t2 4C89DF4C01C7
     55 DEFINE add_a0,t2,a1 4C89C74801F7
     56 DEFINE add_a1,a0,a1 4989F14889FE4C01CE
     57 DEFINE add_a1,a1,a0 4889F64801FE
     58 DEFINE add_a1,a1,a2 4889F64801D6
     59 DEFINE add_a1,a1,a3 4889F64801CE
     60 DEFINE add_a1,a1,t0 4889F64C01D6
     61 DEFINE add_a1,a1,t1 4889F64C01DE
     62 DEFINE add_a1,a2,a1 4989F14889D64C01CE
     63 DEFINE add_a1,a2,a3 4889D64801CE
     64 DEFINE add_a1,a2,t0 4889D64C01D6
     65 DEFINE add_a1,a3,a1 4989F14889CE4C01CE
     66 DEFINE add_a1,t0,a0 4C89D64801FE
     67 DEFINE add_a1,t2,a1 4989F14C89C64C01CE
     68 DEFINE add_a1,t2,a3 4C89C64801CE
     69 DEFINE add_a1,t2,t1 4C89C64C01DE
     70 DEFINE add_a2,a1,a3 4889F24801CA
     71 DEFINE add_a2,a1,t0 4889F24C01D2
     72 DEFINE add_a2,a2,a0 4889D24801FA
     73 DEFINE add_a2,a2,a3 4889D24801CA
     74 DEFINE add_a2,a2,t0 4889D24C01D2
     75 DEFINE add_a2,a2,t1 4889D24C01DA
     76 DEFINE add_a2,a3,a2 4989D14889CA4C01CA
     77 DEFINE add_a2,t0,t1 4C89D24C01DA
     78 DEFINE add_a2,t1,t2 4C89DA4C01C2
     79 DEFINE add_a2,t2,a0 4C89C24801FA
     80 DEFINE add_a2,t2,a2 4989D14C89C24C01CA
     81 DEFINE add_a3,a0,a2 4889F94801D1
     82 DEFINE add_a3,a1,t1 4889F14C01D9
     83 DEFINE add_a3,a1,t2 4889F14C01C1
     84 DEFINE add_a3,a3,a1 4889C94801F1
     85 DEFINE add_a3,a3,a2 4889C94801D1
     86 DEFINE add_a3,a3,t0 4889C94C01D1
     87 DEFINE add_a3,a3,t1 4889C94C01D9
     88 DEFINE add_a3,a3,t2 4889C94C01C1
     89 DEFINE add_a3,t0,t2 4C89D14C01C1
     90 DEFINE add_a3,t1,a2 4C89D94801D1
     91 DEFINE add_t0,a1,t2 4989F24D01C2
     92 DEFINE add_t0,a3,a1 4989CA4901F2
     93 DEFINE add_t0,t0,a0 4D89D24901FA
     94 DEFINE add_t0,t0,a1 4D89D24901F2
     95 DEFINE add_t0,t0,a3 4D89D24901CA
     96 DEFINE add_t0,t0,t1 4D89D24D01DA
     97 DEFINE add_t1,a0,t0 4989FB4D01D3
     98 DEFINE add_t1,t0,t1 4D89D94D89D34D01CB
     99 DEFINE add_t1,t1,a0 4D89DB4901FB
    100 DEFINE add_t1,t1,a1 4D89DB4901F3
    101 DEFINE add_t1,t1,a2 4D89DB4901D3
    102 DEFINE add_t1,t1,t2 4D89DB4D01C3
    103 DEFINE add_t2,a0,t0 4989F84D01D0
    104 DEFINE add_t2,a0,t1 4989F84D01D8
    105 DEFINE add_t2,a1,a3 4989F04901C8
    106 DEFINE add_t2,a1,t2 4D89C14989F04D01C8
    107 DEFINE add_t2,a2,t1 4989D04D01D8
    108 DEFINE add_t2,t0,t1 4D89D04D01D8
    109 DEFINE add_t2,t1,t2 4D89C14D89D84D01C8
    110 DEFINE add_t2,t2,a0 4D89C04901F8
    111 DEFINE add_t2,t2,a3 4D89C04901C8
    112 DEFINE sub_a0,a0,t1 4889FF4C29DF
    113 DEFINE sub_a0,a1,t2 4889F74C29C7
    114 DEFINE sub_a0,a3,a0 4989F94889CF4C29CF
    115 DEFINE sub_a1,t0,a0 4C89D64829FE
    116 DEFINE sub_a2,a1,a0 4889F24829FA
    117 DEFINE sub_a2,a2,a2 4989D14889D24C29CA
    118 DEFINE sub_a2,a2,t0 4889D24C29D2
    119 DEFINE sub_a2,t0,t1 4C89D24C29DA
    120 DEFINE sub_a2,t2,a3 4C89C24829CA
    121 DEFINE sub_a3,a3,a1 4889C94829F1
    122 DEFINE sub_a3,a3,a2 4889C94829D1
    123 DEFINE sub_a3,t0,a2 4C89D14829D1
    124 DEFINE sub_a3,t0,a3 4989C94C89D14C29C9
    125 DEFINE sub_a3,t0,t1 4C89D14C29D9
    126 DEFINE sub_a3,t1,a2 4C89D94829D1
    127 DEFINE sub_a3,t1,t0 4C89D94C29D1
    128 DEFINE sub_a3,t2,t1 4C89C14C29D9
    129 DEFINE sub_t0,a1,a2 4989F24929D2
    130 DEFINE sub_t0,t0,a0 4D89D24929FA
    131 DEFINE sub_t0,t0,a1 4D89D24929F2
    132 DEFINE sub_t0,t0,t1 4D89D24D29DA
    133 DEFINE sub_t2,t1,t0 4D89D84D29D0
    134 DEFINE and_a3,a3,a2 4889C94821D1
    135 DEFINE or_a0,a0,a1 4889FF4809F7
    136 DEFINE or_a0,a0,a2 4889FF4809D7
    137 DEFINE or_a3,a3,a2 4889C94809D1
    138 DEFINE xor_a2,a2,a3 4889D24831CA
    139 DEFINE xor_a3,a3,a2 4889C94831D1
    140 DEFINE shl_a2,a2,a3 4889CD4989D14889C949D3E14889E94C89CA
    141 DEFINE sar_a2,a2,a3 4889CD4989D14889C949D3F94889E94C89CA
    142 DEFINE mul_a0,a0,a3 4889FF480FAFF9
    143 DEFINE mul_a0,t1,t2 4C89DF490FAFF8
    144 DEFINE mul_a1,a1,a3 4889F6480FAFF1
    145 DEFINE mul_a2,a2,t0 4889D2490FAFD2
    146 DEFINE mul_a3,a3,a2 4889C9480FAFCA
    147 DEFINE mul_t0,t0,a1 4D89D24C0FAFD6
    148 DEFINE mul_t0,t0,a2 4D89D24C0FAFD2
    149 DEFINE mul_t1,t1,a3 4D89DB4C0FAFD9
    150 DEFINE mul_t2,t0,a2 4D89D04C0FAFC2
    151 DEFINE div_a0,a0,a1 4889D54989F14889F8489949F7F94889EA4889C7
    152 DEFINE div_a2,a2,a3 4889D54989C94889D0489949F7F94889EA4889C2
    153 DEFINE rem_a2,a0,a1 4889D54989F14889F8489949F7F94889D04889EA4889C2
    154 DEFINE rem_a2,a2,a3 4889D54989C94889D0489949F7F94889D04889EA4889C2
    155 
    156 ## ---- Immediate Arithmetic
    157 DEFINE addi_a0,a0,neg1 4889FF4883C7FF
    158 DEFINE addi_a0,a0,1 4889FF4883C701
    159 DEFINE addi_a0,a0,24 4889FF4883C718
    160 DEFINE addi_a1,a1,neg48 4889F64883C6D0
    161 DEFINE addi_a1,a1,neg24 4889F64883C6E8
    162 DEFINE addi_a1,a1,neg2 4889F64883C6FE
    163 DEFINE addi_a1,a1,1 4889F64883C601
    164 DEFINE addi_a1,a1,2 4889F64883C602
    165 DEFINE addi_a1,a1,3 4889F64883C603
    166 DEFINE addi_a1,t0,1 4C89D64883C601
    167 DEFINE addi_a2,a0,1 4889FA4883C201
    168 DEFINE addi_a2,a2,neg1 4889D24883C2FF
    169 DEFINE addi_a2,a2,1 4889D24883C201
    170 DEFINE addi_a2,a2,2 4889D24883C202
    171 DEFINE addi_a2,a2,3 4889D24883C203
    172 DEFINE addi_a2,a2,8 4889D24883C208
    173 DEFINE addi_a2,a2,24 4889D24883C218
    174 DEFINE addi_a2,a2,48 4889D24883C230
    175 DEFINE addi_a2,t0,1 4C89D24883C201
    176 DEFINE addi_a2,t2,neg48 4C89C24883C2D0
    177 DEFINE addi_a3,a3,1 4889C94883C101
    178 DEFINE addi_a3,a3,24 4889C94883C118
    179 DEFINE addi_t0,a1,neg24 4989F24983C2E8
    180 DEFINE addi_t0,a1,24 4989F24983C218
    181 DEFINE addi_t0,t0,neg1 4D89D24983C2FF
    182 DEFINE addi_t0,t0,1 4D89D24983C201
    183 DEFINE addi_t0,t0,2 4D89D24983C202
    184 DEFINE addi_t0,t0,24 4D89D24983C218
    185 DEFINE addi_t0,t0,48 4D89D24983C230
    186 DEFINE addi_t1,t0,24 4D89D34983C318
    187 DEFINE addi_t1,t1,neg24 4D89DB4983C3E8
    188 DEFINE addi_t1,t1,neg1 4D89DB4983C3FF
    189 DEFINE addi_t1,t1,1 4D89DB4983C301
    190 DEFINE addi_t1,t1,16 4D89DB4983C310
    191 DEFINE addi_t1,t1,24 4D89DB4983C318
    192 DEFINE addi_t2,a1,neg24 4989F04983C0E8
    193 DEFINE addi_t2,t0,neg24 4D89D04983C0E8
    194 DEFINE addi_t2,t0,24 4D89D04983C018
    195 DEFINE addi_t2,t1,2 4D89D84983C002
    196 DEFINE addi_t2,t2,neg1 4D89C04983C0FF
    197 DEFINE addi_t2,t2,1 4D89C04983C001
    198 DEFINE addi_t2,t2,24 4D89C04983C018
    199 DEFINE andi_a2,a0,15 4889FA4883E20F
    200 DEFINE andi_a2,a1,15 4889F24883E20F
    201 DEFINE andi_a2,a2,15 4889D24883E20F
    202 DEFINE andi_a3,a3,15 4889C94883E10F
    203 DEFINE andi_a3,t2,255 4C89C14881E1FF000000
    204 DEFINE shli_a0,a0,3 4889FF48C1E703
    205 DEFINE shli_a0,a0,4 4889FF48C1E704
    206 DEFINE shli_a1,a1,1 4889F648C1E601
    207 DEFINE shli_a2,t1,3 4C89DA48C1E203
    208 DEFINE shli_a3,t0,1 4C89D148C1E101
    209 DEFINE shli_a3,t0,4 4C89D148C1E104
    210 DEFINE shli_t1,a2,3 4989D349C1E303
    211 DEFINE shli_t2,t0,3 4D89D049C1E003
    212 DEFINE shri_a0,a0,6 4889FF48C1EF06
    213 DEFINE shri_a1,a1,6 4889F648C1EE06
    214 DEFINE shri_a2,a3,4 4889CA48C1EA04
    215 DEFINE shri_t2,t2,8 4D89C049C1E808
    216 
    217 ## ---- Memory
    218 DEFINE ld_a0,a0,0 488B7F00
    219 DEFINE ld_a0,a0,8 488B7F08
    220 DEFINE ld_a0,a0,16 488B7F10
    221 DEFINE ld_a0,a1,0 488B7E00
    222 DEFINE ld_a0,a2,0 488B7A00
    223 DEFINE ld_a0,a3,0 488B7900
    224 DEFINE ld_a0,a3,8 488B7908
    225 DEFINE ld_a0,a3,16 488B7910
    226 DEFINE ld_a0,t0,0 498B7A00
    227 DEFINE ld_a0,sp,0 488B7C2410
    228 DEFINE ld_a0,sp,8 488B7C2418
    229 DEFINE ld_a0,sp,24 488B7C2428
    230 DEFINE ld_a1,a0,0 488B7700
    231 DEFINE ld_a1,a0,8 488B7708
    232 DEFINE ld_a1,a0,24 488B7718
    233 DEFINE ld_a1,a1,0 488B7600
    234 DEFINE ld_a1,a2,8 488B7208
    235 DEFINE ld_a1,a3,8 488B7108
    236 DEFINE ld_a1,t0,0 498B7200
    237 DEFINE ld_a1,t0,8 498B7208
    238 DEFINE ld_a1,t0,16 498B7210
    239 DEFINE ld_a1,t1,0 498B7300
    240 DEFINE ld_a1,t2,16 498B7010
    241 DEFINE ld_a1,sp,8 488B742418
    242 DEFINE ld_a2,a0,0 488B5700
    243 DEFINE ld_a2,a0,8 488B5708
    244 DEFINE ld_a2,a0,16 488B5710
    245 DEFINE ld_a2,a1,0 488B5600
    246 DEFINE ld_a2,a1,8 488B5608
    247 DEFINE ld_a2,a2,0 488B5200
    248 DEFINE ld_a2,t0,0 498B5200
    249 DEFINE ld_a2,t0,8 498B5208
    250 DEFINE ld_a2,t0,16 498B5210
    251 DEFINE ld_a2,t1,neg24 498B53E8
    252 DEFINE ld_a2,t1,0 498B5300
    253 DEFINE ld_a2,t2,0 498B5000
    254 DEFINE ld_a2,sp,16 488B542420
    255 DEFINE ld_a3,a0,0 488B4F00
    256 DEFINE ld_a3,a0,8 488B4F08
    257 DEFINE ld_a3,a0,16 488B4F10
    258 DEFINE ld_a3,a1,0 488B4E00
    259 DEFINE ld_a3,a1,8 488B4E08
    260 DEFINE ld_a3,a2,0 488B4A00
    261 DEFINE ld_a3,a3,0 488B4900
    262 DEFINE ld_a3,t0,0 498B4A00
    263 DEFINE ld_a3,t0,8 498B4A08
    264 DEFINE ld_a3,t0,16 498B4A10
    265 DEFINE ld_a3,t1,8 498B4B08
    266 DEFINE ld_t0,a0,0 4C8B5700
    267 DEFINE ld_t0,a0,8 4C8B5708
    268 DEFINE ld_t0,a0,16 4C8B5710
    269 DEFINE ld_t0,a1,0 4C8B5600
    270 DEFINE ld_t0,a1,8 4C8B5608
    271 DEFINE ld_t0,a1,16 4C8B5610
    272 DEFINE ld_t0,a1,24 4C8B5618
    273 DEFINE ld_t0,a1,32 4C8B5620
    274 DEFINE ld_t0,a2,0 4C8B5200
    275 DEFINE ld_t0,a3,0 4C8B5100
    276 DEFINE ld_t0,t0,0 4D8B5200
    277 DEFINE ld_t0,t1,8 4D8B5308
    278 DEFINE ld_t0,t1,16 4D8B5310
    279 DEFINE ld_t0,t2,16 4D8B5010
    280 DEFINE ld_t0,sp,0 4C8B542410
    281 DEFINE ld_t0,sp,8 4C8B542418
    282 DEFINE ld_t0,sp,16 4C8B542420
    283 DEFINE ld_t0,sp,24 4C8B542428
    284 DEFINE ld_t0,sp,32 4C8B542430
    285 DEFINE ld_t0,sp,40 4C8B542438
    286 DEFINE ld_t1,a0,0 4C8B5F00
    287 DEFINE ld_t1,a0,8 4C8B5F08
    288 DEFINE ld_t1,a0,16 4C8B5F10
    289 DEFINE ld_t1,a1,0 4C8B5E00
    290 DEFINE ld_t1,a1,8 4C8B5E08
    291 DEFINE ld_t1,a1,16 4C8B5E10
    292 DEFINE ld_t1,a2,8 4C8B5A08
    293 DEFINE ld_t1,a2,16 4C8B5A10
    294 DEFINE ld_t1,a3,0 4C8B5900
    295 DEFINE ld_t1,a3,8 4C8B5908
    296 DEFINE ld_t1,t0,0 4D8B5A00
    297 DEFINE ld_t1,t0,16 4D8B5A10
    298 DEFINE ld_t1,t1,0 4D8B5B00
    299 DEFINE ld_t1,t1,16 4D8B5B10
    300 DEFINE ld_t1,sp,8 4C8B5C2418
    301 DEFINE ld_t1,sp,32 4C8B5C2430
    302 DEFINE ld_t1,sp,48 4C8B5C2440
    303 DEFINE ld_t2,a0,0 4C8B4700
    304 DEFINE ld_t2,a1,0 4C8B4600
    305 DEFINE ld_t2,a3,16 4C8B4110
    306 DEFINE ld_t2,t0,0 4D8B4200
    307 DEFINE ld_t2,t1,0 4D8B4300
    308 DEFINE ld_t2,t2,0 4D8B4000
    309 DEFINE ld_t2,sp,16 4C8B442420
    310 DEFINE st_a0,a1,0 48897E00
    311 DEFINE st_a0,a2,0 48897A00
    312 DEFINE st_a0,a2,8 48897A08
    313 DEFINE st_a0,a2,16 48897A10
    314 DEFINE st_a0,a3,0 48897900
    315 DEFINE st_a0,a3,8 48897908
    316 DEFINE st_a0,a3,16 48897910
    317 DEFINE st_a0,t0,0 49897A00
    318 DEFINE st_a0,t0,8 49897A08
    319 DEFINE st_a0,t2,0 49897800
    320 DEFINE st_a0,t2,8 49897808
    321 DEFINE st_a0,t2,16 49897810
    322 DEFINE st_a0,sp,0 48897C2410
    323 DEFINE st_a0,sp,16 48897C2420
    324 DEFINE st_a1,a0,0 48897700
    325 DEFINE st_a1,a2,0 48897200
    326 DEFINE st_a1,a2,16 48897210
    327 DEFINE st_a1,a3,0 48897100
    328 DEFINE st_a1,a3,8 48897108
    329 DEFINE st_a1,t0,0 49897200
    330 DEFINE st_a1,t0,8 49897208
    331 DEFINE st_a1,t0,16 49897210
    332 DEFINE st_a1,t1,0 49897300
    333 DEFINE st_a1,t1,8 49897308
    334 DEFINE st_a1,t1,16 49897310
    335 DEFINE st_a1,t2,16 49897010
    336 DEFINE st_a1,sp,8 4889742418
    337 DEFINE st_a1,sp,16 4889742420
    338 DEFINE st_a2,a0,0 48895700
    339 DEFINE st_a2,a1,0 48895600
    340 DEFINE st_a2,a3,0 48895100
    341 DEFINE st_a2,a3,16 48895110
    342 DEFINE st_a2,a3,32 48895120
    343 DEFINE st_a2,t0,0 49895200
    344 DEFINE st_a2,t0,16 49895210
    345 DEFINE st_a2,t1,0 49895300
    346 DEFINE st_a2,t2,0 49895000
    347 DEFINE st_a3,a0,0 48894F00
    348 DEFINE st_a3,a2,0 48894A00
    349 DEFINE st_a3,t0,0 49894A00
    350 DEFINE st_a3,t1,8 49894B08
    351 DEFINE st_a3,t2,0 49894800
    352 DEFINE st_a3,t2,8 49894808
    353 DEFINE st_a3,t2,16 49894810
    354 DEFINE st_t0,a0,0 4C895700
    355 DEFINE st_t0,a0,16 4C895710
    356 DEFINE st_t0,a0,24 4C895718
    357 DEFINE st_t0,a1,0 4C895600
    358 DEFINE st_t0,a2,0 4C895200
    359 DEFINE st_t0,a3,0 4C895100
    360 DEFINE st_t0,a3,8 4C895108
    361 DEFINE st_t0,t1,0 4D895300
    362 DEFINE st_t0,sp,0 4C89542410
    363 DEFINE st_t0,sp,8 4C89542418
    364 DEFINE st_t0,sp,16 4C89542420
    365 DEFINE st_t0,sp,24 4C89542428
    366 DEFINE st_t0,sp,32 4C89542430
    367 DEFINE st_t0,sp,40 4C89542438
    368 DEFINE st_t0,sp,48 4C89542440
    369 DEFINE st_t1,a0,0 4C895F00
    370 DEFINE st_t1,a0,24 4C895F18
    371 DEFINE st_t1,a1,0 4C895E00
    372 DEFINE st_t1,a3,0 4C895900
    373 DEFINE st_t1,a3,8 4C895908
    374 DEFINE st_t1,a3,16 4C895910
    375 DEFINE st_t1,a3,24 4C895918
    376 DEFINE st_t1,t0,0 4D895A00
    377 DEFINE st_t2,a0,0 4C894700
    378 DEFINE st_t2,a1,0 4C894600
    379 DEFINE st_t2,a2,0 4C894200
    380 DEFINE st_t2,a3,0 4C894100
    381 DEFINE st_t2,t0,0 4D894200
    382 DEFINE st_t2,t1,0 4D894300
    383 DEFINE lb_a0,a0,0 480FB67F00
    384 DEFINE lb_a0,t0,0 490FB67A00
    385 DEFINE lb_a1,a1,0 480FB67600
    386 DEFINE lb_a1,a3,0 480FB67100
    387 DEFINE lb_a1,a3,1 480FB67101
    388 DEFINE lb_a1,t0,0 490FB67200
    389 DEFINE lb_a1,t0,1 490FB67201
    390 DEFINE lb_a2,a1,0 480FB65600
    391 DEFINE lb_a2,a2,0 480FB65200
    392 DEFINE lb_a2,t0,0 490FB65200
    393 DEFINE lb_a3,a1,0 480FB64E00
    394 DEFINE lb_a3,a2,0 480FB64A00
    395 DEFINE lb_a3,a3,0 480FB64900
    396 DEFINE lb_t0,a3,0 4C0FB65100
    397 DEFINE lb_t0,a3,1 4C0FB65101
    398 DEFINE lb_t0,a3,2 4C0FB65102
    399 DEFINE lb_t0,t0,0 4D0FB65200
    400 DEFINE lb_t1,t1,0 4D0FB65B00
    401 DEFINE lb_t2,t0,0 4D0FB64200
    402 DEFINE lb_t2,t2,0 4D0FB64000
    403 DEFINE sb_a0,a1,0 48887E00
    404 DEFINE sb_a0,a2,0 48887A00
    405 DEFINE sb_a0,t2,0 49887800
    406 DEFINE sb_a1,a2,0 48887200
    407 DEFINE sb_a2,a0,0 48885700
    408 DEFINE sb_a2,a1,0 48885600
    409 DEFINE sb_a2,a3,0 48885100
    410 DEFINE sb_a2,t2,0 49885000
    411 DEFINE sb_a3,a0,0 48884F00
    412 DEFINE sb_a3,a1,0 48884E00
    413 DEFINE sb_a3,a2,0 48884A00
    414 DEFINE sb_a3,t2,0 49884800
    415 DEFINE sb_t1,a0,0 4C885F00
    416 DEFINE sb_t1,a2,0 4C885A00
    417 DEFINE sb_t2,a0,0 4C884700
    418 DEFINE sb_t2,a1,0 4C884600
    419 DEFINE sb_t2,a2,0 4C884200
    420 
    421 ## ---- ABI Access
    422 
    423 ## ---- Branches
    424 DEFINE b 41FFE7
    425 DEFINE beq_a0,a1 4839F7750341FFE7
    426 DEFINE beq_a0,t0 4C39D7750341FFE7
    427 DEFINE beq_a0,t1 4C39DF750341FFE7
    428 DEFINE beq_a1,a2 4839D6750341FFE7
    429 DEFINE beq_a2,a1 4839F2750341FFE7
    430 DEFINE beq_a2,a3 4839CA750341FFE7
    431 DEFINE beq_a3,a2 4839D1750341FFE7
    432 DEFINE beq_a3,t0 4C39D1750341FFE7
    433 DEFINE beq_a3,t1 4C39D9750341FFE7
    434 DEFINE beq_t0,a0 4939FA750341FFE7
    435 DEFINE beq_t0,a1 4939F2750341FFE7
    436 DEFINE beq_t0,a2 4939D2750341FFE7
    437 DEFINE beq_t0,t1 4D39DA750341FFE7
    438 DEFINE beq_t0,t2 4D39C2750341FFE7
    439 DEFINE beq_t1,a0 4939FB750341FFE7
    440 DEFINE beq_t1,a1 4939F3750341FFE7
    441 DEFINE beq_t1,a2 4939D3750341FFE7
    442 DEFINE beq_t1,t0 4D39D3750341FFE7
    443 DEFINE beq_t1,t2 4D39C3750341FFE7
    444 DEFINE beq_t2,a0 4939F8750341FFE7
    445 DEFINE beq_t2,a2 4939D0750341FFE7
    446 DEFINE beq_t2,a3 4939C8750341FFE7
    447 DEFINE beq_t2,t0 4D39D0750341FFE7
    448 DEFINE beq_t2,t1 4D39D8750341FFE7
    449 DEFINE bne_a0,t0 4C39D7740341FFE7
    450 DEFINE bne_a1,a2 4839D6740341FFE7
    451 DEFINE bne_a1,t0 4C39D6740341FFE7
    452 DEFINE bne_a2,a3 4839CA740341FFE7
    453 DEFINE bne_a3,a0 4839F9740341FFE7
    454 DEFINE bne_a3,a2 4839D1740341FFE7
    455 DEFINE bne_a3,t0 4C39D1740341FFE7
    456 DEFINE bne_t0,t1 4D39DA740341FFE7
    457 DEFINE bne_t0,t2 4D39C2740341FFE7
    458 DEFINE bne_t1,a2 4939D3740341FFE7
    459 DEFINE bne_t1,a3 4939CB740341FFE7
    460 DEFINE bne_t1,t2 4D39C3740341FFE7
    461 DEFINE bne_t2,a2 4939D0740341FFE7
    462 DEFINE bne_t2,a3 4939C8740341FFE7
    463 DEFINE bne_t2,t0 4D39D0740341FFE7
    464 DEFINE blt_a0,a2 4839D77D0341FFE7
    465 DEFINE blt_a1,a0 4839FE7D0341FFE7
    466 DEFINE blt_a1,a2 4839D67D0341FFE7
    467 DEFINE blt_a1,t2 4C39C67D0341FFE7
    468 DEFINE blt_a2,a1 4839F27D0341FFE7
    469 DEFINE blt_a2,a3 4839CA7D0341FFE7
    470 DEFINE blt_a2,t0 4C39D27D0341FFE7
    471 DEFINE blt_a2,t1 4C39DA7D0341FFE7
    472 DEFINE blt_a2,t2 4C39C27D0341FFE7
    473 DEFINE blt_a3,a2 4839D17D0341FFE7
    474 DEFINE blt_a3,t2 4C39C17D0341FFE7
    475 DEFINE blt_t0,t1 4D39DA7D0341FFE7
    476 DEFINE blt_t0,t2 4D39C27D0341FFE7
    477 DEFINE blt_t1,a1 4939F37D0341FFE7
    478 DEFINE blt_t1,t0 4D39D37D0341FFE7
    479 DEFINE blt_t2,a3 4939C87D0341FFE7
    480 DEFINE blt_t2,t1 4D39D87D0341FFE7
    481 DEFINE bltu_t0,t1 4D39DA730341FFE7
    482 DEFINE beqz_a0 4885FF750341FFE7
    483 DEFINE beqz_a1 4885F6750341FFE7
    484 DEFINE beqz_a2 4885D2750341FFE7
    485 DEFINE beqz_a3 4885C9750341FFE7
    486 DEFINE beqz_t0 4D85D2750341FFE7
    487 DEFINE beqz_t1 4D85DB750341FFE7
    488 DEFINE beqz_t2 4D85C0750341FFE7
    489 DEFINE bnez_a0 4885FF740341FFE7
    490 DEFINE bnez_a1 4885F6740341FFE7
    491 DEFINE bnez_a2 4885D2740341FFE7
    492 DEFINE bnez_t0 4D85D2740341FFE7
    493 DEFINE bnez_t1 4D85DB740341FFE7
    494 DEFINE bnez_t2 4D85C0740341FFE7
    495 DEFINE bltz_a0 4885FF7D0341FFE7
    496 DEFINE bltz_t0 4D85D27D0341FFE7
    497 
    498 ## ---- Calls And Returns
    499 DEFINE call 41FFD7
    500 DEFINE ret C3
    501 DEFINE eret 4C8B4C2400488B4424084889C44151C3
    502 DEFINE tail 4C8B4C2400488B4424084889C4415141FFE7
    503 
    504 ## ---- Frame Management
    505 DEFINE enter_0 41594889E04881EC100000004C894C24004889442408
    506 DEFINE enter_8 41594889E04881EC200000004C894C24004889442408
    507 DEFINE enter_16 41594889E04881EC200000004C894C24004889442408
    508 DEFINE enter_40 41594889E04881EC400000004C894C24004889442408
    509 DEFINE enter_56 41594889E04881EC500000004C894C24004889442408
    510 
    511 ## ---- System
    512 DEFINE syscall 565251415341504889F8488B7C2420488B742418488B5424104989D84D89E10F054158415B595A5E4889C7
    513 DEFINE sys_close 0300000000000000
    514 DEFINE sys_exit 3C00000000000000
    515 DEFINE sys_openat 0101000000000000
    516 DEFINE sys_read 0000000000000000
    517 DEFINE sys_write 0100000000000000
    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 '488B7C2400'
    525 '4889E64883C608'
    526 '41BF'
    527 &p1_main
    528 '41FFD7'
    529 'B83C0000000F05'