https://github.com/akkartik/mu/blob/main/linux/201register-names.subx

      1 == data
      2 Registers:  # (addr stream {(handle array byte), int})
      3   # a table is a stream
      4   0x120/imm32/write
      5   0/imm32/read
      6   0x120/imm32/length
      7   # data
      8   # it is perfectly ok to use fake alloc-ids -- as long as you never try to reclaim them
      9   0x11/imm32/alloc-id $Register-eax/imm32 0/imm32
     10   0x11/imm32/alloc-id $Register-ecx/imm32 1/imm32
     11   0x11/imm32/alloc-id $Register-edx/imm32 2/imm32
     12   0x11/imm32/alloc-id $Register-ebx/imm32 3/imm32
     13   0x11/imm32/alloc-id $Register-esp/imm32 4/imm32
     14   0x11/imm32/alloc-id $Register-ebp/imm32 5/imm32
     15   0x11/imm32/alloc-id $Register-esi/imm32 6/imm32
     16   0x11/imm32/alloc-id $Register-edi/imm32 7/imm32
     17   # for 8-byte registers
     18   # we don't actually check if these are used when they should be; be careful
     19   0x11/imm32/alloc-id $Register-al/imm32 0/imm32
     20   0x11/imm32/alloc-id $Register-cl/imm32 1/imm32
     21   0x11/imm32/alloc-id $Register-dl/imm32 2/imm32
     22   0x11/imm32/alloc-id $Register-bl/imm32 3/imm32
     23   0x11/imm32/alloc-id $Register-ah/imm32 4/imm32
     24   0x11/imm32/alloc-id $Register-ch/imm32 5/imm32
     25   0x11/imm32/alloc-id $Register-dh/imm32 6/imm32
     26   0x11/imm32/alloc-id $Register-bh/imm32 7/imm32
     27   # for floating-point registers
     28   # we don't actually check if these are used when they should be; be careful
     29   0x11/imm32/alloc-id $Register-xmm0/imm32 0/imm32
     30   0x11/imm32/alloc-id $Register-xmm1/imm32 1/imm32
     31   0x11/imm32/alloc-id $Register-xmm2/imm32 2/imm32
     32   0x11/imm32/alloc-id $Register-xmm3/imm32 3/imm32
     33   0x11/imm32/alloc-id $Register-xmm4/imm32 4/imm32
     34   0x11/imm32/alloc-id $Register-xmm5/imm32 5/imm32
     35   0x11/imm32/alloc-id $Register-xmm6/imm32 6/imm32
     36   0x11/imm32/alloc-id $Register-xmm7/imm32 7/imm32
     37
     38 $Register-eax:
     39   0x11/imm32/alloc-id
     40   3/imm32/size
     41   0x65/e 0x61/a 0x78/x
     42
     43 $Register-ecx:
     44   0x11/imm32/alloc-id
     45   3/imm32/size
     46   0x65/e 0x63/c 0x78/x
     47
     48 $Register-edx:
     49   0x11/imm32/alloc-id
     50   3/imm32/size
     51   0x65/e 0x64/d 0x78/x
     52
     53 $Register-ebx:
     54   0x11/imm32/alloc-id
     55   3/imm32/size
     56   0x65/e 0x62/b 0x78/x
     57
     58 $Register-esp:
     59   0x11/imm32/alloc-id
     60   3/imm32/size
     61   0x65/e 0x73/s 0x70/p
     62
     63 $Register-ebp:
     64   0x11/imm32/alloc-id
     65   3/imm32/size
     66   0x65/e 0x62/b 0x70/p
     67
     68 $Register-esi:
     69   0x11/imm32/alloc-id
     70   3/imm32/size
     71   0x65/e 0x73/s 0x69/i
     72
     73 $Register-edi:
     74   0x11/imm32/alloc-id
     75   3/imm32/size
     76   0x65/e 0x64/d 0x69/i
     77
     78 $Register-al:
     79   0x11/imm32/alloc-id
     80   2/imm32/size
     81   0x61/a 0x6c/l
     82
     83 $Register-cl:
     84   0x11/imm32/alloc-id
     85   2/imm32/size
     86   0x63/c 0x6c/l
     87
     88 $Register-dl:
     89   0x11/imm32/alloc-id
     90   2/imm32/size
     91   0x64/d 0x6c/l
     92
     93 $Register-bl:
     94   0x11/imm32/alloc-id
     95   2/imm32/size
     96   0x62/b 0x6c/l
     97
     98 $Register-ah:
     99   0x11/imm32/alloc-id
    100   2/imm32/size
    101   0x61/a 0x68/h
    102
    103 $Register-ch:
    104   0x11/imm32/alloc-id
    105   2/imm32/size
    106   0x63/c 0x68/h
    107
    108 $Register-dh:
    109   0x11/imm32/alloc-id
    110   2/imm32/size
    111   0x64/d 0x68/h
    112
    113 $Register-bh:
    114   0x11/imm32/alloc-id
    115   2/imm32/size
    116   0x62/b 0x68/h
    117
    118 $Register-xmm0:
    119   0x11/imm32/alloc-id:fake:payload
    120   # "xmm0"
    121   0x4/imm32/size
    122   0x78/x 0x6d/m 0x6d/m 0x30/0
    123
    124 $Register-xmm1:
    125   0x11/imm32/alloc-id:fake:payload
    126   # "xmm1"
    127   0x4/imm32/size
    128   0x78/x 0x6d/m 0x6d/m 0x31/1
    129
    130 $Register-xmm2:
    131   0x11/imm32/alloc-id:fake:payload
    132   # "xmm2"
    133   0x4/imm32/size
    134   0x78/x 0x6d/m 0x6d/m 0x32/2
    135
    136 $Register-xmm3:
    137   0x11/imm32/alloc-id:fake:payload
    138   # "xmm3"
    139   0x4/imm32/size
    140   0x78/x 0x6d/m 0x6d/m 0x33/3
    141
    142 $Register-xmm4:
    143   0x11/imm32/alloc-id:fake:payload
    144   # "xmm4"
    145   0x4/imm32/size
    146   0x78/x 0x6d/m 0x6d/m 0x34/4
    147
    148 $Register-xmm5:
    149   0x11/imm32/alloc-id:fake:payload
    150   # "xmm5"
    151   0x4/imm32/size
    152   0x78/x 0x6d/m 0x6d/m 0x35/5
    153
    154 $Register-xmm6:
    155   0x11/imm32/alloc-id:fake:payload
    156   # "xmm6"
    157   0x4/imm32/size
    158   0x78/x 0x6d/m 0x6d/m 0x36/6
    159
    160 $Register-xmm7:
    161   0x11/imm32/alloc-id:fake:payload
    162   # "xmm7"
    163   0x4/imm32/size
    164   0x78/x 0x6d/m 0x6d/m 0x37/7