diff options
-rwxr-xr-x | apps/mu | bin | 160771 -> 160792 bytes | |||
-rw-r--r-- | apps/mu.subx | 48 | ||||
-rw-r--r-- | html/apps/mu.subx.html | 42 |
3 files changed, 45 insertions, 45 deletions
diff --git a/apps/mu b/apps/mu index 4261eefe..37ab1d90 100755 --- a/apps/mu +++ b/apps/mu Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx index e82bda50..c65bac17 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -1943,27 +1943,27 @@ test-convert-index-into-array: #? (rewind-stream _test-output-stream) #? # }}} # check output - (check-next-stream-line-equal _test-output-stream "foo:" "F - test-convert-length-of-array/0") - (check-next-stream-line-equal _test-output-stream " # . prologue" "F - test-convert-length-of-array/1") - (check-next-stream-line-equal _test-output-stream " 55/push-ebp" "F - test-convert-length-of-array/2") - (check-next-stream-line-equal _test-output-stream " 89/<- %ebp 4/r32/esp" "F - test-convert-length-of-array/3") - (check-next-stream-line-equal _test-output-stream " {" "F - test-convert-length-of-array/4") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:loop:" "F - test-convert-length-of-array/5") - (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %eax" "F - test-convert-length-of-array/6") - (check-next-stream-line-equal _test-output-stream " b8/copy-to-eax 0/imm32" "F - test-convert-length-of-array/7") - (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %ecx" "F - test-convert-length-of-array/8") - (check-next-stream-line-equal _test-output-stream " b9/copy-to-ecx 3/imm32" "F - test-convert-length-of-array/9") - (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %eax" "F - test-convert-length-of-array/10") - (check-next-stream-line-equal _test-output-stream " 8d/copy-address *(eax + ecx<<2 + 4) 0x00000000/r32" "F - test-convert-length-of-array/11") - (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array/12") - (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %ecx" "F - test-convert-length-of-array/13") - (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-length-of-array/14") - (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-length-of-array/15") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-length-of-array/16") - (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-length-of-array/17") - (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-length-of-array/18") - (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-length-of-array/19") - (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-length-of-array/20") + (check-next-stream-line-equal _test-output-stream "foo:" "F - test-convert-index-into-array/0") + (check-next-stream-line-equal _test-output-stream " # . prologue" "F - test-convert-index-into-array/1") + (check-next-stream-line-equal _test-output-stream " 55/push-ebp" "F - test-convert-index-into-array/2") + (check-next-stream-line-equal _test-output-stream " 89/<- %ebp 4/r32/esp" "F - test-convert-index-into-array/3") + (check-next-stream-line-equal _test-output-stream " {" "F - test-convert-index-into-array/4") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:loop:" "F - test-convert-index-into-array/5") + (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %eax" "F - test-convert-index-into-array/6") + (check-next-stream-line-equal _test-output-stream " b8/copy-to-eax 0/imm32" "F - test-convert-index-into-array/7") + (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %ecx" "F - test-convert-index-into-array/8") + (check-next-stream-line-equal _test-output-stream " b9/copy-to-ecx 3/imm32" "F - test-convert-index-into-array/9") + (check-next-stream-line-equal _test-output-stream " ff 6/subop/push %eax" "F - test-convert-index-into-array/10") + (check-next-stream-line-equal _test-output-stream " 8d/copy-address *(eax + ecx<<2 + 4) 0x00000000/r32" "F - test-convert-index-into-array/11") + (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-index-into-array/12") + (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %ecx" "F - test-convert-index-into-array/13") + (check-next-stream-line-equal _test-output-stream " 8f 0/subop/pop %eax" "F - test-convert-index-into-array/14") + (check-next-stream-line-equal _test-output-stream " }" "F - test-convert-index-into-array/15") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-convert-index-into-array/16") + (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-convert-index-into-array/17") + (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-convert-index-into-array/18") + (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-convert-index-into-array/19") + (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-convert-index-into-array/20") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp @@ -6116,7 +6116,7 @@ $emit-subx-stmt-list:index: (write-buffered *(ebp+8) "8d/copy-address *(") # inouts[0]->register " + " 8b/-> *(ecx+8) 0/r32/eax # Stmt1-inouts - 8b/-> *eax 0/r32/eax # List-value + 8b/-> *eax 0/r32/eax # Stmt-var-value (write-buffered *(ebp+8) *(eax+0x10)) # Var-register => eax # (write-buffered *(ebp+8) " + ") @@ -6130,7 +6130,7 @@ $emit-subx-stmt-list:index: (write-buffered *(ebp+8) "<<2 + 4) ") # outputs[0] "/r32" 8b/-> *(ecx+0xc) 0/r32/eax # Stmt1-outputs - 8b/-> *eax 0/r32/eax # List-value + 8b/-> *eax 0/r32/eax # Stmt-var-value (get Registers *(eax+0x10) 8 "Registers") # Var-register => eax (print-int32-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") @@ -6156,7 +6156,7 @@ $emit-subx-stmt-list:get: (write-buffered *(ebp+8) ") ") # outputs[0] "/r32" 8b/-> *(ecx+0xc) 0/r32/eax # Stmt1-outputs - 8b/-> *eax 0/r32/eax # List-value + 8b/-> *eax 0/r32/eax # Stmt-var-value (get Registers *(eax+0x10) 8 "Registers") # Var-register => eax (print-int32-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") diff --git a/html/apps/mu.subx.html b/html/apps/mu.subx.html index 79290b34..bb220441 100644 --- a/html/apps/mu.subx.html +++ b/html/apps/mu.subx.html @@ -1860,27 +1860,27 @@ if ('onhashchange' in window) { <span id="L1938" class="LineNr">1938 </span> (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>) <span id="L1939" class="Folded">1939 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1945" class="LineNr">1945 </span> <span class="subxComment"># check output</span> -<span id="L1946" class="LineNr">1946 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/0"</span>) -<span id="L1947" class="LineNr">1947 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array/1"</span>) -<span id="L1948" class="LineNr">1948 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/2"</span>) -<span id="L1949" class="LineNr">1949 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/3"</span>) -<span id="L1950" class="LineNr">1950 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/4"</span>) -<span id="L1951" class="LineNr">1951 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/5"</span>) -<span id="L1952" class="LineNr">1952 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/6"</span>) -<span id="L1953" class="LineNr">1953 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/7"</span>) -<span id="L1954" class="LineNr">1954 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/8"</span>) -<span id="L1955" class="LineNr">1955 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/9"</span>) -<span id="L1956" class="LineNr">1956 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/10"</span>) -<span id="L1957" class="LineNr">1957 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<2 + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/11"</span>) -<span id="L1958" class="LineNr">1958 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/12"</span>) -<span id="L1959" class="LineNr">1959 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/13"</span>) -<span id="L1960" class="LineNr">1960 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/14"</span>) -<span id="L1961" class="LineNr">1961 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/15"</span>) -<span id="L1962" class="LineNr">1962 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/16"</span>) -<span id="L1963" class="LineNr">1963 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array/17"</span>) -<span id="L1964" class="LineNr">1964 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/18"</span>) -<span id="L1965" class="LineNr">1965 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/19"</span>) -<span id="L1966" class="LineNr">1966 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1872'>test-convert-length-of-array</a>/20"</span>) +<span id="L1946" class="LineNr">1946 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/0"</span>) +<span id="L1947" class="LineNr">1947 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array/1"</span>) +<span id="L1948" class="LineNr">1948 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/2"</span>) +<span id="L1949" class="LineNr">1949 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/3"</span>) +<span id="L1950" class="LineNr">1950 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/4"</span>) +<span id="L1951" class="LineNr">1951 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/5"</span>) +<span id="L1952" class="LineNr">1952 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/6"</span>) +<span id="L1953" class="LineNr">1953 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/7"</span>) +<span id="L1954" class="LineNr">1954 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/8"</span>) +<span id="L1955" class="LineNr">1955 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/9"</span>) +<span id="L1956" class="LineNr">1956 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/10"</span>) +<span id="L1957" class="LineNr">1957 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<2 + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/11"</span>) +<span id="L1958" class="LineNr">1958 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/12"</span>) +<span id="L1959" class="LineNr">1959 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/13"</span>) +<span id="L1960" class="LineNr">1960 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/14"</span>) +<span id="L1961" class="LineNr">1961 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/15"</span>) +<span id="L1962" class="LineNr">1962 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/16"</span>) +<span id="L1963" class="LineNr">1963 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array/17"</span>) +<span id="L1964" class="LineNr">1964 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/18"</span>) +<span id="L1965" class="LineNr">1965 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/19"</span>) +<span id="L1966" class="LineNr">1966 </span> (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1920'>test-convert-index-into-array</a>/20"</span>) <span id="L1967" class="LineNr">1967 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1968" class="LineNr">1968 </span> 89/<- %esp 5/r32/ebp <span id="L1969" class="LineNr">1969 </span> 5d/pop-to-ebp |