boot2

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

P1-amd64.M1 (18906B)


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