https://github.com/akkartik/mu/blob/master/090register-names.subx
  1 == data
  2 Registers:  # (addr stream {(handle array byte), int})
  3   # a table is a stream
  4   0xc0/imm32/write
  5   0/imm32/read
  6   0xc0/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 
 28 $Register-eax:
 29   0x11/imm32/alloc-id
 30   3/imm32/size
 31   0x65/e 0x61/a 0x78/x
 32 
 33 $Register-ecx:
 34   0x11/imm32/alloc-id
 35   3/imm32/size
 36   0x65/e 0x63/c 0x78/x
 37 
 38 $Register-edx:
 39   0x11/imm32/alloc-id
 40   3/imm32/size
 41   0x65/e 0x64/d 0x78/x
 42 
 43 $Register-ebx:
 44   0x11/imm32/alloc-id
 45   3/imm32/size
 46   0x65/e 0x62/b 0x78/x
 47 
 48 $Register-esp:
 49   0x11/imm32/alloc-id
 50   3/imm32/size
 51   0x65/e 0x73/s 0x70/p
 52 
 53 $Register-ebp:
 54   0x11/imm32/alloc-id
 55   3/imm32/size
 56   0x65/e 0x62/b 0x70/p
 57 
 58 $Register-esi:
 59   0x11/imm32/alloc-id
 60   3/imm32/size
 61   0x65/e 0x73/s 0x69/i
 62 
 63 $Register-edi:
 64   0x11/imm32/alloc-id
 65   3/imm32/size
 66   0x65/e 0x64/d 0x69/i
 67 
 68 $Register-al:
 69   0x11/imm32/alloc-id
 70   2/imm32/size
 71   0x61/a 0x6c/l
 72 
 73 $Register-cl:
 74   0x11/imm32/alloc-id
 75   2/imm32/size
 76   0x63/c 0x6c/l
 77 
 78 $Register-dl:
 79   0x11/imm32/alloc-id
 80   2/imm32/size
 81   0x64/d 0x6c/l
 82 
 83 $Register-bl:
 84   0x11/imm32/alloc-id
 85   2/imm32/size
 86   0x62/b 0x6c/l
 87 
 88 $Register-ah:
 89   0x11/imm32/alloc-id
 90   2/imm32/size
 91   0x61/a 0x68/h
 92 
 93 $Register-ch:
 94   0x11/imm32/alloc-id
 95   2/imm32/size
 96   0x63/c 0x68/h
 97 
 98 $Register-dh:
 99   0x11/imm32/alloc-id
100   2/imm32/size
101   0x64/d 0x68/h
102 
103 $Register-bh:
104   0x11/imm32/alloc-id
105   2/imm32/size
106   0x62/b 0x68/h