boot2

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

P1-amd64.M1 (18772B)


      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_a1,a0 4889FE
     30 DEFINE mov_a1,t0 4C89D6
     31 DEFINE mov_a1,t1 4C89DE
     32 DEFINE mov_a1,t2 4C89C6
     33 DEFINE mov_a2,a1 4889F2
     34 DEFINE mov_a2,t0 4C89D2
     35 DEFINE mov_a2,t1 4C89DA
     36 DEFINE mov_t0,a0 4989FA
     37 DEFINE mov_t1,a0 4989FB
     38 DEFINE mov_t1,t0 4D89D3
     39 DEFINE mov_t2,a0 4989F8
     40 DEFINE mov_t2,t1 4D89D8
     41 
     42 ## ---- Register Arithmetic
     43 DEFINE add_a0,a0,a1 4889FF4801F7
     44 DEFINE add_a0,a0,a2 4889FF4801D7
     45 DEFINE add_a0,a0,a3 4889FF4801CF
     46 DEFINE add_a0,a0,t0 4889FF4C01D7
     47 DEFINE add_a0,a0,t1 4889FF4C01DF
     48 DEFINE add_a0,a2,a0 4989F94889D74C01CF
     49 DEFINE add_a0,a2,t2 4889D74C01C7
     50 DEFINE add_a0,t0,a3 4C89D74801CF
     51 DEFINE add_a0,t1,a0 4989F94C89DF4C01CF
     52 DEFINE add_a0,t1,t2 4C89DF4C01C7
     53 DEFINE add_a0,t2,a1 4C89C74801F7
     54 DEFINE add_a1,a0,a1 4989F14889FE4C01CE
     55 DEFINE add_a1,a0,a3 4889FE4801CE
     56 DEFINE add_a1,a1,a0 4889F64801FE
     57 DEFINE add_a1,a1,a2 4889F64801D6
     58 DEFINE add_a1,a1,a3 4889F64801CE
     59 DEFINE add_a1,a1,t0 4889F64C01D6
     60 DEFINE add_a1,a1,t2 4889F64C01C6
     61 DEFINE add_a1,a2,t0 4889D64C01D6
     62 DEFINE add_a1,a3,a1 4989F14889CE4C01CE
     63 DEFINE add_a1,t0,a0 4C89D64801FE
     64 DEFINE add_a1,t2,a1 4989F14C89C64C01CE
     65 DEFINE add_a1,t2,a3 4C89C64801CE
     66 DEFINE add_a1,t2,t1 4C89C64C01DE
     67 DEFINE add_a2,a1,a3 4889F24801CA
     68 DEFINE add_a2,a1,t0 4889F24C01D2
     69 DEFINE add_a2,a2,a0 4889D24801FA
     70 DEFINE add_a2,a2,a1 4889D24801F2
     71 DEFINE add_a2,a2,a3 4889D24801CA
     72 DEFINE add_a2,a2,t0 4889D24C01D2
     73 DEFINE add_a2,a2,t1 4889D24C01DA
     74 DEFINE add_a2,a2,t2 4889D24C01C2
     75 DEFINE add_a2,a3,a1 4889CA4801F2
     76 DEFINE add_a2,a3,a2 4989D14889CA4C01CA
     77 DEFINE add_a2,t0,t1 4C89D24C01DA
     78 DEFINE add_a2,t2,a0 4C89C24801FA
     79 DEFINE add_a2,t2,a2 4989D14C89C24C01CA
     80 DEFINE add_a3,a0,a2 4889F94801D1
     81 DEFINE add_a3,a1,t1 4889F14C01D9
     82 DEFINE add_a3,a1,t2 4889F14C01C1
     83 DEFINE add_a3,a2,t1 4889D14C01D9
     84 DEFINE add_a3,a3,a0 4889C94801F9
     85 DEFINE add_a3,a3,a1 4889C94801F1
     86 DEFINE add_a3,a3,a2 4889C94801D1
     87 DEFINE add_a3,a3,t0 4889C94C01D1
     88 DEFINE add_a3,a3,t1 4889C94C01D9
     89 DEFINE add_a3,a3,t2 4889C94C01C1
     90 DEFINE add_a3,t0,t2 4C89D14C01C1
     91 DEFINE add_a3,t1,a2 4C89D94801D1
     92 DEFINE add_t0,a1,t2 4989F24D01C2
     93 DEFINE add_t0,a2,a3 4989D24901CA
     94 DEFINE add_t0,a3,a1 4989CA4901F2
     95 DEFINE add_t0,a3,t0 4D89D14989CA4D01CA
     96 DEFINE add_t0,t0,a0 4D89D24901FA
     97 DEFINE add_t0,t0,a1 4D89D24901F2
     98 DEFINE add_t0,t0,a3 4D89D24901CA
     99 DEFINE add_t0,t0,t1 4D89D24D01DA
    100 DEFINE add_t0,t2,a3 4D89C24901CA
    101 DEFINE add_t1,a0,t0 4989FB4D01D3
    102 DEFINE add_t1,a3,t1 4D89D94989CB4D01CB
    103 DEFINE add_t1,t0,a0 4D89D34901FB
    104 DEFINE add_t1,t0,t1 4D89D94D89D34D01CB
    105 DEFINE add_t1,t1,a2 4D89DB4901D3
    106 DEFINE add_t1,t1,t0 4D89DB4D01D3
    107 DEFINE add_t1,t1,t2 4D89DB4D01C3
    108 DEFINE add_t2,a0,t0 4989F84D01D0
    109 DEFINE add_t2,a0,t1 4989F84D01D8
    110 DEFINE add_t2,a1,t2 4D89C14989F04D01C8
    111 DEFINE add_t2,a2,t1 4989D04D01D8
    112 DEFINE add_t2,t0,t1 4D89D04D01D8
    113 DEFINE add_t2,t1,t0 4D89D84D01D0
    114 DEFINE add_t2,t1,t2 4D89C14D89D84D01C8
    115 DEFINE add_t2,t2,a0 4D89C04901F8
    116 DEFINE add_t2,t2,a3 4D89C04901C8
    117 DEFINE add_t2,t2,t1 4D89C04D01D8
    118 DEFINE sub_a0,a0,t1 4889FF4C29DF
    119 DEFINE sub_a0,a1,a0 4989F94889F74C29CF
    120 DEFINE sub_a0,a1,t2 4889F74C29C7
    121 DEFINE sub_a0,a3,a0 4989F94889CF4C29CF
    122 DEFINE sub_a0,t0,a1 4C89D74829F7
    123 DEFINE sub_a0,t0,t1 4C89D74C29DF
    124 DEFINE sub_a0,t1,a0 4989F94C89DF4C29CF
    125 DEFINE sub_a1,t0,a0 4C89D64829FE
    126 DEFINE sub_a2,a1,a0 4889F24829FA
    127 DEFINE sub_a2,a2,a2 4989D14889D24C29CA
    128 DEFINE sub_a2,a2,t0 4889D24C29D2
    129 DEFINE sub_a2,t0,t1 4C89D24C29DA
    130 DEFINE sub_a2,t2,a3 4C89C24829CA
    131 DEFINE sub_a3,a1,a2 4889F14829D1
    132 DEFINE sub_a3,a3,a2 4889C94829D1
    133 DEFINE sub_a3,t0,a2 4C89D14829D1
    134 DEFINE sub_a3,t0,a3 4989C94C89D14C29C9
    135 DEFINE sub_a3,t1,a2 4C89D94829D1
    136 DEFINE sub_a3,t1,a3 4989C94C89D94C29C9
    137 DEFINE sub_a3,t1,t0 4C89D94C29D1
    138 DEFINE sub_a3,t2,t1 4C89C14C29D9
    139 DEFINE sub_t0,a1,a2 4989F24929D2
    140 DEFINE sub_t0,t0,a1 4D89D24929F2
    141 DEFINE sub_t0,t0,t1 4D89D24D29DA
    142 DEFINE sub_t0,t1,t0 4D89D14D89DA4D29CA
    143 DEFINE sub_t1,t1,t0 4D89DB4D29D3
    144 DEFINE sub_t2,t1,t0 4D89D84D29D0
    145 DEFINE and_a3,a3,a2 4889C94821D1
    146 DEFINE or_a0,a0,a2 4889FF4809D7
    147 DEFINE or_a3,a3,a2 4889C94809D1
    148 DEFINE or_t0,t0,t1 4D89D24D09DA
    149 DEFINE xor_a2,a2,a3 4889D24831CA
    150 DEFINE xor_a3,a3,a2 4889C94831D1
    151 DEFINE shl_a2,a2,a3 4889CD4989D14889C949D3E14889E94C89CA
    152 DEFINE sar_a2,a2,a3 4889CD4989D14889C949D3F94889E94C89CA
    153 DEFINE mul_a0,a0,a3 4889FF480FAFF9
    154 DEFINE mul_a0,a0,t0 4889FF490FAFFA
    155 DEFINE mul_a0,t1,t2 4C89DF490FAFF8
    156 DEFINE mul_a1,t0,t1 4C89D6490FAFF3
    157 DEFINE mul_a2,a2,t1 4889D2490FAFD3
    158 DEFINE mul_a3,a3,a2 4889C9480FAFCA
    159 DEFINE mul_t0,t0,a1 4D89D24C0FAFD6
    160 DEFINE mul_t0,t0,t1 4D89D24D0FAFD3
    161 DEFINE mul_t2,t0,a2 4D89D04C0FAFC2
    162 DEFINE div_a0,a0,a1 4889D54989F14889F8489949F7F94889EA4889C7
    163 DEFINE div_a0,a0,t1 4889D54D89D94889F8489949F7F94889EA4889C7
    164 DEFINE div_a2,a2,a3 4889D54989C94889D0489949F7F94889EA4889C2
    165 DEFINE rem_a2,a0,a1 4889D54989F14889F8489949F7F94889D04889EA4889C2
    166 DEFINE rem_a2,a0,t1 4889D54D89D94889F8489949F7F94889D04889EA4889C2
    167 DEFINE rem_a2,a2,a3 4889D54989C94889D0489949F7F94889D04889EA4889C2
    168 DEFINE rem_a2,t0,a1 4889D54989F14C89D0489949F7F94889D04889EA4889C2
    169 
    170 ## ---- Immediate Arithmetic
    171 DEFINE addi_a0,a0,neg1 4889FF4883C7FF
    172 DEFINE addi_a0,a0,1 4889FF4883C701
    173 DEFINE addi_a0,a0,32 4889FF4883C720
    174 DEFINE addi_a1,a1,neg32 4889F64883C6E0
    175 DEFINE addi_a1,a1,neg2 4889F64883C6FE
    176 DEFINE addi_a1,a1,1 4889F64883C601
    177 DEFINE addi_a1,a1,2 4889F64883C602
    178 DEFINE addi_a1,a1,3 4889F64883C603
    179 DEFINE addi_a1,t0,1 4C89D64883C601
    180 DEFINE addi_a2,a0,1 4889FA4883C201
    181 DEFINE addi_a2,a2,neg1 4889D24883C2FF
    182 DEFINE addi_a2,a2,1 4889D24883C201
    183 DEFINE addi_a2,a2,2 4889D24883C202
    184 DEFINE addi_a2,a2,3 4889D24883C203
    185 DEFINE addi_a2,a2,8 4889D24883C208
    186 DEFINE addi_a2,a2,24 4889D24883C218
    187 DEFINE addi_a2,a2,48 4889D24883C230
    188 DEFINE addi_a2,t0,1 4C89D24883C201
    189 DEFINE addi_a2,t0,32 4C89D24883C220
    190 DEFINE addi_a2,t2,neg48 4C89C24883C2D0
    191 DEFINE addi_a3,a3,neg1 4889C94883C1FF
    192 DEFINE addi_a3,a3,1 4889C94883C101
    193 DEFINE addi_a3,a3,32 4889C94883C120
    194 DEFINE addi_a3,t0,32 4C89D14883C120
    195 DEFINE addi_a3,t1,32 4C89D94883C120
    196 DEFINE addi_t0,a0,32 4989FA4983C220
    197 DEFINE addi_t0,a1,neg32 4989F24983C2E0
    198 DEFINE addi_t0,a1,32 4989F24983C220
    199 DEFINE addi_t0,a3,neg1 4989CA4983C2FF
    200 DEFINE addi_t0,t0,neg1 4D89D24983C2FF
    201 DEFINE addi_t0,t0,1 4D89D24983C201
    202 DEFINE addi_t0,t0,2 4D89D24983C202
    203 DEFINE addi_t0,t0,7 4D89D24983C207
    204 DEFINE addi_t0,t0,32 4D89D24983C220
    205 DEFINE addi_t1,t0,32 4D89D34983C320
    206 DEFINE addi_t1,t1,neg32 4D89DB4983C3E0
    207 DEFINE addi_t1,t1,neg1 4D89DB4983C3FF
    208 DEFINE addi_t1,t1,1 4D89DB4983C301
    209 DEFINE addi_t1,t1,16 4D89DB4983C310
    210 DEFINE addi_t1,t1,32 4D89DB4983C320
    211 DEFINE addi_t2,a1,neg32 4989F04983C0E0
    212 DEFINE addi_t2,t0,neg32 4D89D04983C0E0
    213 DEFINE addi_t2,t0,32 4D89D04983C020
    214 DEFINE addi_t2,t1,2 4D89D84983C002
    215 DEFINE addi_t2,t2,neg1 4D89C04983C0FF
    216 DEFINE addi_t2,t2,1 4D89C04983C001
    217 DEFINE addi_t2,t2,7 4D89C04983C007
    218 DEFINE addi_t2,t2,24 4D89C04983C018
    219 DEFINE addi_t2,t2,32 4D89C04983C020
    220 DEFINE andi_a0,a0,255 4889FF4881E7FF000000
    221 DEFINE andi_a2,a2,15 4889D24883E20F
    222 DEFINE andi_a3,a3,15 4889C94883E10F
    223 DEFINE andi_a3,a3,255 4889C94881E1FF000000
    224 DEFINE andi_a3,t2,255 4C89C14881E1FF000000
    225 DEFINE shli_a0,a0,3 4889FF48C1E703
    226 DEFINE shli_a0,a0,4 4889FF48C1E704
    227 DEFINE shli_a1,a1,1 4889F648C1E601
    228 DEFINE shli_a2,a2,3 4889D248C1E203
    229 DEFINE shli_a2,t1,3 4C89DA48C1E203
    230 DEFINE shli_a3,t0,1 4C89D148C1E101
    231 DEFINE shli_a3,t0,4 4C89D148C1E104
    232 DEFINE shli_t0,t0,4 4D89D249C1E204
    233 DEFINE shli_t1,a2,3 4989D349C1E303
    234 DEFINE shli_t1,t1,3 4D89DB49C1E303
    235 DEFINE shli_t2,t0,3 4D89D049C1E003
    236 DEFINE shri_a0,a0,5 4889FF48C1EF05
    237 DEFINE shri_a2,a3,4 4889CA48C1EA04
    238 DEFINE shri_t2,t2,8 4D89C049C1E808
    239 
    240 ## ---- Memory
    241 DEFINE ld_a0,a0,0 488B7F00
    242 DEFINE ld_a0,a0,8 488B7F08
    243 DEFINE ld_a0,a0,16 488B7F10
    244 DEFINE ld_a0,a1,0 488B7E00
    245 DEFINE ld_a0,a1,16 488B7E10
    246 DEFINE ld_a0,a2,0 488B7A00
    247 DEFINE ld_a0,a2,24 488B7A18
    248 DEFINE ld_a0,a3,0 488B7900
    249 DEFINE ld_a0,a3,8 488B7908
    250 DEFINE ld_a0,a3,16 488B7910
    251 DEFINE ld_a0,a3,24 488B7918
    252 DEFINE ld_a0,t0,0 498B7A00
    253 DEFINE ld_a0,t0,8 498B7A08
    254 DEFINE ld_a0,t0,16 498B7A10
    255 DEFINE ld_a0,sp,0 488B7C2410
    256 DEFINE ld_a0,sp,8 488B7C2418
    257 DEFINE ld_a0,sp,24 488B7C2428
    258 DEFINE ld_a1,a0,0 488B7700
    259 DEFINE ld_a1,a0,8 488B7708
    260 DEFINE ld_a1,a0,16 488B7710
    261 DEFINE ld_a1,a1,0 488B7600
    262 DEFINE ld_a1,a1,8 488B7608
    263 DEFINE ld_a1,a2,8 488B7208
    264 DEFINE ld_a1,a3,8 488B7108
    265 DEFINE ld_a1,t0,0 498B7200
    266 DEFINE ld_a1,t0,8 498B7208
    267 DEFINE ld_a1,t0,16 498B7210
    268 DEFINE ld_a1,t0,24 498B7218
    269 DEFINE ld_a1,t1,0 498B7300
    270 DEFINE ld_a1,t1,24 498B7318
    271 DEFINE ld_a1,t2,16 498B7010
    272 DEFINE ld_a1,sp,0 488B742410
    273 DEFINE ld_a1,sp,8 488B742418
    274 DEFINE ld_a2,a0,0 488B5700
    275 DEFINE ld_a2,a0,16 488B5710
    276 DEFINE ld_a2,a0,24 488B5718
    277 DEFINE ld_a2,a1,0 488B5600
    278 DEFINE ld_a2,a2,0 488B5200
    279 DEFINE ld_a2,t0,0 498B5200
    280 DEFINE ld_a2,t0,8 498B5208
    281 DEFINE ld_a2,t0,16 498B5210
    282 DEFINE ld_a2,t0,24 498B5218
    283 DEFINE ld_a2,t1,neg32 498B53E0
    284 DEFINE ld_a2,t1,0 498B5300
    285 DEFINE ld_a2,t2,0 498B5000
    286 DEFINE ld_a2,sp,16 488B542420
    287 DEFINE ld_a3,a0,0 488B4F00
    288 DEFINE ld_a3,a0,8 488B4F08
    289 DEFINE ld_a3,a0,16 488B4F10
    290 DEFINE ld_a3,a1,0 488B4E00
    291 DEFINE ld_a3,a1,8 488B4E08
    292 DEFINE ld_a3,a2,0 488B4A00
    293 DEFINE ld_a3,a3,0 488B4900
    294 DEFINE ld_a3,t0,0 498B4A00
    295 DEFINE ld_a3,t0,8 498B4A08
    296 DEFINE ld_a3,t0,16 498B4A10
    297 DEFINE ld_a3,t0,24 498B4A18
    298 DEFINE ld_a3,t1,8 498B4B08
    299 DEFINE ld_t0,a0,0 4C8B5700
    300 DEFINE ld_t0,a0,8 4C8B5708
    301 DEFINE ld_t0,a0,16 4C8B5710
    302 DEFINE ld_t0,a0,24 4C8B5718
    303 DEFINE ld_t0,a1,0 4C8B5600
    304 DEFINE ld_t0,a1,8 4C8B5608
    305 DEFINE ld_t0,a1,16 4C8B5610
    306 DEFINE ld_t0,a1,24 4C8B5618
    307 DEFINE ld_t0,a1,32 4C8B5620
    308 DEFINE ld_t0,a1,40 4C8B5628
    309 DEFINE ld_t0,a1,48 4C8B5630
    310 DEFINE ld_t0,a1,64 4C8B5640
    311 DEFINE ld_t0,a2,0 4C8B5200
    312 DEFINE ld_t0,a3,0 4C8B5100
    313 DEFINE ld_t0,t0,0 4D8B5200
    314 DEFINE ld_t0,t2,0 4D8B5000
    315 DEFINE ld_t0,t2,16 4D8B5010
    316 DEFINE ld_t0,sp,0 4C8B542410
    317 DEFINE ld_t0,sp,8 4C8B542418
    318 DEFINE ld_t0,sp,16 4C8B542420
    319 DEFINE ld_t0,sp,24 4C8B542428
    320 DEFINE ld_t0,sp,32 4C8B542430
    321 DEFINE ld_t0,sp,40 4C8B542438
    322 DEFINE ld_t1,a0,0 4C8B5F00
    323 DEFINE ld_t1,a0,8 4C8B5F08
    324 DEFINE ld_t1,a0,16 4C8B5F10
    325 DEFINE ld_t1,a0,24 4C8B5F18
    326 DEFINE ld_t1,a1,0 4C8B5E00
    327 DEFINE ld_t1,a1,8 4C8B5E08
    328 DEFINE ld_t1,a1,16 4C8B5E10
    329 DEFINE ld_t1,a1,56 4C8B5E38
    330 DEFINE ld_t1,a2,0 4C8B5A00
    331 DEFINE ld_t1,a2,8 4C8B5A08
    332 DEFINE ld_t1,a2,16 4C8B5A10
    333 DEFINE ld_t1,a3,0 4C8B5900
    334 DEFINE ld_t1,a3,8 4C8B5908
    335 DEFINE ld_t1,t0,0 4D8B5A00
    336 DEFINE ld_t1,t0,16 4D8B5A10
    337 DEFINE ld_t1,t1,0 4D8B5B00
    338 DEFINE ld_t1,t1,16 4D8B5B10
    339 DEFINE ld_t1,sp,8 4C8B5C2418
    340 DEFINE ld_t1,sp,32 4C8B5C2430
    341 DEFINE ld_t1,sp,48 4C8B5C2440
    342 DEFINE ld_t2,a0,0 4C8B4700
    343 DEFINE ld_t2,a1,0 4C8B4600
    344 DEFINE ld_t2,a3,0 4C8B4100
    345 DEFINE ld_t2,a3,16 4C8B4110
    346 DEFINE ld_t2,t0,0 4D8B4200
    347 DEFINE ld_t2,t0,8 4D8B4208
    348 DEFINE ld_t2,t0,24 4D8B4218
    349 DEFINE ld_t2,t1,0 4D8B4300
    350 DEFINE ld_t2,t1,8 4D8B4308
    351 DEFINE ld_t2,t1,16 4D8B4310
    352 DEFINE ld_t2,t2,0 4D8B4000
    353 DEFINE ld_t2,sp,16 4C8B442420
    354 DEFINE st_a0,a1,0 48897E00
    355 DEFINE st_a0,a2,0 48897A00
    356 DEFINE st_a0,a2,8 48897A08
    357 DEFINE st_a0,a2,16 48897A10
    358 DEFINE st_a0,a2,24 48897A18
    359 DEFINE st_a0,a3,0 48897900
    360 DEFINE st_a0,a3,8 48897908
    361 DEFINE st_a0,a3,16 48897910
    362 DEFINE st_a0,t0,0 49897A00
    363 DEFINE st_a0,t0,8 49897A08
    364 DEFINE st_a0,t1,0 49897B00
    365 DEFINE st_a0,t2,0 49897800
    366 DEFINE st_a0,t2,8 49897808
    367 DEFINE st_a0,t2,16 49897810
    368 DEFINE st_a0,sp,0 48897C2410
    369 DEFINE st_a0,sp,16 48897C2420
    370 DEFINE st_a1,a0,0 48897700
    371 DEFINE st_a1,a2,0 48897200
    372 DEFINE st_a1,a2,16 48897210
    373 DEFINE st_a1,a2,24 48897218
    374 DEFINE st_a1,a3,0 48897100
    375 DEFINE st_a1,a3,8 48897108
    376 DEFINE st_a1,t0,0 49897200
    377 DEFINE st_a1,t0,8 49897208
    378 DEFINE st_a1,t0,16 49897210
    379 DEFINE st_a1,t0,24 49897218
    380 DEFINE st_a1,t1,0 49897300
    381 DEFINE st_a1,t1,8 49897308
    382 DEFINE st_a1,t1,16 49897310
    383 DEFINE st_a1,t1,24 49897318
    384 DEFINE st_a1,t2,16 49897010
    385 DEFINE st_a1,sp,8 4889742418
    386 DEFINE st_a1,sp,16 4889742420
    387 DEFINE st_a2,a0,0 48895700
    388 DEFINE st_a2,a1,0 48895600
    389 DEFINE st_a2,a3,0 48895100
    390 DEFINE st_a2,a3,16 48895110
    391 DEFINE st_a2,a3,24 48895118
    392 DEFINE st_a2,a3,32 48895120
    393 DEFINE st_a2,t0,0 49895200
    394 DEFINE st_a2,t0,16 49895210
    395 DEFINE st_a2,t1,0 49895300
    396 DEFINE st_a2,t2,0 49895000
    397 DEFINE st_a3,a0,0 48894F00
    398 DEFINE st_a3,a1,0 48894E00
    399 DEFINE st_a3,a2,0 48894A00
    400 DEFINE st_a3,t0,24 49894A18
    401 DEFINE st_a3,t1,0 49894B00
    402 DEFINE st_a3,t1,8 49894B08
    403 DEFINE st_a3,t2,0 49894800
    404 DEFINE st_a3,t2,8 49894808
    405 DEFINE st_a3,t2,16 49894810
    406 DEFINE st_a3,t2,24 49894818
    407 DEFINE st_t0,a0,0 4C895700
    408 DEFINE st_t0,a0,8 4C895708
    409 DEFINE st_t0,a0,16 4C895710
    410 DEFINE st_t0,a0,24 4C895718
    411 DEFINE st_t0,a1,0 4C895600
    412 DEFINE st_t0,a1,8 4C895608
    413 DEFINE st_t0,a1,16 4C895610
    414 DEFINE st_t0,a1,24 4C895618
    415 DEFINE st_t0,a1,32 4C895620
    416 DEFINE st_t0,a1,40 4C895628
    417 DEFINE st_t0,a1,48 4C895630
    418 DEFINE st_t0,a1,56 4C895638
    419 DEFINE st_t0,a1,64 4C895640
    420 DEFINE st_t0,a2,0 4C895200
    421 DEFINE st_t0,a3,0 4C895100
    422 DEFINE st_t0,t1,0 4D895300
    423 DEFINE st_t0,t2,0 4D895000
    424 DEFINE st_t0,sp,0 4C89542410
    425 DEFINE st_t0,sp,8 4C89542418
    426 DEFINE st_t0,sp,16 4C89542420
    427 DEFINE st_t0,sp,24 4C89542428
    428 DEFINE st_t0,sp,32 4C89542430
    429 DEFINE st_t0,sp,40 4C89542438
    430 DEFINE st_t0,sp,48 4C89542440
    431 DEFINE st_t1,a0,0 4C895F00
    432 DEFINE st_t1,a0,24 4C895F18
    433 DEFINE st_t1,a0,56 4C895F38
    434 DEFINE st_t1,a1,0 4C895E00
    435 DEFINE st_t1,a2,0 4C895A00
    436 DEFINE st_t1,a3,0 4C895900
    437 DEFINE st_t1,a3,8 4C895908
    438 DEFINE st_t1,a3,16 4C895910
    439 DEFINE st_t1,a3,24 4C895918
    440 DEFINE st_t1,t0,0 4D895A00
    441 DEFINE st_t2,a0,0 4C894700
    442 DEFINE st_t2,a1,0 4C894600
    443 DEFINE st_t2,a2,0 4C894200
    444 DEFINE st_t2,a3,0 4C894100
    445 DEFINE st_t2,t0,0 4D894200
    446 DEFINE st_t2,t1,0 4D894300
    447 DEFINE lb_a0,a0,0 480FB67F00
    448 DEFINE lb_a0,a1,0 480FB67E00
    449 DEFINE lb_a0,a2,0 480FB67A00
    450 DEFINE lb_a0,t0,0 490FB67A00
    451 DEFINE lb_a1,a1,0 480FB67600
    452 DEFINE lb_a1,a2,0 480FB67200
    453 DEFINE lb_a1,a2,1 480FB67201
    454 DEFINE lb_a2,a1,0 480FB65600
    455 DEFINE lb_a2,a2,0 480FB65200
    456 DEFINE lb_a2,t0,0 490FB65200
    457 DEFINE lb_a3,a0,0 480FB64F00
    458 DEFINE lb_a3,a1,0 480FB64E00
    459 DEFINE lb_a3,a2,0 480FB64A00
    460 DEFINE lb_a3,a3,0 480FB64900
    461 DEFINE lb_a3,t2,0 490FB64800
    462 DEFINE lb_a3,t2,1 490FB64801
    463 DEFINE lb_t0,a0,0 4C0FB65700
    464 DEFINE lb_t0,a0,1 4C0FB65701
    465 DEFINE lb_t0,t0,0 4D0FB65200
    466 DEFINE lb_t1,t1,0 4D0FB65B00
    467 DEFINE lb_t2,a2,0 4C0FB64200
    468 DEFINE lb_t2,t0,0 4D0FB64200
    469 DEFINE lb_t2,t2,0 4D0FB64000
    470 DEFINE sb_a0,a1,0 48887E00
    471 DEFINE sb_a0,a2,0 48887A00
    472 DEFINE sb_a0,a3,0 48887900
    473 DEFINE sb_a0,t2,0 49887800
    474 DEFINE sb_a1,a2,0 48887200
    475 DEFINE sb_a1,t0,0 49887200
    476 DEFINE sb_a2,a1,0 48885600
    477 DEFINE sb_a2,a3,0 48885100
    478 DEFINE sb_a2,t2,0 49885000
    479 DEFINE sb_a3,a0,0 48884F00
    480 DEFINE sb_a3,a1,0 48884E00
    481 DEFINE sb_a3,a2,0 48884A00
    482 DEFINE sb_a3,t2,0 49884800
    483 DEFINE sb_t0,a3,0 4C885100
    484 DEFINE sb_t1,a0,0 4C885F00
    485 DEFINE sb_t1,a2,0 4C885A00
    486 DEFINE sb_t2,a1,0 4C884600
    487 DEFINE sb_t2,a2,0 4C884200
    488 
    489 ## ---- ABI Access
    490 
    491 ## ---- Branches
    492 DEFINE b 41FFE7
    493 DEFINE beq_a0,a1 4839F7750341FFE7
    494 DEFINE beq_a0,t0 4C39D7750341FFE7
    495 DEFINE beq_a0,t1 4C39DF750341FFE7
    496 DEFINE beq_a1,a0 4839FE750341FFE7
    497 DEFINE beq_a1,a2 4839D6750341FFE7
    498 DEFINE beq_a2,a1 4839F2750341FFE7
    499 DEFINE beq_a2,a3 4839CA750341FFE7
    500 DEFINE beq_a3,a0 4839F9750341FFE7
    501 DEFINE beq_a3,a1 4839F1750341FFE7
    502 DEFINE beq_a3,a2 4839D1750341FFE7
    503 DEFINE beq_a3,t0 4C39D1750341FFE7
    504 DEFINE beq_a3,t1 4C39D9750341FFE7
    505 DEFINE beq_t0,a0 4939FA750341FFE7
    506 DEFINE beq_t0,a1 4939F2750341FFE7
    507 DEFINE beq_t0,a2 4939D2750341FFE7
    508 DEFINE beq_t0,t1 4D39DA750341FFE7
    509 DEFINE beq_t0,t2 4D39C2750341FFE7
    510 DEFINE beq_t1,a0 4939FB750341FFE7
    511 DEFINE beq_t1,a1 4939F3750341FFE7
    512 DEFINE beq_t1,a2 4939D3750341FFE7
    513 DEFINE beq_t1,t0 4D39D3750341FFE7
    514 DEFINE beq_t1,t2 4D39C3750341FFE7
    515 DEFINE beq_t2,a2 4939D0750341FFE7
    516 DEFINE beq_t2,a3 4939C8750341FFE7
    517 DEFINE beq_t2,t1 4D39D8750341FFE7
    518 DEFINE bne_a0,a1 4839F7740341FFE7
    519 DEFINE bne_a0,t0 4C39D7740341FFE7
    520 DEFINE bne_a0,t1 4C39DF740341FFE7
    521 DEFINE bne_a1,a0 4839FE740341FFE7
    522 DEFINE bne_a1,a2 4839D6740341FFE7
    523 DEFINE bne_a1,t0 4C39D6740341FFE7
    524 DEFINE bne_a2,a1 4839F2740341FFE7
    525 DEFINE bne_a2,a3 4839CA740341FFE7
    526 DEFINE bne_a3,a0 4839F9740341FFE7
    527 DEFINE bne_a3,a1 4839F1740341FFE7
    528 DEFINE bne_a3,a2 4839D1740341FFE7
    529 DEFINE bne_a3,t0 4C39D1740341FFE7
    530 DEFINE bne_t0,a0 4939FA740341FFE7
    531 DEFINE bne_t0,a2 4939D2740341FFE7
    532 DEFINE bne_t0,t1 4D39DA740341FFE7
    533 DEFINE bne_t0,t2 4D39C2740341FFE7
    534 DEFINE bne_t1,a0 4939FB740341FFE7
    535 DEFINE bne_t1,a2 4939D3740341FFE7
    536 DEFINE bne_t1,a3 4939CB740341FFE7
    537 DEFINE bne_t1,t2 4D39C3740341FFE7
    538 DEFINE bne_t2,a2 4939D0740341FFE7
    539 DEFINE bne_t2,a3 4939C8740341FFE7
    540 DEFINE bne_t2,t0 4D39D0740341FFE7
    541 DEFINE blt_a0,a1 4839F77D0341FFE7
    542 DEFINE blt_a0,a2 4839D77D0341FFE7
    543 DEFINE blt_a0,t1 4C39DF7D0341FFE7
    544 DEFINE blt_a1,a0 4839FE7D0341FFE7
    545 DEFINE blt_a1,a2 4839D67D0341FFE7
    546 DEFINE blt_a1,t0 4C39D67D0341FFE7
    547 DEFINE blt_a1,t2 4C39C67D0341FFE7
    548 DEFINE blt_a2,a1 4839F27D0341FFE7
    549 DEFINE blt_a2,a3 4839CA7D0341FFE7
    550 DEFINE blt_a2,t0 4C39D27D0341FFE7
    551 DEFINE blt_a2,t1 4C39DA7D0341FFE7
    552 DEFINE blt_a3,a2 4839D17D0341FFE7
    553 DEFINE blt_a3,t2 4C39C17D0341FFE7
    554 DEFINE blt_t0,a0 4939FA7D0341FFE7
    555 DEFINE blt_t0,a2 4939D27D0341FFE7
    556 DEFINE blt_t0,t1 4D39DA7D0341FFE7
    557 DEFINE blt_t1,a0 4939FB7D0341FFE7
    558 DEFINE blt_t1,a1 4939F37D0341FFE7
    559 DEFINE blt_t1,t0 4D39D37D0341FFE7
    560 DEFINE blt_t2,a3 4939C87D0341FFE7
    561 DEFINE blt_t2,t1 4D39D87D0341FFE7
    562 DEFINE beqz_a0 4885FF750341FFE7
    563 DEFINE beqz_a1 4885F6750341FFE7
    564 DEFINE beqz_a2 4885D2750341FFE7
    565 DEFINE beqz_a3 4885C9750341FFE7
    566 DEFINE beqz_t0 4D85D2750341FFE7
    567 DEFINE beqz_t1 4D85DB750341FFE7
    568 DEFINE beqz_t2 4D85C0750341FFE7
    569 DEFINE bnez_a0 4885FF740341FFE7
    570 DEFINE bnez_a1 4885F6740341FFE7
    571 DEFINE bnez_a2 4885D2740341FFE7
    572 DEFINE bnez_a3 4885C9740341FFE7
    573 DEFINE bnez_t0 4D85D2740341FFE7
    574 DEFINE bnez_t1 4D85DB740341FFE7
    575 DEFINE bnez_t2 4D85C0740341FFE7
    576 DEFINE bltz_a0 4885FF7D0341FFE7
    577 DEFINE bltz_t0 4D85D27D0341FFE7
    578 
    579 ## ---- Calls And Returns
    580 DEFINE call 41FFD7
    581 DEFINE ret C3
    582 DEFINE eret 4C8B4C2400488B4424084889C44151C3
    583 DEFINE tail 4C8B4C2400488B4424084889C4415141FFE7
    584 
    585 ## ---- Frame Management
    586 DEFINE enter_0 41594889E04881EC100000004C894C24004889442408
    587 DEFINE enter_8 41594889E04881EC200000004C894C24004889442408
    588 DEFINE enter_16 41594889E04881EC200000004C894C24004889442408
    589 DEFINE enter_40 41594889E04881EC400000004C894C24004889442408
    590 DEFINE enter_56 41594889E04881EC500000004C894C24004889442408
    591 
    592 ## ---- System
    593 DEFINE syscall 565251415341504889F8488B7C2420488B742418488B5424104989D84D89E10F054158415B595A5E4889C7
    594 DEFINE sys_exit 3C00000000000000
    595 DEFINE sys_openat 0101000000000000
    596 DEFINE sys_read 0000000000000000
    597 DEFINE sys_write 0100000000000000
    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 '488B7C2400'
    605 '4889E64883C608'
    606 '41BF'
    607 &p1_main
    608 '41FFD7'
    609 'B83C0000000F05'