Kind Pure package
Name v0
Namespace moul / x / vm / riscv
Exported functions n/a — not supported for pure packages by the node (vm/qfuncs)
Module gno.land/p/moul/x/vm/riscv/v0
gno 0.9 guests.gno gno
⧉
1 package riscv 2 3 // Compiled guests: programs a real compiler produced, shipped as the bytes it 4 // emitted. 5 // 6 // A hand-written test program proves the emulator agrees with the person who 7 // wrote it. A compiled one proves it agrees with LLVM, which is the only claim not supported for pure packages by the node (vm/qfuncs)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
8
// that matters for a machine whose whole premise is that every toolchain
9 // already targets it.
10 //
11 // The source, the linker script and the exact build command are in
12 // tools/riscv-guests/. `make words` there prints the image in the form below,
13 // so this is reproducible rather than magic.
14
15 // guestFNV is tools/riscv-guests/fnv: it reads the call input, hashes it with
16 // FNV-1a, and writes eight hex digits back. 49 instructions, built with clang
17 // 19.1.7, `-march=rv32im -mabi=ilp32 -Os`.
18 //
19 // Worth reading as output rather than as a program. LLVM opens with a real
20 // function prologue spilling ra and s0 to a stack the host set up, materializes
21 // the 2166136261 offset basis as a lui/addi pair, and addresses its globals at
22 // 0x40000, far above a text segment the host refuses stores into.
23 var guestFNV = [] uint32 {
24 0xFF010113 , 0x00112623 , 0x00812423 , 0x01010413 ,
25 0x000405B7 , 0x00058593 , 0x03F00893 , 0x10000613 ,
26 0x00000513 , 0x00000073 , 0x811CA6B7 , 0x02A05663 ,
27 0x00A58633 , 0xDC568513 , 0x010006B7 , 0x19368693 ,
28 0x0005C703 , 0x00E54533 , 0x00158593 , 0x02D50533 ,
29 0xFEC598E3 , 0x0080006F , 0xDC568513 , 0x01C00593 ,
30 0x00040637 , 0x10060613 , 0x00A00693 , 0xFFC00713 ,
31 0x00B557B3 , 0x00F7F793 , 0x00D7E663 , 0x05778793 ,
32 0x0080006F , 0x03078793 , 0x00F60023 , 0xFFC58593 ,
33 0x00160613 , 0xFCE59EE3 , 0x000405B7 , 0x10058593 ,
34 0x04000893 , 0x00800613 , 0x00100513 , 0x00000073 ,
35 0x05D00893 , 0x00000593 , 0x00000613 , 0x00000513 ,
36 0x00000073 ,
37 }
38
39 // GuestFNV returns the flat text image of the compiled FNV-1a guest, ready for
40 // [NewMachine] at [DefaultEntry]. A fresh slice per call, so a caller cannot
41 // mutate the copy everyone else gets.
42 func GuestFNV() [] byte { return Image(guestFNV) }
43
44 // guestLedger is tools/riscv-guests/ledger: a token in no_std Rust. It applies
45 // a script of mint, send and burn lines from the call input and writes the
46 // resulting balances back. 1,959 instructions, built with rustc 1.98.1 for
47 // riscv32im-unknown-none-elf.
48 //
49 // It links Rust's real core and compiler_builtins, which is what makes it more
50 // than a bigger FNV: a bounds check reaches core::panicking, and the balances
51 // are 64-bit, so a divide reaches __udivdi3 because RV32 has no 64-bit divide
52 // instruction. The emulator is running the standard library's own software
53 // arithmetic, not just compiler output.
54 var guestLedger = [] uint32 {
55 0xFA010113 , 0x04112E23 , 0x04812C23 , 0x04912A23 , 0x05212823 , 0x05312623 , 0x05412423 , 0x05512223 ,
56 0x05612023 , 0x03712E23 , 0x03812C23 , 0x03912A23 , 0x03A12823 , 0x03B12623 , 0x00000513 , 0x00000713 ,
57 0x00000413 , 0x00000B93 , 0x000409B7 , 0x00098993 , 0x03F00893 , 0x40000613 , 0x00A00913 , 0x40100B13 ,
58 0x00400C13 , 0x0F600493 , 0x00040DB7 , 0x400D8D93 , 0x00098593 , 0x00000073 , 0x00050A13 , 0x00A02533 ,
59 0x00012C23 , 0x40A00533 , 0x01457CB3 , 0x4B977A63 , 0x40000593 , 0x00070513 , 0x00E5E463 , 0x40000513 ,
60 0x00170613 , 0x000A0593 , 0x01464463 , 0x00060593 , 0x00070A93 , 0x71550263 , 0x01598633 , 0x00064D03 ,
61 0x012D0863 , 0x001A8A93 , 0xFF5596E3 , 0x00058A93 , 0x43577A63 , 0x6D6AF463 , 0x00140413 , 0x00143513 ,
62 0x00AB8BB3 , 0x40EA8633 , 0x00E985B3 , 0x01C10513 , 0x00000097 , 0x760080E7 , 0x02012503 , 0x40050463 ,
63 0x00F00B13 , 0x53851E63 , 0x01C12503 , 0x02412583 , 0x02812603 , 0x00054683 , 0x06200713 , 0x24E68A63 ,
64 0x07300713 , 0x12E68063 , 0x06D00713 , 0x50E69A63 , 0x00154683 , 0x06900713 , 0x50E69463 , 0x00254683 ,
65 0x06E00713 , 0x4EE69E63 , 0x00354503 , 0x07400693 , 0x4ED51863 , 0x01C10513 , 0x00000097 , 0x6F8080E7 ,
66 0x01C12503 , 0x00A12623 , 0x02012C03 , 0x02412583 , 0x02812603 , 0x01C10513 , 0x00000097 , 0x6D8080E7 ,
67 0x02012503 , 0xFF650593 , 0x00A00B13 , 0xFF700613 , 0x5AC5E263 , 0x01712A23 , 0x00812823 , 0x00000413 ,
68 0x01C12583 , 0x00000B93 , 0x0005C603 , 0xFC660693 , 0x0FF6F693 , 0x4696EC63 , 0x00158593 , 0x032436B3 ,
69 0x001B9713 , 0x003B9B93 , 0x00EB8733 , 0x00141793 , 0x00341413 , 0xFD060613 , 0x00F407B3 , 0x0FF67413 ,
70 0x00E686B3 , 0x00878433 , 0x00F43BB3 , 0xFFF50513 , 0x01768BB3 , 0xFA051AE3 , 0x00C12503 , 0x000C0593 ,
71 0x00001097 , 0x80C080E7 , 0x00058693 , 0x00100593 , 0x52B51863 , 0x00F00513 , 0x5CD56663 , 0x00369693 ,
72 0x00DD86B3 , 0x3806A503 , 0x3846A583 , 0x00850433 , 0x017585B3 , 0x00A43533 , 0x00A58533 , 0x3886A023 ,
73 0x2B00006F , 0x00154683 , 0x06500713 , 0x3EE69A63 , 0x00254683 , 0x06E00713 , 0x3EE69463 , 0x00354503 ,
74 0x06400693 , 0x3CD51E63 , 0x01C10513 , 0x00000097 , 0x5E4080E7 , 0x01C12503 , 0x00A12823 , 0x02012503 ,
75 0x00A12623 , 0x02412583 , 0x02812603 , 0x01C10513 , 0x00000097 , 0x5C0080E7 , 0x01C12C03 , 0x02012503 ,
76 0x00A12423 , 0x02412583 , 0x02812603 , 0x01C10513 , 0x00000097 , 0x5A0080E7 , 0x02012503 , 0xFF650593 ,
77 0x00A00B13 , 0xFF700613 , 0x46C5E663 , 0x01812223 , 0x01712A23 , 0x00000B93 , 0x01C12583 , 0x00000C13 ,
78 0x0005C603 , 0xFC660693 , 0x0FF6F693 , 0x3296E863 , 0x00158593 , 0x032BB6B3 , 0x001C1713 , 0x003C1C13 ,
79 0x00EC0733 , 0x001B9793 , 0x003B9B93 , 0xFD060613 , 0x00FB87B3 , 0x0FF67B93 , 0x00E686B3 , 0x01778BB3 ,
80 0x00FBBC33 , 0xFFF50513 , 0x01868C33 , 0xFA051AE3 , 0x01012503 , 0x00C12583 , 0x00000097 , 0x5E0080E7 ,
81 0x00058693 , 0x00100593 , 0x42B51C63 , 0x00812823 , 0x00F00513 , 0x4AD56463 , 0x00369693 , 0x00DD8433 ,
82 0x38442503 , 0x11850C63 , 0x01852533 , 0x1180006F , 0x00154683 , 0x07500713 , 0x2CE69463 , 0x00254683 ,
83 0x07200713 , 0x2AE69E63 , 0x00354503 , 0x06E00693 , 0x2AD51863 , 0x01C10513 , 0x00000097 , 0x4B8080E7 ,
84 0x01C12503 , 0x00A12623 , 0x02012C03 , 0x02412583 , 0x02812603 , 0x01C10513 , 0x00000097 , 0x498080E7 ,
85 0x02012503 , 0xFF650593 , 0xFF700613 , 0x36C5E263 , 0x01712A23 , 0x00812823 , 0x00000413 , 0x01C12583 ,
86 0x00000B93 , 0x0005C603 , 0xFC660693 , 0x0FF6F693 , 0x2296EC63 , 0x00158593 , 0x032436B3 , 0x001B9713 ,
87 0x003B9B93 , 0x00EB8733 , 0x00141793 , 0x00341413 , 0xFD060613 , 0x00F407B3 , 0x0FF67413 , 0x00E686B3 ,
88 0x00878433 , 0x00F43BB3 , 0xFFF50513 , 0x01768BB3 , 0xFA051AE3 , 0x00C12503 , 0x000C0593 , 0x00000097 ,
89 0x4DC080E7 , 0x00058693 , 0x00100593 , 0x34B51263 , 0x00F00513 , 0x38D56E63 , 0x00369513 , 0x00AD8533 ,
90 0x38452603 , 0x38052583 , 0x40100B13 , 0x00400C13 , 0x0B760263 , 0x017626B3 , 0x0A00006F , 0x38042503 ,
91 0x01753533 , 0x2C051A63 , 0x00412503 , 0x00812583 , 0x00000097 , 0x57C080E7 , 0x00058693 , 0x00100593 ,
92 0x2AB51063 , 0x38042503 , 0x38442583 , 0x01753633 , 0x418585B3 , 0x41750533 , 0x40C585B3 , 0x38A42023 ,
93 0x38B42223 , 0x00F00513 , 0x34D56063 , 0x00369693 , 0x00DD86B3 , 0x3806A503 , 0x3846A583 , 0x01750BB3 ,
94 0x018585B3 , 0x00ABB533 , 0x00A58533 , 0x3976A023 , 0x38A6A223 , 0x01012403 , 0x01412B83 , 0x40100B13 ,
95 0x00400C13 , 0x032D1E63 , 0x001A8713 , 0xB99AE0E3 , 0x0300006F , 0x0085B6B3 , 0x24069063 , 0x0085B6B3 ,
96 0x41760633 , 0x408585B3 , 0x40D60633 , 0x38B52023 , 0x38C52223 , 0x01012403 , 0x01412B83 , 0xFD2D06E3 ,
97 0x410DA403 , 0x0A040A63 , 0x00000513 , 0x00000493 , 0x01000913 , 0x01900993 , 0x20000A13 , 0x02000A93 ,
98 0x00A00B13 , 0x27248463 , 0x009D85B3 , 0x4005C583 , 0x1F35FC63 , 0x00349613 , 0x02058A63 , 0x00449693 ,
99 0x00C686B3 , 0x00DD86B3 , 0x20068693 , 0x01457A63 , 0x0006C703 , 0x00AD87B3 , 0x00E78023 , 0x00150513 ,
100 0xFFF58593 , 0x00168693 , 0xFE0592E3 , 0x01457863 , 0x00AD85B3 , 0x01558023 , 0x00150513 , 0x00CD8633 ,
101 0x38062583 , 0x38462603 , 0x00A12C23 , 0x01810513 , 0x00000097 , 0x598080E7 , 0x01812503 , 0x01457863 ,
102 0x00AD85B3 , 0x01658023 , 0x00150513 , 0x00148493 , 0x00A12C23 , 0xF68498E3 , 0x01810513 , 0x00000097 ,
103 0x528080E7 , 0x05D00893 , 0x00000513 , 0x00000593 , 0x00000613 , 0x00000073 , 0x0000006F , 0x000034B7 ,
104 0xBAE48493 , 0x0140006F , 0x00A00B13 , 0x000034B7 , 0xBAE48493 , 0x01012403 , 0x01412B83 , 0x00C0006F ,
105 0x000034B7 , 0xD1C48493 , 0x00000513 , 0x000035B7 , 0xDAC58593 , 0x00500613 , 0x20000693 , 0x00D57A63 ,
106 0x0005C703 , 0x00AD87B3 , 0x00E78023 , 0x00150513 , 0xFFF60613 , 0x00158593 , 0xFE0612E3 , 0x00A12C23 ,
107 0x01810513 , 0x00040593 , 0x000B8613 , 0x00000097 , 0x4DC080E7 , 0x00000513 , 0x00000713 , 0x01812583 ,
108 0x20000613 , 0x000036B7 , 0xDB168693 , 0x00C5FC63 , 0x00E68733 , 0x00074703 , 0x00BD87B3 , 0x00E78023 ,
109 0x00158593 , 0x00100713 , 0x00157793 , 0x00100513 , 0xFC078EE3 , 0x00B12C23 , 0x01810513 , 0x00048593 ,
110 0x000B0613 , 0x00000097 , 0x404080E7 , 0x01812503 , 0x20000593 , 0x00B57A63 , 0x00AD8DB3 , 0x00A00593 ,
111 0x00BD8023 , 0x00150513 , 0x00A12C23 , 0x01810513 , 0x00000097 , 0x414080E7 , 0x05D00893 , 0x00100513 ,
112 0x00000593 , 0x00000613 , 0x00000073 , 0x0000006F , 0x00A00B13 , 0x000034B7 , 0xBAE48493 , 0xF0DFF06F ,
113 0x01700B13 , 0x01012403 , 0x01412B83 , 0x000034B7 , 0xBB848493 , 0xEF5FF06F , 0x01400B13 , 0x000034B7 ,
114 0xCE848493 , 0xED1FF06F , 0x000036B7 , 0xDC468693 , 0x01800613 , 0x00000513 , 0x00001097 , 0xB50080E7 ,
115 0x00E00B13 , 0x000034B7 , 0xCB848493 , 0xEADFF06F , 0x000034B7 , 0xCFC48493 , 0xE9DFF06F , 0x000036B7 ,
116 0xD9C68693 , 0x40000613 , 0x00070513 , 0x000A8593 , 0x00001097 , 0xB18080E7 , 0x00003637 , 0xD8C60613 ,
117 0x40000593 , 0x00001097 , 0x880080E7 , 0x00003637 , 0xDB460613 , 0x01000513 , 0x01000593 , 0x00001097 ,
118 0x868080E7 , 0x00003637 , 0xCA860613 , 0x0240006F , 0x00003637 , 0xD0C60613 , 0x0180006F , 0x00003637 ,
119 0xCC860613 , 0x00C0006F , 0x00003637 , 0xCD860613 , 0x01000593 , 0x00068513 , 0x00001097 , 0x82C080E7 ,
120 0x000035B7 , 0xBA858593 , 0x04000893 , 0x00100513 , 0x00600613 , 0x00000073 , 0x05D00893 , 0x00200513 ,
121 0x00000593 , 0x00000613 , 0x00000073 , 0x0000006F , 0x00000793 , 0x04060063 , 0x01700693 , 0x00800737 ,
122 0x01170713 , 0x00F58833 , 0x00084803 , 0xFF780813 , 0x0306E263 , 0x01075833 , 0x00187813 , 0x00080C63 ,
123 0x00178793 , 0xFEF610E3 , 0x00060793 , 0x00060713 , 0x0440006F , 0x02C7FE63 , 0x01700693 , 0x00800837 ,
124 0x01180813 , 0x00078713 , 0x00E588B3 , 0x0008C883 , 0xFF788893 , 0x0116E863 , 0x011858B3 , 0x0018F893 ,
125 0x00089A63 , 0x00170713 , 0xFEE610E3 , 0xFC1FF06F , 0x00078713 , 0x02F76663 , 0x02E66463 , 0x40F706B3 ,
126 0x00F587B3 , 0x40E60633 , 0x00E585B3 , 0x00F52023 , 0x00D52223 , 0x00B52423 , 0x00C52623 , 0x00008067 ,
127 0x000036B7 , 0xD2C68693 , 0x00078513 , 0x00070593 , 0x00001097 , 0x9B8080E7 , 0xFE010113 , 0x00112E23 ,
128 0x00812C23 , 0x00912A23 , 0x01212823 , 0x01312623 , 0x01412423 , 0x01512223 , 0x01612023 , 0x000409B7 ,
129 0x40098993 , 0x4109A403 , 0x04040A63 , 0x00058493 , 0x00050913 , 0x00000A13 , 0xE8000A93 , 0x01900B13 ,
130 0x080A8A63 , 0x01498533 , 0x40054503 , 0x02A49263 , 0x07657463 , 0x01598533 , 0x38050513 , 0x00090593 ,
131 0x00048613 , 0x00001097 , 0xCBC080E7 , 0x00050C63 , 0x001A0A13 , 0x018A8A93 , 0xFD4414E3 , 0x00000513 ,
132 0x00C0006F , 0x00100513 , 0x000A0413 , 0x00040593 , 0x01C12083 , 0x01812403 , 0x01412483 , 0x01012903 ,
133 0x00C12983 , 0x00812A03 , 0x00412A83 , 0x00012B03 , 0x02010113 , 0x00008067 , 0x000036B7 , 0xD4C68693 ,
134 0x01800613 , 0x00000513 , 0x00048593 , 0x00001097 , 0x8DC080E7 , 0x00003637 , 0xD3C60613 , 0x01000513 ,
135 0x01000593 , 0x00000097 , 0x640080E7 , 0xFF010113 , 0x00112623 , 0x00812423 , 0x00912223 , 0x00058413 ,
136 0x00050493 , 0x00000097 , 0xEF4080E7 , 0x00050693 , 0x00100513 , 0x00A69663 , 0x00058713 , 0x07C0006F ,
137 0x000405B7 , 0x40058593 , 0x4105A703 , 0x01000613 , 0x00000513 , 0x06C70263 , 0xFE740613 , 0xFE700693 ,
138 0x04C6FC63 , 0x00F00513 , 0x06E56463 , 0x00371513 , 0x00471613 , 0x00A60533 , 0x00B50533 , 0x20050513 ,
139 0x00040613 , 0x0004C683 , 0x00148493 , 0xFFF60613 , 0x00D50023 , 0x00150513 , 0xFE0616E3 , 0x00E58533 ,
140 0x40850023 , 0x4105A503 , 0x00150513 , 0x40A5A823 , 0x00100513 , 0x0040006F , 0x00070593 , 0x00C12083 ,
141 0x00812403 , 0x00412483 , 0x01010113 , 0x00008067 , 0x00003637 , 0xD5C60613 , 0x01000593 , 0x00070513 ,
142 0x00000097 , 0x564080E7 , 0x02060C63 , 0x00052683 , 0x20000713 , 0x000407B7 , 0x40078793 , 0x00E6FC63 ,
143 0x0005C803 , 0x00D788B3 , 0x00168693 , 0x01088023 , 0x00D52023 , 0xFFF60613 , 0x00158593 , 0xFE0610E3 ,
144 0x00008067 , 0x00052703 , 0x20100513 , 0x02A77063 , 0x000405B7 , 0x40058593 , 0x04000893 , 0x00100513 ,
145 0x00070613 , 0x00000073 , 0x00008067 , 0x000036B7 , 0xD6C68693 , 0x20000613 , 0x00000513 , 0x00070593 ,
146 0x00000097 , 0x768080E7 , 0xFC010113 , 0x02112E23 , 0x02812C23 , 0x02912A23 , 0x03212823 , 0x03312623 ,
147 0x03412423 , 0x03512223 , 0x03612023 , 0x00058493 , 0x00C5E5B3 , 0x00050413 , 0x02058663 , 0x00060913 ,
148 0x00C10513 , 0x01400613 , 0x00000593 , 0x00001097 , 0xF70080E7 , 0x02090E63 , 0x01F95513 , 0x02050E63 ,
149 0x0E00006F , 0x00042503 , 0x1FF00593 , 0x0CA5EA63 , 0x000405B7 , 0x40058593 , 0x03000613 , 0x00A585B3 ,
150 0x00150513 , 0x00C58023 , 0x00A42023 , 0x0B40006F , 0x0014B513 , 0x0A051663 , 0x00000993 , 0x01300A13 ,
151 0x01F10A93 , 0x01300B13 , 0x0D6A6063 , 0x00A00613 , 0x00048513 , 0x00090593 , 0x00000693 , 0x00001097 ,
152 0xA54080E7 , 0x00193613 , 0x00151693 , 0x00351713 , 0x00D706B3 , 0x00A4B713 , 0x00198993 , 0x00E67633 ,
153 0x40D484B3 , 0x0304E693 , 0x00DA8023 , 0xFFFA8A93 , 0xFFFB0B13 , 0x00050493 , 0x00058913 , 0xFA0606E3 ,
154 0x00042503 , 0x00C10593 , 0x413585B3 , 0x01458593 , 0x20000613 , 0x000406B7 , 0x40068693 , 0x00C57C63 ,
155 0x0005C703 , 0x00A687B3 , 0x00150513 , 0x00E78023 , 0x00A42023 , 0xFFF98993 , 0x00158593 , 0xFE0990E3 ,
156 0x03C12083 , 0x03812403 , 0x03412483 , 0x03012903 , 0x02C12983 , 0x02812A03 , 0x02412A83 , 0x02012B03 ,
157 0x04010113 , 0x00008067 , 0x00003637 , 0xD7C60613 , 0xFFF00513 , 0x01400593 , 0x00000097 , 0x36C080E7 ,
158 0xFC010113 , 0x02112E23 , 0x02812C23 , 0x02912A23 , 0x03212823 , 0x03312623 , 0x03412423 , 0x03512223 ,
159 0x03612023 , 0x01712E23 , 0x01812C23 , 0x01912A23 , 0x01A12823 , 0x01B12623 , 0x04010413 , 0x00078493 ,
160 0x00070913 , 0x00068A13 , 0x00060A93 , 0x00050993 , 0x00852B83 , 0x08059263 , 0x02D00B13 , 0x00100C93 ,
161 0x008B9513 , 0x009C8CB3 , 0x08055663 , 0x01000513 , 0x10AA7263 , 0x00000513 , 0x020A0263 , 0x014A85B3 ,
162 0x000A8613 , 0x00060683 , 0x00160613 , 0xFC06A693 , 0x0016C693 , 0x00D50533 , 0xFEB616E3 , 0x01950CB3 ,
163 0x00C9DD83 , 0x05BCFE63 , 0x007B9513 , 0x0E054463 , 0x419D8633 , 0x001B9513 , 0x01E55513 , 0x00100593 ,
164 0x00BB9B93 , 0xFD242423 , 0x14A5CA63 , 0x18051A63 , 0x00000D13 , 0x1900006F , 0x00AB9513 , 0x01F55C93 ,
165 0xFFFC8513 , 0x02B56B13 , 0x008B9513 , 0x009C8CB3 , 0xF6054EE3 , 0x00000A93 , 0x00C9DD83 , 0xFBBCE6E3 ,
166 0x0009AB83 , 0x0049A983 , 0x000B8513 , 0x00098593 , 0x000B0613 , 0x000A8693 , 0x000A0713 , 0x00000097 ,
167 0x5A8080E7 , 0x18051063 , 0x00C9A303 , 0x000B8513 , 0x00090593 , 0x00048613 , 0x03C12083 , 0x03812403 ,
168 0x03412483 , 0x03012903 , 0x02C12983 , 0x02812A03 , 0x02412A83 , 0x02012B03 , 0x01C12B83 , 0x01812C03 ,
169 0x01412C83 , 0x01012D03 , 0x00C12D83 , 0x04010113 , 0x00030067 , 0x000A8513 , 0x000A0593 , 0x00000097 ,
170 0x26C080E7 , 0x01950CB3 , 0x00C9DD83 , 0xF7BCFAE3 , 0xF19FF06F , 0x0009AB83 , 0x0049AC03 , 0x0089AD03 ,
171 0x00C9A503 , 0xFCA42223 , 0x9FE00537 , 0x200005B7 , 0x00AD7533 , 0x03058593 , 0x00B56533 , 0x00A9A423 ,
172 0x000B8513 , 0x000C0593 , 0x000B0613 , 0x000A8693 , 0x000A0713 , 0x00000097 , 0x4F0080E7 , 0x00100A13 ,
173 0x0C051463 , 0x00000A93 , 0x419D8533 , 0x00010B37 , 0xFFFB0B13 , 0x01657CB3 , 0x016AF533 , 0x03957C63 ,
174 0x010C2603 , 0x001A8A93 , 0x03000593 , 0x000B8513 , 0x000600E7 , 0xFE0502E3 , 0x0900006F , 0x00200593 ,
175 0x00060D13 , 0x04B51063 , 0x01061513 , 0x01155D13 , 0x0340006F , 0x00CC2683 , 0x000B8513 , 0x00090593 ,
176 0x00048613 , 0x000680E7 , 0x06051063 , 0x00000A13 , 0x01A9A423 , 0xFC442503 , 0x00A9A623 , 0x04C0006F ,
177 0x00060D13 , 0xFCC42223 , 0x00000D93 , 0x00BBDB93 , 0x0009AC03 , 0x0049A983 , 0x00010CB7 , 0xFFFC8C93 ,
178 0x019D7933 , 0x019DF533 , 0x07257063 , 0x0109A603 , 0x001D8D93 , 0x000C0513 , 0x000B8593 , 0x000600E7 ,
179 0xFE0502E3 , 0x00100A13 , 0x000A0513 , 0x03C12083 , 0x03812403 , 0x03412483 , 0x03012903 , 0x02C12983 ,
180 0x02812A03 , 0x02412A83 , 0x02012B03 , 0x01C12B83 , 0x01812C03 , 0x01412C83 , 0x01012D03 , 0x00C12D83 ,
181 0x04010113 , 0x00008067 , 0x000C0513 , 0x00098593 , 0x000B0613 , 0x000A8693 , 0x000A0713 , 0x00000097 ,
182 0x3C8080E7 , 0x00100A13 , 0xFA0510E3 , 0x00C9A683 , 0x000C0513 , 0xFC842583 , 0x00048613 , 0x000680E7 ,
183 0xF80514E3 , 0x00000493 , 0xFC442503 , 0x41A50533 , 0x00010937 , 0xFFF90913 , 0x01257AB3 , 0x0124F533 ,
184 0x01553A33 , 0xF75572E3 , 0x0109A603 , 0x00148493 , 0x000C0513 , 0x000B8593 , 0x000600E7 , 0xFE0500E3 ,
185 0xF49FF06F , 0xFE010113 , 0x00112E23 , 0x00812C23 , 0x02010413 , 0xFEA42023 , 0xFEB42223 , 0xFE440513 ,
186 0x000025B7 , 0x45058593 , 0xFE040693 , 0xFEA42423 , 0xFEB42623 , 0xFED42823 , 0xFEB42A23 , 0x00003537 ,
187 0xC0050513 , 0xFE840593 , 0x00000097 , 0x008080E7 , 0xFE010113 , 0x00112E23 , 0x00812C23 , 0x02010413 ,
188 0xFEA42223 , 0xFEB42423 , 0xFE440513 , 0x00100593 , 0xFEA42623 , 0xFEC42823 , 0xFEB41A23 , 0xFEC40513 ,
189 0xFFFFF097 , 0x760080E7 , 0x00050613 , 0x00350513 , 0xFFC57513 , 0x40C50833 , 0x0305F663 , 0x00000513 ,
190 0x02058063 , 0x00B605B3 , 0x00060683 , 0x00160613 , 0xFC06A693 , 0x0016C693 , 0x00D50533 , 0xFEB616E3 ,
191 0x00008067 , 0x41058733 , 0x00275693 , 0xFC0688E3 , 0x01060833 , 0x00377593 , 0x00C51663 , 0x00000513 ,
192 0x0200006F , 0x00000513 , 0x00060783 , 0x00160613 , 0xFC07A793 , 0x0017C793 , 0x00F50533 , 0xFF0616E3 ,
193 0x00000793 , 0x02058863 , 0x80000637 , 0xFFC60613 , 0x00C77633 , 0x00C80633 , 0x00060703 , 0xFFF58593 ,
194 0xFC072713 , 0x00174713 , 0x00E787B3 , 0x00160613 , 0xFE0594E3 , 0x010105B7 , 0x00FF0737 , 0x10158613 ,
195 0x0FF70593 , 0x00A78533 , 0x0340006F , 0x01070833 , 0x40F686B3 , 0x0037F293 , 0x00B8F333 , 0x0088D893 ,
196 0x00B8F8B3 , 0x006888B3 , 0x01089313 , 0x011308B3 , 0x0108D893 , 0x00A88533 , 0x0A029863 , 0xF40682E3 ,
197 0x00080713 , 0x0C000813 , 0x00068793 , 0x0106E463 , 0x0C000793 , 0x00279813 , 0x00000893 , 0x3F087293 ,
198 0xFA0286E3 , 0x005702B3 , 0x00070313 , 0x00032383 , 0x00432E03 , 0x00832E83 , 0x00C32F03 , 0xFFF3CF93 ,
199 0x0063D393 , 0x007FDF93 , 0x007FE3B3 , 0xFFFE4F93 , 0x006E5E13 , 0x007FDF93 , 0x01CFEE33 , 0xFFFECF93 ,
200 0x006EDE93 , 0x007FDF93 , 0x01DFEEB3 , 0xFFFF4F93 , 0x006F5F13 , 0x007FDF93 , 0x01EFEF33 , 0x00C3F3B3 ,
201 0x011388B3 , 0x00CE73B3 , 0x00CEFE33 , 0x00CF7EB3 , 0x007E03B3 , 0x011388B3 , 0x01030313 , 0x011E88B3 ,
202 0xF85316E3 , 0xF29FF06F , 0x00000693 , 0x0FC7F793 , 0x00279793 , 0x00F707B3 , 0x00229713 , 0x0007A803 ,
203 0x00478793 , 0xFFF84893 , 0x00685813 , 0x0078D893 , 0x0108E833 , 0x00C87833 , 0xFFC70713 , 0x00D806B3 ,
204 0xFC071EE3 , 0x00B6F633 , 0x0086D693 , 0x00B6F5B3 , 0x00C585B3 , 0x01059613 , 0x00B605B3 , 0x0105D593 ,
205 0x00A58533 , 0x00008067 , 0xFE010113 , 0x00112E23 , 0x00812C23 , 0x02010413 , 0x04A67263 , 0xFEA42023 ,
206 0xFEC42223 , 0xFE040513 , 0x000025B7 , 0x45058593 , 0xFE440613 , 0xFEA42423 , 0xFEB42623 , 0xFEC42823 ,
207 0xFEB42A23 , 0x00003537 , 0xC6E50513 , 0xFE840593 , 0x00068613 , 0x00000097 , 0xD7C080E7 , 0x04B66463 ,
208 0x04A5F263 , 0xFEA42023 , 0xFEB42223 , 0xFE040513 , 0x000025B7 , 0x45058593 , 0xFE440613 , 0xFEA42423 ,
209 0xFEB42623 , 0xFEC42823 , 0xFEB42A23 , 0x00003537 , 0xBCF50513 , 0xFE840593 , 0x00068613 , 0x00000097 ,
210 0xD34080E7 , 0xFEB42023 , 0xFEC42223 , 0xFE040513 , 0x000025B7 , 0x45058593 , 0xFE440613 , 0xFEA42423 ,
211 0xFEB42623 , 0xFEC42823 , 0xFEB42A23 , 0x00003537 , 0xC3750513 , 0xFE840593 , 0x00068613 , 0x00000097 ,
212 0xCF4080E7 , 0xFE010113 , 0x00112E23 , 0x00812C23 , 0x00912A23 , 0x01212823 , 0x01312623 , 0x01412423 ,
213 0x02010413 , 0x00070493 , 0x00068913 , 0x00058993 , 0xFFF00593 , 0x00050A13 , 0x02B60063 , 0x0109A683 ,
214 0x000A0513 , 0x00060593 , 0x000680E7 , 0x00050663 , 0x00100513 , 0x03C0006F , 0x02090A63 , 0x00C9A303 ,
215 0x000A0513 , 0x00090593 , 0x00048613 , 0x01C12083 , 0x01812403 , 0x01412483 , 0x01012903 , 0x00C12983 ,
216 0x00812A03 , 0x02010113 , 0x00030067 , 0x00000513 , 0x01C12083 , 0x01812403 , 0x01412483 , 0x01012903 ,
217 0x00C12983 , 0x00812A03 , 0x02010113 , 0x00008067 , 0xFC010113 , 0x02112E23 , 0x02812C23 , 0x02912A23 ,
218 0x03212823 , 0x03312623 , 0x03412423 , 0x03512223 , 0x03612023 , 0x01712E23 , 0x01812C23 , 0x04010413 ,
219 0x00058693 , 0x00052583 , 0x3E800613 , 0x00003537 , 0xDD450513 , 0x0CC5E663 , 0x00000713 , 0xFD440793 ,
220 0xFD740813 , 0xFD640893 , 0xFD540293 , 0xD1B71637 , 0x00002E37 , 0x00001EB7 , 0x06400313 , 0x00989F37 ,
221 0x75960393 , 0x710E0E13 , 0x47BE8E93 , 0x67FF0F13 , 0x00058613 , 0x00060F93 , 0x02763633 , 0x00E784B3 ,
222 0x00E28933 , 0x00E889B3 , 0x00E80A33 , 0x00D65613 , 0x03C60AB3 , 0x415F8AB3 , 0x010A9B13 , 0x012B5B13 ,
223 0x03DB0B33 , 0x010B5B93 , 0x011B5B13 , 0x026B0B33 , 0x7FEBFB93 , 0x416A8AB3 , 0x01750BB3 , 0x011A9A93 ,
224 0x010ADA93 , 0x01550AB3 , 0x000BCB03 , 0x001BCB83 , 0x000ACC03 , 0x001ACA83 , 0x01648023 , 0x01790023 ,
225 0x01898023 , 0x015A0023 , 0xFFC70713 , 0xF9FF64E3 , 0x00A70713 , 0x00900793 , 0x00C7EC63 , 0x0680006F ,
226 0x00A00713 , 0x00058613 , 0x00900793 , 0x04B7FC63 , 0x01061793 , 0x00001837 , 0x06400893 , 0xFCE40293 ,
227 0x0127D793 , 0x47B80813 , 0x00E28333 , 0x030787B3 , 0x0117D793 , 0x03178833 , 0x41060633 , 0x01161613 ,
228 0x01065613 , 0x00C50633 , 0x00064803 , 0x00164603 , 0xFFE70713 , 0x00E282B3 , 0x01028023 , 0xFEC30FA3 ,
229 0x00078613 , 0x00058463 , 0x02060063 , 0x00161613 , 0x00C50533 , 0x00154503 , 0xFFF70713 , 0xFCE40593 ,
230 0x00E585B3 , 0x00A58023 , 0x00A00793 , 0xFCE40513 , 0x40E787B3 , 0x00E50733 , 0x00100593 , 0x00100613 ,
231 0x00068513 , 0x00000693 , 0xFFFFF097 , 0x6D8080E7 , 0x03C12083 , 0x03812403 , 0x03412483 , 0x03012903 ,
232 0x02C12983 , 0x02812A03 , 0x02412A83 , 0x02012B03 , 0x01C12B83 , 0x01812C03 , 0x04010113 , 0x00008067 ,
233 0x02060063 , 0x00054683 , 0x0005C703 , 0x00E69E63 , 0x00158593 , 0xFFF60613 , 0x00150513 , 0xFE0614E3 ,
234 0x00000513 , 0x00008067 , 0x40E68533 , 0x00008067 , 0xFE010113 , 0x00112E23 , 0x00812C23 , 0x02010413 ,
235 0x00068713 , 0x00060693 , 0x00058613 , 0x00050593 , 0xFE840513 , 0x00000097 , 0x020080E7 , 0xFE842503 ,
236 0xFEC42583 , 0x01C12083 , 0x01812403 , 0x02010113 , 0x00008067 , 0x0A068863 , 0x0A071663 , 0x1C060C63 ,
237 0x1ED67A63 , 0x0106D893 , 0x00C8B7B3 , 0x0017C813 , 0x00068793 , 0x26C8F063 , 0x00481813 , 0x0087D293 ,
238 0x00C2B8B3 , 0x0018C893 , 0x26C2F263 , 0x00389293 , 0x0047D893 , 0x0102E833 , 0x00C8B2B3 , 0x0012C293 ,
239 0x26C8F463 , 0x00229293 , 0x0027D893 , 0x00586833 , 0x00C8B2B3 , 0x0012C293 , 0x00C8E463 , 0x00088793 ,
240 0x00129293 , 0x0017D793 , 0x00C7B7B3 , 0x0017C793 , 0x00F2E7B3 , 0x00F867B3 , 0x24079863 , 0x01F00813 ,
241 0xFE080293 , 0x010698B3 , 0x2402DA63 , 0x01071733 , 0xFFF84793 , 0x0016D313 , 0x00F357B3 , 0x00F767B3 ,
242 0x2400006F , 0x00000813 , 0x10060C63 , 0x10E60663 , 0x00E637B3 , 0x10079663 , 0x01065893 , 0x00E8B7B3 ,
243 0x0017C813 , 0x00481813 , 0x00060793 , 0x14E8F863 , 0x0087D893 , 0x00E8B2B3 , 0x0012C293 , 0x00329293 ,
244 0x0102E833 , 0x14E8FA63 , 0x0047D893 , 0x00E8B2B3 , 0x0012C293 , 0x00229293 , 0x00586833 , 0x14E8FC63 ,
245 0x0027D293 , 0x00E2B8B3 , 0x0018C893 , 0x00189893 , 0x011868B3 , 0x00E2E463 , 0x00028793 , 0x00000813 ,
246 0x0017D793 , 0x0016D293 , 0x00E7B7B3 , 0x0017C793 , 0x00F8E8B3 , 0x01F8C793 , 0x00F2D7B3 , 0x011712B3 ,
247 0x00F2E7B3 , 0x00100293 , 0x011292B3 , 0x01169333 , 0x0180006F , 0x00135893 , 0x01F79313 , 0x0017D793 ,
248 0x0068E333 , 0x0012D293 , 0x0065B8B3 , 0x40F603B3 , 0x411388B3 , 0xFE08C0E3 , 0x406585B3 , 0x00E88A63 ,
249 0x00E8B633 , 0x0102E833 , 0x00060A63 , 0x0180006F , 0x00D5B633 , 0x0102E833 , 0x00061663 , 0x00088613 ,
250 0xFB5FF06F , 0x01052023 , 0x00052223 , 0x00B52423 , 0x01152623 , 0x00008067 , 0x00D5B7B3 , 0xEE078EE3 ,
251 0x01052023 , 0x01052223 , 0x00B52423 , 0x00C52623 , 0x00008067 , 0x02D5D833 , 0x02D80633 , 0x40C585B3 ,
252 0x01052023 , 0x00052223 , 0x00B52423 , 0x00052623 , 0x00008067 , 0x16D61063 , 0x02C5D833 , 0x02C80633 ,
253 0x40C585B3 , 0x00100793 , 0x01052023 , 0x00F52223 , 0x00B52423 , 0x00052623 , 0x00008067 , 0x00088793 ,
254 0x0088D893 , 0x00E8B2B3 , 0x0012C293 , 0x00329293 , 0x0102E833 , 0xEAE8EAE3 , 0x00088793 , 0x0048D893 ,
255 0x00E8B2B3 , 0x0012C293 , 0x00229293 , 0x00586833 , 0xEAE8E8E3 , 0x00088793 , 0x0028D293 , 0x00E2B8B3 ,
256 0x0018C893 , 0x00189893 , 0x011868B3 , 0xEAE2F6E3 , 0xEADFF06F , 0x00088793 , 0x00481813 , 0x0088D293 ,
257 0x00C2B8B3 , 0x0018C893 , 0xDAC2E2E3 , 0x00028793 , 0x00389293 , 0x0047D893 , 0x0102E833 , 0x00C8B2B3 ,
258 0x0012C293 , 0xDAC8E0E3 , 0x00088793 , 0x00229293 , 0x0028D893 , 0x00586833 , 0x00C8B2B3 , 0x0012C293 ,
259 0xD8C8FEE3 , 0xD9DFF06F , 0x02000813 , 0x40F80833 , 0xFE080293 , 0x010698B3 , 0xDA02CAE3 , 0x00088793 ,
260 0x00000713 , 0x41F2D293 , 0x0112F8B3 , 0x00100293 , 0x01029833 , 0x0180006F , 0x0018D893 , 0x01F79293 ,
261 0x0017D793 , 0x0058E8B3 , 0x00185813 , 0x0115B2B3 , 0x40F60333 , 0x405302B3 , 0xFE02C0E3 , 0x411585B3 ,
262 0x00E86733 , 0x00028663 , 0x00028613 , 0xFCDFF06F , 0x02D5D633 , 0x02D606B3 , 0x40D585B3 , 0x00E66833 ,
263 0x01052023 , 0x00052223 , 0x00B52423 , 0x00052623 , 0x00008067 , 0x02D657B3 , 0x0106D813 , 0x02D788B3 ,
264 0x411608B3 , 0x04081E63 , 0x0105D613 , 0x01089893 , 0x00C8E733 , 0x02D75733 , 0x01059593 , 0x0105D593 ,
265 0x02D70833 , 0x41060633 , 0x01061613 , 0x00B665B3 , 0x02D5D633 , 0x01071813 , 0x01075713 , 0x00F767B3 ,
266 0x02D606B3 , 0x40D585B3 , 0x00C86833 , 0x01052023 , 0x00F52223 , 0x00B52423 , 0x00052623 , 0x00008067 ,
267 0x00E88663 , 0x00E8B633 , 0x0080006F , 0x00D5B633 , 0x00060C63 , 0x00052023 , 0x00F52223 , 0x00B52423 ,
268 0x01152623 , 0x00008067 , 0x0016D813 , 0x01F71713 , 0x01F69293 , 0x01076733 , 0x80000837 , 0x0180006F ,
269 0x0012D293 , 0x01F71313 , 0x00175713 , 0x0062E2B3 , 0x00185813 , 0x0055B333 , 0x40E883B3 , 0x40638333 ,
270 0xFE0340E3 , 0x405585B3 , 0x00C86633 , 0x00030663 , 0x00030893 , 0xFCDFF06F , 0x02D5D733 , 0x02D706B3 ,
271 0x40D585B3 , 0x00C76833 , 0x01052023 , 0x00F52223 , 0x00B52423 , 0x00052623 , 0x00008067 , 0x01000693 ,
272 0x06D66463 , 0x40A006B3 , 0x0036F693 , 0x00D50733 , 0x00E57E63 , 0x00068793 , 0x00050813 , 0x00B80023 ,
273 0xFFF78793 , 0x00180813 , 0xFE079AE3 , 0x40D60633 , 0xFFC67693 , 0x00D706B3 , 0x02D77063 , 0x0FF5F793 ,
274 0x01010837 , 0x10180813 , 0x030787B3 , 0x00F72023 , 0x00470713 , 0xFED76CE3 , 0x00367613 , 0x00C68733 ,
275 0x00E6EA63 , 0x0200006F , 0x00050693 , 0x00C50733 , 0x00E57A63 , 0x00B68023 , 0xFFF60613 , 0x00168693 ,
276 0xFE061AE3 , 0x00008067 , 0x696E6170 , 0x61620A63 , 0x6D612064 , 0x746E756F , 0x6764656C , 0x66207265 ,
277 0x206C6C75 , 0x6220726F , 0x6E206461 , 0x16656D61 , 0x63696C73 , 0x6E692065 , 0x20786564 , 0x72617473 ,
278 0x61207374 , 0x0DC02074 , 0x74756220 , 0x646E6520 , 0x74612073 , 0x6700C020 , 0x74736575 , 0x0073722E ,
279 0x646E6920 , 0x6F207865 , 0x6F207475 , 0x6F622066 , 0x73646E75 , 0x6874203A , 0x656C2065 , 0x7369206E ,
280 0x2012C020 , 0x20747562 , 0x20656874 , 0x65646E69 , 0x73692078 , 0x1000C020 , 0x676E6172 , 0x6E652065 ,
281 0x6E692064 , 0x20786564 , 0x6F2022C0 , 0x6F207475 , 0x61722066 , 0x2065676E , 0x20726F66 , 0x63696C73 ,
282 0x666F2065 , 0x6E656C20 , 0x20687467 , 0x721200C0 , 0x65676E61 , 0x61747320 , 0x69207472 , 0x7865646E ,
283 0x2022C020 , 0x2074756F , 0x7220666F , 0x65676E61 , 0x726F6620 , 0x696C7320 , 0x6F206563 , 0x656C2066 ,
284 0x6874676E , 0x0000C020 , 0x00002BF7 , 0x00000008 , 0x000000C0 , 0x0000000D , 0x6E6B6E75 , 0x206E776F ,
285 0x646E6573 , 0x00007265 , 0x00002BF7 , 0x00000008 , 0x000000C9 , 0x00000010 , 0x00002BF7 , 0x00000008 ,
286 0x000000CE , 0x0000000D , 0x75736E69 , 0x63696666 , 0x746E6569 , 0x6C616220 , 0x65636E61 , 0x6E6B6E75 ,
287 0x206E776F , 0x6F636361 , 0x00746E75 , 0x00002BF7 , 0x00000008 , 0x000000D6 , 0x00000010 , 0x6E6B6E75 ,
288 0x206E776F , 0x6D6D6F63 , 0x00646E61 , 0x00002BF7 , 0x00000008 , 0x0000007F , 0x00000008 , 0x00002BF7 ,
289 0x00000008 , 0x00000050 , 0x00000015 , 0x00002BF7 , 0x00000008 , 0x00000051 , 0x00000030 , 0x00002BF7 ,
290 0x00000008 , 0x00000063 , 0x0000000D , 0x00002BF7 , 0x00000008 , 0x000000B0 , 0x00000013 , 0x00002BF7 ,
291 0x00000008 , 0x000000A8 , 0x0000000D , 0x00002BF7 , 0x00000008 , 0x000000ED , 0x0000001A , 0x00002BF7 ,
292 0x00000008 , 0x000000F2 , 0x0000002B , 0x656E696C , 0x00203A20 , 0x00002BF7 , 0x00000008 , 0x00000103 ,
293 0x00000011 , 0x00002BF7 , 0x00000008 , 0x00000104 , 0x0000001F , 0x31303030 , 0x33303230 , 0x35303430 ,
294 0x37303630 , 0x39303830 , 0x31313031 , 0x33313231 , 0x35313431 , 0x37313631 , 0x39313831 , 0x31323032 ,
295 0x33323232 , 0x35323432 , 0x37323632 , 0x39323832 , 0x31333033 , 0x33333233 , 0x35333433 , 0x37333633 ,
296 0x39333833 , 0x31343034 , 0x33343234 , 0x35343434 , 0x37343634 , 0x39343834 , 0x31353035 , 0x33353235 ,
297 0x35353435 , 0x37353635 , 0x39353835 , 0x31363036 , 0x33363236 , 0x35363436 , 0x37363636 , 0x39363836 ,
298 0x31373037 , 0x33373237 , 0x35373437 , 0x37373637 , 0x39373837 , 0x31383038 , 0x33383238 , 0x35383438 ,
299 0x37383638 , 0x39383838 , 0x31393039 , 0x33393239 , 0x35393439 , 0x37393639 , 0x39393839 ,
300 }
301
302 // GuestLedger returns the flat text image of the compiled Rust ledger, ready
303 // for [NewMachine] at [DefaultEntry].
304 func GuestLedger() [] byte { return Image(guestLedger) }
305
306 // Image serializes instruction words little-endian, which is what RV32 is.
307 // Exported because anything assembling a program has to do exactly this, and
308 // getting the byte order wrong produces a decoder error a long way from the
309 // mistake.
310 func Image(words [] uint32 ) [] byte {
311 b := make([] byte , 0 , len(words)* 4 )
312 for _, w := range words {
313 b = append(b, byte (w), byte (w>> 8 ), byte (w>> 16 ), byte (w>> 24 ))
314 }
315 return b
316 }
317