diff options
Diffstat (limited to 'html/linux')
176 files changed, 8344 insertions, 8101 deletions
diff --git a/html/linux/000init.subx.html b/html/linux/000init.subx.html index 962c503d..69b7ffb8 100644 --- a/html/linux/000init.subx.html +++ b/html/linux/000init.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/101_write.subx.html b/html/linux/101_write.subx.html index ce117c11..f331c01e 100644 --- a/html/linux/101_write.subx.html +++ b/html/linux/101_write.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .SpecialChar { color: #d70000; } .subxMinorFunction { color: #875f5f; } --> diff --git a/html/linux/102test.subx.html b/html/linux/102test.subx.html index 8f34dce9..5bbc141b 100644 --- a/html/linux/102test.subx.html +++ b/html/linux/102test.subx.html @@ -7,18 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } .subxS1Comment { color: #0000af; } .subxS2Comment { color: #8a8a8a; } .LineNr { } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .SpecialChar { color: #d70000; } .Constant { color: #008787; } .subxFunction { color: #af5f00; text-decoration: underline; } diff --git a/html/linux/103kernel-string-equal.subx.html b/html/linux/103kernel-string-equal.subx.html index 35f20d36..406a3746 100644 --- a/html/linux/103kernel-string-equal.subx.html +++ b/html/linux/103kernel-string-equal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/104new-segment.subx.html b/html/linux/104new-segment.subx.html index d5b54d53..c8c2f0a6 100644 --- a/html/linux/104new-segment.subx.html +++ b/html/linux/104new-segment.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxMinorFunction { color: #875f5f; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/105string-equal.subx.html b/html/linux/105string-equal.subx.html index 2b663186..6d4f2b3b 100644 --- a/html/linux/105string-equal.subx.html +++ b/html/linux/105string-equal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .subxFunction { color: #af5f00; text-decoration: underline; } --> diff --git a/html/linux/106stream.subx.html b/html/linux/106stream.subx.html index c154f0bf..e261889d 100644 --- a/html/linux/106stream.subx.html +++ b/html/linux/106stream.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -21,7 +21,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/107trace.subx.html b/html/linux/107trace.subx.html index 78b7cc4a..a96b4ce6 100644 --- a/html/linux/107trace.subx.html +++ b/html/linux/107trace.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -20,7 +20,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } .subxMinorFunction { color: #875f5f; } diff --git a/html/linux/108write.subx.html b/html/linux/108write.subx.html index 443cc057..95689d99 100644 --- a/html/linux/108write.subx.html +++ b/html/linux/108write.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxMinorFunction { color: #875f5f; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/109stream-equal.subx.html b/html/linux/109stream-equal.subx.html index 3c1a4d2b..28aac347 100644 --- a/html/linux/109stream-equal.subx.html +++ b/html/linux/109stream-equal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/110stop.subx.html b/html/linux/110stop.subx.html index 313eeeda..127797f5 100644 --- a/html/linux/110stop.subx.html +++ b/html/linux/110stop.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxMinorFunction { color: #875f5f; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } --> </style> diff --git a/html/linux/111read.subx.html b/html/linux/111read.subx.html index cd5cf06a..f5336d77 100644 --- a/html/linux/111read.subx.html +++ b/html/linux/111read.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxMinorFunction { color: #875f5f; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxTest { color: #5f8700; } --> </style> diff --git a/html/linux/112read-byte.subx.html b/html/linux/112read-byte.subx.html index 2147fee6..e0fd1d1d 100644 --- a/html/linux/112read-byte.subx.html +++ b/html/linux/112read-byte.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -20,7 +20,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .subxMinorFunction { color: #875f5f; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } .Constant { color: #008787; } diff --git a/html/linux/113write-stream.subx.html b/html/linux/113write-stream.subx.html index 25248003..2ef1c337 100644 --- a/html/linux/113write-stream.subx.html +++ b/html/linux/113write-stream.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxMinorFunction { color: #875f5f; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .subxTest { color: #5f8700; } --> diff --git a/html/linux/114error.subx.html b/html/linux/114error.subx.html index d1567995..f4df5fa2 100644 --- a/html/linux/114error.subx.html +++ b/html/linux/114error.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -21,7 +21,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/115write-byte.subx.html b/html/linux/115write-byte.subx.html index def2113b..8398cc52 100644 --- a/html/linux/115write-byte.subx.html +++ b/html/linux/115write-byte.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -20,7 +20,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .subxMinorFunction { color: #875f5f; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } .Constant { color: #008787; } diff --git a/html/linux/116write-buffered.subx.html b/html/linux/116write-buffered.subx.html index c8438716..99d641f9 100644 --- a/html/linux/116write-buffered.subx.html +++ b/html/linux/116write-buffered.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/117write-int-hex.subx.html b/html/linux/117write-int-hex.subx.html index 0696130b..0fed930a 100644 --- a/html/linux/117write-int-hex.subx.html +++ b/html/linux/117write-int-hex.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS1Comment { color: #0000af; } .subxS2Comment { color: #8a8a8a; } .LineNr { } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } .Constant { color: #008787; } diff --git a/html/linux/118parse-hex-int.subx.html b/html/linux/118parse-hex-int.subx.html index 4126794d..c9453aba 100644 --- a/html/linux/118parse-hex-int.subx.html +++ b/html/linux/118parse-hex-int.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/119error-byte.subx.html b/html/linux/119error-byte.subx.html index 90df6185..205c1f49 100644 --- a/html/linux/119error-byte.subx.html +++ b/html/linux/119error-byte.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -21,7 +21,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } --> </style> diff --git a/html/linux/120allocate.subx.html b/html/linux/120allocate.subx.html index 0d20d419..9f3ee8d3 100644 --- a/html/linux/120allocate.subx.html +++ b/html/linux/120allocate.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxMinorFunction { color: #875f5f; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/121new-stream.subx.html b/html/linux/121new-stream.subx.html index b19387fe..c26deae9 100644 --- a/html/linux/121new-stream.subx.html +++ b/html/linux/121new-stream.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/122read-line.subx.html b/html/linux/122read-line.subx.html index 66d9a605..ad7c4dc9 100644 --- a/html/linux/122read-line.subx.html +++ b/html/linux/122read-line.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/123slice.subx.html b/html/linux/123slice.subx.html index f36dbcc7..310907db 100644 --- a/html/linux/123slice.subx.html +++ b/html/linux/123slice.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Folded { color: #080808; background-color: #949494; } --> </style> diff --git a/html/linux/124next-token.subx.html b/html/linux/124next-token.subx.html index 8c325489..aa33827c 100644 --- a/html/linux/124next-token.subx.html +++ b/html/linux/124next-token.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/125write-stream-data.subx.html b/html/linux/125write-stream-data.subx.html index e904e850..0d5227fd 100644 --- a/html/linux/125write-stream-data.subx.html +++ b/html/linux/125write-stream-data.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/126write-int-decimal.subx.html b/html/linux/126write-int-decimal.subx.html index 89305e38..41c1fea0 100644 --- a/html/linux/126write-int-decimal.subx.html +++ b/html/linux/126write-int-decimal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Folded { color: #080808; background-color: #949494; } .CommentedCode { color: #8a8a8a; } --> diff --git a/html/linux/127next-word.subx.html b/html/linux/127next-word.subx.html index e191c6bb..3d5f9b21 100644 --- a/html/linux/127next-word.subx.html +++ b/html/linux/127next-word.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/128subx-words.subx.html b/html/linux/128subx-words.subx.html index 1b9c1fdd..67739853 100644 --- a/html/linux/128subx-words.subx.html +++ b/html/linux/128subx-words.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/129emit-hex.subx.html b/html/linux/129emit-hex.subx.html index 4bb744bc..462e3247 100644 --- a/html/linux/129emit-hex.subx.html +++ b/html/linux/129emit-hex.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/130emit.subx.html b/html/linux/130emit.subx.html index c4cb6193..453b48b8 100644 --- a/html/linux/130emit.subx.html +++ b/html/linux/130emit.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Folded { color: #080808; background-color: #949494; } --> </style> diff --git a/html/linux/131table.subx.html b/html/linux/131table.subx.html index 4f51356a..fd89f314 100644 --- a/html/linux/131table.subx.html +++ b/html/linux/131table.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/132slurp.subx.html b/html/linux/132slurp.subx.html index 1554d6a4..9818e61d 100644 --- a/html/linux/132slurp.subx.html +++ b/html/linux/132slurp.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/133subx-widths.subx.html b/html/linux/133subx-widths.subx.html index 4c5cc558..de11dacf 100644 --- a/html/linux/133subx-widths.subx.html +++ b/html/linux/133subx-widths.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/134emit-hex-array.subx.html b/html/linux/134emit-hex-array.subx.html index 7e3162ef..61cefe1f 100644 --- a/html/linux/134emit-hex-array.subx.html +++ b/html/linux/134emit-hex-array.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Folded { color: #080808; background-color: #949494; } --> </style> diff --git a/html/linux/135next-word-or-string.subx.html b/html/linux/135next-word-or-string.subx.html index 82eac623..a49c2231 100644 --- a/html/linux/135next-word-or-string.subx.html +++ b/html/linux/135next-word-or-string.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -21,7 +21,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/201register-names.subx.html b/html/linux/201register-names.subx.html index 1e3d1600..8746894e 100644 --- a/html/linux/201register-names.subx.html +++ b/html/linux/201register-names.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/202write-int.subx.html b/html/linux/202write-int.subx.html index b9df3e2e..f2cd98b5 100644 --- a/html/linux/202write-int.subx.html +++ b/html/linux/202write-int.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/203stack.subx.html b/html/linux/203stack.subx.html index 490d9af0..b5e57146 100644 --- a/html/linux/203stack.subx.html +++ b/html/linux/203stack.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/301array-equal.subx.html b/html/linux/301array-equal.subx.html index 383bb2c4..ead000c5 100644 --- a/html/linux/301array-equal.subx.html +++ b/html/linux/301array-equal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/302stack_allocate.subx.html b/html/linux/302stack_allocate.subx.html index 5946e099..db76ffe7 100644 --- a/html/linux/302stack_allocate.subx.html +++ b/html/linux/302stack_allocate.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/303kernel-string.subx.html b/html/linux/303kernel-string.subx.html index 37e994cd..1dc497c9 100644 --- a/html/linux/303kernel-string.subx.html +++ b/html/linux/303kernel-string.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/304screen.subx.html b/html/linux/304screen.subx.html index 5f362f14..daf9663f 100644 --- a/html/linux/304screen.subx.html +++ b/html/linux/304screen.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/305keyboard.subx.html b/html/linux/305keyboard.subx.html index 2ebc5ec2..9efe546d 100644 --- a/html/linux/305keyboard.subx.html +++ b/html/linux/305keyboard.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/306files.subx.html b/html/linux/306files.subx.html index bc0d3099..23c60d8c 100644 --- a/html/linux/306files.subx.html +++ b/html/linux/306files.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/307size.subx.html b/html/linux/307size.subx.html index f52b062b..34115dc7 100644 --- a/html/linux/307size.subx.html +++ b/html/linux/307size.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/308allocate-array.subx.html b/html/linux/308allocate-array.subx.html index f0608761..6489d273 100644 --- a/html/linux/308allocate-array.subx.html +++ b/html/linux/308allocate-array.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/309stream.subx.html b/html/linux/309stream.subx.html index 53c9cc2f..3abd06a0 100644 --- a/html/linux/309stream.subx.html +++ b/html/linux/309stream.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/310copy-bytes.subx.html b/html/linux/310copy-bytes.subx.html index 241bcadc..954f3190 100644 --- a/html/linux/310copy-bytes.subx.html +++ b/html/linux/310copy-bytes.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/311decimal-int.subx.html b/html/linux/311decimal-int.subx.html index ee7b5055..373bf1cf 100644 --- a/html/linux/311decimal-int.subx.html +++ b/html/linux/311decimal-int.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/312copy.subx.html b/html/linux/312copy.subx.html index 62213681..1f6e25ee 100644 --- a/html/linux/312copy.subx.html +++ b/html/linux/312copy.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/313index-bounds-check.subx.html b/html/linux/313index-bounds-check.subx.html index 07c1e75c..e0fa793c 100644 --- a/html/linux/313index-bounds-check.subx.html +++ b/html/linux/313index-bounds-check.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/314divide.subx.html b/html/linux/314divide.subx.html index 24138c35..8f4ba55c 100644 --- a/html/linux/314divide.subx.html +++ b/html/linux/314divide.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/315slice.subx.html b/html/linux/315slice.subx.html index 2e612744..f572c405 100644 --- a/html/linux/315slice.subx.html +++ b/html/linux/315slice.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/400.mu.html b/html/linux/400.mu.html index 9b1270b4..c486904b 100644 --- a/html/linux/400.mu.html +++ b/html/linux/400.mu.html @@ -7,16 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } -.Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } .muComment { color: #005faf; } --> </style> @@ -82,10 +84,10 @@ if ('onhashchange' in window) { <span id="L27" class="LineNr"> 27 </span><span class="muComment"># Many functions here may not be usable yet because of missing features</span> <span id="L28" class="LineNr"> 28 </span><span class="muComment"># (global variable support, etc.)</span> <span id="L29" class="LineNr"> 29 </span><span class="PreProc">sig</span> <a href='102test.subx.html#L23'>check-ints-equal</a> a: int, b: int, msg: (addr array byte) -<span id="L30" class="LineNr"> 30 </span><span class="PreProc">sig</span> <a href='103kernel-string-equal.subx.html#L31'>kernel-string-equal?</a> s: (addr kernel-string), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L30" class="LineNr"> 30 </span><span class="PreProc">sig</span> <a href='103kernel-string-equal.subx.html#L31'>kernel-string-equal?</a> s: (addr kernel-string), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L31" class="LineNr"> 31 </span><span class="PreProc">sig</span> <a href='104new-segment.subx.html#L40'>new-segment</a> len: int, ad: (addr allocation-descriptor) -<span id="L32" class="LineNr"> 32 </span><span class="PreProc">sig</span> <a href='105string-equal.subx.html#L15'>string-equal?</a> s: (addr array byte), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L33" class="LineNr"> 33 </span><span class="PreProc">sig</span> <a href='105string-equal.subx.html#L57'>string-starts-with?</a> s: (addr array byte), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L32" class="LineNr"> 32 </span><span class="PreProc">sig</span> <a href='105string-equal.subx.html#L15'>string-equal?</a> s: (addr array byte), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L33" class="LineNr"> 33 </span><span class="PreProc">sig</span> <a href='105string-equal.subx.html#L57'>string-starts-with?</a> s: (addr array byte), benchmark: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L34" class="LineNr"> 34 </span><span class="PreProc">sig</span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> s: (addr array byte), expected: (addr array byte), msg: (addr array byte) <span id="L35" class="LineNr"> 35 </span><span class="PreProc">sig</span> <a href='106stream.subx.html#L17'>clear-stream</a> f: (addr stream _) <span id="L36" class="LineNr"> 36 </span><span class="PreProc">sig</span> <a href='106stream.subx.html#L56'>rewind-stream</a> f: (addr stream _) @@ -93,20 +95,20 @@ if ('onhashchange' in window) { <span id="L38" class="LineNr"> 38 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L81'>trace</a> line: (addr array byte) <span id="L39" class="LineNr"> 39 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L248'>check-trace-contains</a> line: (addr string), msg: (addr string) <span id="L40" class="LineNr"> 40 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L273'>check-trace-scans-to</a> line: (addr string), msg: (addr string) -<span id="L41" class="LineNr"> 41 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L304'>trace-scan</a> line: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L42" class="LineNr"> 42 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L556'>next-line-matches?</a> t: (addr stream byte), line: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L41" class="LineNr"> 41 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L304'>trace-scan</a> line: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L42" class="LineNr"> 42 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L556'>next-line-matches?</a> t: (addr stream byte), line: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L43" class="LineNr"> 43 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L732'>skip-next-line</a> t: (addr stream byte) <span id="L44" class="LineNr"> 44 </span><span class="PreProc">sig</span> <a href='107trace.subx.html#L840'>clear-trace-stream</a> <span id="L45" class="LineNr"> 45 </span><span class="PreProc">sig</span> <a href='108write.subx.html#L24'>write</a> f: (addr stream byte), s: (addr array byte) <span class="muComment"># writing to file descriptor not supported; use buffered-file</span> -<span id="L46" class="LineNr"> 46 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L9'>stream-data-equal?</a> f: (addr stream byte), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L46" class="LineNr"> 46 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L9'>stream-data-equal?</a> f: (addr stream byte), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L47" class="LineNr"> 47 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> f: (addr stream byte), s: (addr array byte), msg: (addr array byte) -<span id="L48" class="LineNr"> 48 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a> f: (addr stream byte), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L48" class="LineNr"> 48 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L230'>next-stream-line-equal?</a> f: (addr stream byte), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L49" class="LineNr"> 49 </span><span class="PreProc">sig</span> <a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> f: (addr stream byte), s: (addr array byte), msg: (addr array byte) <span id="L50" class="LineNr"> 50 </span><span class="PreProc">sig</span> <a href='110stop.subx.html#L44'>tailor-exit-descriptor</a> ed: (addr exit-descriptor), nbytes: int <span id="L51" class="LineNr"> 51 </span><span class="PreProc">sig</span> <a href='110stop.subx.html#L92'>stop</a> ed: (addr exit-descriptor), value: int <span id="L52" class="LineNr"> 52 </span><span class="muComment">#sig read f: fd or (addr stream byte), s: (addr stream byte) -> _/eax: int</span> -<span id="L53" class="LineNr"> 53 </span><span class="PreProc">sig</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> f: (addr buffered-file)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: byte -<span id="L54" class="LineNr"> 54 </span><span class="PreProc">sig</span> <a href='112read-byte.subx.html#L273'>read-byte</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: byte +<span id="L53" class="LineNr"> 53 </span><span class="PreProc">sig</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> f: (addr buffered-file)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: byte +<span id="L54" class="LineNr"> 54 </span><span class="PreProc">sig</span> <a href='112read-byte.subx.html#L273'>read-byte</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: byte <span id="L55" class="LineNr"> 55 </span><span class="muComment">#sig write-stream f: fd or (addr stream byte), s: (addr stream byte)</span> <span id="L56" class="LineNr"> 56 </span><span class="muComment">#sig error ed: (addr exit-descriptor), out: fd or (addr stream byte), msg: (addr array byte)</span> <span id="L57" class="LineNr"> 57 </span><span class="PreProc">sig</span> <a href='115write-byte.subx.html#L33'>write-byte-buffered</a> f: (addr buffered-file), n: int @@ -120,22 +122,22 @@ if ('onhashchange' in window) { <span id="L65" class="LineNr"> 65 </span><span class="PreProc">sig</span> <a href='117write-int-hex.subx.html#L209'>write-int32-hex-bits</a> f: (addr stream byte), n: int, bits: int <span id="L66" class="LineNr"> 66 </span><span class="PreProc">sig</span> <a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> f: (addr buffered-file), n: int <span id="L67" class="LineNr"> 67 </span><span class="PreProc">sig</span> <a href='117write-int-hex.subx.html#L319'>write-int32-hex-bits-buffered</a> f: (addr buffered-file), n: int, bits: int -<span id="L68" class="LineNr"> 68 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L9'>hex-int?</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L69" class="LineNr"> 69 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L354'>parse-hex-int</a> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int -<span id="L70" class="LineNr"> 70 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L387'>parse-hex-int-from-slice</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L68" class="LineNr"> 68 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L9'>hex-int?</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L69" class="LineNr"> 69 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L354'>parse-hex-int</a> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int +<span id="L70" class="LineNr"> 70 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L387'>parse-hex-int-from-slice</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L71" class="LineNr"> 71 </span><span class="muComment">#sig parse-hex-int-helper start: (addr byte), end: (addr byte) -> _/eax: int</span> -<span id="L72" class="LineNr"> 72 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L701'>hex-digit?</a> c: byte<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L72" class="LineNr"> 72 </span><span class="PreProc">sig</span> <a href='118parse-hex-int.subx.html#L701'>hex-digit?</a> c: byte<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L73" class="LineNr"> 73 </span><span class="muComment">#sig from-hex-char in/eax: byte -> out/eax: nibble</span> -<span id="L74" class="LineNr"> 74 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L23'>parse-decimal-int</a> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int -<span id="L75" class="LineNr"> 75 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int -<span id="L76" class="LineNr"> 76 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L74" class="LineNr"> 74 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L23'>parse-decimal-int</a> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int +<span id="L75" class="LineNr"> 75 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int +<span id="L76" class="LineNr"> 76 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L77" class="LineNr"> 77 </span><span class="muComment">#sig parse-decimal-int-helper start: (addr byte), end: (addr byte) -> _/eax: int</span> -<span id="L78" class="LineNr"> 78 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L312'>decimal-size</a> n: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L78" class="LineNr"> 78 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L312'>decimal-size</a> n: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L79" class="LineNr"> 79 </span><span class="PreProc">sig</span> <a href='119error-byte.subx.html#L26'>error-byte</a> ed: (addr exit-descriptor), out: (addr buffered-file), msg: (addr array byte), n: byte <span id="L80" class="LineNr"> 80 </span><span class="muComment">#sig allocate ad: (addr allocation-descriptor), n: int, out: (addr handle _)</span> <span id="L81" class="LineNr"> 81 </span><span class="muComment">#sig allocate-raw ad: (addr allocation-descriptor), n: int, out: (addr handle _)</span> -<span id="L82" class="LineNr"> 82 </span><span class="PreProc">sig</span> <a href='120allocate.subx.html#L258'>lookup</a> h: (handle _T)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: (addr _T) -<span id="L83" class="LineNr"> 83 </span><span class="PreProc">sig</span> <a href='120allocate.subx.html#L466'>handle-equal?</a> a: (handle _T), b: (handle _T)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L82" class="LineNr"> 82 </span><span class="PreProc">sig</span> <a href='120allocate.subx.html#L258'>lookup</a> h: (handle _T)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: (addr _T) +<span id="L83" class="LineNr"> 83 </span><span class="PreProc">sig</span> <a href='120allocate.subx.html#L466'>handle-equal?</a> a: (handle _T), b: (handle _T)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L84" class="LineNr"> 84 </span><span class="PreProc">sig</span> <a href='120allocate.subx.html#L497'>copy-handle</a> src: (handle _T), dest: (addr handle _T) <span id="L85" class="LineNr"> 85 </span><span class="muComment">#sig allocate-region ad: (addr allocation-descriptor), n: int, out: (addr handle allocation-descriptor)</span> <span id="L86" class="LineNr"> 86 </span><span class="muComment">#sig allocate-array ad: (addr allocation-descriptor), n: int, out: (addr handle _)</span> @@ -144,9 +146,9 @@ if ('onhashchange' in window) { <span id="L89" class="LineNr"> 89 </span><span class="muComment">#sig new-stream ad: (addr allocation-descriptor), length: int, elemsize: int, out: (addr handle stream _)</span> <span id="L90" class="LineNr"> 90 </span><span class="PreProc">sig</span> <a href='122read-line.subx.html#L9'>read-line-buffered</a> f: (addr buffered-file), s: (addr stream byte) <span id="L91" class="LineNr"> 91 </span><span class="PreProc">sig</span> <a href='122read-line.subx.html#L218'>read-line</a> f: (addr stream byte), s: (addr stream byte) -<span id="L92" class="LineNr"> 92 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L9'>slice-empty?</a> s: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L93" class="LineNr"> 93 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L120'>slice-equal?</a> s: (addr slice), p: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L94" class="LineNr"> 94 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L487'>slice-starts-with?</a> s: (addr slice), head: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L92" class="LineNr"> 92 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L9'>slice-empty?</a> s: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L93" class="LineNr"> 93 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L120'>slice-equal?</a> s: (addr slice), p: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L94" class="LineNr"> 94 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L487'>slice-starts-with?</a> s: (addr slice), head: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L95" class="LineNr"> 95 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L793'>write-slice</a> out: (addr stream byte), s: (addr slice) <span id="L96" class="LineNr"> 96 </span><span class="PreProc">sig</span> <a href='123slice.subx.html#L908'>write-slice-buffered</a> out: (addr buffered-file), s: (addr slice) <span id="L97" class="LineNr"> 97 </span><span class="muComment"># bad name alert</span> @@ -168,16 +170,16 @@ if ('onhashchange' in window) { <span id="L113" class="LineNr">113 </span><span class="muComment">#sig skip-until-close-paren-in-slice curr: (addr byte), end: (addr byte) -> _/eax: (addr byte)</span> <span id="L114" class="LineNr">114 </span><span class="PreProc">sig</span> <a href='125write-stream-data.subx.html#L11'>write-stream-data</a> f: (addr buffered-file), s: (addr stream byte) <span id="L115" class="LineNr">115 </span><span class="PreProc">sig</span> <a href='126write-int-decimal.subx.html#L8'>write-int32-decimal</a> out: (addr stream byte), n: int -<span id="L116" class="LineNr">116 </span><span class="PreProc">sig</span> <a href='126write-int-decimal.subx.html#L306'>decimal-digit?</a> c: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L117" class="LineNr">117 </span><span class="PreProc">sig</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> in: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L116" class="LineNr">116 </span><span class="PreProc">sig</span> <a href='126write-int-decimal.subx.html#L306'>decimal-digit?</a> c: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L117" class="LineNr">117 </span><span class="PreProc">sig</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> in: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L118" class="LineNr">118 </span><span class="muComment"># bad name alert</span> <span id="L119" class="LineNr">119 </span><span class="muComment"># next-word really tokenizes</span> <span id="L120" class="LineNr">120 </span><span class="muComment"># next-raw-word really reads whitespace-separated words</span> <span id="L121" class="LineNr">121 </span><span class="PreProc">sig</span> <a href='127next-word.subx.html#L11'>next-word</a> line: (addr stream byte), out: (addr slice) <span class="muComment"># skips '#' comments</span> <span id="L122" class="LineNr">122 </span><span class="PreProc">sig</span> <a href='127next-word.subx.html#L306'>next-raw-word</a> line: (addr stream byte), out: (addr slice) <span class="muComment"># does not skip '#' comments</span> -<span id="L123" class="LineNr">123 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L8'>has-metadata?</a> word: (addr slice), s: (addr string)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L124" class="LineNr">124 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L278'>valid-name?</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L125" class="LineNr">125 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L535'>label?</a> word: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L123" class="LineNr">123 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L8'>has-metadata?</a> word: (addr slice), s: (addr string)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L124" class="LineNr">124 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L278'>valid-name?</a> in: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L125" class="LineNr">125 </span><span class="PreProc">sig</span> <a href='128subx-words.subx.html#L535'>label?</a> word: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L126" class="LineNr">126 </span><span class="PreProc">sig</span> <a href='129emit-hex.subx.html#L7'>emit-hex</a> out: (addr buffered-file), n: int, width: int <span id="L127" class="LineNr">127 </span><span class="PreProc">sig</span> <a href='130emit.subx.html#L10'>emit</a> out: (addr buffered-file), word: (addr slice), width: int <span id="L128" class="LineNr">128 </span><span class="muComment">#sig get table: (addr stream {(handle array byte), T}), key: (addr array byte), row-size: int, abort-message-prefix: (addr array byte) -> _/eax: (addr T)</span> @@ -190,8 +192,8 @@ if ('onhashchange' in window) { <span id="L135" class="LineNr">135 </span><span class="muComment">#sig maybe-get table: (addr stream {(handle array byte), T}), key: (addr array byte), row-size: int -> _/eax: (addr T)</span> <span id="L136" class="LineNr">136 </span><span class="muComment">#sig maybe-get-slice table: (addr stream {(handle array byte), T}), key: (addr slice), row-size: int -> _/eax: (addr T)</span> <span id="L137" class="LineNr">137 </span><span class="PreProc">sig</span> <a href='132slurp.subx.html#L8'>slurp</a> f: (addr buffered-file), s: (addr stream byte) -<span id="L138" class="LineNr">138 </span><span class="PreProc">sig</span> <a href='133subx-widths.subx.html#L11'>compute-width</a> word: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int -<span id="L139" class="LineNr">139 </span><span class="PreProc">sig</span> <a href='133subx-widths.subx.html#L45'>compute-width-of-slice</a> s: (addr slice)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L138" class="LineNr">138 </span><span class="PreProc">sig</span> <a href='133subx-widths.subx.html#L11'>compute-width</a> word: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int +<span id="L139" class="LineNr">139 </span><span class="PreProc">sig</span> <a href='133subx-widths.subx.html#L45'>compute-width-of-slice</a> s: (addr slice)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L140" class="LineNr">140 </span><span class="PreProc">sig</span> <a href='134emit-hex-array.subx.html#L7'>emit-hex-array</a> out: (addr buffered-file), arr: (addr array byte) <span id="L141" class="LineNr">141 </span><span class="PreProc">sig</span> <a href='135next-word-or-string.subx.html#L8'>next-word-or-string</a> line: (addr stream byte), out: (addr slice) <span id="L142" class="LineNr">142 </span><span class="PreProc">sig</span> <a href='202write-int.subx.html#L8'>write-int</a> out: (addr stream byte), n: int @@ -199,16 +201,16 @@ if ('onhashchange' in window) { <span id="L144" class="LineNr">144 </span><span class="muComment">#sig push s: (addr stack), n: int</span> <span id="L145" class="LineNr">145 </span><span class="muComment">#sig pop s: (addr stack) -> _/eax: int</span> <span id="L146" class="LineNr">146 </span><span class="muComment">#sig top s: (addr stack) -> _/eax: int</span> -<span id="L147" class="LineNr">147 </span><span class="PreProc">sig</span> <a href='301array-equal.subx.html#L5'>array-equal?</a> a: (addr array int), b: (addr array int)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L147" class="LineNr">147 </span><span class="PreProc">sig</span> <a href='301array-equal.subx.html#L5'>array-equal?</a> a: (addr array int), b: (addr array int)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L148" class="LineNr">148 </span><span class="PreProc">sig</span> <a href='301array-equal.subx.html#L368'>parse-array-of-ints</a> s: (addr array byte), out: (addr handle array int) <span id="L149" class="LineNr">149 </span><span class="PreProc">sig</span> <a href='311decimal-int.subx.html#L623'>parse-array-of-decimal-ints</a> s: (addr array byte), out: (addr handle array int) <span id="L150" class="LineNr">150 </span><span class="PreProc">sig</span> <a href='301array-equal.subx.html#L382'>check-array-equal</a> a: (addr array int), expected: (addr string), msg: (addr string) <span id="L151" class="LineNr">151 </span><span class="muComment">#sig push-n-zero-bytes n: int</span> <span id="L152" class="LineNr">152 </span><span class="PreProc">sig</span> <a href='303kernel-string.subx.html#L7'>kernel-string-to-string</a> ad: (addr allocation-descriptor), in: (addr kernel-string), out: (addr handle array byte) -<span id="L153" class="LineNr">153 </span><span class="PreProc">sig</span> <a href='303kernel-string.subx.html#L57'>kernel-string-length</a> in: (addr kernel-string)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int +<span id="L153" class="LineNr">153 </span><span class="PreProc">sig</span> <a href='303kernel-string.subx.html#L57'>kernel-string-length</a> in: (addr kernel-string)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span id="L154" class="LineNr">154 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L6'>enable-screen-grid-mode</a> <span id="L155" class="LineNr">155 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L24'>enable-screen-type-mode</a> -<span id="L156" class="LineNr">156 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L37'>real-screen-size</a><span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">ecx</span>: int +<span id="L156" class="LineNr">156 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L37'>real-screen-size</a><span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEcx">ecx</span>: int <span id="L157" class="LineNr">157 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L75'>clear-real-screen</a> <span id="L158" class="LineNr">158 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L91'>move-cursor-on-real-screen</a> row: int, column: int <span id="L159" class="LineNr">159 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> s: (addr array byte) @@ -229,25 +231,25 @@ if ('onhashchange' in window) { <span id="L174" class="LineNr">174 </span><span class="PreProc">sig</span> <a href='304screen.subx.html#L405'>show-cursor-on-real-screen</a> <span id="L175" class="LineNr">175 </span><span class="PreProc">sig</span> <a href='305keyboard.subx.html#L6'>enable-keyboard-immediate-mode</a> <span id="L176" class="LineNr">176 </span><span class="PreProc">sig</span> <a href='305keyboard.subx.html#L72'>enable-keyboard-type-mode</a> -<span id="L177" class="LineNr">177 </span><span class="PreProc">sig</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a><span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme +<span id="L177" class="LineNr">177 </span><span class="PreProc">sig</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a><span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span id="L178" class="LineNr">178 </span><span class="PreProc">sig</span> <a href='305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> out: (addr stream byte) <span id="L179" class="LineNr">179 </span><span class="PreProc">sig</span> <a href='306files.subx.html#L9'>open</a> filename: (addr array byte), write?: boolean, out: (addr handle buffered-file) <span id="L180" class="LineNr">180 </span><span class="PreProc">sig</span> <a href='306files.subx.html#L86'>populate-buffered-file-containing</a> contents: (addr array byte), out: (addr handle buffered-file) <span id="L181" class="LineNr">181 </span><span class="PreProc">sig</span> <a href='306files.subx.html#L133'>new-buffered-file</a> out: (addr handle buffered-file) <span id="L182" class="LineNr">182 </span><span class="muComment">#sig size in: (addr array _) -> _/eax: int</span> <span id="L183" class="LineNr">183 </span> -<span id="L184" class="LineNr">184 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s: (addr stream _)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean -<span id="L185" class="LineNr">185 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L30'>stream-full?</a> s: (addr stream _)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean +<span id="L184" class="LineNr">184 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s: (addr stream _)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean +<span id="L185" class="LineNr">185 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L30'>stream-full?</a> s: (addr stream _)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span id="L186" class="LineNr">186 </span><span class="PreProc">sig</span> <a href='310copy-bytes.subx.html#L60'>stream-to-array</a> in: (addr stream _), out: (addr handle array _) <span id="L187" class="LineNr">187 </span><span class="PreProc">sig</span> <a href='310copy-bytes.subx.html#L120'>unquote-stream-to-array</a> in: (addr stream _), out: (addr handle array _) -<span id="L188" class="LineNr">188 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L160'>stream-first</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: byte -<span id="L189" class="LineNr">189 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L187'>stream-final</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: byte +<span id="L188" class="LineNr">188 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L160'>stream-first</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: byte +<span id="L189" class="LineNr">189 </span><span class="PreProc">sig</span> <a href='309stream.subx.html#L187'>stream-final</a> s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: byte <span id="L190" class="LineNr">190 </span> <span id="L191" class="LineNr">191 </span><span class="muComment">#sig copy-bytes src: (addr byte), dest: (addr byte), n: int</span> <span id="L192" class="LineNr">192 </span><span class="PreProc">sig</span> <a href='312copy.subx.html#L3'>copy-array-object</a> src: (addr array _), dest-ah: (addr handle array _) <span id="L193" class="LineNr">193 </span><span class="PreProc">sig</span> <a href='312copy.subx.html#L17'>copy-file</a> src: (addr buffered-file), dest-ah: (addr handle buffered-file), filename: (addr array byte) <span id="L194" class="LineNr">194 </span> -<span id="L195" class="LineNr">195 </span><span class="PreProc">sig</span> <a href='314divide.subx.html#L3'>integer-divide</a> a: int, b: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">edx</span>: int +<span id="L195" class="LineNr">195 </span><span class="PreProc">sig</span> <a href='314divide.subx.html#L3'>integer-divide</a> a: int, b: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEdx">edx</span>: int </pre> </body> </html> diff --git a/html/linux/401test.mu.html b/html/linux/401test.mu.html index d95097c7..d4ac54be 100644 --- a/html/linux/401test.mu.html +++ b/html/linux/401test.mu.html @@ -7,17 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } .Constant { color: #008787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -59,12 +60,12 @@ if ('onhashchange' in window) { <span id="L1" class="LineNr"> 1 </span><span class="muComment"># Some helpers for Mu tests.</span> <span id="L2" class="LineNr"> 2 </span> <span id="L3" class="LineNr"> 3 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='401test.mu.html#L3'>check</a></span> val: boolean, msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy val +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy val <span id="L5" class="LineNr"> 5 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> tmp, <span class="Constant">1</span>, msg <span id="L6" class="LineNr"> 6 </span><span class="Delimiter">}</span> <span id="L7" class="LineNr"> 7 </span> <span id="L8" class="LineNr"> 8 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='401test.mu.html#L8'>check-not</a></span> val: boolean, msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy val +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy val <span id="L10" class="LineNr">10 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> tmp, <span class="Constant">0</span>, msg <span id="L11" class="LineNr">11 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/402time.mu.html b/html/linux/402time.mu.html index bc300835..5adbbbde 100644 --- a/html/linux/402time.mu.html +++ b/html/linux/402time.mu.html @@ -7,17 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -63,24 +66,24 @@ if ('onhashchange' in window) { <span id="L5" class="LineNr"> 5 </span> <span id="L6" class="LineNr"> 6 </span><span class="muComment"># return time in seconds since epoch</span> <span id="L7" class="LineNr"> 7 </span><span class="muComment"># TODO: y2038</span> -<span id="L8" class="LineNr"> 8 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='402time.mu.html#L8'>time</a></span><span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L8" class="LineNr"> 8 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='402time.mu.html#L8'>time</a></span><span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> t: <a href='402time.mu.html#L1'>timespec</a> -<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> clock/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span>/CLOCK_MONOTONIC -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> t-addr/<span class="Constant">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t +<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> clock/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span>/CLOCK_MONOTONIC +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> t-addr/<span class="muRegEcx">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t <span id="L12" class="LineNr">12 </span> <a href='000init.subx.html#L87'>syscall_clock_gettime</a> -<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> t-secs-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t-addr, tv_sec -<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> secs/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *t-secs-addr +<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> t-secs-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t-addr, tv_sec +<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> secs/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *t-secs-addr <span id="L15" class="LineNr">15 </span> <span class="PreProc">return</span> secs <span id="L16" class="LineNr">16 </span><span class="Delimiter">}</span> <span id="L17" class="LineNr">17 </span> <span id="L18" class="LineNr">18 </span><span class="muComment"># return time in nanoseconds since epoch</span> -<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='402time.mu.html#L19'>ntime</a></span><span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='402time.mu.html#L19'>ntime</a></span><span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> t: <a href='402time.mu.html#L1'>timespec</a> -<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> clock/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span>/CLOCK_MONOTONIC -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> t-addr/<span class="Constant">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t +<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> clock/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span>/CLOCK_MONOTONIC +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> t-addr/<span class="muRegEcx">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t <span id="L23" class="LineNr">23 </span> <a href='000init.subx.html#L87'>syscall_clock_gettime</a> -<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> t-nsecs-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t-addr, tv_nsec -<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> nsecs/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *t-nsecs-addr +<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> t-nsecs-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t-addr, tv_nsec +<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> nsecs/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *t-nsecs-addr <span id="L26" class="LineNr">26 </span> <span class="PreProc">return</span> nsecs <span id="L27" class="LineNr">27 </span><span class="Delimiter">}</span> <span id="L28" class="LineNr">28 </span> @@ -88,15 +91,15 @@ if ('onhashchange' in window) { <span id="L30" class="LineNr">30 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='402time.mu.html#L30'>sleep</a></span> secs: int, nsecs: int <span class="Delimiter">{</span> <span id="L31" class="LineNr">31 </span> <span class="PreProc">var</span> t: <a href='402time.mu.html#L1'>timespec</a> <span id="L32" class="LineNr">32 </span> <span class="muComment"># initialize t</span> -<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t, tv_sec -<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy secs +<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t, tv_sec +<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy secs <span id="L35" class="LineNr">35 </span> copy-to *tmp, tmp2 <span id="L36" class="LineNr">36 </span> tmp <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> t, tv_nsec <span id="L37" class="LineNr">37 </span> tmp2 <span class="Special"><-</span> copy nsecs <span id="L38" class="LineNr">38 </span> copy-to *tmp, tmp2 <span id="L39" class="LineNr">39 </span> <span class="muComment"># perform the syscall</span> -<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> t-addr/<span class="Constant">ebx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t -<span id="L41" class="LineNr">41 </span> <span class="PreProc">var</span> rem-addr/<span class="Constant">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> t-addr/<span class="muRegEbx">ebx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> address t +<span id="L41" class="LineNr">41 </span> <span class="PreProc">var</span> rem-addr/<span class="muRegEcx">ecx</span>: (addr <a href='402time.mu.html#L1'>timespec</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L42" class="LineNr">42 </span> <a href='000init.subx.html#L82'>syscall_nanosleep</a> <span id="L43" class="LineNr">43 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/403unicode.mu.html b/html/linux/403unicode.mu.html index 7c0cd4d3..34616447 100644 --- a/html/linux/403unicode.mu.html +++ b/html/linux/403unicode.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -78,16 +84,16 @@ if ('onhashchange' in window) { <span id="L19" class="LineNr"> 19 </span><span class="muComment">#</span> <span id="L20" class="LineNr"> 20 </span><span class="muComment"># The day we want to support combining characters, this function will need to</span> <span id="L21" class="LineNr"> 21 </span><span class="muComment"># take multiple code points. Or something.</span> -<span id="L22" class="LineNr"> 22 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L22'>to-grapheme</a></span> in: code-point<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy in -<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> num-trailers/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> first/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L22" class="LineNr"> 22 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L22'>to-grapheme</a></span> in: code-point<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy in +<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> num-trailers/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> first/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L26" class="LineNr"> 26 </span> $to-grapheme:compute-length: <span class="Delimiter">{</span> <span id="L27" class="LineNr"> 27 </span> <span class="muComment"># single byte: just return it</span> <span id="L28" class="LineNr"> 28 </span> compare c, <span class="Constant">0x7f</span> <span id="L29" class="LineNr"> 29 </span> <span class="Delimiter">{</span> <span id="L30" class="LineNr"> 30 </span> <span class="PreProc">break-if-></span> -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L32" class="LineNr"> 32 </span> <span class="PreProc">return</span> g <span id="L33" class="LineNr"> 33 </span> <span class="Delimiter">}</span> <span id="L34" class="LineNr"> 34 </span> <span class="muComment"># 2 bytes</span> @@ -122,16 +128,16 @@ if ('onhashchange' in window) { <span id="L63" class="LineNr"> 63 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"unsupported code point "</span> <span id="L64" class="LineNr"> 64 </span> <a href='304screen.subx.html#L226'>print-int32-hex-to-real-screen</a> c <span id="L65" class="LineNr"> 65 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"\n"</span> -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> exit-status/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> exit-status/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L67" class="LineNr"> 67 </span> <a href='000init.subx.html#L18'>syscall_exit</a> <span id="L68" class="LineNr"> 68 </span> <span class="Delimiter">}</span> <span id="L69" class="LineNr"> 69 </span> <span class="Delimiter">}</span> <span id="L70" class="LineNr"> 70 </span> <span class="muComment"># emit trailer bytes, 6 bits from 'in', first two bits '10'</span> -<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L72" class="LineNr"> 72 </span> <span class="Delimiter">{</span> <span id="L73" class="LineNr"> 73 </span> compare num-trailers, <span class="Constant">0</span> <span id="L74" class="LineNr"> 74 </span> <span class="PreProc">break-if-<=</span> -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> tmp/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy c +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> tmp/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy c <span id="L76" class="LineNr"> 76 </span> tmp <span class="Special"><-</span> and <span class="Constant">0x3f</span> <span id="L77" class="LineNr"> 77 </span> tmp <span class="Special"><-</span> or <span class="Constant">0x80</span> <span id="L78" class="LineNr"> 78 </span> result <span class="Special"><-</span> shift-left <span class="Constant">8</span> @@ -151,13 +157,13 @@ if ('onhashchange' in window) { <span id="L92" class="LineNr"> 92 </span> <span id="L93" class="LineNr"> 93 </span><span class="muComment"># single-byte code point have identical graphemes</span> <span id="L94" class="LineNr"> 94 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L94'>test-to-grapheme-single-byte</a></span> <span class="Delimiter">{</span> -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> in-int/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> in-int/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L96" class="LineNr"> 96 </span> <span class="Delimiter">{</span> <span id="L97" class="LineNr"> 97 </span> compare in-int, <span class="Constant">0x7f</span> <span id="L98" class="LineNr"> 98 </span> <span class="PreProc">break-if-></span> -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy in-int -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy in-int +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L102" class="LineNr">102 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, in-int, <span class="Constant">"F - test-to-grapheme-single-byte"</span> <span id="L103" class="LineNr">103 </span> in-int <span class="Special"><-</span> increment <span id="L104" class="LineNr">104 </span> <span class="PreProc">loop</span> @@ -167,75 +173,75 @@ if ('onhashchange' in window) { <span id="L108" class="LineNr">108 </span> <span class="muComment"># byte | byte | byte | byte</span> <span id="L109" class="LineNr">109 </span><span class="muComment"># smallest 2-byte utf-8</span> <span id="L110" class="LineNr">110 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L110'>test-to-grapheme-two-bytes-min</a></span> <span class="Delimiter">{</span> -<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x80</span> <span class="muComment"># 10 00-0000</span> -<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x80</span> <span class="muComment"># 10 00-0000</span> +<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L114" class="LineNr">114 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0x80c2</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/2a"</span> <span class="muComment"># 110 0-0010 10 00-0000</span> <span id="L115" class="LineNr">115 </span><span class="Delimiter">}</span> <span id="L116" class="LineNr">116 </span> <span id="L117" class="LineNr">117 </span><span class="muComment"># largest 2-byte utf-8</span> <span id="L118" class="LineNr">118 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L118'>test-to-grapheme-two-bytes-max</a></span> <span class="Delimiter">{</span> -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x7ff</span> <span class="muComment"># 1-1111 11-1111</span> -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x7ff</span> <span class="muComment"># 1-1111 11-1111</span> +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L122" class="LineNr">122 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0xbfdf</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/2b"</span> <span class="muComment"># 110 1-1111 10 11-1111</span> <span id="L123" class="LineNr">123 </span><span class="Delimiter">}</span> <span id="L124" class="LineNr">124 </span> <span id="L125" class="LineNr">125 </span><span class="muComment"># smallest 3-byte utf-8</span> <span id="L126" class="LineNr">126 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L126'>test-to-grapheme-three-bytes-min</a></span> <span class="Delimiter">{</span> -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x800</span> <span class="muComment"># 10-0000 00-0000</span> -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x800</span> <span class="muComment"># 10-0000 00-0000</span> +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L130" class="LineNr">130 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0x80a0e0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/3a"</span> <span class="muComment"># 1110 0000 10 10-0000 10 00-0000</span> <span id="L131" class="LineNr">131 </span><span class="Delimiter">}</span> <span id="L132" class="LineNr">132 </span> <span id="L133" class="LineNr">133 </span><span class="muComment"># largest 3-byte utf-8</span> <span id="L134" class="LineNr">134 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L134'>test-to-grapheme-three-bytes-max</a></span> <span class="Delimiter">{</span> -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0xffff</span> <span class="muComment"># 1111 11-1111 11-1111</span> -<span id="L136" class="LineNr">136 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0xffff</span> <span class="muComment"># 1111 11-1111 11-1111</span> +<span id="L136" class="LineNr">136 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L138" class="LineNr">138 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0xbfbfef</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/3b"</span> <span class="muComment"># 1110 1111 10 11-1111 10 11-1111</span> <span id="L139" class="LineNr">139 </span><span class="Delimiter">}</span> <span id="L140" class="LineNr">140 </span> <span id="L141" class="LineNr">141 </span><span class="muComment"># smallest 4-byte utf-8</span> <span id="L142" class="LineNr">142 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L142'>test-to-grapheme-four-bytes-min</a></span> <span class="Delimiter">{</span> -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x10000</span> <span class="muComment"># 1-0000 00-0000 00-0000</span> -<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x10000</span> <span class="muComment"># 1-0000 00-0000 00-0000</span> +<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L146" class="LineNr">146 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0x808090f0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/4a"</span> <span class="muComment"># 1111-0 000 10 01-0000 10 00-0000 10 00-0000</span> <span id="L147" class="LineNr">147 </span><span class="Delimiter">}</span> <span id="L148" class="LineNr">148 </span> <span id="L149" class="LineNr">149 </span><span class="muComment"># largest 4-byte utf-8</span> <span id="L150" class="LineNr">150 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L150'>test-to-grapheme-four-bytes-max</a></span> <span class="Delimiter">{</span> -<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> in/<span class="Constant">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x1fffff</span> <span class="muComment"># 111 11-1111 11-1111 11-1111</span> -<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in -<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> out-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy out +<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> in/<span class="muRegEax">eax</span>: code-point <span class="Special"><-</span> copy <span class="Constant">0x1fffff</span> <span class="muComment"># 111 11-1111 11-1111 11-1111</span> +<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> in +<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> out-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy out <span id="L154" class="LineNr">154 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> out-int, <span class="Constant">0xbfbfbff7</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L22'>to-grapheme</a>/4b"</span> <span class="muComment"># 1111-0 111 10 11-1111 10 11-1111 10 11-1111</span> <span id="L155" class="LineNr">155 </span><span class="Delimiter">}</span> <span id="L156" class="LineNr">156 </span> <span id="L157" class="LineNr">157 </span><span class="muComment"># read the next grapheme from a stream of bytes</span> -<span id="L158" class="LineNr">158 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L158'>read-grapheme</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L158" class="LineNr">158 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L158'>read-grapheme</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> <span id="L159" class="LineNr">159 </span> <span class="muComment"># if at eof, return EOF</span> <span id="L160" class="LineNr">160 </span> <span class="Delimiter">{</span> -<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> eof?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> in +<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> eof?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> in <span id="L162" class="LineNr">162 </span> compare eof?, <span class="Constant">0</span>/false <span id="L163" class="LineNr">163 </span> <span class="PreProc">break-if-=</span> <span id="L164" class="LineNr">164 </span> <span class="PreProc">return</span> <span class="Constant">0xffffffff</span> <span id="L165" class="LineNr">165 </span> <span class="Delimiter">}</span> -<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L273'>read-byte</a> in -<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> num-trailers/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L273'>read-byte</a> in +<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> num-trailers/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L168" class="LineNr">168 </span> $read-grapheme:compute-length: <span class="Delimiter">{</span> <span id="L169" class="LineNr">169 </span> <span class="muComment"># single byte: just return it</span> <span id="L170" class="LineNr">170 </span> compare c, <span class="Constant">0xc0</span> <span id="L171" class="LineNr">171 </span> <span class="Delimiter">{</span> <span id="L172" class="LineNr">172 </span> <span class="PreProc">break-if->=</span> -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L174" class="LineNr">174 </span> <span class="PreProc">return</span> g <span id="L175" class="LineNr">175 </span> <span class="Delimiter">}</span> <span id="L176" class="LineNr">176 </span> compare c, <span class="Constant">0xfe</span> <span id="L177" class="LineNr">177 </span> <span class="Delimiter">{</span> <span id="L178" class="LineNr">178 </span> <span class="PreProc">break-if-<</span> -<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L180" class="LineNr">180 </span> <span class="PreProc">return</span> g <span id="L181" class="LineNr">181 </span> <span class="Delimiter">}</span> <span id="L182" class="LineNr">182 </span> <span class="muComment"># 2 bytes</span> @@ -262,21 +268,21 @@ if ('onhashchange' in window) { <span id="L203" class="LineNr">203 </span>$read-grapheme:abort: <span class="Delimiter">{</span> <span id="L204" class="LineNr">204 </span> <span class="muComment"># TODO: print to stderr</span> <span id="L205" class="LineNr">205 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"utf-8 encodings larger than 4 bytes are not supported. First byte seen: "</span> -<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L207" class="LineNr">207 </span> <a href='304screen.subx.html#L226'>print-int32-hex-to-real-screen</a> n <span id="L208" class="LineNr">208 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"\n"</span> -<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> exit-status/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> exit-status/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L210" class="LineNr">210 </span> <a href='000init.subx.html#L18'>syscall_exit</a> <span id="L211" class="LineNr">211 </span> <span class="Delimiter">}</span> <span id="L212" class="LineNr">212 </span> <span class="Delimiter">}</span> <span id="L213" class="LineNr">213 </span> <span class="muComment"># prepend trailer bytes</span> -<span id="L214" class="LineNr">214 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: grapheme <span class="Special"><-</span> copy c -<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> num-byte-shifts/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L214" class="LineNr">214 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: grapheme <span class="Special"><-</span> copy c +<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> num-byte-shifts/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L216" class="LineNr">216 </span> <span class="Delimiter">{</span> <span id="L217" class="LineNr">217 </span> compare num-trailers, <span class="Constant">0</span> <span id="L218" class="LineNr">218 </span> <span class="PreProc">break-if-<=</span> -<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L273'>read-byte</a> in -<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy tmp +<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L273'>read-byte</a> in +<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy tmp <span id="L221" class="LineNr">221 </span> tmp2 <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> tmp2, num-byte-shifts <span id="L222" class="LineNr">222 </span> result <span class="Special"><-</span> or tmp2 <span id="L223" class="LineNr">223 </span> <span class="muComment"># update loop state</span> @@ -289,46 +295,46 @@ if ('onhashchange' in window) { <span id="L230" class="LineNr">230 </span> <span id="L231" class="LineNr">231 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L231'>test-read-grapheme</a></span> <span class="Delimiter">{</span> <span id="L232" class="LineNr">232 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x30</span>) -<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> s2/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> s2/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L234" class="LineNr">234 </span> <a href='108write.subx.html#L24'>write</a> s2, <span class="Constant">"aΒc世d界e"</span> -<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L237" class="LineNr">237 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x61</span>, <span class="Constant">"F - test grapheme/0"</span> -<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L240" class="LineNr">240 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x92ce</span>/greek-capital-letter-beta, <span class="Constant">"F - test grapheme/1"</span> -<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L243" class="LineNr">243 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x63</span>, <span class="Constant">"F - test grapheme/2"</span> -<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L246" class="LineNr">246 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x96b8e4</span>, <span class="Constant">"F - test grapheme/3"</span> -<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L249" class="LineNr">249 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x64</span>, <span class="Constant">"F - test grapheme/4"</span> -<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L252" class="LineNr">252 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x8c95e7</span>, <span class="Constant">"F - test grapheme/5"</span> -<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 -<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2 +<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L255" class="LineNr">255 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x65</span>, <span class="Constant">"F - test grapheme/6"</span> <span id="L256" class="LineNr">256 </span><span class="Delimiter">}</span> <span id="L257" class="LineNr">257 </span> -<span id="L258" class="LineNr">258 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L258'>read-grapheme-buffered</a></span> in: (addr buffered-file)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in -<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> num-trailers/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L258" class="LineNr">258 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L258'>read-grapheme-buffered</a></span> in: (addr buffered-file)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in +<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> num-trailers/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L261" class="LineNr">261 </span> $read-grapheme-buffered:compute-length: <span class="Delimiter">{</span> <span id="L262" class="LineNr">262 </span> <span class="muComment"># single byte: just return it</span> <span id="L263" class="LineNr">263 </span> compare c, <span class="Constant">0xc0</span> <span id="L264" class="LineNr">264 </span> <span class="Delimiter">{</span> <span id="L265" class="LineNr">265 </span> <span class="PreProc">break-if->=</span> -<span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L267" class="LineNr">267 </span> <span class="PreProc">return</span> g <span id="L268" class="LineNr">268 </span> <span class="Delimiter">}</span> <span id="L269" class="LineNr">269 </span> compare c, <span class="Constant">0xfe</span> <span id="L270" class="LineNr">270 </span> <span class="Delimiter">{</span> <span id="L271" class="LineNr">271 </span> <span class="PreProc">break-if-<</span> -<span id="L272" class="LineNr">272 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L272" class="LineNr">272 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L273" class="LineNr">273 </span> <span class="PreProc">return</span> g <span id="L274" class="LineNr">274 </span> <span class="Delimiter">}</span> <span id="L275" class="LineNr">275 </span> <span class="muComment"># 2 bytes</span> @@ -355,21 +361,21 @@ if ('onhashchange' in window) { <span id="L296" class="LineNr">296 </span>$read-grapheme-buffered:abort: <span class="Delimiter">{</span> <span id="L297" class="LineNr">297 </span> <span class="muComment"># TODO: print to stderr</span> <span id="L298" class="LineNr">298 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"utf-8 encodings larger than 4 bytes are not supported. First byte seen: "</span> -<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy c +<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy c <span id="L300" class="LineNr">300 </span> <a href='304screen.subx.html#L226'>print-int32-hex-to-real-screen</a> n <span id="L301" class="LineNr">301 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"\n"</span> -<span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> exit-status/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> exit-status/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L303" class="LineNr">303 </span> <a href='000init.subx.html#L18'>syscall_exit</a> <span id="L304" class="LineNr">304 </span> <span class="Delimiter">}</span> <span id="L305" class="LineNr">305 </span> <span class="Delimiter">}</span> <span id="L306" class="LineNr">306 </span> <span class="muComment"># prepend trailer bytes</span> -<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: grapheme <span class="Special"><-</span> copy c -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> num-byte-shifts/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: grapheme <span class="Special"><-</span> copy c +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> num-byte-shifts/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L309" class="LineNr">309 </span> <span class="Delimiter">{</span> <span id="L310" class="LineNr">310 </span> compare num-trailers, <span class="Constant">0</span> <span id="L311" class="LineNr">311 </span> <span class="PreProc">break-if-<=</span> -<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in -<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy tmp +<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in +<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy tmp <span id="L314" class="LineNr">314 </span> tmp2 <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> tmp2, num-byte-shifts <span id="L315" class="LineNr">315 </span> result <span class="Special"><-</span> or tmp2 <span id="L316" class="LineNr">316 </span> <span class="muComment"># update loop state</span> @@ -381,9 +387,9 @@ if ('onhashchange' in window) { <span id="L322" class="LineNr">322 </span><span class="Delimiter">}</span> <span id="L323" class="LineNr">323 </span> <span id="L324" class="LineNr">324 </span><span class="muComment"># needed because available primitives only shift by a literal/constant number of bits</span> -<span id="L325" class="LineNr">325 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L325'>shift-left-bytes</a></span> n: int, k: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy n +<span id="L325" class="LineNr">325 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L325'>shift-left-bytes</a></span> n: int, k: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy n <span id="L328" class="LineNr">328 </span> <span class="Delimiter">{</span> <span id="L329" class="LineNr">329 </span> compare i, k <span id="L330" class="LineNr">330 </span> <span class="PreProc">break-if->=</span> @@ -397,32 +403,32 @@ if ('onhashchange' in window) { <span id="L338" class="LineNr">338 </span><span class="Delimiter">}</span> <span id="L339" class="LineNr">339 </span> <span id="L340" class="LineNr">340 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L340'>test-shift-left-bytes-0</a></span> <span class="Delimiter">{</span> -<span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">0</span> +<span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">0</span> <span id="L342" class="LineNr">342 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">1</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> 0"</span> <span id="L343" class="LineNr">343 </span><span class="Delimiter">}</span> <span id="L344" class="LineNr">344 </span> <span id="L345" class="LineNr">345 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L345'>test-shift-left-bytes-1</a></span> <span class="Delimiter">{</span> -<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">1</span> +<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">1</span> <span id="L347" class="LineNr">347 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x100</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> 1"</span> <span id="L348" class="LineNr">348 </span><span class="Delimiter">}</span> <span id="L349" class="LineNr">349 </span> <span id="L350" class="LineNr">350 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L350'>test-shift-left-bytes-2</a></span> <span class="Delimiter">{</span> -<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">2</span> +<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">2</span> <span id="L352" class="LineNr">352 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x10000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> 2"</span> <span id="L353" class="LineNr">353 </span><span class="Delimiter">}</span> <span id="L354" class="LineNr">354 </span> <span id="L355" class="LineNr">355 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L355'>test-shift-left-bytes-3</a></span> <span class="Delimiter">{</span> -<span id="L356" class="LineNr">356 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">3</span> +<span id="L356" class="LineNr">356 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">3</span> <span id="L357" class="LineNr">357 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x1000000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> 3"</span> <span id="L358" class="LineNr">358 </span><span class="Delimiter">}</span> <span id="L359" class="LineNr">359 </span> <span id="L360" class="LineNr">360 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L360'>test-shift-left-bytes-4</a></span> <span class="Delimiter">{</span> -<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">4</span> +<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">4</span> <span id="L362" class="LineNr">362 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> 4"</span> <span id="L363" class="LineNr">363 </span><span class="Delimiter">}</span> <span id="L364" class="LineNr">364 </span> <span id="L365" class="LineNr">365 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L365'>test-shift-left-bytes-5</a></span> <span class="Delimiter">{</span> -<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">5</span> +<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='403unicode.mu.html#L325'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">5</span> <span id="L367" class="LineNr">367 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L325'>shift-left-bytes</a> >4"</span> <span id="L368" class="LineNr">368 </span><span class="Delimiter">}</span> <span id="L369" class="LineNr">369 </span> @@ -430,7 +436,7 @@ if ('onhashchange' in window) { <span id="L371" class="LineNr">371 </span><span class="muComment"># this is like write-to-stream, except we skip leading 0 bytes</span> <span id="L372" class="LineNr">372 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L372'>write-grapheme</a></span> out: (addr stream byte), g: grapheme <span class="Delimiter">{</span> <span id="L373" class="LineNr">373 </span>$write-grapheme:body: <span class="Delimiter">{</span> -<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy g +<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy g <span id="L375" class="LineNr">375 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, c <span class="muComment"># first byte is always written</span> <span id="L376" class="LineNr">376 </span> c <span class="Special"><-</span> shift-right <span class="Constant">8</span> <span id="L377" class="LineNr">377 </span> compare c, <span class="Constant">0</span> diff --git a/html/linux/404stream.mu.html b/html/linux/404stream.mu.html index a561ca5c..3f0a990d 100644 --- a/html/linux/404stream.mu.html +++ b/html/linux/404stream.mu.html @@ -7,16 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .LineNr { } +.muRegEbx { color: #8787af; } +.muRegEdx { color: #878700; } .Constant { color: #008787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .Special { color: #ff6060; } .muTest { color: #5f8700; } @@ -62,15 +66,15 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span> <span class="muComment"># - write an int to a stream, then read it back</span> <span id="L5" class="LineNr"> 5 </span> <span class="muComment"># step 1: initialize</span> <span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> s: (stream int <span class="Constant">4</span>) -<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> s2/<span class="Constant">ecx</span>: (addr stream int) <span class="Special"><-</span> address s -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2 +<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> s2/<span class="muRegEcx">ecx</span>: (addr stream int) <span class="Special"><-</span> address s +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2 <span id="L9" class="LineNr"> 9 </span> <a href='401test.mu.html#L3'>check</a> tmp, <span class="Constant">"F - <a href='404stream.mu.html#L3'>test-stream</a>/empty?/0"</span> <span id="L10" class="LineNr">10 </span> tmp <span class="Special"><-</span> <a href='309stream.subx.html#L30'>stream-full?</a> s2 <span id="L11" class="LineNr">11 </span> <a href='401test.mu.html#L8'>check-not</a> tmp, <span class="Constant">"F - <a href='404stream.mu.html#L3'>test-stream</a>/full?/0"</span> <span id="L12" class="LineNr">12 </span> <span class="muComment"># step 2: write to stream</span> <span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> x: int <span id="L14" class="LineNr">14 </span> copy-to x, <span class="Constant">0x34</span> -<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> x2/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> address x +<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> x2/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> address x <span id="L16" class="LineNr">16 </span> <a href='309stream.subx.html#L54'>write-to-stream</a> s2, x2 <span id="L17" class="LineNr">17 </span> tmp <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2 <span id="L18" class="LineNr">18 </span> <a href='401test.mu.html#L8'>check-not</a> tmp, <span class="Constant">"F - <a href='404stream.mu.html#L3'>test-stream</a>/empty?/1"</span> @@ -80,7 +84,7 @@ if ('onhashchange' in window) { <span id="L22" class="LineNr">22 </span> copy-to x, <span class="Constant">0</span> <span id="L23" class="LineNr">23 </span> <span class="muComment"># step 4: read back</span> <span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> y: int -<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> y2/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> address y +<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> y2/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> address y <span id="L26" class="LineNr">26 </span> <a href='309stream.subx.html#L107'>read-from-stream</a> s2, y2 <span id="L27" class="LineNr">27 </span> tmp <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2 <span id="L28" class="LineNr">28 </span> <a href='401test.mu.html#L3'>check</a> tmp, <span class="Constant">"F - <a href='404stream.mu.html#L3'>test-stream</a>/empty?/2"</span> @@ -93,11 +97,11 @@ if ('onhashchange' in window) { <span id="L35" class="LineNr">35 </span><span class="PreProc">fn</span> <span class="muTest"><a href='404stream.mu.html#L35'>test-stream-full</a></span> <span class="Delimiter">{</span> <span id="L36" class="LineNr">36 </span> <span class="muComment"># write an int to a stream of capacity 1</span> <span id="L37" class="LineNr">37 </span> <span class="PreProc">var</span> s: (stream int <span class="Constant">1</span>) -<span id="L38" class="LineNr">38 </span> <span class="PreProc">var</span> s2/<span class="Constant">ecx</span>: (addr stream int) <span class="Special"><-</span> address s -<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L30'>stream-full?</a> s2 +<span id="L38" class="LineNr">38 </span> <span class="PreProc">var</span> s2/<span class="muRegEcx">ecx</span>: (addr stream int) <span class="Special"><-</span> address s +<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L30'>stream-full?</a> s2 <span id="L40" class="LineNr">40 </span> <a href='401test.mu.html#L8'>check-not</a> tmp, <span class="Constant">"F - test-stream-full?/pre"</span> <span id="L41" class="LineNr">41 </span> <span class="PreProc">var</span> x: int -<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> x2/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> address x +<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> x2/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> address x <span id="L43" class="LineNr">43 </span> <a href='309stream.subx.html#L54'>write-to-stream</a> s2, x2 <span id="L44" class="LineNr">44 </span> tmp <span class="Special"><-</span> <a href='309stream.subx.html#L30'>stream-full?</a> s2 <span id="L45" class="LineNr">45 </span> <a href='401test.mu.html#L3'>check</a> tmp, <span class="Constant">"F - test-stream-full?"</span> @@ -105,23 +109,23 @@ if ('onhashchange' in window) { <span id="L47" class="LineNr">47 </span> <span id="L48" class="LineNr">48 </span><span class="PreProc">fn</span> <span class="muTest"><a href='404stream.mu.html#L48'>test-fake-input-buffered-file</a></span> <span class="Delimiter">{</span> <span id="L49" class="LineNr">49 </span> <span class="PreProc">var</span> foo: (handle buffered-file) -<span id="L50" class="LineNr">50 </span> <span class="PreProc">var</span> foo-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address foo +<span id="L50" class="LineNr">50 </span> <span class="PreProc">var</span> foo-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address foo <span id="L51" class="LineNr">51 </span> <a href='306files.subx.html#L86'>populate-buffered-file-containing</a> <span class="Constant">"abc"</span>, foo-ah -<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> foo-addr/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> foo +<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> foo-addr/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> foo <span id="L53" class="LineNr">53 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L54" class="LineNr">54 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L54" class="LineNr">54 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L55" class="LineNr">55 </span> <a href='122read-line.subx.html#L9'>read-line-buffered</a> foo-addr, result <span id="L56" class="LineNr">56 </span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> result, <span class="Constant">"abc"</span>, <span class="Constant">"F - test-fake-input-buffered-file"</span> <span id="L57" class="LineNr">57 </span><span class="Delimiter">}</span> <span id="L58" class="LineNr">58 </span> <span id="L59" class="LineNr">59 </span><span class="PreProc">fn</span> <span class="muTest"><a href='404stream.mu.html#L59'>test-fake-output-buffered-file</a></span> <span class="Delimiter">{</span> <span id="L60" class="LineNr">60 </span> <span class="PreProc">var</span> foo: (handle buffered-file) -<span id="L61" class="LineNr">61 </span> <span class="PreProc">var</span> foo-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address foo +<span id="L61" class="LineNr">61 </span> <span class="PreProc">var</span> foo-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address foo <span id="L62" class="LineNr">62 </span> <a href='306files.subx.html#L133'>new-buffered-file</a> foo-ah -<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> foo-addr/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> foo +<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> foo-addr/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> foo <span id="L64" class="LineNr">64 </span> <a href='116write-buffered.subx.html#L8'>write-buffered</a> foo-addr, <span class="Constant">"abc"</span> <span id="L65" class="LineNr">65 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L66" class="LineNr">66 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L66" class="LineNr">66 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L67" class="LineNr">67 </span> <a href='122read-line.subx.html#L9'>read-line-buffered</a> foo-addr, result <span id="L68" class="LineNr">68 </span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> result, <span class="Constant">"abc"</span>, <span class="Constant">"F - test-fake-output-buffered-file"</span> <span id="L69" class="LineNr">69 </span><span class="Delimiter">}</span> diff --git a/html/linux/405screen.mu.html b/html/linux/405screen.mu.html index 76edad2e..55ec3ad1 100644 --- a/html/linux/405screen.mu.html +++ b/html/linux/405screen.mu.html @@ -7,22 +7,28 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -88,9 +94,9 @@ if ('onhashchange' in window) { <span id="L28" class="LineNr"> 28 </span><span class="Delimiter">}</span> <span id="L29" class="LineNr"> 29 </span> <span id="L30" class="LineNr"> 30 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L30'>initialize-screen</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), nrows: int, ncols: int <span class="Delimiter">{</span> -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr int) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr int) <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L34" class="LineNr"> 34 </span> <span class="muComment"># screen->num-rows = nrows</span> <span id="L35" class="LineNr"> 35 </span> dest <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows <span id="L36" class="LineNr"> 36 </span> tmp <span class="Special"><-</span> copy nrows @@ -101,7 +107,7 @@ if ('onhashchange' in window) { <span id="L41" class="LineNr"> 41 </span> copy-to *dest, tmp <span id="L42" class="LineNr"> 42 </span> <span class="muComment"># screen->data = new screen-cell[nrows*ncols]</span> <span id="L43" class="LineNr"> 43 </span> <span class="Delimiter">{</span> -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> data-addr/<span class="Constant">edi</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> data-addr/<span class="muRegEdi">edi</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data <span id="L45" class="LineNr"> 45 </span> tmp <span class="Special"><-</span> multiply nrows <span id="L46" class="LineNr"> 46 </span> populate data-addr, tmp <span id="L47" class="LineNr"> 47 </span> <span class="Delimiter">}</span> @@ -112,14 +118,14 @@ if ('onhashchange' in window) { <span id="L52" class="LineNr"> 52 </span> dest <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-col <span id="L53" class="LineNr"> 53 </span> copy-to *dest, <span class="Constant">1</span> <span id="L54" class="LineNr"> 54 </span> <span class="muComment"># screen->curr-attributes->background-color = 7 (simulate light background)</span> -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes <span id="L56" class="LineNr"> 56 </span> dest <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> tmp2, background-color <span id="L57" class="LineNr"> 57 </span> copy-to *dest, <span class="Constant">7</span> <span id="L58" class="LineNr"> 58 </span><span class="Delimiter">}</span> <span id="L59" class="LineNr"> 59 </span> -<span id="L60" class="LineNr"> 60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L60'>screen-size</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L60" class="LineNr"> 60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L60'>screen-size</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L63" class="LineNr"> 63 </span> compare <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span> <span id="L64" class="LineNr"> 64 </span> <span class="Delimiter">{</span> <span id="L65" class="LineNr"> 65 </span> <span class="PreProc">break-if-!=</span> @@ -127,8 +133,8 @@ if ('onhashchange' in window) { <span id="L67" class="LineNr"> 67 </span> <span class="PreProc">return</span> nrows, ncols <span id="L68" class="LineNr"> 68 </span> <span class="Delimiter">}</span> <span id="L69" class="LineNr"> 69 </span> <span class="muComment"># fake screen</span> -<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> tmp/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows +<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> tmp/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows <span id="L72" class="LineNr"> 72 </span> nrows <span class="Special"><-</span> copy *tmp <span id="L73" class="LineNr"> 73 </span> tmp <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols <span id="L74" class="LineNr"> 74 </span> ncols <span class="Special"><-</span> copy *tmp @@ -143,16 +149,16 @@ if ('onhashchange' in window) { <span id="L83" class="LineNr"> 83 </span> <span class="PreProc">return</span> <span id="L84" class="LineNr"> 84 </span> <span class="Delimiter">}</span> <span id="L85" class="LineNr"> 85 </span> <span class="muComment"># fake screen</span> -<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> space/<span class="Constant">edi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x20</span> +<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> space/<span class="muRegEdi">edi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x20</span> <span id="L87" class="LineNr"> 87 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>, <span class="Constant">1</span> -<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> nrows/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows +<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> nrows/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows <span id="L91" class="LineNr"> 91 </span> <span class="Delimiter">{</span> <span id="L92" class="LineNr"> 92 </span> compare i, *nrows <span id="L93" class="LineNr"> 93 </span> <span class="PreProc">break-if-></span> -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> j/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> j/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> ncols/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols <span id="L96" class="LineNr"> 96 </span> <span class="Delimiter">{</span> <span id="L97" class="LineNr"> 97 </span> compare j, *ncols <span id="L98" class="LineNr"> 98 </span> <span class="PreProc">break-if-></span> @@ -174,7 +180,7 @@ if ('onhashchange' in window) { <span id="L114" class="LineNr"> 114 </span> <span class="PreProc">return</span> <span id="L115" class="LineNr"> 115 </span> <span class="Delimiter">}</span> <span id="L116" class="LineNr"> 116 </span> <span class="muComment"># fake screen</span> -<span id="L117" class="LineNr"> 117 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L117" class="LineNr"> 117 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> <span id="L118" class="LineNr"> 118 </span> <span class="muComment"># row < 0 is ignored</span> <span id="L119" class="LineNr"> 119 </span> <span class="Delimiter">{</span> <span id="L120" class="LineNr"> 120 </span> compare row, <span class="Constant">0</span> @@ -189,8 +195,8 @@ if ('onhashchange' in window) { <span id="L129" class="LineNr"> 129 </span> <span class="Delimiter">}</span> <span id="L130" class="LineNr"> 130 </span> <span class="muComment"># row > num-rows saturates to num-rows</span> <span id="L131" class="LineNr"> 131 </span> <span class="Delimiter">{</span> -<span id="L132" class="LineNr"> 132 </span> <span class="PreProc">var</span> nrows-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows -<span id="L133" class="LineNr"> 133 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *nrows-addr +<span id="L132" class="LineNr"> 132 </span> <span class="PreProc">var</span> nrows-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows +<span id="L133" class="LineNr"> 133 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *nrows-addr <span id="L134" class="LineNr"> 134 </span> compare row, nrows <span id="L135" class="LineNr"> 135 </span> <span class="PreProc">break-if-<=</span> <span id="L136" class="LineNr"> 136 </span> copy-to row, nrows @@ -209,16 +215,16 @@ if ('onhashchange' in window) { <span id="L149" class="LineNr"> 149 </span> <span class="Delimiter">}</span> <span id="L150" class="LineNr"> 150 </span> <span class="muComment"># column > num-cols saturates to num-cols+1 (so wrapping to next row)</span> <span id="L151" class="LineNr"> 151 </span> <span class="Delimiter">{</span> -<span id="L152" class="LineNr"> 152 </span> <span class="PreProc">var</span> ncols-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols -<span id="L153" class="LineNr"> 153 </span> <span class="PreProc">var</span> ncols/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *ncols-addr +<span id="L152" class="LineNr"> 152 </span> <span class="PreProc">var</span> ncols-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols +<span id="L153" class="LineNr"> 153 </span> <span class="PreProc">var</span> ncols/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *ncols-addr <span id="L154" class="LineNr"> 154 </span> compare column, ncols <span id="L155" class="LineNr"> 155 </span> <span class="PreProc">break-if-<=</span> <span id="L156" class="LineNr"> 156 </span> copy-to column, ncols <span id="L157" class="LineNr"> 157 </span> increment column <span id="L158" class="LineNr"> 158 </span> <span class="Delimiter">}</span> <span id="L159" class="LineNr"> 159 </span> <span class="muComment"># screen->cursor-row = row</span> -<span id="L160" class="LineNr"> 160 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-row -<span id="L161" class="LineNr"> 161 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy row +<span id="L160" class="LineNr"> 160 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-row +<span id="L161" class="LineNr"> 161 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy row <span id="L162" class="LineNr"> 162 </span> copy-to *dest, src <span id="L163" class="LineNr"> 163 </span> <span class="muComment"># screen->cursor-col = column</span> <span id="L164" class="LineNr"> 164 </span> dest <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-col @@ -235,27 +241,27 @@ if ('onhashchange' in window) { <span id="L175" class="LineNr"> 175 </span> <span class="Delimiter">}</span> <span id="L176" class="LineNr"> 176 </span> <span class="muComment"># fake screen</span> <span id="L177" class="LineNr"> 177 </span> <span class="PreProc">var</span> stream-storage: (stream byte <span class="Constant">0x100</span>) -<span id="L178" class="LineNr"> 178 </span> <span class="PreProc">var</span> stream/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage +<span id="L178" class="LineNr"> 178 </span> <span class="PreProc">var</span> stream/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage <span id="L179" class="LineNr"> 179 </span> <a href='108write.subx.html#L24'>write</a> stream, s <span id="L180" class="LineNr"> 180 </span> <a href='405screen.mu.html#L183'>print-stream</a> <a href='405screen.mu.html#L9'>screen</a>, stream <span id="L181" class="LineNr"> 181 </span><span class="Delimiter">}</span> <span id="L182" class="LineNr"> 182 </span> <span id="L183" class="LineNr"> 183 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L183'>print-stream</a></span> _screen: (addr <a href='405screen.mu.html#L9'>screen</a>), s: (addr stream byte) <span class="Delimiter">{</span> -<span id="L184" class="LineNr"> 184 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L184" class="LineNr"> 184 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen <span id="L185" class="LineNr"> 185 </span> <span class="Delimiter">{</span> -<span id="L186" class="LineNr"> 186 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s +<span id="L186" class="LineNr"> 186 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s <span id="L187" class="LineNr"> 187 </span> compare done?, <span class="Constant">0</span> <span id="L188" class="LineNr"> 188 </span> <span class="PreProc">break-if-!=</span> -<span id="L189" class="LineNr"> 189 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s +<span id="L189" class="LineNr"> 189 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s <span id="L190" class="LineNr"> 190 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, g <span id="L191" class="LineNr"> 191 </span> <span class="PreProc">loop</span> <span id="L192" class="LineNr"> 192 </span> <span class="Delimiter">}</span> <span id="L193" class="LineNr"> 193 </span><span class="Delimiter">}</span> <span id="L194" class="LineNr"> 194 </span> <span id="L195" class="LineNr"> 195 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L195'>print-array-of-ints-in-decimal</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), _a: (addr array int) <span class="Delimiter">{</span> -<span id="L196" class="LineNr"> 196 </span> <span class="PreProc">var</span> a/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _a -<span id="L197" class="LineNr"> 197 </span> <span class="PreProc">var</span> max/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length a -<span id="L198" class="LineNr"> 198 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L196" class="LineNr"> 196 </span> <span class="PreProc">var</span> a/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _a +<span id="L197" class="LineNr"> 197 </span> <span class="PreProc">var</span> max/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length a +<span id="L198" class="LineNr"> 198 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L199" class="LineNr"> 199 </span> <span class="Delimiter">{</span> <span id="L200" class="LineNr"> 200 </span> compare i, max <span id="L201" class="LineNr"> 201 </span> <span class="PreProc">break-if->=</span> @@ -264,7 +270,7 @@ if ('onhashchange' in window) { <span id="L204" class="LineNr"> 204 </span> <span class="PreProc">break-if-=</span> <span id="L205" class="LineNr"> 205 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> <span id="L206" class="LineNr"> 206 </span> <span class="Delimiter">}</span> -<span id="L207" class="LineNr"> 207 </span> <span class="PreProc">var</span> x/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> index a, i +<span id="L207" class="LineNr"> 207 </span> <span class="PreProc">var</span> x/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> index a, i <span id="L208" class="LineNr"> 208 </span> <a href='405screen.mu.html#L484'>print-int32-decimal</a> <a href='405screen.mu.html#L9'>screen</a>, *x <span id="L209" class="LineNr"> 209 </span> i <span class="Special"><-</span> increment <span id="L210" class="LineNr"> 210 </span> <span class="PreProc">loop</span> @@ -279,31 +285,31 @@ if ('onhashchange' in window) { <span id="L219" class="LineNr"> 219 </span> <span class="PreProc">return</span> <span id="L220" class="LineNr"> 220 </span> <span class="Delimiter">}</span> <span id="L221" class="LineNr"> 221 </span> <span class="muComment"># fake screen</span> -<span id="L222" class="LineNr"> 222 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L223" class="LineNr"> 223 </span> <span class="PreProc">var</span> cursor-col-addr/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-col +<span id="L222" class="LineNr"> 222 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L223" class="LineNr"> 223 </span> <span class="PreProc">var</span> cursor-col-addr/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-col <span id="L224" class="LineNr"> 224 </span> <span class="muComment"># adjust cursor if necessary</span> <span id="L225" class="LineNr"> 225 </span> <span class="muComment"># to avoid premature scrolling it's important to do this lazily, at the last possible time</span> <span id="L226" class="LineNr"> 226 </span> <span class="Delimiter">{</span> <span id="L227" class="LineNr"> 227 </span> <span class="muComment"># next row</span> -<span id="L228" class="LineNr"> 228 </span> <span class="PreProc">var</span> num-cols-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols -<span id="L229" class="LineNr"> 229 </span> <span class="PreProc">var</span> num-cols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *num-cols-addr +<span id="L228" class="LineNr"> 228 </span> <span class="PreProc">var</span> num-cols-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-cols +<span id="L229" class="LineNr"> 229 </span> <span class="PreProc">var</span> num-cols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *num-cols-addr <span id="L230" class="LineNr"> 230 </span> compare *cursor-col-addr, num-cols <span id="L231" class="LineNr"> 231 </span> <span class="PreProc">break-if-<=</span> <span id="L232" class="LineNr"> 232 </span> copy-to *cursor-col-addr, <span class="Constant">1</span> -<span id="L233" class="LineNr"> 233 </span> <span class="PreProc">var</span> cursor-row-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-row +<span id="L233" class="LineNr"> 233 </span> <span class="PreProc">var</span> cursor-row-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-row <span id="L234" class="LineNr"> 234 </span> increment *cursor-row-addr <span id="L235" class="LineNr"> 235 </span> <span class="muComment"># scroll</span> -<span id="L236" class="LineNr"> 236 </span> <span class="PreProc">var</span> num-rows-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows -<span id="L237" class="LineNr"> 237 </span> <span class="PreProc">var</span> num-rows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *num-rows-addr +<span id="L236" class="LineNr"> 236 </span> <span class="PreProc">var</span> num-rows-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, num-rows +<span id="L237" class="LineNr"> 237 </span> <span class="PreProc">var</span> num-rows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *num-rows-addr <span id="L238" class="LineNr"> 238 </span> compare *cursor-row-addr, num-rows <span id="L239" class="LineNr"> 239 </span> <span class="PreProc">break-if-<=</span> <span id="L240" class="LineNr"> 240 </span> copy-to *cursor-row-addr, num-rows <span id="L241" class="LineNr"> 241 </span> <span class="muComment"># if (top-index > data size) top-index = 0, otherwise top-index += num-cols</span> <span id="L242" class="LineNr"> 242 </span> $print-grapheme:perform-scroll: <span class="Delimiter">{</span> -<span id="L243" class="LineNr"> 243 </span> <span class="PreProc">var</span> top-index-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, top-index -<span id="L244" class="LineNr"> 244 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L245" class="LineNr"> 245 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L246" class="LineNr"> 246 </span> <span class="PreProc">var</span> max-index/<span class="Constant">edi</span>: int <span class="Special"><-</span> length data +<span id="L243" class="LineNr"> 243 </span> <span class="PreProc">var</span> top-index-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, top-index +<span id="L244" class="LineNr"> 244 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L245" class="LineNr"> 245 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L246" class="LineNr"> 246 </span> <span class="PreProc">var</span> max-index/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> length data <span id="L247" class="LineNr"> 247 </span> compare *top-index-addr, max-index <span id="L248" class="LineNr"> 248 </span> <span class="Delimiter">{</span> <span id="L249" class="LineNr"> 249 </span> <span class="PreProc">break-if->=</span> @@ -316,47 +322,47 @@ if ('onhashchange' in window) { <span id="L256" class="LineNr"> 256 </span> <span class="Delimiter">}</span> <span id="L257" class="LineNr"> 257 </span> <span class="Delimiter">}</span> <span id="L258" class="LineNr"> 258 </span> <span class="Delimiter">}</span> -<span id="L259" class="LineNr"> 259 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L277'>current-screen-cell-index</a> screen-addr +<span id="L259" class="LineNr"> 259 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L277'>current-screen-cell-index</a> screen-addr <span id="L260" class="LineNr"> 260 </span><span class="CommentedCode">#? print-string-to-real-screen "printing grapheme at screen index "</span> <span id="L261" class="LineNr"> 261 </span><span class="CommentedCode">#? print-int32-hex-to-real-screen idx</span> <span id="L262" class="LineNr"> 262 </span><span class="CommentedCode">#? print-string-to-real-screen ": "</span> -<span id="L263" class="LineNr"> 263 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L264" class="LineNr"> 264 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L265" class="LineNr"> 265 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L266" class="LineNr"> 266 </span> <span class="PreProc">var</span> dest-cell/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L267" class="LineNr"> 267 </span> <span class="PreProc">var</span> src-cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L263" class="LineNr"> 263 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L264" class="LineNr"> 264 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L265" class="LineNr"> 265 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L266" class="LineNr"> 266 </span> <span class="PreProc">var</span> dest-cell/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L267" class="LineNr"> 267 </span> <span class="PreProc">var</span> src-cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes <span id="L268" class="LineNr"> 268 </span> copy-object src-cell, dest-cell -<span id="L269" class="LineNr"> 269 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> dest-cell, data -<span id="L270" class="LineNr"> 270 </span> <span class="PreProc">var</span> c2/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy c +<span id="L269" class="LineNr"> 269 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> dest-cell, data +<span id="L270" class="LineNr"> 270 </span> <span class="PreProc">var</span> c2/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy c <span id="L271" class="LineNr"> 271 </span><span class="CommentedCode">#? print-grapheme-to-real-screen c2</span> <span id="L272" class="LineNr"> 272 </span><span class="CommentedCode">#? print-string-to-real-screen "\n"</span> <span id="L273" class="LineNr"> 273 </span> copy-to *dest, c2 <span id="L274" class="LineNr"> 274 </span> increment *cursor-col-addr <span id="L275" class="LineNr"> 275 </span><span class="Delimiter">}</span> <span id="L276" class="LineNr"> 276 </span> -<span id="L277" class="LineNr"> 277 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L277'>current-screen-cell-index</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>)<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> -<span id="L278" class="LineNr"> 278 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L279" class="LineNr"> 279 </span> <span class="PreProc">var</span> cursor-row-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, cursor-row -<span id="L280" class="LineNr"> 280 </span> <span class="PreProc">var</span> cursor-col-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, cursor-col -<span id="L281" class="LineNr"> 281 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, *cursor-row-addr, *cursor-col-addr +<span id="L277" class="LineNr"> 277 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L277'>current-screen-cell-index</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>)<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> +<span id="L278" class="LineNr"> 278 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L279" class="LineNr"> 279 </span> <span class="PreProc">var</span> cursor-row-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, cursor-row +<span id="L280" class="LineNr"> 280 </span> <span class="PreProc">var</span> cursor-col-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, cursor-col +<span id="L281" class="LineNr"> 281 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, *cursor-row-addr, *cursor-col-addr <span id="L282" class="LineNr"> 282 </span> <span class="PreProc">return</span> result <span id="L283" class="LineNr"> 283 </span><span class="Delimiter">}</span> <span id="L284" class="LineNr"> 284 </span> -<span id="L285" class="LineNr"> 285 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L285'>screen-cell-index</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> -<span id="L286" class="LineNr"> 286 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L287" class="LineNr"> 287 </span> <span class="PreProc">var</span> num-cols-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, num-cols -<span id="L288" class="LineNr"> 288 </span> <span class="PreProc">var</span> num-cols/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *num-cols-addr -<span id="L289" class="LineNr"> 289 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy row +<span id="L285" class="LineNr"> 285 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L285'>screen-cell-index</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> +<span id="L286" class="LineNr"> 286 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L287" class="LineNr"> 287 </span> <span class="PreProc">var</span> num-cols-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, num-cols +<span id="L288" class="LineNr"> 288 </span> <span class="PreProc">var</span> num-cols/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *num-cols-addr +<span id="L289" class="LineNr"> 289 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy row <span id="L290" class="LineNr"> 290 </span> result <span class="Special"><-</span> subtract <span class="Constant">1</span> <span id="L291" class="LineNr"> 291 </span> result <span class="Special"><-</span> multiply num-cols <span id="L292" class="LineNr"> 292 </span> result <span class="Special"><-</span> add col <span id="L293" class="LineNr"> 293 </span> result <span class="Special"><-</span> subtract <span class="Constant">1</span> <span id="L294" class="LineNr"> 294 </span> <span class="muComment"># result = (result + top-index) % data length</span> -<span id="L295" class="LineNr"> 295 </span> <span class="PreProc">var</span> top-index-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, top-index +<span id="L295" class="LineNr"> 295 </span> <span class="PreProc">var</span> top-index-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, top-index <span id="L296" class="LineNr"> 296 </span> result <span class="Special"><-</span> add *top-index-addr -<span id="L297" class="LineNr"> 297 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, data -<span id="L298" class="LineNr"> 298 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L299" class="LineNr"> 299 </span> <span class="PreProc">var</span> max-index/<span class="Constant">eax</span>: int <span class="Special"><-</span> length data +<span id="L297" class="LineNr"> 297 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> <a href='405screen.mu.html#L9'>screen</a>, data +<span id="L298" class="LineNr"> 298 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L299" class="LineNr"> 299 </span> <span class="PreProc">var</span> max-index/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length data <span id="L300" class="LineNr"> 300 </span> compare result, max-index <span id="L301" class="LineNr"> 301 </span> <span class="Delimiter">{</span> <span id="L302" class="LineNr"> 302 </span> <span class="PreProc">break-if-<</span> @@ -365,135 +371,135 @@ if ('onhashchange' in window) { <span id="L305" class="LineNr"> 305 </span> <span class="PreProc">return</span> result <span id="L306" class="LineNr"> 306 </span><span class="Delimiter">}</span> <span id="L307" class="LineNr"> 307 </span> -<span id="L308" class="LineNr"> 308 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L308'>screen-grapheme-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L309" class="LineNr"> 309 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L310" class="LineNr"> 310 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L311" class="LineNr"> 311 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> screen-addr, idx +<span id="L308" class="LineNr"> 308 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L308'>screen-grapheme-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L309" class="LineNr"> 309 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L310" class="LineNr"> 310 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L311" class="LineNr"> 311 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> screen-addr, idx <span id="L312" class="LineNr"> 312 </span> <span class="PreProc">return</span> result <span id="L313" class="LineNr"> 313 </span><span class="Delimiter">}</span> <span id="L314" class="LineNr"> 314 </span> -<span id="L315" class="LineNr"> 315 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L316" class="LineNr"> 316 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L317" class="LineNr"> 317 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L318" class="LineNr"> 318 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L319" class="LineNr"> 319 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L320" class="LineNr"> 320 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L321" class="LineNr"> 321 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L322" class="LineNr"> 322 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, data +<span id="L315" class="LineNr"> 315 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L316" class="LineNr"> 316 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L317" class="LineNr"> 317 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L318" class="LineNr"> 318 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L319" class="LineNr"> 319 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L320" class="LineNr"> 320 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L321" class="LineNr"> 321 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L322" class="LineNr"> 322 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, data <span id="L323" class="LineNr"> 323 </span> <span class="PreProc">return</span> *src <span id="L324" class="LineNr"> 324 </span><span class="Delimiter">}</span> <span id="L325" class="LineNr"> 325 </span> -<span id="L326" class="LineNr"> 326 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L326'>screen-color-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L327" class="LineNr"> 327 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L328" class="LineNr"> 328 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L329" class="LineNr"> 329 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> screen-addr, idx +<span id="L326" class="LineNr"> 326 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L326'>screen-color-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L327" class="LineNr"> 327 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L328" class="LineNr"> 328 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L329" class="LineNr"> 329 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> screen-addr, idx <span id="L330" class="LineNr"> 330 </span> <span class="PreProc">return</span> result <span id="L331" class="LineNr"> 331 </span><span class="Delimiter">}</span> <span id="L332" class="LineNr"> 332 </span> -<span id="L333" class="LineNr"> 333 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L333'>screen-color-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L334" class="LineNr"> 334 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L335" class="LineNr"> 335 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L336" class="LineNr"> 336 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L337" class="LineNr"> 337 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L338" class="LineNr"> 338 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L339" class="LineNr"> 339 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L340" class="LineNr"> 340 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, color -<span id="L341" class="LineNr"> 341 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *src +<span id="L333" class="LineNr"> 333 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L333'>screen-color-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L334" class="LineNr"> 334 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L335" class="LineNr"> 335 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L336" class="LineNr"> 336 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L337" class="LineNr"> 337 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L338" class="LineNr"> 338 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L339" class="LineNr"> 339 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L340" class="LineNr"> 340 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, color +<span id="L341" class="LineNr"> 341 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *src <span id="L342" class="LineNr"> 342 </span> <span class="PreProc">return</span> result <span id="L343" class="LineNr"> 343 </span><span class="Delimiter">}</span> <span id="L344" class="LineNr"> 344 </span> -<span id="L345" class="LineNr"> 345 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L345'>screen-background-color-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L346" class="LineNr"> 346 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L347" class="LineNr"> 347 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L348" class="LineNr"> 348 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> screen-addr, idx +<span id="L345" class="LineNr"> 345 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L345'>screen-background-color-at</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L346" class="LineNr"> 346 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L347" class="LineNr"> 347 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L348" class="LineNr"> 348 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> screen-addr, idx <span id="L349" class="LineNr"> 349 </span> <span class="PreProc">return</span> result <span id="L350" class="LineNr"> 350 </span><span class="Delimiter">}</span> <span id="L351" class="LineNr"> 351 </span> -<span id="L352" class="LineNr"> 352 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L352'>screen-background-color-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L353" class="LineNr"> 353 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L354" class="LineNr"> 354 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L355" class="LineNr"> 355 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L356" class="LineNr"> 356 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L357" class="LineNr"> 357 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L358" class="LineNr"> 358 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L359" class="LineNr"> 359 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, background-color +<span id="L352" class="LineNr"> 352 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L352'>screen-background-color-at-idx</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L353" class="LineNr"> 353 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L354" class="LineNr"> 354 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L355" class="LineNr"> 355 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L356" class="LineNr"> 356 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L357" class="LineNr"> 357 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L358" class="LineNr"> 358 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L359" class="LineNr"> 359 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, background-color <span id="L360" class="LineNr"> 360 </span> <span class="PreProc">return</span> *src <span id="L361" class="LineNr"> 361 </span><span class="Delimiter">}</span> <span id="L362" class="LineNr"> 362 </span> -<span id="L363" class="LineNr"> 363 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L363'>screen-bold-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L364" class="LineNr"> 364 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L365" class="LineNr"> 365 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L366" class="LineNr"> 366 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> screen-addr, idx +<span id="L363" class="LineNr"> 363 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L363'>screen-bold-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L364" class="LineNr"> 364 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L365" class="LineNr"> 365 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L366" class="LineNr"> 366 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> screen-addr, idx <span id="L367" class="LineNr"> 367 </span> <span class="PreProc">return</span> result <span id="L368" class="LineNr"> 368 </span><span class="Delimiter">}</span> <span id="L369" class="LineNr"> 369 </span> -<span id="L370" class="LineNr"> 370 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L370'>screen-bold-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L371" class="LineNr"> 371 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L372" class="LineNr"> 372 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L373" class="LineNr"> 373 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L374" class="LineNr"> 374 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L375" class="LineNr"> 375 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L376" class="LineNr"> 376 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L377" class="LineNr"> 377 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, bold? +<span id="L370" class="LineNr"> 370 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L370'>screen-bold-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L371" class="LineNr"> 371 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L372" class="LineNr"> 372 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L373" class="LineNr"> 373 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L374" class="LineNr"> 374 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L375" class="LineNr"> 375 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L376" class="LineNr"> 376 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L377" class="LineNr"> 377 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, bold? <span id="L378" class="LineNr"> 378 </span> <span class="PreProc">return</span> *src <span id="L379" class="LineNr"> 379 </span><span class="Delimiter">}</span> <span id="L380" class="LineNr"> 380 </span> -<span id="L381" class="LineNr"> 381 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L381'>screen-underline-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L382" class="LineNr"> 382 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L383" class="LineNr"> 383 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L384" class="LineNr"> 384 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> screen-addr, idx +<span id="L381" class="LineNr"> 381 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L381'>screen-underline-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L382" class="LineNr"> 382 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L383" class="LineNr"> 383 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L384" class="LineNr"> 384 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> screen-addr, idx <span id="L385" class="LineNr"> 385 </span> <span class="PreProc">return</span> result <span id="L386" class="LineNr"> 386 </span><span class="Delimiter">}</span> <span id="L387" class="LineNr"> 387 </span> -<span id="L388" class="LineNr"> 388 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L388'>screen-underline-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L389" class="LineNr"> 389 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L390" class="LineNr"> 390 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L391" class="LineNr"> 391 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L392" class="LineNr"> 392 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L393" class="LineNr"> 393 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L394" class="LineNr"> 394 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L395" class="LineNr"> 395 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, underline? +<span id="L388" class="LineNr"> 388 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L388'>screen-underline-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L389" class="LineNr"> 389 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L390" class="LineNr"> 390 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L391" class="LineNr"> 391 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L392" class="LineNr"> 392 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L393" class="LineNr"> 393 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L394" class="LineNr"> 394 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L395" class="LineNr"> 395 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, underline? <span id="L396" class="LineNr"> 396 </span> <span class="PreProc">return</span> *src <span id="L397" class="LineNr"> 397 </span><span class="Delimiter">}</span> <span id="L398" class="LineNr"> 398 </span> -<span id="L399" class="LineNr"> 399 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L399'>screen-reverse-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L400" class="LineNr"> 400 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L401" class="LineNr"> 401 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L402" class="LineNr"> 402 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> screen-addr, idx +<span id="L399" class="LineNr"> 399 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L399'>screen-reverse-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L400" class="LineNr"> 400 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L401" class="LineNr"> 401 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L402" class="LineNr"> 402 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> screen-addr, idx <span id="L403" class="LineNr"> 403 </span> <span class="PreProc">return</span> result <span id="L404" class="LineNr"> 404 </span><span class="Delimiter">}</span> <span id="L405" class="LineNr"> 405 </span> -<span id="L406" class="LineNr"> 406 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L407" class="LineNr"> 407 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L408" class="LineNr"> 408 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L409" class="LineNr"> 409 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L410" class="LineNr"> 410 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L411" class="LineNr"> 411 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L412" class="LineNr"> 412 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L413" class="LineNr"> 413 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, reverse? +<span id="L406" class="LineNr"> 406 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L407" class="LineNr"> 407 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L408" class="LineNr"> 408 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L409" class="LineNr"> 409 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L410" class="LineNr"> 410 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L411" class="LineNr"> 411 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L412" class="LineNr"> 412 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L413" class="LineNr"> 413 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, reverse? <span id="L414" class="LineNr"> 414 </span> <span class="PreProc">return</span> *src <span id="L415" class="LineNr"> 415 </span><span class="Delimiter">}</span> <span id="L416" class="LineNr"> 416 </span> -<span id="L417" class="LineNr"> 417 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L417'>screen-blink-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L418" class="LineNr"> 418 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L419" class="LineNr"> 419 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col -<span id="L420" class="LineNr"> 420 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> screen-addr, idx +<span id="L417" class="LineNr"> 417 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L417'>screen-blink-at?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L418" class="LineNr"> 418 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L419" class="LineNr"> 419 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> screen-addr, row, col +<span id="L420" class="LineNr"> 420 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> screen-addr, idx <span id="L421" class="LineNr"> 421 </span> <span class="PreProc">return</span> result <span id="L422" class="LineNr"> 422 </span><span class="Delimiter">}</span> <span id="L423" class="LineNr"> 423 </span> -<span id="L424" class="LineNr"> 424 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L424'>screen-blink-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L425" class="LineNr"> 425 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L426" class="LineNr"> 426 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data -<span id="L427" class="LineNr"> 427 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L428" class="LineNr"> 428 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack -<span id="L429" class="LineNr"> 429 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx -<span id="L430" class="LineNr"> 430 </span> <span class="PreProc">var</span> cell/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset -<span id="L431" class="LineNr"> 431 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, blink? +<span id="L424" class="LineNr"> 424 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L424'>screen-blink-at-idx?</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), idx-on-stack: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L425" class="LineNr"> 425 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L426" class="LineNr"> 426 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, data +<span id="L427" class="LineNr"> 427 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L428" class="LineNr"> 428 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy idx-on-stack +<span id="L429" class="LineNr"> 429 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data, idx +<span id="L430" class="LineNr"> 430 </span> <span class="PreProc">var</span> cell/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data, offset +<span id="L431" class="LineNr"> 431 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> cell, blink? <span id="L432" class="LineNr"> 432 </span> <span class="PreProc">return</span> *src <span id="L433" class="LineNr"> 433 </span><span class="Delimiter">}</span> <span id="L434" class="LineNr"> 434 </span> <span id="L435" class="LineNr"> 435 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L435'>print-code-point</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), c: code-point <span class="Delimiter">{</span> -<span id="L436" class="LineNr"> 436 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> c +<span id="L436" class="LineNr"> 436 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L22'>to-grapheme</a> c <span id="L437" class="LineNr"> 437 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, g <span id="L438" class="LineNr"> 438 </span><span class="Delimiter">}</span> <span id="L439" class="LineNr"> 439 </span> @@ -506,14 +512,14 @@ if ('onhashchange' in window) { <span id="L446" class="LineNr"> 446 </span> <span class="Delimiter">}</span> <span id="L447" class="LineNr"> 447 </span> <span class="muComment"># fake screen</span> <span id="L448" class="LineNr"> 448 </span> <span class="PreProc">var</span> s2: (stream byte <span class="Constant">0x100</span>) -<span id="L449" class="LineNr"> 449 </span> <span class="PreProc">var</span> s2-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 +<span id="L449" class="LineNr"> 449 </span> <span class="PreProc">var</span> s2-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 <span id="L450" class="LineNr"> 450 </span> <a href='117write-int-hex.subx.html#L178'>write-int32-hex</a> s2-addr, n -<span id="L451" class="LineNr"> 451 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L451" class="LineNr"> 451 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEdi">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> <span id="L452" class="LineNr"> 452 </span> <span class="Delimiter">{</span> -<span id="L453" class="LineNr"> 453 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr +<span id="L453" class="LineNr"> 453 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr <span id="L454" class="LineNr"> 454 </span> compare done?, <span class="Constant">0</span> <span id="L455" class="LineNr"> 455 </span> <span class="PreProc">break-if-!=</span> -<span id="L456" class="LineNr"> 456 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr +<span id="L456" class="LineNr"> 456 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr <span id="L457" class="LineNr"> 457 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, g <span id="L458" class="LineNr"> 458 </span> <span class="PreProc">loop</span> <span id="L459" class="LineNr"> 459 </span> <span class="Delimiter">}</span> @@ -528,14 +534,14 @@ if ('onhashchange' in window) { <span id="L468" class="LineNr"> 468 </span> <span class="Delimiter">}</span> <span id="L469" class="LineNr"> 469 </span> <span class="muComment"># fake screen</span> <span id="L470" class="LineNr"> 470 </span> <span class="PreProc">var</span> s2: (stream byte <span class="Constant">0x100</span>) -<span id="L471" class="LineNr"> 471 </span> <span class="PreProc">var</span> s2-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 +<span id="L471" class="LineNr"> 471 </span> <span class="PreProc">var</span> s2-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 <span id="L472" class="LineNr"> 472 </span> <a href='117write-int-hex.subx.html#L209'>write-int32-hex-bits</a> s2-addr, n, bits -<span id="L473" class="LineNr"> 473 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L473" class="LineNr"> 473 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEdi">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> <span id="L474" class="LineNr"> 474 </span> <span class="Delimiter">{</span> -<span id="L475" class="LineNr"> 475 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr +<span id="L475" class="LineNr"> 475 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr <span id="L476" class="LineNr"> 476 </span> compare done?, <span class="Constant">0</span> <span id="L477" class="LineNr"> 477 </span> <span class="PreProc">break-if-!=</span> -<span id="L478" class="LineNr"> 478 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr +<span id="L478" class="LineNr"> 478 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr <span id="L479" class="LineNr"> 479 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, g <span id="L480" class="LineNr"> 480 </span> <span class="PreProc">loop</span> <span id="L481" class="LineNr"> 481 </span> <span class="Delimiter">}</span> @@ -550,14 +556,14 @@ if ('onhashchange' in window) { <span id="L490" class="LineNr"> 490 </span> <span class="Delimiter">}</span> <span id="L491" class="LineNr"> 491 </span> <span class="muComment"># fake screen</span> <span id="L492" class="LineNr"> 492 </span> <span class="PreProc">var</span> s2: (stream byte <span class="Constant">0x100</span>) -<span id="L493" class="LineNr"> 493 </span> <span class="PreProc">var</span> s2-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 +<span id="L493" class="LineNr"> 493 </span> <span class="PreProc">var</span> s2-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s2 <span id="L494" class="LineNr"> 494 </span> <a href='126write-int-decimal.subx.html#L8'>write-int32-decimal</a> s2-addr, n -<span id="L495" class="LineNr"> 495 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L495" class="LineNr"> 495 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEdi">edi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> <span id="L496" class="LineNr"> 496 </span> <span class="Delimiter">{</span> -<span id="L497" class="LineNr"> 497 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr +<span id="L497" class="LineNr"> 497 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> s2-addr <span id="L498" class="LineNr"> 498 </span> compare done?, <span class="Constant">0</span> <span id="L499" class="LineNr"> 499 </span> <span class="PreProc">break-if-!=</span> -<span id="L500" class="LineNr"> 500 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr +<span id="L500" class="LineNr"> 500 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> s2-addr <span id="L501" class="LineNr"> 501 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, g <span id="L502" class="LineNr"> 502 </span> <span class="PreProc">loop</span> <span id="L503" class="LineNr"> 503 </span> <span class="Delimiter">}</span> @@ -571,12 +577,12 @@ if ('onhashchange' in window) { <span id="L511" class="LineNr"> 511 </span> <span class="PreProc">return</span> <span id="L512" class="LineNr"> 512 </span> <span class="Delimiter">}</span> <span id="L513" class="LineNr"> 513 </span> <span class="muComment"># fake screen</span> -<span id="L514" class="LineNr"> 514 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L515" class="LineNr"> 515 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L514" class="LineNr"> 514 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L515" class="LineNr"> 515 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes <span id="L516" class="LineNr"> 516 </span> <span class="PreProc">var</span> default-cell: <a href='405screen.mu.html#L20'>screen-cell</a> -<span id="L517" class="LineNr"> 517 </span> <span class="PreProc">var</span> bg/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> default-cell, background-color +<span id="L517" class="LineNr"> 517 </span> <span class="PreProc">var</span> bg/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> default-cell, background-color <span id="L518" class="LineNr"> 518 </span> copy-to *bg, <span class="Constant">7</span> -<span id="L519" class="LineNr"> 519 </span> <span class="PreProc">var</span> default-cell-addr/<span class="Constant">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> address default-cell +<span id="L519" class="LineNr"> 519 </span> <span class="PreProc">var</span> default-cell-addr/<span class="muRegEax">eax</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> address default-cell <span id="L520" class="LineNr"> 520 </span> copy-object default-cell-addr, dest <span id="L521" class="LineNr"> 521 </span><span class="Delimiter">}</span> <span id="L522" class="LineNr"> 522 </span> @@ -588,13 +594,13 @@ if ('onhashchange' in window) { <span id="L528" class="LineNr"> 528 </span> <span class="PreProc">return</span> <span id="L529" class="LineNr"> 529 </span> <span class="Delimiter">}</span> <span id="L530" class="LineNr"> 530 </span> <span class="muComment"># fake screen</span> -<span id="L531" class="LineNr"> 531 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L532" class="LineNr"> 532 </span> <span class="PreProc">var</span> attr/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes -<span id="L533" class="LineNr"> 533 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, color -<span id="L534" class="LineNr"> 534 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy fg +<span id="L531" class="LineNr"> 531 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L532" class="LineNr"> 532 </span> <span class="PreProc">var</span> attr/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L533" class="LineNr"> 533 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, color +<span id="L534" class="LineNr"> 534 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy fg <span id="L535" class="LineNr"> 535 </span> copy-to *dest, src -<span id="L536" class="LineNr"> 536 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, background-color -<span id="L537" class="LineNr"> 537 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy bg +<span id="L536" class="LineNr"> 536 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, background-color +<span id="L537" class="LineNr"> 537 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy bg <span id="L538" class="LineNr"> 538 </span> copy-to *dest, src <span id="L539" class="LineNr"> 539 </span><span class="Delimiter">}</span> <span id="L540" class="LineNr"> 540 </span> @@ -606,9 +612,9 @@ if ('onhashchange' in window) { <span id="L546" class="LineNr"> 546 </span> <span class="PreProc">return</span> <span id="L547" class="LineNr"> 547 </span> <span class="Delimiter">}</span> <span id="L548" class="LineNr"> 548 </span> <span class="muComment"># fake screen</span> -<span id="L549" class="LineNr"> 549 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L550" class="LineNr"> 550 </span> <span class="PreProc">var</span> attr/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes -<span id="L551" class="LineNr"> 551 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, bold? +<span id="L549" class="LineNr"> 549 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L550" class="LineNr"> 550 </span> <span class="PreProc">var</span> attr/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L551" class="LineNr"> 551 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, bold? <span id="L552" class="LineNr"> 552 </span> copy-to *dest, <span class="Constant">1</span> <span id="L553" class="LineNr"> 553 </span><span class="Delimiter">}</span> <span id="L554" class="LineNr"> 554 </span> @@ -620,9 +626,9 @@ if ('onhashchange' in window) { <span id="L560" class="LineNr"> 560 </span> <span class="PreProc">return</span> <span id="L561" class="LineNr"> 561 </span> <span class="Delimiter">}</span> <span id="L562" class="LineNr"> 562 </span> <span class="muComment"># fake screen</span> -<span id="L563" class="LineNr"> 563 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L564" class="LineNr"> 564 </span> <span class="PreProc">var</span> attr/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes -<span id="L565" class="LineNr"> 565 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, underline? +<span id="L563" class="LineNr"> 563 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L564" class="LineNr"> 564 </span> <span class="PreProc">var</span> attr/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L565" class="LineNr"> 565 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, underline? <span id="L566" class="LineNr"> 566 </span> copy-to *dest, <span class="Constant">1</span> <span id="L567" class="LineNr"> 567 </span><span class="Delimiter">}</span> <span id="L568" class="LineNr"> 568 </span> @@ -634,9 +640,9 @@ if ('onhashchange' in window) { <span id="L574" class="LineNr"> 574 </span> <span class="PreProc">return</span> <span id="L575" class="LineNr"> 575 </span> <span class="Delimiter">}</span> <span id="L576" class="LineNr"> 576 </span> <span class="muComment"># fake screen</span> -<span id="L577" class="LineNr"> 577 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L578" class="LineNr"> 578 </span> <span class="PreProc">var</span> attr/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes -<span id="L579" class="LineNr"> 579 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, reverse? +<span id="L577" class="LineNr"> 577 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L578" class="LineNr"> 578 </span> <span class="PreProc">var</span> attr/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L579" class="LineNr"> 579 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, reverse? <span id="L580" class="LineNr"> 580 </span> copy-to *dest, <span class="Constant">1</span> <span id="L581" class="LineNr"> 581 </span><span class="Delimiter">}</span> <span id="L582" class="LineNr"> 582 </span> @@ -648,9 +654,9 @@ if ('onhashchange' in window) { <span id="L588" class="LineNr"> 588 </span> <span class="PreProc">return</span> <span id="L589" class="LineNr"> 589 </span> <span class="Delimiter">}</span> <span id="L590" class="LineNr"> 590 </span> <span class="muComment"># fake screen</span> -<span id="L591" class="LineNr"> 591 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L592" class="LineNr"> 592 </span> <span class="PreProc">var</span> attr/<span class="Constant">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes -<span id="L593" class="LineNr"> 593 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, blink? +<span id="L591" class="LineNr"> 591 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L592" class="LineNr"> 592 </span> <span class="PreProc">var</span> attr/<span class="muRegEcx">ecx</span>: (addr <a href='405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, curr-attributes +<span id="L593" class="LineNr"> 593 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> attr, blink? <span id="L594" class="LineNr"> 594 </span> copy-to *dest, <span class="Constant">1</span> <span id="L595" class="LineNr"> 595 </span><span class="Delimiter">}</span> <span id="L596" class="LineNr"> 596 </span> @@ -662,8 +668,8 @@ if ('onhashchange' in window) { <span id="L602" class="LineNr"> 602 </span> <span class="PreProc">return</span> <span id="L603" class="LineNr"> 603 </span> <span class="Delimiter">}</span> <span id="L604" class="LineNr"> 604 </span> <span class="muComment"># fake screen</span> -<span id="L605" class="LineNr"> 605 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L606" class="LineNr"> 606 </span> <span class="PreProc">var</span> hide?/<span class="Constant">ecx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-hide? +<span id="L605" class="LineNr"> 605 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L606" class="LineNr"> 606 </span> <span class="PreProc">var</span> hide?/<span class="muRegEcx">ecx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-hide? <span id="L607" class="LineNr"> 607 </span> copy-to *hide?, <span class="Constant">1</span> <span id="L608" class="LineNr"> 608 </span><span class="Delimiter">}</span> <span id="L609" class="LineNr"> 609 </span> @@ -675,8 +681,8 @@ if ('onhashchange' in window) { <span id="L615" class="LineNr"> 615 </span> <span class="PreProc">return</span> <span id="L616" class="LineNr"> 616 </span> <span class="Delimiter">}</span> <span id="L617" class="LineNr"> 617 </span> <span class="muComment"># fake screen</span> -<span id="L618" class="LineNr"> 618 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> -<span id="L619" class="LineNr"> 619 </span> <span class="PreProc">var</span> hide?/<span class="Constant">ecx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-hide? +<span id="L618" class="LineNr"> 618 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy <a href='405screen.mu.html#L9'>screen</a> +<span id="L619" class="LineNr"> 619 </span> <span class="PreProc">var</span> hide?/<span class="muRegEcx">ecx</span>: (addr boolean) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> screen-addr, cursor-hide? <span id="L620" class="LineNr"> 620 </span> copy-to *hide?, <span class="Constant">0</span> <span id="L621" class="LineNr"> 621 </span><span class="Delimiter">}</span> <span id="L622" class="LineNr"> 622 </span> @@ -689,19 +695,19 @@ if ('onhashchange' in window) { <span id="L629" class="LineNr"> 629 </span><span class="Delimiter">}</span> <span id="L630" class="LineNr"> 630 </span> <span id="L631" class="LineNr"> 631 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L631'>check-screen-row-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L632" class="LineNr"> 632 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L633" class="LineNr"> 633 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L632" class="LineNr"> 632 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L633" class="LineNr"> 633 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L634" class="LineNr"> 634 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L635" class="LineNr"> 635 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L636" class="LineNr"> 636 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L636" class="LineNr"> 636 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L637" class="LineNr"> 637 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L638" class="LineNr"> 638 </span> <span class="Delimiter">{</span> -<span id="L639" class="LineNr"> 639 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L639" class="LineNr"> 639 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L640" class="LineNr"> 640 </span> compare done?, <span class="Constant">0</span> <span id="L641" class="LineNr"> 641 </span> <span class="PreProc">break-if-!=</span> -<span id="L642" class="LineNr"> 642 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L643" class="LineNr"> 643 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L644" class="LineNr"> 644 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L642" class="LineNr"> 642 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L643" class="LineNr"> 643 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L644" class="LineNr"> 644 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr <span id="L645" class="LineNr"> 645 </span> <span class="muComment"># compare graphemes</span> <span id="L646" class="LineNr"> 646 </span> $check-screen-row-from:compare-graphemes: <span class="Delimiter">{</span> <span id="L647" class="LineNr"> 647 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> @@ -743,20 +749,20 @@ if ('onhashchange' in window) { <span id="L683" class="LineNr"> 683 </span><span class="Delimiter">}</span> <span id="L684" class="LineNr"> 684 </span> <span id="L685" class="LineNr"> 685 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L685'>check-screen-row-in-color-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), fg: int, row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L686" class="LineNr"> 686 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L687" class="LineNr"> 687 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L686" class="LineNr"> 686 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L687" class="LineNr"> 687 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L688" class="LineNr"> 688 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L689" class="LineNr"> 689 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L690" class="LineNr"> 690 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L690" class="LineNr"> 690 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L691" class="LineNr"> 691 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L692" class="LineNr"> 692 </span> <span class="Delimiter">{</span> -<span id="L693" class="LineNr"> 693 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L693" class="LineNr"> 693 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L694" class="LineNr"> 694 </span> compare done?, <span class="Constant">0</span> <span id="L695" class="LineNr"> 695 </span> <span class="PreProc">break-if-!=</span> -<span id="L696" class="LineNr"> 696 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L697" class="LineNr"> 697 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L698" class="LineNr"> 698 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L699" class="LineNr"> 699 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edi</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L696" class="LineNr"> 696 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L697" class="LineNr"> 697 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L698" class="LineNr"> 698 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L699" class="LineNr"> 699 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdi">edi</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L700" class="LineNr"> 700 </span> $check-screen-row-in-color-from:compare-cells: <span class="Delimiter">{</span> <span id="L701" class="LineNr"> 701 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L702" class="LineNr"> 702 </span> <span class="Delimiter">{</span> @@ -769,7 +775,7 @@ if ('onhashchange' in window) { <span id="L709" class="LineNr"> 709 </span> <span class="Delimiter">{</span> <span id="L710" class="LineNr"> 710 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L711" class="LineNr"> 711 </span> <span class="PreProc">break-if-!=</span> -<span id="L712" class="LineNr"> 712 </span> <span class="PreProc">var</span> color/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L712" class="LineNr"> 712 </span> <span class="PreProc">var</span> color/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L713" class="LineNr"> 713 </span> compare color, fg <span id="L714" class="LineNr"> 714 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-color-from:compare-cells <span id="L715" class="LineNr"> 715 </span> <span class="Delimiter">}</span> @@ -795,7 +801,7 @@ if ('onhashchange' in window) { <span id="L735" class="LineNr"> 735 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L736" class="LineNr"> 736 </span> <span class="Delimiter">}</span> <span id="L737" class="LineNr"> 737 </span> $check-screen-row-in-color-from:compare-colors: <span class="Delimiter">{</span> -<span id="L738" class="LineNr"> 738 </span> <span class="PreProc">var</span> color/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L738" class="LineNr"> 738 </span> <span class="PreProc">var</span> color/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L333'>screen-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L739" class="LineNr"> 739 </span> compare fg, color <span id="L740" class="LineNr"> 740 </span> <span class="Delimiter">{</span> <span id="L741" class="LineNr"> 741 </span> <span class="PreProc">break-if-!=</span> @@ -830,20 +836,20 @@ if ('onhashchange' in window) { <span id="L770" class="LineNr"> 770 </span><span class="Delimiter">}</span> <span id="L771" class="LineNr"> 771 </span> <span id="L772" class="LineNr"> 772 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L772'>check-screen-row-in-background-color-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), bg: int, row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L773" class="LineNr"> 773 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L774" class="LineNr"> 774 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L773" class="LineNr"> 773 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L774" class="LineNr"> 774 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L775" class="LineNr"> 775 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L776" class="LineNr"> 776 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L777" class="LineNr"> 777 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L777" class="LineNr"> 777 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L778" class="LineNr"> 778 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L779" class="LineNr"> 779 </span> <span class="Delimiter">{</span> -<span id="L780" class="LineNr"> 780 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L780" class="LineNr"> 780 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L781" class="LineNr"> 781 </span> compare done?, <span class="Constant">0</span> <span id="L782" class="LineNr"> 782 </span> <span class="PreProc">break-if-!=</span> -<span id="L783" class="LineNr"> 783 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L784" class="LineNr"> 784 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L785" class="LineNr"> 785 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L786" class="LineNr"> 786 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L783" class="LineNr"> 783 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L784" class="LineNr"> 784 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L785" class="LineNr"> 785 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L786" class="LineNr"> 786 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L787" class="LineNr"> 787 </span> $check-screen-row-in-background-color-from:compare-cells: <span class="Delimiter">{</span> <span id="L788" class="LineNr"> 788 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L789" class="LineNr"> 789 </span> <span class="Delimiter">{</span> @@ -856,7 +862,7 @@ if ('onhashchange' in window) { <span id="L796" class="LineNr"> 796 </span> <span class="Delimiter">{</span> <span id="L797" class="LineNr"> 797 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L798" class="LineNr"> 798 </span> <span class="PreProc">break-if-!=</span> -<span id="L799" class="LineNr"> 799 </span> <span class="PreProc">var</span> color/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L799" class="LineNr"> 799 </span> <span class="PreProc">var</span> color/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L800" class="LineNr"> 800 </span> compare color, bg <span id="L801" class="LineNr"> 801 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-background-color-from:compare-cells <span id="L802" class="LineNr"> 802 </span> <span class="Delimiter">}</span> @@ -882,7 +888,7 @@ if ('onhashchange' in window) { <span id="L822" class="LineNr"> 822 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L823" class="LineNr"> 823 </span> <span class="Delimiter">}</span> <span id="L824" class="LineNr"> 824 </span> $check-screen-row-in-background-color-from:compare-colors: <span class="Delimiter">{</span> -<span id="L825" class="LineNr"> 825 </span> <span class="PreProc">var</span> color/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L825" class="LineNr"> 825 </span> <span class="PreProc">var</span> color/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L352'>screen-background-color-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L826" class="LineNr"> 826 </span> compare bg, color <span id="L827" class="LineNr"> 827 </span> <span class="Delimiter">{</span> <span id="L828" class="LineNr"> 828 </span> <span class="PreProc">break-if-!=</span> @@ -915,20 +921,20 @@ if ('onhashchange' in window) { <span id="L855" class="LineNr"> 855 </span><span class="Delimiter">}</span> <span id="L856" class="LineNr"> 856 </span> <span id="L857" class="LineNr"> 857 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L857'>check-screen-row-in-bold-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L858" class="LineNr"> 858 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L859" class="LineNr"> 859 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L858" class="LineNr"> 858 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L859" class="LineNr"> 859 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L860" class="LineNr"> 860 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L861" class="LineNr"> 861 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L862" class="LineNr"> 862 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L862" class="LineNr"> 862 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L863" class="LineNr"> 863 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L864" class="LineNr"> 864 </span> <span class="Delimiter">{</span> -<span id="L865" class="LineNr"> 865 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L865" class="LineNr"> 865 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L866" class="LineNr"> 866 </span> compare done?, <span class="Constant">0</span> <span id="L867" class="LineNr"> 867 </span> <span class="PreProc">break-if-!=</span> -<span id="L868" class="LineNr"> 868 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L869" class="LineNr"> 869 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L870" class="LineNr"> 870 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L871" class="LineNr"> 871 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L868" class="LineNr"> 868 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L869" class="LineNr"> 869 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L870" class="LineNr"> 870 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L871" class="LineNr"> 871 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L872" class="LineNr"> 872 </span> $check-screen-row-in-bold-from:compare-cells: <span class="Delimiter">{</span> <span id="L873" class="LineNr"> 873 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L874" class="LineNr"> 874 </span> <span class="Delimiter">{</span> @@ -941,7 +947,7 @@ if ('onhashchange' in window) { <span id="L881" class="LineNr"> 881 </span> <span class="Delimiter">{</span> <span id="L882" class="LineNr"> 882 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L883" class="LineNr"> 883 </span> <span class="PreProc">break-if-!=</span> -<span id="L884" class="LineNr"> 884 </span> <span class="PreProc">var</span> bold?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L884" class="LineNr"> 884 </span> <span class="PreProc">var</span> bold?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L885" class="LineNr"> 885 </span> compare bold?, <span class="Constant">1</span> <span id="L886" class="LineNr"> 886 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-bold-from:compare-cells <span id="L887" class="LineNr"> 887 </span> <span class="Delimiter">}</span> @@ -967,7 +973,7 @@ if ('onhashchange' in window) { <span id="L907" class="LineNr"> 907 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L908" class="LineNr"> 908 </span> <span class="Delimiter">}</span> <span id="L909" class="LineNr"> 909 </span> $check-screen-row-in-bold-from:compare-bold: <span class="Delimiter">{</span> -<span id="L910" class="LineNr"> 910 </span> <span class="PreProc">var</span> bold?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L910" class="LineNr"> 910 </span> <span class="PreProc">var</span> bold?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L370'>screen-bold-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L911" class="LineNr"> 911 </span> compare bold?, <span class="Constant">1</span> <span id="L912" class="LineNr"> 912 </span> <span class="Delimiter">{</span> <span id="L913" class="LineNr"> 913 </span> <span class="PreProc">break-if-!=</span> @@ -996,20 +1002,20 @@ if ('onhashchange' in window) { <span id="L936" class="LineNr"> 936 </span><span class="Delimiter">}</span> <span id="L937" class="LineNr"> 937 </span> <span id="L938" class="LineNr"> 938 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L938'>check-screen-row-in-underline-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L939" class="LineNr"> 939 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L940" class="LineNr"> 940 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L939" class="LineNr"> 939 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L940" class="LineNr"> 940 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L941" class="LineNr"> 941 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L942" class="LineNr"> 942 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L943" class="LineNr"> 943 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L943" class="LineNr"> 943 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L944" class="LineNr"> 944 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L945" class="LineNr"> 945 </span> <span class="Delimiter">{</span> -<span id="L946" class="LineNr"> 946 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L946" class="LineNr"> 946 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L947" class="LineNr"> 947 </span> compare done?, <span class="Constant">0</span> <span id="L948" class="LineNr"> 948 </span> <span class="PreProc">break-if-!=</span> -<span id="L949" class="LineNr"> 949 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L950" class="LineNr"> 950 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L951" class="LineNr"> 951 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L952" class="LineNr"> 952 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L949" class="LineNr"> 949 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L950" class="LineNr"> 950 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L951" class="LineNr"> 951 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L952" class="LineNr"> 952 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L953" class="LineNr"> 953 </span> $check-screen-row-in-underline-from:compare-cells: <span class="Delimiter">{</span> <span id="L954" class="LineNr"> 954 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L955" class="LineNr"> 955 </span> <span class="Delimiter">{</span> @@ -1022,7 +1028,7 @@ if ('onhashchange' in window) { <span id="L962" class="LineNr"> 962 </span> <span class="Delimiter">{</span> <span id="L963" class="LineNr"> 963 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L964" class="LineNr"> 964 </span> <span class="PreProc">break-if-!=</span> -<span id="L965" class="LineNr"> 965 </span> <span class="PreProc">var</span> underline?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L965" class="LineNr"> 965 </span> <span class="PreProc">var</span> underline?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L966" class="LineNr"> 966 </span> compare underline?, <span class="Constant">1</span> <span id="L967" class="LineNr"> 967 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-underline-from:compare-cells <span id="L968" class="LineNr"> 968 </span> <span class="Delimiter">}</span> @@ -1048,7 +1054,7 @@ if ('onhashchange' in window) { <span id="L988" class="LineNr"> 988 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L989" class="LineNr"> 989 </span> <span class="Delimiter">}</span> <span id="L990" class="LineNr"> 990 </span> $check-screen-row-in-underline-from:compare-underline: <span class="Delimiter">{</span> -<span id="L991" class="LineNr"> 991 </span> <span class="PreProc">var</span> underline?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L991" class="LineNr"> 991 </span> <span class="PreProc">var</span> underline?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L388'>screen-underline-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L992" class="LineNr"> 992 </span> compare underline?, <span class="Constant">1</span> <span id="L993" class="LineNr"> 993 </span> <span class="Delimiter">{</span> <span id="L994" class="LineNr"> 994 </span> <span class="PreProc">break-if-!=</span> @@ -1077,20 +1083,20 @@ if ('onhashchange' in window) { <span id="L1017" class="LineNr">1017 </span><span class="Delimiter">}</span> <span id="L1018" class="LineNr">1018 </span> <span id="L1019" class="LineNr">1019 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L1019'>check-screen-row-in-reverse-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L1020" class="LineNr">1020 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L1021" class="LineNr">1021 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L1020" class="LineNr">1020 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L1021" class="LineNr">1021 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L1022" class="LineNr">1022 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L1023" class="LineNr">1023 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L1024" class="LineNr">1024 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L1024" class="LineNr">1024 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L1025" class="LineNr">1025 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L1026" class="LineNr">1026 </span> <span class="Delimiter">{</span> -<span id="L1027" class="LineNr">1027 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L1027" class="LineNr">1027 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L1028" class="LineNr">1028 </span> compare done?, <span class="Constant">0</span> <span id="L1029" class="LineNr">1029 </span> <span class="PreProc">break-if-!=</span> -<span id="L1030" class="LineNr">1030 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L1031" class="LineNr">1031 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L1032" class="LineNr">1032 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L1033" class="LineNr">1033 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L1030" class="LineNr">1030 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1031" class="LineNr">1031 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L1032" class="LineNr">1032 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L1033" class="LineNr">1033 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L1034" class="LineNr">1034 </span> $check-screen-row-in-reverse-from:compare-cells: <span class="Delimiter">{</span> <span id="L1035" class="LineNr">1035 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L1036" class="LineNr">1036 </span> <span class="Delimiter">{</span> @@ -1103,7 +1109,7 @@ if ('onhashchange' in window) { <span id="L1043" class="LineNr">1043 </span> <span class="Delimiter">{</span> <span id="L1044" class="LineNr">1044 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L1045" class="LineNr">1045 </span> <span class="PreProc">break-if-!=</span> -<span id="L1046" class="LineNr">1046 </span> <span class="PreProc">var</span> reverse?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1046" class="LineNr">1046 </span> <span class="PreProc">var</span> reverse?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L1047" class="LineNr">1047 </span> compare reverse?, <span class="Constant">1</span> <span id="L1048" class="LineNr">1048 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-reverse-from:compare-cells <span id="L1049" class="LineNr">1049 </span> <span class="Delimiter">}</span> @@ -1129,7 +1135,7 @@ if ('onhashchange' in window) { <span id="L1069" class="LineNr">1069 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L1070" class="LineNr">1070 </span> <span class="Delimiter">}</span> <span id="L1071" class="LineNr">1071 </span> $check-screen-row-in-reverse-from:compare-reverse: <span class="Delimiter">{</span> -<span id="L1072" class="LineNr">1072 </span> <span class="PreProc">var</span> reverse?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1072" class="LineNr">1072 </span> <span class="PreProc">var</span> reverse?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L406'>screen-reverse-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L1073" class="LineNr">1073 </span> compare reverse?, <span class="Constant">1</span> <span id="L1074" class="LineNr">1074 </span> <span class="Delimiter">{</span> <span id="L1075" class="LineNr">1075 </span> <span class="PreProc">break-if-!=</span> @@ -1158,20 +1164,20 @@ if ('onhashchange' in window) { <span id="L1098" class="LineNr">1098 </span><span class="Delimiter">}</span> <span id="L1099" class="LineNr">1099 </span> <span id="L1100" class="LineNr">1100 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='405screen.mu.html#L1100'>check-screen-row-in-blinking-from</a></span> screen-on-stack: (addr <a href='405screen.mu.html#L9'>screen</a>), row-idx: int, col-idx: int, expected: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L1101" class="LineNr">1101 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack -<span id="L1102" class="LineNr">1102 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx +<span id="L1101" class="LineNr">1101 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy screen-on-stack +<span id="L1102" class="LineNr">1102 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='405screen.mu.html#L285'>screen-cell-index</a> <a href='405screen.mu.html#L9'>screen</a>, row-idx, col-idx <span id="L1103" class="LineNr">1103 </span> <span class="muComment"># compare 'expected' with the screen contents starting at 'idx', grapheme by grapheme</span> <span id="L1104" class="LineNr">1104 </span> <span class="PreProc">var</span> e: (stream byte <span class="Constant">0x100</span>) -<span id="L1105" class="LineNr">1105 </span> <span class="PreProc">var</span> e-addr/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address e +<span id="L1105" class="LineNr">1105 </span> <span class="PreProc">var</span> e-addr/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address e <span id="L1106" class="LineNr">1106 </span> <a href='108write.subx.html#L24'>write</a> e-addr, expected <span id="L1107" class="LineNr">1107 </span> <span class="Delimiter">{</span> -<span id="L1108" class="LineNr">1108 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr +<span id="L1108" class="LineNr">1108 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> e-addr <span id="L1109" class="LineNr">1109 </span> compare done?, <span class="Constant">0</span> <span id="L1110" class="LineNr">1110 </span> <span class="PreProc">break-if-!=</span> -<span id="L1111" class="LineNr">1111 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx -<span id="L1112" class="LineNr">1112 </span> <span class="PreProc">var</span> g/<span class="Constant">ebx</span>: grapheme <span class="Special"><-</span> copy _g -<span id="L1113" class="LineNr">1113 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr -<span id="L1114" class="LineNr">1114 </span> <span class="PreProc">var</span> expected-grapheme/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme +<span id="L1111" class="LineNr">1111 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='405screen.mu.html#L315'>screen-grapheme-at-idx</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1112" class="LineNr">1112 </span> <span class="PreProc">var</span> g/<span class="muRegEbx">ebx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L1113" class="LineNr">1113 </span> <span class="PreProc">var</span> _expected-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> e-addr +<span id="L1114" class="LineNr">1114 </span> <span class="PreProc">var</span> expected-grapheme/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy _expected-grapheme <span id="L1115" class="LineNr">1115 </span> $check-screen-row-in-blinking-from:compare-cells: <span class="Delimiter">{</span> <span id="L1116" class="LineNr">1116 </span> <span class="muComment"># if expected-grapheme is space, null grapheme is also ok</span> <span id="L1117" class="LineNr">1117 </span> <span class="Delimiter">{</span> @@ -1184,7 +1190,7 @@ if ('onhashchange' in window) { <span id="L1124" class="LineNr">1124 </span> <span class="Delimiter">{</span> <span id="L1125" class="LineNr">1125 </span> compare expected-grapheme, <span class="Constant">0x20</span> <span id="L1126" class="LineNr">1126 </span> <span class="PreProc">break-if-!=</span> -<span id="L1127" class="LineNr">1127 </span> <span class="PreProc">var</span> blinking?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1127" class="LineNr">1127 </span> <span class="PreProc">var</span> blinking?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L1128" class="LineNr">1128 </span> compare blinking?, <span class="Constant">1</span> <span id="L1129" class="LineNr">1129 </span> <span class="PreProc">break-if-!=</span> $check-screen-row-in-blinking-from:compare-cells <span id="L1130" class="LineNr">1130 </span> <span class="Delimiter">}</span> @@ -1210,7 +1216,7 @@ if ('onhashchange' in window) { <span id="L1150" class="LineNr">1150 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"'\n"</span> <span id="L1151" class="LineNr">1151 </span> <span class="Delimiter">}</span> <span id="L1152" class="LineNr">1152 </span> $check-screen-row-in-blinking-from:compare-blinking: <span class="Delimiter">{</span> -<span id="L1153" class="LineNr">1153 </span> <span class="PreProc">var</span> blinking?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx +<span id="L1153" class="LineNr">1153 </span> <span class="PreProc">var</span> blinking?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='405screen.mu.html#L424'>screen-blink-at-idx?</a> <a href='405screen.mu.html#L9'>screen</a>, idx <span id="L1154" class="LineNr">1154 </span> compare blinking?, <span class="Constant">1</span> <span id="L1155" class="LineNr">1155 </span> <span class="Delimiter">{</span> <span id="L1156" class="LineNr">1156 </span> <span class="PreProc">break-if-!=</span> @@ -1237,16 +1243,16 @@ if ('onhashchange' in window) { <span id="L1177" class="LineNr">1177 </span> <span id="L1178" class="LineNr">1178 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1178'>test-print-single-grapheme</a></span> <span class="Delimiter">{</span> <span id="L1179" class="LineNr">1179 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1180" class="LineNr">1180 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1180" class="LineNr">1180 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1181" class="LineNr">1181 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols -<span id="L1182" class="LineNr">1182 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1182" class="LineNr">1182 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1183" class="LineNr">1183 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1184" class="LineNr">1184 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"a"</span>, <span class="Constant">"F - test-print-single-grapheme"</span> <span class="muComment"># top-left corner of the screen</span> <span id="L1185" class="LineNr">1185 </span><span class="Delimiter">}</span> <span id="L1186" class="LineNr">1186 </span> <span id="L1187" class="LineNr">1187 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1187'>test-print-multiple-graphemes</a></span> <span class="Delimiter">{</span> <span id="L1188" class="LineNr">1188 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1189" class="LineNr">1189 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1189" class="LineNr">1189 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1190" class="LineNr">1190 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1191" class="LineNr">1191 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">"Hello, 世界"</span> <span id="L1192" class="LineNr">1192 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"Hello, 世界"</span>, <span class="Constant">"F - test-print-multiple-graphemes"</span> @@ -1254,50 +1260,50 @@ if ('onhashchange' in window) { <span id="L1194" class="LineNr">1194 </span> <span id="L1195" class="LineNr">1195 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1195'>test-move-cursor</a></span> <span class="Delimiter">{</span> <span id="L1196" class="LineNr">1196 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1197" class="LineNr">1197 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1197" class="LineNr">1197 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1198" class="LineNr">1198 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1199" class="LineNr">1199 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>, <span class="Constant">4</span> -<span id="L1200" class="LineNr">1200 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1200" class="LineNr">1200 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1201" class="LineNr">1201 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1202" class="LineNr">1202 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">" a"</span>, <span class="Constant">"F - test-move-cursor"</span> <span class="muComment"># top row</span> <span id="L1203" class="LineNr">1203 </span><span class="Delimiter">}</span> <span id="L1204" class="LineNr">1204 </span> <span id="L1205" class="LineNr">1205 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1205'>test-move-cursor-zeroes</a></span> <span class="Delimiter">{</span> <span id="L1206" class="LineNr">1206 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1207" class="LineNr">1207 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1207" class="LineNr">1207 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1208" class="LineNr">1208 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1209" class="LineNr">1209 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>, <span class="Constant">0</span> -<span id="L1210" class="LineNr">1210 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1210" class="LineNr">1210 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1211" class="LineNr">1211 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1212" class="LineNr">1212 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"a"</span>, <span class="Constant">"F - test-move-cursor-zeroes"</span> <span class="muComment"># top-left corner of the screen</span> <span id="L1213" class="LineNr">1213 </span><span class="Delimiter">}</span> <span id="L1214" class="LineNr">1214 </span> <span id="L1215" class="LineNr">1215 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1215'>test-move-cursor-zero-row</a></span> <span class="Delimiter">{</span> <span id="L1216" class="LineNr">1216 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1217" class="LineNr">1217 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1217" class="LineNr">1217 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1218" class="LineNr">1218 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1219" class="LineNr">1219 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>, <span class="Constant">2</span> -<span id="L1220" class="LineNr">1220 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1220" class="LineNr">1220 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1221" class="LineNr">1221 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1222" class="LineNr">1222 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">" a"</span>, <span class="Constant">"F - test-move-cursor-zero-row"</span> <span class="muComment"># top row</span> <span id="L1223" class="LineNr">1223 </span><span class="Delimiter">}</span> <span id="L1224" class="LineNr">1224 </span> <span id="L1225" class="LineNr">1225 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1225'>test-move-cursor-zero-column</a></span> <span class="Delimiter">{</span> <span id="L1226" class="LineNr">1226 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1227" class="LineNr">1227 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1227" class="LineNr">1227 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1228" class="LineNr">1228 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1229" class="LineNr">1229 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">4</span>, <span class="Constant">0</span> -<span id="L1230" class="LineNr">1230 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1230" class="LineNr">1230 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1231" class="LineNr">1231 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1232" class="LineNr">1232 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">4</span>/row, <span class="Constant">"a"</span>, <span class="Constant">"F - test-move-cursor-zero-column"</span> <span id="L1233" class="LineNr">1233 </span><span class="Delimiter">}</span> <span id="L1234" class="LineNr">1234 </span> <span id="L1235" class="LineNr">1235 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1235'>test-move-cursor-negative-row</a></span> <span class="Delimiter">{</span> <span id="L1236" class="LineNr">1236 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1237" class="LineNr">1237 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1237" class="LineNr">1237 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1238" class="LineNr">1238 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">3</span> <span id="L1239" class="LineNr">1239 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">-1</span>/row, <span class="Constant">2</span>/col -<span id="L1240" class="LineNr">1240 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1240" class="LineNr">1240 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1241" class="LineNr">1241 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1242" class="LineNr">1242 </span> <span class="muComment"># no move</span> <span id="L1243" class="LineNr">1243 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"a"</span>, <span class="Constant">"F - test-move-cursor-negative-row"</span> @@ -1305,10 +1311,10 @@ if ('onhashchange' in window) { <span id="L1245" class="LineNr">1245 </span> <span id="L1246" class="LineNr">1246 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1246'>test-move-cursor-negative-column</a></span> <span class="Delimiter">{</span> <span id="L1247" class="LineNr">1247 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1248" class="LineNr">1248 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1248" class="LineNr">1248 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1249" class="LineNr">1249 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">3</span> <span id="L1250" class="LineNr">1250 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">2</span>/row, <span class="Constant">-1</span>/col -<span id="L1251" class="LineNr">1251 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1251" class="LineNr">1251 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1252" class="LineNr">1252 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1253" class="LineNr">1253 </span> <span class="muComment"># no move</span> <span id="L1254" class="LineNr">1254 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"a"</span>, <span class="Constant">"F - test-move-cursor-negative-column"</span> @@ -1316,10 +1322,10 @@ if ('onhashchange' in window) { <span id="L1256" class="LineNr">1256 </span> <span id="L1257" class="LineNr">1257 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1257'>test-move-cursor-column-too-large</a></span> <span class="Delimiter">{</span> <span id="L1258" class="LineNr">1258 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1259" class="LineNr">1259 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1259" class="LineNr">1259 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1260" class="LineNr">1260 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">3</span>/cols <span id="L1261" class="LineNr">1261 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">4</span>/col -<span id="L1262" class="LineNr">1262 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1262" class="LineNr">1262 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1263" class="LineNr">1263 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1264" class="LineNr">1264 </span> <span class="muComment"># top row is empty</span> <span id="L1265" class="LineNr">1265 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">" "</span>, <span class="Constant">"F - test-move-cursor-column-too-large"</span> @@ -1329,10 +1335,10 @@ if ('onhashchange' in window) { <span id="L1269" class="LineNr">1269 </span> <span id="L1270" class="LineNr">1270 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1270'>test-move-cursor-column-too-large-saturates</a></span> <span class="Delimiter">{</span> <span id="L1271" class="LineNr">1271 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1272" class="LineNr">1272 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1272" class="LineNr">1272 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1273" class="LineNr">1273 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">3</span>/cols <span id="L1274" class="LineNr">1274 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">6</span>/col -<span id="L1275" class="LineNr">1275 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1275" class="LineNr">1275 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1276" class="LineNr">1276 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1277" class="LineNr">1277 </span> <span class="muComment"># top row is empty</span> <span id="L1278" class="LineNr">1278 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">" "</span>, <span class="Constant">"F - test-move-cursor-column-too-large-saturates"</span> <span class="muComment"># top-left corner of the screen</span> @@ -1342,10 +1348,10 @@ if ('onhashchange' in window) { <span id="L1282" class="LineNr">1282 </span> <span id="L1283" class="LineNr">1283 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1283'>test-move-cursor-row-too-large</a></span> <span class="Delimiter">{</span> <span id="L1284" class="LineNr">1284 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1285" class="LineNr">1285 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1285" class="LineNr">1285 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1286" class="LineNr">1286 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">3</span>/cols <span id="L1287" class="LineNr">1287 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">6</span>/row, <span class="Constant">2</span>/col -<span id="L1288" class="LineNr">1288 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1288" class="LineNr">1288 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1289" class="LineNr">1289 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1290" class="LineNr">1290 </span> <span class="muComment"># bottom row shows the character</span> <span id="L1291" class="LineNr">1291 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/row, <span class="Constant">" a"</span>, <span class="Constant">"F - test-move-cursor-row-too-large"</span> @@ -1353,10 +1359,10 @@ if ('onhashchange' in window) { <span id="L1293" class="LineNr">1293 </span> <span id="L1294" class="LineNr">1294 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1294'>test-move-cursor-row-too-large-saturates</a></span> <span class="Delimiter">{</span> <span id="L1295" class="LineNr">1295 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1296" class="LineNr">1296 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1296" class="LineNr">1296 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1297" class="LineNr">1297 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">3</span>/cols <span id="L1298" class="LineNr">1298 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">9</span>/row, <span class="Constant">2</span>/col -<span id="L1299" class="LineNr">1299 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1299" class="LineNr">1299 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1300" class="LineNr">1300 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1301" class="LineNr">1301 </span> <span class="muComment"># bottom row shows the character</span> <span id="L1302" class="LineNr">1302 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/row, <span class="Constant">" a"</span>, <span class="Constant">"F - test-move-cursor-row-too-large-saturates"</span> @@ -1364,10 +1370,10 @@ if ('onhashchange' in window) { <span id="L1304" class="LineNr">1304 </span> <span id="L1305" class="LineNr">1305 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1305'>test-check-screen-row-from</a></span> <span class="Delimiter">{</span> <span id="L1306" class="LineNr">1306 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1307" class="LineNr">1307 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1307" class="LineNr">1307 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1308" class="LineNr">1308 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1309" class="LineNr">1309 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>, <span class="Constant">4</span> -<span id="L1310" class="LineNr">1310 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1310" class="LineNr">1310 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1311" class="LineNr">1311 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1312" class="LineNr">1312 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">" a"</span>, <span class="Constant">"F - <a href='405screen.mu.html#L1305'>test-check-screen-row-from</a>/baseline"</span> <span id="L1313" class="LineNr">1313 </span> <a href='405screen.mu.html#L631'>check-screen-row-from</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">4</span>/col, <span class="Constant">"a"</span>, <span class="Constant">"F - test-check-screen-row-from"</span> @@ -1375,7 +1381,7 @@ if ('onhashchange' in window) { <span id="L1315" class="LineNr">1315 </span> <span id="L1316" class="LineNr">1316 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1316'>test-print-string-overflows-to-next-row</a></span> <span class="Delimiter">{</span> <span id="L1317" class="LineNr">1317 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1318" class="LineNr">1318 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1318" class="LineNr">1318 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1319" class="LineNr">1319 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1320" class="LineNr">1320 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">"abcdefg"</span> <span id="L1321" class="LineNr">1321 </span> <a href='405screen.mu.html#L627'>check-screen-row</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/row, <span class="Constant">"abcd"</span>, <span class="Constant">"F - test-print-string-overflows-to-next-row"</span> @@ -1384,11 +1390,11 @@ if ('onhashchange' in window) { <span id="L1324" class="LineNr">1324 </span> <span id="L1325" class="LineNr">1325 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1325'>test-check-screen-scrolls-on-overflow</a></span> <span class="Delimiter">{</span> <span id="L1326" class="LineNr">1326 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1327" class="LineNr">1327 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1327" class="LineNr">1327 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1328" class="LineNr">1328 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1329" class="LineNr">1329 </span> <span class="muComment"># single character starting at bottom right</span> <span id="L1330" class="LineNr">1330 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols -<span id="L1331" class="LineNr">1331 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1331" class="LineNr">1331 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1332" class="LineNr">1332 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1333" class="LineNr">1333 </span> <a href='405screen.mu.html#L631'>check-screen-row-from</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/row, <span class="Constant">4</span>/col, <span class="Constant">"a"</span>, <span class="Constant">"F - <a href='405screen.mu.html#L1325'>test-check-screen-scrolls-on-overflow</a>/baseline"</span> <span class="muComment"># bottom-right corner of the screen</span> <span id="L1334" class="LineNr">1334 </span> <span class="muComment"># multiple characters starting at bottom right</span> @@ -1406,9 +1412,9 @@ if ('onhashchange' in window) { <span id="L1346" class="LineNr">1346 </span> <span id="L1347" class="LineNr">1347 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1347'>test-check-screen-color</a></span> <span class="Delimiter">{</span> <span id="L1348" class="LineNr">1348 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1349" class="LineNr">1349 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1349" class="LineNr">1349 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1350" class="LineNr">1350 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols -<span id="L1351" class="LineNr">1351 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1351" class="LineNr">1351 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1352" class="LineNr">1352 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1353" class="LineNr">1353 </span> <a href='405screen.mu.html#L523'>start-color</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>/fg, <span class="Constant">0</span>/bg <span id="L1354" class="LineNr">1354 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b @@ -1421,9 +1427,9 @@ if ('onhashchange' in window) { <span id="L1361" class="LineNr">1361 </span> <span id="L1362" class="LineNr">1362 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1362'>test-check-screen-background-color</a></span> <span class="Delimiter">{</span> <span id="L1363" class="LineNr">1363 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1364" class="LineNr">1364 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1364" class="LineNr">1364 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1365" class="LineNr">1365 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols -<span id="L1366" class="LineNr">1366 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1366" class="LineNr">1366 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1367" class="LineNr">1367 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1368" class="LineNr">1368 </span> <a href='405screen.mu.html#L523'>start-color</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>/fg, <span class="Constant">1</span>/bg <span id="L1369" class="LineNr">1369 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b @@ -1436,10 +1442,10 @@ if ('onhashchange' in window) { <span id="L1376" class="LineNr">1376 </span> <span id="L1377" class="LineNr">1377 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1377'>test-check-screen-bold</a></span> <span class="Delimiter">{</span> <span id="L1378" class="LineNr">1378 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1379" class="LineNr">1379 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1379" class="LineNr">1379 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1380" class="LineNr">1380 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1381" class="LineNr">1381 </span> <a href='405screen.mu.html#L541'>start-bold</a> <a href='405screen.mu.html#L9'>screen</a> -<span id="L1382" class="LineNr">1382 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1382" class="LineNr">1382 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1383" class="LineNr">1383 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1384" class="LineNr">1384 </span> <a href='405screen.mu.html#L506'>reset-formatting</a> <a href='405screen.mu.html#L9'>screen</a> <span id="L1385" class="LineNr">1385 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b @@ -1452,10 +1458,10 @@ if ('onhashchange' in window) { <span id="L1392" class="LineNr">1392 </span> <span id="L1393" class="LineNr">1393 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1393'>test-check-screen-underline</a></span> <span class="Delimiter">{</span> <span id="L1394" class="LineNr">1394 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1395" class="LineNr">1395 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1395" class="LineNr">1395 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1396" class="LineNr">1396 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1397" class="LineNr">1397 </span> <a href='405screen.mu.html#L555'>start-underline</a> <a href='405screen.mu.html#L9'>screen</a> -<span id="L1398" class="LineNr">1398 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1398" class="LineNr">1398 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1399" class="LineNr">1399 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1400" class="LineNr">1400 </span> <a href='405screen.mu.html#L506'>reset-formatting</a> <a href='405screen.mu.html#L9'>screen</a> <span id="L1401" class="LineNr">1401 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b @@ -1468,10 +1474,10 @@ if ('onhashchange' in window) { <span id="L1408" class="LineNr">1408 </span> <span id="L1409" class="LineNr">1409 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1409'>test-check-screen-reverse</a></span> <span class="Delimiter">{</span> <span id="L1410" class="LineNr">1410 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1411" class="LineNr">1411 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1411" class="LineNr">1411 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1412" class="LineNr">1412 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1413" class="LineNr">1413 </span> <a href='405screen.mu.html#L569'>start-reverse-video</a> <a href='405screen.mu.html#L9'>screen</a> -<span id="L1414" class="LineNr">1414 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1414" class="LineNr">1414 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1415" class="LineNr">1415 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1416" class="LineNr">1416 </span> <a href='405screen.mu.html#L506'>reset-formatting</a> <a href='405screen.mu.html#L9'>screen</a> <span id="L1417" class="LineNr">1417 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b @@ -1484,10 +1490,10 @@ if ('onhashchange' in window) { <span id="L1424" class="LineNr">1424 </span> <span id="L1425" class="LineNr">1425 </span><span class="PreProc">fn</span> <span class="muTest"><a href='405screen.mu.html#L1425'>test-check-screen-blinking</a></span> <span class="Delimiter">{</span> <span id="L1426" class="LineNr">1426 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L1427" class="LineNr">1427 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L1427" class="LineNr">1427 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L1428" class="LineNr">1428 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>/rows, <span class="Constant">4</span>/cols <span id="L1429" class="LineNr">1429 </span> <a href='405screen.mu.html#L583'>start-blinking</a> <a href='405screen.mu.html#L9'>screen</a> -<span id="L1430" class="LineNr">1430 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L1430" class="LineNr">1430 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L1431" class="LineNr">1431 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <a href='405screen.mu.html#L9'>screen</a>, c <span id="L1432" class="LineNr">1432 </span> <a href='405screen.mu.html#L506'>reset-formatting</a> <a href='405screen.mu.html#L9'>screen</a> <span id="L1433" class="LineNr">1433 </span> c <span class="Special"><-</span> copy <span class="Constant">0x62</span>/b diff --git a/html/linux/406int32.mu.html b/html/linux/406int32.mu.html index e76ed4fe..47c98927 100644 --- a/html/linux/406int32.mu.html +++ b/html/linux/406int32.mu.html @@ -7,18 +7,19 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -60,8 +61,8 @@ if ('onhashchange' in window) { <span id="L2" class="LineNr"> 2 </span> <span id="L3" class="LineNr"> 3 </span><span class="muComment"># slow, iterative shift-left instruction</span> <span id="L4" class="LineNr"> 4 </span><span class="muComment"># preconditions: _nr >= 0, _dr > 0</span> -<span id="L5" class="LineNr"> 5 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L5'>repeated-shift-left</a></span> nr: int, dr: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy nr +<span id="L5" class="LineNr"> 5 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L5'>repeated-shift-left</a></span> nr: int, dr: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy nr <span id="L7" class="LineNr"> 7 </span> <span class="Delimiter">{</span> <span id="L8" class="LineNr"> 8 </span> compare dr, <span class="Constant">0</span> <span id="L9" class="LineNr"> 9 </span> <span class="PreProc">break-if-<=</span> @@ -74,8 +75,8 @@ if ('onhashchange' in window) { <span id="L16" class="LineNr">16 </span> <span id="L17" class="LineNr">17 </span><span class="muComment"># slow, iterative shift-right instruction</span> <span id="L18" class="LineNr">18 </span><span class="muComment"># preconditions: _nr >= 0, _dr > 0</span> -<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L19'>repeated-shift-right</a></span> nr: int, dr: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy nr +<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L19'>repeated-shift-right</a></span> nr: int, dr: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy nr <span id="L21" class="LineNr">21 </span> <span class="Delimiter">{</span> <span id="L22" class="LineNr">22 </span> compare dr, <span class="Constant">0</span> <span id="L23" class="LineNr">23 </span> <span class="PreProc">break-if-<=</span> @@ -86,8 +87,8 @@ if ('onhashchange' in window) { <span id="L28" class="LineNr">28 </span> <span class="PreProc">return</span> result <span id="L29" class="LineNr">29 </span><span class="Delimiter">}</span> <span id="L30" class="LineNr">30 </span> -<span id="L31" class="LineNr">31 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L31'>abs</a></span> n: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L32" class="LineNr">32 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy n +<span id="L31" class="LineNr">31 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='406int32.mu.html#L31'>abs</a></span> n: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L32" class="LineNr">32 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy n <span id="L33" class="LineNr">33 </span> <span class="Delimiter">{</span> <span id="L34" class="LineNr">34 </span> compare n, <span class="Constant">0</span> <span id="L35" class="LineNr">35 </span> <span class="PreProc">break-if->=</span> diff --git a/html/linux/407right-justify.mu.html b/html/linux/407right-justify.mu.html index 8db2b785..ca09c648 100644 --- a/html/linux/407right-justify.mu.html +++ b/html/linux/407right-justify.mu.html @@ -7,17 +7,19 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } .Constant { color: #008787; } +.muRegEcx { color: #af875f; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -59,8 +61,8 @@ if ('onhashchange' in window) { <span id="L1" class="LineNr"> 1 </span><span class="muComment"># print 'n' with enough leading spaces to be right-justified in 'width'</span> <span id="L2" class="LineNr"> 2 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='407right-justify.mu.html#L2'>print-int32-decimal-right-justified</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), n: int, _width: int <span class="Delimiter">{</span> <span id="L3" class="LineNr"> 3 </span> <span class="muComment"># tweak things for negative numbers</span> -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> n-width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='311decimal-int.subx.html#L312'>decimal-size</a> n -<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> width/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy _width +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> n-width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='311decimal-int.subx.html#L312'>decimal-size</a> n +<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> width/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy _width <span id="L6" class="LineNr"> 6 </span> <span class="Delimiter">{</span> <span id="L7" class="LineNr"> 7 </span> compare n-width, width <span id="L8" class="LineNr"> 8 </span> <span class="PreProc">break-if->=</span> diff --git a/html/linux/408float.mu.html b/html/linux/408float.mu.html index 4ecdabcd..deac6050 100644 --- a/html/linux/408float.mu.html +++ b/html/linux/408float.mu.html @@ -7,17 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } .Constant { color: #008787; } +.muRegEdi { color: #87ffd7; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -59,7 +60,7 @@ if ('onhashchange' in window) { <span id="L1" class="LineNr"> 1 </span><span class="muComment"># Some quick-n-dirty ways to create floats.</span> <span id="L2" class="LineNr"> 2 </span> <span id="L3" class="LineNr"> 3 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='408float.mu.html#L3'>fill-in-rational</a></span> _out: (addr float), nr: int, dr: int <span class="Delimiter">{</span> -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> out/<span class="Constant">edi</span>: (addr float) <span class="Special"><-</span> copy _out +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> out/<span class="muRegEdi">edi</span>: (addr float) <span class="Special"><-</span> copy _out <span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert nr <span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> divisor/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> convert dr <span id="L7" class="LineNr"> 7 </span> result <span class="Special"><-</span> divide divisor @@ -67,7 +68,7 @@ if ('onhashchange' in window) { <span id="L9" class="LineNr"> 9 </span><span class="Delimiter">}</span> <span id="L10" class="LineNr">10 </span> <span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='408float.mu.html#L11'>fill-in-sqrt</a></span> _out: (addr float), n: int <span class="Delimiter">{</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> out/<span class="Constant">edi</span>: (addr float) <span class="Special"><-</span> copy _out +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> out/<span class="muRegEdi">edi</span>: (addr float) <span class="Special"><-</span> copy _out <span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert n <span id="L14" class="LineNr">14 </span> result <span class="Special"><-</span> square-root result <span id="L15" class="LineNr">15 </span> copy-to *out, result diff --git a/html/linux/409print-float-hex.mu.html b/html/linux/409print-float-hex.mu.html index e9ab0f09..d73d47f5 100644 --- a/html/linux/409print-float-hex.mu.html +++ b/html/linux/409print-float-hex.mu.html @@ -7,22 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } -.Constant { color: #008787; } -.muFunction { color: #af5f00; text-decoration: underline; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.Constant { color: #008787; } .Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -72,7 +77,7 @@ if ('onhashchange' in window) { <span id="L12" class="LineNr"> 12 </span><span class="muComment"># = +1.000000 P -01</span> <span id="L13" class="LineNr"> 13 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L13'>test-print-float-hex-normal</a></span> <span class="Delimiter">{</span> <span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L16" class="LineNr"> 16 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L17" class="LineNr"> 17 </span> <span class="muComment"># 0.5</span> <span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> half/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='408float.mu.html#L18'>rational</a> <span class="Constant">1</span>, <span class="Constant">2</span> @@ -97,7 +102,7 @@ if ('onhashchange' in window) { <span id="L37" class="LineNr"> 37 </span> <span id="L38" class="LineNr"> 38 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L38'>test-print-float-hex-integer</a></span> <span class="Delimiter">{</span> <span id="L39" class="LineNr"> 39 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L41" class="LineNr"> 41 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L42" class="LineNr"> 42 </span> <span class="muComment"># 1</span> <span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='408float.mu.html#L18'>rational</a> <span class="Constant">1</span>, <span class="Constant">1</span> @@ -122,7 +127,7 @@ if ('onhashchange' in window) { <span id="L62" class="LineNr"> 62 </span> <span id="L63" class="LineNr"> 63 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L63'>test-print-float-hex-zero</a></span> <span class="Delimiter">{</span> <span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L66" class="LineNr"> 66 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> zero: float <span id="L68" class="LineNr"> 68 </span> <a href='409print-float-hex.mu.html#L118'>print-float-hex</a> <a href='405screen.mu.html#L9'>screen</a>, zero @@ -131,7 +136,7 @@ if ('onhashchange' in window) { <span id="L71" class="LineNr"> 71 </span> <span id="L72" class="LineNr"> 72 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L72'>test-print-float-hex-negative-zero</a></span> <span class="Delimiter">{</span> <span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L75" class="LineNr"> 75 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> n: int <span id="L77" class="LineNr"> 77 </span> copy-to n, <span class="Constant">0x80000000</span> @@ -142,7 +147,7 @@ if ('onhashchange' in window) { <span id="L82" class="LineNr"> 82 </span> <span id="L83" class="LineNr"> 83 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L83'>test-print-float-hex-infinity</a></span> <span class="Delimiter">{</span> <span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L86" class="LineNr"> 86 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> n: int <span id="L88" class="LineNr"> 88 </span> <span class="muComment"># 0|11111111|00000000000000000000000</span> @@ -155,7 +160,7 @@ if ('onhashchange' in window) { <span id="L95" class="LineNr"> 95 </span> <span id="L96" class="LineNr"> 96 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L96'>test-print-float-hex-negative-infinity</a></span> <span class="Delimiter">{</span> <span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L99" class="LineNr"> 99 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> n: int <span id="L101" class="LineNr">101 </span> copy-to n, <span class="Constant">0xff800000</span> @@ -166,7 +171,7 @@ if ('onhashchange' in window) { <span id="L106" class="LineNr">106 </span> <span id="L107" class="LineNr">107 </span><span class="PreProc">fn</span> <span class="muTest"><a href='409print-float-hex.mu.html#L107'>test-print-float-hex-not-a-number</a></span> <span class="Delimiter">{</span> <span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> screen-on-stack: <a href='405screen.mu.html#L9'>screen</a> -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="Constant">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> <a href='405screen.mu.html#L9'>screen</a>/<span class="muRegEsi">esi</span>: (addr <a href='405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-on-stack <span id="L110" class="LineNr">110 </span> <a href='405screen.mu.html#L30'>initialize-screen</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">5</span>, <span class="Constant">0x20</span> <span class="muComment"># 32 columns should be more than enough</span> <span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> n: int <span id="L112" class="LineNr">112 </span> copy-to n, <span class="Constant">0xffffffff</span> <span class="muComment"># exponent must be all 1's, and mantissa must be non-zero</span> @@ -177,7 +182,7 @@ if ('onhashchange' in window) { <span id="L117" class="LineNr">117 </span> <span id="L118" class="LineNr">118 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='409print-float-hex.mu.html#L118'>print-float-hex</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), n: float <span class="Delimiter">{</span> <span id="L119" class="LineNr">119 </span> <span class="muComment"># - special names</span> -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> bits/<span class="Constant">eax</span>: int <span class="Special"><-</span> reinterpret n +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> bits/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> reinterpret n <span id="L121" class="LineNr">121 </span> compare bits, <span class="Constant">0</span> <span id="L122" class="LineNr">122 </span> <span class="Delimiter">{</span> <span id="L123" class="LineNr">123 </span> <span class="PreProc">break-if-!=</span> @@ -202,7 +207,7 @@ if ('onhashchange' in window) { <span id="L142" class="LineNr">142 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">"-Inf"</span> <span id="L143" class="LineNr">143 </span> <span class="PreProc">return</span> <span id="L144" class="LineNr">144 </span> <span class="Delimiter">}</span> -<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> exponent/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bits +<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> exponent/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bits <span id="L146" class="LineNr">146 </span> exponent <span class="Special"><-</span> shift-right <span class="Constant">0x17</span> <span class="muComment"># 23 bits of mantissa</span> <span id="L147" class="LineNr">147 </span> exponent <span class="Special"><-</span> and <span class="Constant">0xff</span> <span id="L148" class="LineNr">148 </span> exponent <span class="Special"><-</span> subtract <span class="Constant">0x7f</span> @@ -213,7 +218,7 @@ if ('onhashchange' in window) { <span id="L153" class="LineNr">153 </span> <span class="PreProc">return</span> <span id="L154" class="LineNr">154 </span> <span class="Delimiter">}</span> <span id="L155" class="LineNr">155 </span> <span class="muComment"># - regular numbers</span> -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> sign/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy bits +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> sign/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy bits <span id="L157" class="LineNr">157 </span> sign <span class="Special"><-</span> shift-right <span class="Constant">0x1f</span> <span id="L158" class="LineNr">158 </span> <span class="Delimiter">{</span> <span id="L159" class="LineNr">159 </span> compare sign, <span class="Constant">1</span> @@ -232,7 +237,7 @@ if ('onhashchange' in window) { <span id="L172" class="LineNr">172 </span> <span class="muComment"># normal numbers</span> <span id="L173" class="LineNr">173 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">"1."</span> <span id="L174" class="LineNr">174 </span> <span class="Delimiter">}</span> -<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> mantissa/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy bits +<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> mantissa/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy bits <span id="L176" class="LineNr">176 </span> mantissa <span class="Special"><-</span> and <span class="Constant">0x7fffff</span> <span id="L177" class="LineNr">177 </span> mantissa <span class="Special"><-</span> shift-left <span class="Constant">1</span> <span class="muComment"># pad to whole nibbles</span> <span id="L178" class="LineNr">178 </span> <a href='405screen.mu.html#L462'>print-int32-hex-bits</a> <a href='405screen.mu.html#L9'>screen</a>, mantissa, <span class="Constant">0x18</span> @@ -243,7 +248,7 @@ if ('onhashchange' in window) { <span id="L183" class="LineNr">183 </span> <span class="PreProc">break-if->=</span> <span id="L184" class="LineNr">184 </span> <a href='405screen.mu.html#L169'>print-string</a> <a href='405screen.mu.html#L9'>screen</a>, <span class="Constant">"-"</span> <span id="L185" class="LineNr">185 </span> <span class="Delimiter">}</span> -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> exp-magnitude/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='406int32.mu.html#L31'>abs</a> exponent +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> exp-magnitude/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='406int32.mu.html#L31'>abs</a> exponent <span id="L187" class="LineNr">187 </span> <a href='405screen.mu.html#L462'>print-int32-hex-bits</a> <a href='405screen.mu.html#L9'>screen</a>, exp-magnitude, <span class="Constant">8</span> <span id="L188" class="LineNr">188 </span><span class="Delimiter">}</span> <span id="L189" class="LineNr">189 </span> diff --git a/html/linux/410file.mu.html b/html/linux/410file.mu.html index f94eb982..4a259a0e 100644 --- a/html/linux/410file.mu.html +++ b/html/linux/410file.mu.html @@ -7,17 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEax { color: #875f00; } .LineNr { } -.Constant { color: #008787; } .CommentedCode { color: #8a8a8a; } +.Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } @@ -58,18 +61,18 @@ if ('onhashchange' in window) { <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='410file.mu.html#L1'>read-lines</a></span> in: (addr buffered-file), out: (addr handle array (handle array byte)) <span class="Delimiter">{</span> <span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> stream: (stream (handle array byte) <span class="Constant">0x10</span>) -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> stream-a/<span class="Constant">edi</span>: (addr stream (handle array byte)) <span class="Special"><-</span> address stream +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> stream-a/<span class="muRegEdi">edi</span>: (addr stream (handle array byte)) <span class="Special"><-</span> address stream <span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> line: (stream byte <span class="Constant">0x10</span>) -<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> line-a/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address line +<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> line-a/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address line <span id="L6" class="LineNr"> 6 </span> <span class="Delimiter">{</span> <span id="L7" class="LineNr"> 7 </span> <a href='106stream.subx.html#L17'>clear-stream</a> line-a <span id="L8" class="LineNr"> 8 </span> <a href='122read-line.subx.html#L9'>read-line-buffered</a> in, line-a -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> line-a +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> line-a <span id="L10" class="LineNr">10 </span> compare done?, <span class="Constant">0</span>/false <span id="L11" class="LineNr">11 </span> <span class="PreProc">break-if-!=</span> <span id="L12" class="LineNr">12 </span><span class="CommentedCode">#? print-string 0, "AAA\n"</span> <span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> h: (handle array byte) -<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h +<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h <span id="L15" class="LineNr">15 </span> <a href='310copy-bytes.subx.html#L60'>stream-to-array</a> line-a, ah <span id="L16" class="LineNr">16 </span> <a href='309stream.subx.html#L54'>write-to-stream</a> stream-a, ah <span id="L17" class="LineNr">17 </span> <span class="PreProc">loop</span> diff --git a/html/linux/411string.mu.html b/html/linux/411string.mu.html index d6f10868..d8d53051 100644 --- a/html/linux/411string.mu.html +++ b/html/linux/411string.mu.html @@ -7,18 +7,22 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } +.muRegEax { color: #875f00; } .Special { color: #ff6060; } .LineNr { } -.Constant { color: #008787; } .CommentedCode { color: #8a8a8a; } +.Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } @@ -61,18 +65,18 @@ if ('onhashchange' in window) { <span id="L1" class="LineNr"> 1 </span><span class="muComment"># read up to 'len' graphemes after skipping the first 'start' ones</span> <span id="L2" class="LineNr"> 2 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='411string.mu.html#L2'>substring</a></span> in: (addr array byte), start: int, len: int, out-ah: (addr handle array byte) <span class="Delimiter">{</span> <span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> in-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> in-stream-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> in-stream-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream <span id="L5" class="LineNr"> 5 </span> <a href='108write.subx.html#L24'>write</a> in-stream-addr, in <span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> out-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> out-stream-addr/<span class="Constant">edi</span>: (addr stream byte) <span class="Special"><-</span> address out-stream +<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> out-stream-addr/<span class="muRegEdi">edi</span>: (addr stream byte) <span class="Special"><-</span> address out-stream <span id="L8" class="LineNr"> 8 </span> $substring:core: <span class="Delimiter">{</span> <span id="L9" class="LineNr"> 9 </span> <span class="muComment"># skip 'start' graphemes</span> -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L11" class="LineNr"> 11 </span> <span class="Delimiter">{</span> <span id="L12" class="LineNr"> 12 </span> compare i, start <span id="L13" class="LineNr"> 13 </span> <span class="PreProc">break-if->=</span> <span id="L14" class="LineNr"> 14 </span> <span class="Delimiter">{</span> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr <span id="L16" class="LineNr"> 16 </span> compare dummy, <span class="Constant">0xffffffff</span>/end-of-file <span id="L17" class="LineNr"> 17 </span> <span class="PreProc">break-if-=</span> $substring:core <span id="L18" class="LineNr"> 18 </span> <span class="Delimiter">}</span> @@ -85,7 +89,7 @@ if ('onhashchange' in window) { <span id="L25" class="LineNr"> 25 </span> compare i, len <span id="L26" class="LineNr"> 26 </span> <span class="PreProc">break-if->=</span> <span id="L27" class="LineNr"> 27 </span> <span class="Delimiter">{</span> -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr <span id="L29" class="LineNr"> 29 </span> compare g, <span class="Constant">0xffffffff</span>/end-of-file <span id="L30" class="LineNr"> 30 </span> <span class="PreProc">break-if-=</span> $substring:core <span id="L31" class="LineNr"> 31 </span> <a href='403unicode.mu.html#L372'>write-grapheme</a> out-stream-addr, g @@ -99,62 +103,62 @@ if ('onhashchange' in window) { <span id="L39" class="LineNr"> 39 </span> <span id="L40" class="LineNr"> 40 </span><span class="PreProc">fn</span> <span class="muTest"><a href='411string.mu.html#L40'>test-substring</a></span> <span class="Delimiter">{</span> <span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> out-h: (handle array byte) -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> out-ah/<span class="Constant">edi</span>: (addr handle array byte) <span class="Special"><-</span> address out-h +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> out-ah/<span class="muRegEdi">edi</span>: (addr handle array byte) <span class="Special"><-</span> address out-h <span id="L43" class="LineNr"> 43 </span> <span class="muComment"># prefix substrings</span> <span id="L44" class="LineNr"> 44 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">0</span>, <span class="Constant">0</span>, <span class="Constant">3</span>, out-ah -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L46" class="LineNr"> 46 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">""</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/null"</span> <span id="L47" class="LineNr"> 47 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">""</span>, <span class="Constant">0</span>, <span class="Constant">3</span>, out-ah -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L49" class="LineNr"> 49 </span><span class="CommentedCode">#? print-string-to-real-screen out</span> <span id="L50" class="LineNr"> 50 </span><span class="CommentedCode">#? print-string-to-real-screen "\n"</span> <span id="L51" class="LineNr"> 51 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">""</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/empty"</span> <span id="L52" class="LineNr"> 52 </span> <span class="muComment">#</span> <span id="L53" class="LineNr"> 53 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">0</span>, <span class="Constant">3</span>, out-ah -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L55" class="LineNr"> 55 </span><span class="CommentedCode">#? print-string-to-real-screen out</span> <span id="L56" class="LineNr"> 56 </span><span class="CommentedCode">#? print-string-to-real-screen "\n"</span> <span id="L57" class="LineNr"> 57 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"abc"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/truncate"</span> <span id="L58" class="LineNr"> 58 </span> <span class="muComment">#</span> <span id="L59" class="LineNr"> 59 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">0</span>, <span class="Constant">5</span>, out-ah -<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L61" class="LineNr"> 61 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"abcde"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/all"</span> <span id="L62" class="LineNr"> 62 </span> <span class="muComment">#</span> <span id="L63" class="LineNr"> 63 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">0</span>, <span class="Constant">7</span>, out-ah -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L65" class="LineNr"> 65 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"abcde"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/too-small"</span> <span id="L66" class="LineNr"> 66 </span> <span class="muComment"># substrings outside string</span> <span id="L67" class="LineNr"> 67 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">6</span>, <span class="Constant">1</span>, out-ah -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L69" class="LineNr"> 69 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">""</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/start-too-large"</span> <span id="L70" class="LineNr"> 70 </span> <span class="muComment"># trim prefix</span> <span id="L71" class="LineNr"> 71 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">""</span>, <span class="Constant">2</span>, <span class="Constant">3</span>, out-ah -<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L73" class="LineNr"> 73 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">""</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/middle-empty"</span> <span id="L74" class="LineNr"> 74 </span> <span class="muComment">#</span> <span id="L75" class="LineNr"> 75 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">1</span>, <span class="Constant">2</span>, out-ah -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L77" class="LineNr"> 77 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"bc"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/middle-truncate"</span> <span id="L78" class="LineNr"> 78 </span> <span class="muComment">#</span> <span id="L79" class="LineNr"> 79 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">1</span>, <span class="Constant">4</span>, out-ah -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L81" class="LineNr"> 81 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"bcde"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/middle-all"</span> <span id="L82" class="LineNr"> 82 </span> <span class="muComment">#</span> <span id="L83" class="LineNr"> 83 </span> <a href='411string.mu.html#L2'>substring</a> <span class="Constant">"abcde"</span>, <span class="Constant">1</span>, <span class="Constant">5</span>, out-ah -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L85" class="LineNr"> 85 </span> <a href='105string-equal.subx.html#L220'>check-strings-equal</a> out, <span class="Constant">"bcde"</span>, <span class="Constant">"F - <a href='411string.mu.html#L40'>test-substring</a>/middle-too-small"</span> <span id="L86" class="LineNr"> 86 </span><span class="Delimiter">}</span> <span id="L87" class="LineNr"> 87 </span> <span id="L88" class="LineNr"> 88 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='411string.mu.html#L88'>split-string</a></span> in: (addr array byte), delim: grapheme, out: (addr handle array (handle array byte)) <span class="Delimiter">{</span> <span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> in-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> in-stream-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> in-stream-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream <span id="L91" class="LineNr"> 91 </span> <a href='108write.subx.html#L24'>write</a> in-stream-addr, in <span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> tokens-stream: (stream (handle array byte) <span class="Constant">0x100</span>) -<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> tokens-stream-addr/<span class="Constant">edi</span>: (addr stream (handle array byte)) <span class="Special"><-</span> address tokens-stream +<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> tokens-stream-addr/<span class="muRegEdi">edi</span>: (addr stream (handle array byte)) <span class="Special"><-</span> address tokens-stream <span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> curr-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> curr-stream-addr/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address curr-stream +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> curr-stream-addr/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address curr-stream <span id="L96" class="LineNr"> 96 </span> $split-string:core: <span class="Delimiter">{</span> -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='403unicode.mu.html#L158'>read-grapheme</a> in-stream-addr <span id="L98" class="LineNr"> 98 </span> compare g, <span class="Constant">0xffffffff</span> <span id="L99" class="LineNr"> 99 </span> <span class="PreProc">break-if-=</span> <span id="L100" class="LineNr">100 </span><span class="CommentedCode">#? print-grapheme-to-real-screen g</span> @@ -164,7 +168,7 @@ if ('onhashchange' in window) { <span id="L104" class="LineNr">104 </span> <span class="PreProc">break-if-!=</span> <span id="L105" class="LineNr">105 </span> <span class="muComment"># token complete; flush</span> <span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> token: (handle array byte) -<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> token-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address token +<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> token-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address token <span id="L108" class="LineNr">108 </span> <a href='310copy-bytes.subx.html#L60'>stream-to-array</a> curr-stream-addr, token-ah <span id="L109" class="LineNr">109 </span> <a href='309stream.subx.html#L54'>write-to-stream</a> tokens-stream-addr, token-ah <span id="L110" class="LineNr">110 </span> <a href='106stream.subx.html#L17'>clear-stream</a> curr-stream-addr @@ -178,7 +182,7 @@ if ('onhashchange' in window) { <span id="L118" class="LineNr">118 </span> <span id="L119" class="LineNr">119 </span><span class="PreProc">fn</span> <span class="muTest"><a href='411string.mu.html#L119'>test-split-string</a></span> <span class="Delimiter">{</span> <span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> out-h: (handle array (handle array byte)) -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> out-ah/<span class="Constant">edi</span>: (addr handle array (handle array byte)) <span class="Special"><-</span> address out-h +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> out-ah/<span class="muRegEdi">edi</span>: (addr handle array (handle array byte)) <span class="Special"><-</span> address out-h <span id="L122" class="LineNr">122 </span> <span class="muComment"># prefix substrings</span> <span id="L123" class="LineNr">123 </span> <a href='411string.mu.html#L88'>split-string</a> <span class="Constant">"bab"</span>, <span class="Constant">0x61</span>, out-ah <span id="L124" class="LineNr">124 </span> <span class="muComment"># no crash</span> diff --git a/html/linux/412print-float-decimal.mu.html b/html/linux/412print-float-decimal.mu.html index 6d9ae4b9..eb49c5a0 100644 --- a/html/linux/412print-float-decimal.mu.html +++ b/html/linux/412print-float-decimal.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } -.Constant { color: #008787; } -.muFunction { color: #af5f00; text-decoration: underline; } .Delimiter { color: #c000c0; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } .Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -83,7 +89,7 @@ if ('onhashchange' in window) { <span id="L24" class="LineNr"> 24 </span> <span id="L25" class="LineNr"> 25 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L25'>test-write-float-decimal-approximate-normal</a></span> <span class="Delimiter">{</span> <span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L28" class="LineNr"> 28 </span> <span class="muComment"># 0.5</span> <span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> half/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='408float.mu.html#L18'>rational</a> <span class="Constant">1</span>, <span class="Constant">2</span> <span id="L30" class="LineNr"> 30 </span> <a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a> s, half, <span class="Constant">3</span> @@ -119,7 +125,7 @@ if ('onhashchange' in window) { <span id="L60" class="LineNr"> 60 </span><span class="muComment"># print whole integers without decimals</span> <span id="L61" class="LineNr"> 61 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L61'>test-write-float-decimal-approximate-integer</a></span> <span class="Delimiter">{</span> <span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L64" class="LineNr"> 64 </span> <span class="muComment"># 1</span> <span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='408float.mu.html#L18'>rational</a> <span class="Constant">1</span>, <span class="Constant">1</span> <span id="L66" class="LineNr"> 66 </span> <a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a> s, one-f, <span class="Constant">3</span> @@ -151,7 +157,7 @@ if ('onhashchange' in window) { <span id="L92" class="LineNr"> 92 </span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> s, <span class="Constant">"1.00e3"</span>, <span class="Constant">"F - <a href='412print-float-decimal.mu.html#L61'>test-write-float-decimal-approximate-integer</a> 1000"</span> <span id="L93" class="LineNr"> 93 </span> <span class="muComment"># 100,000</span> <span id="L94" class="LineNr"> 94 </span> <a href='106stream.subx.html#L17'>clear-stream</a> s -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> hundred-thousand/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0x186a0</span> +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> hundred-thousand/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0x186a0</span> <span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> hundred-thousand-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert hundred-thousand <span id="L97" class="LineNr"> 97 </span> <a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a> s, hundred-thousand-f, <span class="Constant">3</span> <span id="L98" class="LineNr"> 98 </span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> s, <span class="Constant">"1.00e5"</span>, <span class="Constant">"F - <a href='412print-float-decimal.mu.html#L61'>test-write-float-decimal-approximate-integer</a> 100,000"</span> @@ -159,7 +165,7 @@ if ('onhashchange' in window) { <span id="L100" class="LineNr">100 </span> <span id="L101" class="LineNr">101 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L101'>test-write-float-decimal-approximate-zero</a></span> <span class="Delimiter">{</span> <span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> zero: float <span id="L105" class="LineNr">105 </span> <a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a> s, zero, <span class="Constant">3</span> <span id="L106" class="LineNr">106 </span> <a href='109stream-equal.subx.html#L194'>check-stream-equal</a> s, <span class="Constant">"0"</span>, <span class="Constant">"F - test-write-float-decimal-approximate-zero"</span> @@ -167,7 +173,7 @@ if ('onhashchange' in window) { <span id="L108" class="LineNr">108 </span> <span id="L109" class="LineNr">109 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L109'>test-write-float-decimal-approximate-negative-zero</a></span> <span class="Delimiter">{</span> <span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> n: int <span id="L113" class="LineNr">113 </span> copy-to n, <span class="Constant">0x80000000</span> <span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> negative-zero/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> reinterpret n @@ -177,7 +183,7 @@ if ('onhashchange' in window) { <span id="L118" class="LineNr">118 </span> <span id="L119" class="LineNr">119 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L119'>test-write-float-decimal-approximate-infinity</a></span> <span class="Delimiter">{</span> <span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> n: int <span id="L123" class="LineNr">123 </span> <span class="muComment"># 0|11111111|00000000000000000000000</span> <span id="L124" class="LineNr">124 </span> <span class="muComment"># 0111|1111|1000|0000|0000|0000|0000|0000</span> @@ -189,7 +195,7 @@ if ('onhashchange' in window) { <span id="L130" class="LineNr">130 </span> <span id="L131" class="LineNr">131 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L131'>test-write-float-decimal-approximate-negative-infinity</a></span> <span class="Delimiter">{</span> <span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> n: int <span id="L135" class="LineNr">135 </span> copy-to n, <span class="Constant">0xff800000</span> <span id="L136" class="LineNr">136 </span> <span class="PreProc">var</span> negative-infinity/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> reinterpret n @@ -199,7 +205,7 @@ if ('onhashchange' in window) { <span id="L140" class="LineNr">140 </span> <span id="L141" class="LineNr">141 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L141'>test-write-float-decimal-approximate-not-a-number</a></span> <span class="Delimiter">{</span> <span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> n: int <span id="L145" class="LineNr">145 </span> copy-to n, <span class="Constant">0xffffffff</span> <span class="muComment"># exponent must be all 1's, and mantissa must be non-zero</span> <span id="L146" class="LineNr">146 </span> <span class="PreProc">var</span> nan/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> reinterpret n @@ -209,7 +215,7 @@ if ('onhashchange' in window) { <span id="L150" class="LineNr">150 </span> <span id="L151" class="LineNr">151 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L151'>print-float-decimal-approximate</a></span> <a href='405screen.mu.html#L9'>screen</a>: (addr <a href='405screen.mu.html#L9'>screen</a>), in: float, precision: int <span class="Delimiter">{</span> <span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> s/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> s/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L154" class="LineNr">154 </span> <a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a> s, in, precision <span id="L155" class="LineNr">155 </span> <a href='405screen.mu.html#L183'>print-stream</a> <a href='405screen.mu.html#L9'>screen</a>, s <span id="L156" class="LineNr">156 </span><span class="Delimiter">}</span> @@ -217,7 +223,7 @@ if ('onhashchange' in window) { <span id="L158" class="LineNr">158 </span><span class="muComment"># 'precision' controls the maximum width past which we resort to scientific notation</span> <span id="L159" class="LineNr">159 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L159'>write-float-decimal-approximate</a></span> out: (addr stream byte), in: float, precision: int <span class="Delimiter">{</span> <span id="L160" class="LineNr">160 </span> <span class="muComment"># - special names</span> -<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> bits/<span class="Constant">eax</span>: int <span class="Special"><-</span> reinterpret in +<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> bits/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> reinterpret in <span id="L162" class="LineNr">162 </span> compare bits, <span class="Constant">0</span> <span id="L163" class="LineNr">163 </span> <span class="Delimiter">{</span> <span id="L164" class="LineNr">164 </span> <span class="PreProc">break-if-!=</span> @@ -242,7 +248,7 @@ if ('onhashchange' in window) { <span id="L183" class="LineNr">183 </span> <a href='108write.subx.html#L24'>write</a> out, <span class="Constant">"-Inf"</span> <span id="L184" class="LineNr">184 </span> <span class="PreProc">return</span> <span id="L185" class="LineNr">185 </span> <span class="Delimiter">}</span> -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> exponent/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bits +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> exponent/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bits <span id="L187" class="LineNr">187 </span> exponent <span class="Special"><-</span> shift-right <span class="Constant">0x17</span> <span class="muComment"># 23 bits of mantissa</span> <span id="L188" class="LineNr">188 </span> exponent <span class="Special"><-</span> and <span class="Constant">0xff</span> <span id="L189" class="LineNr">189 </span> exponent <span class="Special"><-</span> subtract <span class="Constant">0x7f</span> @@ -253,7 +259,7 @@ if ('onhashchange' in window) { <span id="L194" class="LineNr">194 </span> <span class="PreProc">return</span> <span id="L195" class="LineNr">195 </span> <span class="Delimiter">}</span> <span id="L196" class="LineNr">196 </span> <span class="muComment"># - regular numbers</span> -<span id="L197" class="LineNr">197 </span> <span class="PreProc">var</span> sign/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy bits +<span id="L197" class="LineNr">197 </span> <span class="PreProc">var</span> sign/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy bits <span id="L198" class="LineNr">198 </span> sign <span class="Special"><-</span> shift-right <span class="Constant">0x1f</span> <span id="L199" class="LineNr">199 </span> <span class="Delimiter">{</span> <span id="L200" class="LineNr">200 </span> compare sign, <span class="Constant">1</span> @@ -262,18 +268,18 @@ if ('onhashchange' in window) { <span id="L203" class="LineNr">203 </span> <span class="Delimiter">}</span> <span id="L204" class="LineNr">204 </span> <span id="L205" class="LineNr">205 </span> <span class="muComment"># v = 1.mantissa (in base 2) << 0x17</span> -<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> v/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy bits +<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> v/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy bits <span id="L207" class="LineNr">207 </span> v <span class="Special"><-</span> and <span class="Constant">0x7fffff</span> <span id="L208" class="LineNr">208 </span> v <span class="Special"><-</span> or <span class="Constant">0x00800000</span> <span class="muComment"># insert implicit 1</span> <span id="L209" class="LineNr">209 </span> <span class="muComment"># e = exponent - 0x17</span> -<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> e/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy exponent +<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> e/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy exponent <span id="L211" class="LineNr">211 </span> e <span class="Special"><-</span> subtract <span class="Constant">0x17</span> <span class="muComment"># move decimal place from before mantissa to after</span> <span id="L212" class="LineNr">212 </span> <span id="L213" class="LineNr">213 </span> <span class="muComment"># initialize buffer with decimal representation of v</span> <span id="L214" class="LineNr">214 </span> <span class="muComment"># unlike <a href="https://research.swtch.com/ftoa">https://research.swtch.com/ftoa</a>, no ascii here</span> <span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> buf-storage: (array byte <span class="Constant">0x7f</span>) -<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> address buf-storage -<span id="L217" class="LineNr">217 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='412print-float-decimal.mu.html#L247'>decimal-digits</a> v, buf +<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> address buf-storage +<span id="L217" class="LineNr">217 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='412print-float-decimal.mu.html#L247'>decimal-digits</a> v, buf <span id="L218" class="LineNr">218 </span> <span class="muComment"># I suspect we can do without reversing, but we'll follow <a href="https://research.swtch.com/ftoa">https://research.swtch.com/ftoa</a></span> <span id="L219" class="LineNr">219 </span> <span class="muComment"># closely for now.</span> <span id="L220" class="LineNr">220 </span> <a href='412print-float-decimal.mu.html#L264'>reverse-digits</a> buf, n @@ -287,7 +293,7 @@ if ('onhashchange' in window) { <span id="L228" class="LineNr">228 </span> <span class="PreProc">loop</span> <span id="L229" class="LineNr">229 </span> <span class="Delimiter">}</span> <span id="L230" class="LineNr">230 </span> -<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> dp/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy n +<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> dp/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy n <span id="L232" class="LineNr">232 </span> <span id="L233" class="LineNr">233 </span> <span class="muComment"># loop if e < 0</span> <span id="L234" class="LineNr">234 </span> <span class="Delimiter">{</span> @@ -303,16 +309,16 @@ if ('onhashchange' in window) { <span id="L244" class="LineNr">244 </span> <span id="L245" class="LineNr">245 </span><span class="muComment"># store the decimal digits of 'n' into 'buf', units first</span> <span id="L246" class="LineNr">246 </span><span class="muComment"># n must be positive</span> -<span id="L247" class="LineNr">247 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L247'>decimal-digits</a></span> n: int, _buf: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy n -<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> curr-byte/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L247" class="LineNr">247 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L247'>decimal-digits</a></span> n: int, _buf: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy n +<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> curr-byte/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L252" class="LineNr">252 </span> <span class="Delimiter">{</span> <span id="L253" class="LineNr">253 </span> compare curr, <span class="Constant">0</span> <span id="L254" class="LineNr">254 </span> <span class="PreProc">break-if-=</span> <span id="L255" class="LineNr">255 </span> curr, curr-byte <span class="Special"><-</span> <a href='314divide.subx.html#L3'>integer-divide</a> curr, <span class="Constant">0xa</span> -<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> dest/<span class="Constant">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> dest/<span class="muRegEbx">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, i <span id="L257" class="LineNr">257 </span> copy-byte-to *dest, curr-byte <span id="L258" class="LineNr">258 </span> i <span class="Special"><-</span> increment <span id="L259" class="LineNr">259 </span> <span class="PreProc">loop</span> @@ -321,18 +327,18 @@ if ('onhashchange' in window) { <span id="L262" class="LineNr">262 </span><span class="Delimiter">}</span> <span id="L263" class="LineNr">263 </span> <span id="L264" class="LineNr">264 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L264'>reverse-digits</a></span> _buf: (addr array byte), n: int <span class="Delimiter">{</span> -<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> buf/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> left/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> right/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy n +<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> buf/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> left/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> right/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy n <span id="L268" class="LineNr">268 </span> right <span class="Special"><-</span> decrement <span id="L269" class="LineNr">269 </span> <span class="Delimiter">{</span> <span id="L270" class="LineNr">270 </span> compare left, right <span id="L271" class="LineNr">271 </span> <span class="PreProc">break-if->=</span> <span id="L272" class="LineNr">272 </span> <span class="Delimiter">{</span> -<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> l-a/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, left -<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> r-a/<span class="Constant">edx</span>: (addr byte) <span class="Special"><-</span> index buf, right -<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> l/<span class="Constant">ebx</span>: byte <span class="Special"><-</span> copy-byte *l-a -<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> r/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *r-a +<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> l-a/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, left +<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> r-a/<span class="muRegEdx">edx</span>: (addr byte) <span class="Special"><-</span> index buf, right +<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> l/<span class="muRegEbx">ebx</span>: byte <span class="Special"><-</span> copy-byte *l-a +<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> r/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *r-a <span id="L277" class="LineNr">277 </span> copy-byte-to *l-a, r <span id="L278" class="LineNr">278 </span> copy-byte-to *r-a, l <span id="L279" class="LineNr">279 </span> <span class="Delimiter">}</span> @@ -344,16 +350,16 @@ if ('onhashchange' in window) { <span id="L285" class="LineNr">285 </span> <span id="L286" class="LineNr">286 </span><span class="muComment"># debug helper</span> <span id="L287" class="LineNr">287 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L287'>dump-digits</a></span> _buf: (addr array byte), count: int, msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L290" class="LineNr">290 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, msg <span id="L291" class="LineNr">291 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">": "</span> <span id="L292" class="LineNr">292 </span> <span class="Delimiter">{</span> <span id="L293" class="LineNr">293 </span> compare i, count <span id="L294" class="LineNr">294 </span> <span class="PreProc">break-if->=</span> -<span id="L295" class="LineNr">295 </span> <span class="PreProc">var</span> curr/<span class="Constant">edx</span>: (addr byte) <span class="Special"><-</span> index buf, i -<span id="L296" class="LineNr">296 </span> <span class="PreProc">var</span> curr-byte/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *curr -<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> curr-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy curr-byte +<span id="L295" class="LineNr">295 </span> <span class="PreProc">var</span> curr/<span class="muRegEdx">edx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L296" class="LineNr">296 </span> <span class="PreProc">var</span> curr-byte/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *curr +<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> curr-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy curr-byte <span id="L298" class="LineNr">298 </span> <a href='405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, curr-int <span id="L299" class="LineNr">299 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" "</span> <span id="L300" class="LineNr">300 </span> <span class="PreProc">break-if-=</span> @@ -363,37 +369,37 @@ if ('onhashchange' in window) { <span id="L304" class="LineNr">304 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L305" class="LineNr">305 </span><span class="Delimiter">}</span> <span id="L306" class="LineNr">306 </span> -<span id="L307" class="LineNr">307 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L307'>double-array-of-decimal-digits</a></span> _buf: (addr array byte), _n: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L307" class="LineNr">307 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L307'>double-array-of-decimal-digits</a></span> _buf: (addr array byte), _n: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf <span id="L309" class="LineNr">309 </span> <span class="muComment"># initialize delta</span> -<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> delta/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> delta/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L311" class="LineNr">311 </span> <span class="Delimiter">{</span> -<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> curr/<span class="Constant">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> -<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *curr +<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> curr/<span class="muRegEbx">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> +<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *curr <span id="L314" class="LineNr">314 </span> compare tmp, <span class="Constant">5</span> <span id="L315" class="LineNr">315 </span> <span class="PreProc">break-if-<</span> <span id="L316" class="LineNr">316 </span> delta <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L317" class="LineNr">317 </span> <span class="Delimiter">}</span> <span id="L318" class="LineNr">318 </span> <span class="muComment"># loop</span> -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy _n +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy _n <span id="L321" class="LineNr">321 </span> i <span class="Special"><-</span> decrement <span id="L322" class="LineNr">322 </span> <span class="Delimiter">{</span> <span id="L323" class="LineNr">323 </span> compare i, <span class="Constant">0</span> <span id="L324" class="LineNr">324 </span> <span class="PreProc">break-if-<=</span> <span id="L325" class="LineNr">325 </span> <span class="muComment"># x += 2*buf[i]</span> <span id="L326" class="LineNr">326 </span> <span class="Delimiter">{</span> -<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> tmp/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i -<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *tmp +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> tmp/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *tmp <span id="L329" class="LineNr">329 </span> x <span class="Special"><-</span> add tmp2 <span id="L330" class="LineNr">330 </span> x <span class="Special"><-</span> add tmp2 <span id="L331" class="LineNr">331 </span> <span class="Delimiter">}</span> <span id="L332" class="LineNr">332 </span> <span class="muComment"># x, buf[i+delta] = x/10, x%10</span> <span id="L333" class="LineNr">333 </span> <span class="Delimiter">{</span> -<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> dest-index/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy i +<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> dest-index/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy i <span id="L335" class="LineNr">335 </span> dest-index <span class="Special"><-</span> add delta -<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr byte) <span class="Special"><-</span> index buf, dest-index -<span id="L337" class="LineNr">337 </span> <span class="PreProc">var</span> next-digit/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr byte) <span class="Special"><-</span> index buf, dest-index +<span id="L337" class="LineNr">337 </span> <span class="PreProc">var</span> next-digit/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L338" class="LineNr">338 </span> x, next-digit <span class="Special"><-</span> <a href='314divide.subx.html#L3'>integer-divide</a> x, <span class="Constant">0xa</span> <span id="L339" class="LineNr">339 </span> copy-byte-to *dest, next-digit <span id="L340" class="LineNr">340 </span> <span class="Delimiter">}</span> @@ -402,51 +408,51 @@ if ('onhashchange' in window) { <span id="L343" class="LineNr">343 </span> <span class="PreProc">loop</span> <span id="L344" class="LineNr">344 </span> <span class="Delimiter">}</span> <span id="L345" class="LineNr">345 </span> <span class="muComment"># final patch-up</span> -<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _n +<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _n <span id="L347" class="LineNr">347 </span> compare delta, <span class="Constant">1</span> <span id="L348" class="LineNr">348 </span> <span class="Delimiter">{</span> <span id="L349" class="LineNr">349 </span> <span class="PreProc">break-if-!=</span> -<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> curr/<span class="Constant">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> -<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> one/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> curr/<span class="muRegEbx">ebx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> +<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> one/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L352" class="LineNr">352 </span> copy-byte-to *curr, one <span id="L353" class="LineNr">353 </span> n <span class="Special"><-</span> increment <span id="L354" class="LineNr">354 </span> <span class="Delimiter">}</span> <span id="L355" class="LineNr">355 </span> <span class="PreProc">return</span> n <span id="L356" class="LineNr">356 </span><span class="Delimiter">}</span> <span id="L357" class="LineNr">357 </span> -<span id="L358" class="LineNr">358 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L358'>halve-array-of-decimal-digits</a></span> _buf: (addr array byte), _n: int, _dp: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> -<span id="L359" class="LineNr">359 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _n -<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> dp/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _dp +<span id="L358" class="LineNr">358 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L358'>halve-array-of-decimal-digits</a></span> _buf: (addr array byte), _n: int, _dp: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> +<span id="L359" class="LineNr">359 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _n +<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> dp/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _dp <span id="L362" class="LineNr">362 </span> <span class="muComment"># initialize one side</span> <span id="L363" class="LineNr">363 </span> <span class="Delimiter">{</span> <span id="L364" class="LineNr">364 </span> <span class="muComment"># if buf[n-1]%2 == 0, break</span> -<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> right-index/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy n +<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> right-index/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy n <span id="L366" class="LineNr">366 </span> right-index <span class="Special"><-</span> decrement -<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> right-a/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, right-index -<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> right/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *right-a -<span id="L369" class="LineNr">369 </span> <span class="PreProc">var</span> right-int/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy right -<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> remainder/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> right-a/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, right-index +<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> right/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *right-a +<span id="L369" class="LineNr">369 </span> <span class="PreProc">var</span> right-int/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy right +<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> remainder/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L371" class="LineNr">371 </span> <span class="Delimiter">{</span> -<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L373" class="LineNr">373 </span> dummy, remainder <span class="Special"><-</span> <a href='314divide.subx.html#L3'>integer-divide</a> right-int, <span class="Constant">2</span> <span id="L374" class="LineNr">374 </span> <span class="Delimiter">}</span> <span id="L375" class="LineNr">375 </span> compare remainder, <span class="Constant">0</span> <span id="L376" class="LineNr">376 </span> <span class="PreProc">break-if-=</span> <span id="L377" class="LineNr">377 </span> <span class="muComment"># buf[n] = 0</span> -<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> next-a/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, n -<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> zero/<span class="Constant">edx</span>: byte <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> next-a/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, n +<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> zero/<span class="muRegEdx">edx</span>: byte <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L380" class="LineNr">380 </span> copy-byte-to *next-a, zero <span id="L381" class="LineNr">381 </span> <span class="muComment"># n++</span> <span id="L382" class="LineNr">382 </span> n <span class="Special"><-</span> increment <span id="L383" class="LineNr">383 </span> <span class="Delimiter">}</span> <span id="L384" class="LineNr">384 </span> <span class="muComment"># initialize the other</span> -<span id="L385" class="LineNr">385 </span> <span class="PreProc">var</span> delta/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L386" class="LineNr">386 </span> <span class="PreProc">var</span> x/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L385" class="LineNr">385 </span> <span class="PreProc">var</span> delta/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L386" class="LineNr">386 </span> <span class="PreProc">var</span> x/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L387" class="LineNr">387 </span> <span class="Delimiter">{</span> <span id="L388" class="LineNr">388 </span> <span class="muComment"># if buf[0] >= 2, break</span> -<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> left/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> -<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *left +<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> left/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, <span class="Constant">0</span> +<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *left <span id="L391" class="LineNr">391 </span> compare src, <span class="Constant">2</span> <span id="L392" class="LineNr">392 </span> <span class="PreProc">break-if->=</span> <span id="L393" class="LineNr">393 </span> <span class="muComment"># delta, x = 1, buf[0]</span> @@ -458,27 +464,27 @@ if ('onhashchange' in window) { <span id="L399" class="LineNr">399 </span> dp <span class="Special"><-</span> decrement <span id="L400" class="LineNr">400 </span> <span class="Delimiter">}</span> <span id="L401" class="LineNr">401 </span> <span class="muComment"># loop</span> -<span id="L402" class="LineNr">402 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L402" class="LineNr">402 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L403" class="LineNr">403 </span> <span class="Delimiter">{</span> <span id="L404" class="LineNr">404 </span> compare i, n <span id="L405" class="LineNr">405 </span> <span class="PreProc">break-if->=</span> <span id="L406" class="LineNr">406 </span> <span class="muComment"># x = x*10 + buf[i+delta]</span> <span id="L407" class="LineNr">407 </span> <span class="Delimiter">{</span> -<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> ten/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> +<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> ten/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> <span id="L409" class="LineNr">409 </span> x <span class="Special"><-</span> multiply ten -<span id="L410" class="LineNr">410 </span> <span class="PreProc">var</span> src-index/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy i +<span id="L410" class="LineNr">410 </span> <span class="PreProc">var</span> src-index/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy i <span id="L411" class="LineNr">411 </span> src-index <span class="Special"><-</span> add delta -<span id="L412" class="LineNr">412 </span> <span class="PreProc">var</span> src-a/<span class="Constant">edx</span>: (addr byte) <span class="Special"><-</span> index buf, src-index -<span id="L413" class="LineNr">413 </span> <span class="PreProc">var</span> src/<span class="Constant">edx</span>: byte <span class="Special"><-</span> copy-byte *src-a +<span id="L412" class="LineNr">412 </span> <span class="PreProc">var</span> src-a/<span class="muRegEdx">edx</span>: (addr byte) <span class="Special"><-</span> index buf, src-index +<span id="L413" class="LineNr">413 </span> <span class="PreProc">var</span> src/<span class="muRegEdx">edx</span>: byte <span class="Special"><-</span> copy-byte *src-a <span id="L414" class="LineNr">414 </span> x <span class="Special"><-</span> add src <span id="L415" class="LineNr">415 </span> <span class="Delimiter">}</span> <span id="L416" class="LineNr">416 </span> <span class="muComment"># buf[i], x = x/2, x%2</span> <span id="L417" class="LineNr">417 </span> <span class="Delimiter">{</span> -<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> quotient/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L419" class="LineNr">419 </span> <span class="PreProc">var</span> remainder/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> quotient/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L419" class="LineNr">419 </span> <span class="PreProc">var</span> remainder/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L420" class="LineNr">420 </span> quotient, remainder <span class="Special"><-</span> <a href='314divide.subx.html#L3'>integer-divide</a> x, <span class="Constant">2</span> <span id="L421" class="LineNr">421 </span> x <span class="Special"><-</span> copy remainder -<span id="L422" class="LineNr">422 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L422" class="LineNr">422 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr byte) <span class="Special"><-</span> index buf, i <span id="L423" class="LineNr">423 </span> copy-byte-to *dest, quotient <span id="L424" class="LineNr">424 </span> <span class="Delimiter">}</span> <span id="L425" class="LineNr">425 </span> <span class="muComment">#</span> @@ -489,7 +495,7 @@ if ('onhashchange' in window) { <span id="L430" class="LineNr">430 </span><span class="Delimiter">}</span> <span id="L431" class="LineNr">431 </span> <span id="L432" class="LineNr">432 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L432'>_write-float-array-of-decimal-digits</a></span> out: (addr stream byte), _buf: (addr array byte), n: int, dp: int, precision: int <span class="Delimiter">{</span> -<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf <span id="L434" class="LineNr">434 </span> <span class="Delimiter">{</span> <span id="L435" class="LineNr">435 </span> compare dp, <span class="Constant">0</span> <span id="L436" class="LineNr">436 </span> <span class="PreProc">break-if->=</span> @@ -497,7 +503,7 @@ if ('onhashchange' in window) { <span id="L438" class="LineNr">438 </span> <span class="PreProc">return</span> <span id="L439" class="LineNr">439 </span> <span class="Delimiter">}</span> <span id="L440" class="LineNr">440 </span> <span class="Delimiter">{</span> -<span id="L441" class="LineNr">441 </span> <span class="PreProc">var</span> dp2/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy dp +<span id="L441" class="LineNr">441 </span> <span class="PreProc">var</span> dp2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy dp <span id="L442" class="LineNr">442 </span> compare dp2, precision <span id="L443" class="LineNr">443 </span> <span class="PreProc">break-if-<=</span> <span id="L444" class="LineNr">444 </span> <a href='412print-float-decimal.mu.html#L481'>_write-float-array-of-decimal-digits-in-scientific-notation</a> out, buf, n, dp, precision @@ -508,9 +514,9 @@ if ('onhashchange' in window) { <span id="L449" class="LineNr">449 </span> <span class="PreProc">break-if-!=</span> <span id="L450" class="LineNr">450 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, <span class="Constant">0x30</span>/<span class="Constant">0</span> <span id="L451" class="LineNr">451 </span> <span class="Delimiter">}</span> -<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L453" class="LineNr">453 </span> <span class="muComment"># bounds = min(n, dp+3)</span> -<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> limit/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy dp +<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> limit/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy dp <span id="L455" class="LineNr">455 </span> limit <span class="Special"><-</span> add <span class="Constant">3</span> <span id="L456" class="LineNr">456 </span> <span class="Delimiter">{</span> <span id="L457" class="LineNr">457 </span> compare limit, n @@ -526,9 +532,9 @@ if ('onhashchange' in window) { <span id="L467" class="LineNr">467 </span> <span class="PreProc">break-if-!=</span> <span id="L468" class="LineNr">468 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, <span class="Constant">0x2e</span>/decimal-point <span id="L469" class="LineNr">469 </span> <span class="Delimiter">}</span> -<span id="L470" class="LineNr">470 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i -<span id="L471" class="LineNr">471 </span> <span class="PreProc">var</span> curr/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *curr-a -<span id="L472" class="LineNr">472 </span> <span class="PreProc">var</span> curr-int/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy curr +<span id="L470" class="LineNr">470 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L471" class="LineNr">471 </span> <span class="PreProc">var</span> curr/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *curr-a +<span id="L472" class="LineNr">472 </span> <span class="PreProc">var</span> curr-int/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy curr <span id="L473" class="LineNr">473 </span> curr-int <span class="Special"><-</span> add <span class="Constant">0x30</span>/<span class="Constant">0</span> <span id="L474" class="LineNr">474 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, curr-int <span id="L475" class="LineNr">475 </span> <span class="muComment">#</span> @@ -538,8 +544,8 @@ if ('onhashchange' in window) { <span id="L479" class="LineNr">479 </span><span class="Delimiter">}</span> <span id="L480" class="LineNr">480 </span> <span id="L481" class="LineNr">481 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L481'>_write-float-array-of-decimal-digits-in-scientific-notation</a></span> out: (addr stream byte), _buf: (addr array byte), n: int, dp: int, precision: int <span class="Delimiter">{</span> -<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L484" class="LineNr">484 </span> <span class="Delimiter">{</span> <span id="L485" class="LineNr">485 </span> compare i, n <span id="L486" class="LineNr">486 </span> <span class="PreProc">break-if->=</span> @@ -550,9 +556,9 @@ if ('onhashchange' in window) { <span id="L491" class="LineNr">491 </span> <span class="PreProc">break-if-!=</span> <span id="L492" class="LineNr">492 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, <span class="Constant">0x2e</span>/decimal-point <span id="L493" class="LineNr">493 </span> <span class="Delimiter">}</span> -<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i -<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> curr/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *curr-a -<span id="L496" class="LineNr">496 </span> <span class="PreProc">var</span> curr-int/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy curr +<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEcx">ecx</span>: (addr byte) <span class="Special"><-</span> index buf, i +<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> curr/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *curr-a +<span id="L496" class="LineNr">496 </span> <span class="PreProc">var</span> curr-int/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy curr <span id="L497" class="LineNr">497 </span> curr-int <span class="Special"><-</span> add <span class="Constant">0x30</span>/<span class="Constant">0</span> <span id="L498" class="LineNr">498 </span> <a href='115write-byte.subx.html#L208'>append-byte</a> out, curr-int <span id="L499" class="LineNr">499 </span> <span class="muComment">#</span> @@ -566,9 +572,9 @@ if ('onhashchange' in window) { <span id="L507" class="LineNr">507 </span> <span id="L508" class="LineNr">508 </span><span class="muComment"># follows the structure of write-float-decimal-approximate</span> <span id="L509" class="LineNr">509 </span><span class="muComment"># 'precision' controls the maximum width past which we resort to scientific notation</span> -<span id="L510" class="LineNr">510 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L510'>float-size</a></span> in: float, precision: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L510" class="LineNr">510 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L510'>float-size</a></span> in: float, precision: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L511" class="LineNr">511 </span> <span class="muComment"># - special names</span> -<span id="L512" class="LineNr">512 </span> <span class="PreProc">var</span> bits/<span class="Constant">eax</span>: int <span class="Special"><-</span> reinterpret in +<span id="L512" class="LineNr">512 </span> <span class="PreProc">var</span> bits/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> reinterpret in <span id="L513" class="LineNr">513 </span> compare bits, <span class="Constant">0</span> <span id="L514" class="LineNr">514 </span> <span class="Delimiter">{</span> <span id="L515" class="LineNr">515 </span> <span class="PreProc">break-if-!=</span> @@ -589,7 +595,7 @@ if ('onhashchange' in window) { <span id="L530" class="LineNr">530 </span> <span class="PreProc">break-if-!=</span> <span id="L531" class="LineNr">531 </span> <span class="PreProc">return</span> <span class="Constant">4</span> <span class="muComment"># for "-Inf"</span> <span id="L532" class="LineNr">532 </span> <span class="Delimiter">}</span> -<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> exponent/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bits +<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> exponent/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bits <span id="L534" class="LineNr">534 </span> exponent <span class="Special"><-</span> shift-right <span class="Constant">0x17</span> <span class="muComment"># 23 bits of mantissa</span> <span id="L535" class="LineNr">535 </span> exponent <span class="Special"><-</span> and <span class="Constant">0xff</span> <span id="L536" class="LineNr">536 </span> exponent <span class="Special"><-</span> subtract <span class="Constant">0x7f</span> @@ -600,17 +606,17 @@ if ('onhashchange' in window) { <span id="L541" class="LineNr">541 </span> <span class="Delimiter">}</span> <span id="L542" class="LineNr">542 </span> <span class="muComment"># - regular numbers</span> <span id="L543" class="LineNr">543 </span> <span class="muComment"># v = 1.mantissa (in base 2) << 0x17</span> -<span id="L544" class="LineNr">544 </span> <span class="PreProc">var</span> v/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy bits +<span id="L544" class="LineNr">544 </span> <span class="PreProc">var</span> v/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy bits <span id="L545" class="LineNr">545 </span> v <span class="Special"><-</span> and <span class="Constant">0x7fffff</span> <span id="L546" class="LineNr">546 </span> v <span class="Special"><-</span> or <span class="Constant">0x00800000</span> <span class="muComment"># insert implicit 1</span> <span id="L547" class="LineNr">547 </span> <span class="muComment"># e = exponent - 0x17</span> -<span id="L548" class="LineNr">548 </span> <span class="PreProc">var</span> e/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy exponent +<span id="L548" class="LineNr">548 </span> <span class="PreProc">var</span> e/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy exponent <span id="L549" class="LineNr">549 </span> e <span class="Special"><-</span> subtract <span class="Constant">0x17</span> <span class="muComment"># move decimal place from before mantissa to after</span> <span id="L550" class="LineNr">550 </span> <span id="L551" class="LineNr">551 </span> <span class="muComment"># initialize buffer with decimal representation of v</span> <span id="L552" class="LineNr">552 </span> <span class="PreProc">var</span> buf-storage: (array byte <span class="Constant">0x7f</span>) -<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> buf/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> address buf-storage -<span id="L554" class="LineNr">554 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='412print-float-decimal.mu.html#L247'>decimal-digits</a> v, buf +<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> buf/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> address buf-storage +<span id="L554" class="LineNr">554 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='412print-float-decimal.mu.html#L247'>decimal-digits</a> v, buf <span id="L555" class="LineNr">555 </span> <a href='412print-float-decimal.mu.html#L264'>reverse-digits</a> buf, n <span id="L556" class="LineNr">556 </span> <span id="L557" class="LineNr">557 </span> <span class="muComment"># loop if e > 0</span> @@ -622,7 +628,7 @@ if ('onhashchange' in window) { <span id="L563" class="LineNr">563 </span> <span class="PreProc">loop</span> <span id="L564" class="LineNr">564 </span> <span class="Delimiter">}</span> <span id="L565" class="LineNr">565 </span> -<span id="L566" class="LineNr">566 </span> <span class="PreProc">var</span> dp/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy n +<span id="L566" class="LineNr">566 </span> <span class="PreProc">var</span> dp/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy n <span id="L567" class="LineNr">567 </span> <span id="L568" class="LineNr">568 </span> <span class="muComment"># loop if e < 0</span> <span id="L569" class="LineNr">569 </span> <span class="Delimiter">{</span> @@ -639,14 +645,14 @@ if ('onhashchange' in window) { <span id="L580" class="LineNr">580 </span> <span class="PreProc">return</span> <span class="Constant">8</span> <span class="muComment"># hacky for scientific notation</span> <span id="L581" class="LineNr">581 </span> <span class="Delimiter">}</span> <span id="L582" class="LineNr">582 </span> <span class="Delimiter">{</span> -<span id="L583" class="LineNr">583 </span> <span class="PreProc">var</span> dp2/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy dp +<span id="L583" class="LineNr">583 </span> <span class="PreProc">var</span> dp2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy dp <span id="L584" class="LineNr">584 </span> compare dp2, precision <span id="L585" class="LineNr">585 </span> <span class="PreProc">break-if-<=</span> <span id="L586" class="LineNr">586 </span> <span class="PreProc">return</span> <span class="Constant">8</span> <span class="muComment"># hacky for scientific notation</span> <span id="L587" class="LineNr">587 </span> <span class="Delimiter">}</span> <span id="L588" class="LineNr">588 </span> <span id="L589" class="LineNr">589 </span> <span class="muComment"># result = min(n, dp+3)</span> -<span id="L590" class="LineNr">590 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy dp +<span id="L590" class="LineNr">590 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy dp <span id="L591" class="LineNr">591 </span> result <span class="Special"><-</span> add <span class="Constant">3</span> <span id="L592" class="LineNr">592 </span> <span class="Delimiter">{</span> <span id="L593" class="LineNr">593 </span> compare result, n @@ -662,7 +668,7 @@ if ('onhashchange' in window) { <span id="L603" class="LineNr">603 </span> <span class="Delimiter">}</span> <span id="L604" class="LineNr">604 </span> <span id="L605" class="LineNr">605 </span> <span class="muComment"># account for sign</span> -<span id="L606" class="LineNr">606 </span> <span class="PreProc">var</span> sign/<span class="Constant">edx</span>: int <span class="Special"><-</span> reinterpret in +<span id="L606" class="LineNr">606 </span> <span class="PreProc">var</span> sign/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> reinterpret in <span id="L607" class="LineNr">607 </span> sign <span class="Special"><-</span> shift-right <span class="Constant">0x1f</span> <span id="L608" class="LineNr">608 </span> <span class="Delimiter">{</span> <span id="L609" class="LineNr">609 </span> compare sign, <span class="Constant">1</span> @@ -676,25 +682,25 @@ if ('onhashchange' in window) { <span id="L617" class="LineNr">617 </span> <span id="L618" class="LineNr">618 </span><span class="muComment"># like check-strings-equal, except array sizes don't have to match</span> <span id="L619" class="LineNr">619 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='412print-float-decimal.mu.html#L619'>check-buffer-contains</a></span> _buf: (addr array byte), _contents: (addr array byte), msg: (addr array byte) <span class="Delimiter">{</span> -<span id="L620" class="LineNr">620 </span> <span class="PreProc">var</span> buf/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _buf -<span id="L621" class="LineNr">621 </span> <span class="PreProc">var</span> contents/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _contents -<span id="L622" class="LineNr">622 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='105string-equal.subx.html#L57'>string-starts-with?</a> buf, contents +<span id="L620" class="LineNr">620 </span> <span class="PreProc">var</span> buf/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _buf +<span id="L621" class="LineNr">621 </span> <span class="PreProc">var</span> contents/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _contents +<span id="L622" class="LineNr">622 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='105string-equal.subx.html#L57'>string-starts-with?</a> buf, contents <span id="L623" class="LineNr">623 </span> <a href='401test.mu.html#L3'>check</a> a, msg -<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length contents -<span id="L625" class="LineNr">625 </span> <span class="PreProc">var</span> len2/<span class="Constant">eax</span>: int <span class="Special"><-</span> length buf +<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length contents +<span id="L625" class="LineNr">625 </span> <span class="PreProc">var</span> len2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length buf <span id="L626" class="LineNr">626 </span> compare len, len2 <span id="L627" class="LineNr">627 </span> <span class="PreProc">break-if-=</span> -<span id="L628" class="LineNr">628 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: (addr byte) <span class="Special"><-</span> index buf, len -<span id="L629" class="LineNr">629 </span> <span class="PreProc">var</span> d/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *c -<span id="L630" class="LineNr">630 </span> <span class="PreProc">var</span> e/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy d +<span id="L628" class="LineNr">628 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: (addr byte) <span class="Special"><-</span> index buf, len +<span id="L629" class="LineNr">629 </span> <span class="PreProc">var</span> d/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *c +<span id="L630" class="LineNr">630 </span> <span class="PreProc">var</span> e/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy d <span id="L631" class="LineNr">631 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> e, <span class="Constant">0</span>, msg <span id="L632" class="LineNr">632 </span><span class="Delimiter">}</span> <span id="L633" class="LineNr">633 </span> <span id="L634" class="LineNr">634 </span><span class="PreProc">fn</span> <span class="muTest"><a href='412print-float-decimal.mu.html#L634'>test-check-buffer-contains</a></span> <span class="Delimiter">{</span> <span id="L635" class="LineNr">635 </span> <span class="PreProc">var</span> arr: (array byte <span class="Constant">4</span>) -<span id="L636" class="LineNr">636 </span> <span class="PreProc">var</span> a/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> address arr -<span id="L637" class="LineNr">637 </span> <span class="PreProc">var</span> b/<span class="Constant">eax</span>: (addr byte) <span class="Special"><-</span> index a, <span class="Constant">0</span> -<span id="L638" class="LineNr">638 </span> <span class="PreProc">var</span> c/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L636" class="LineNr">636 </span> <span class="PreProc">var</span> a/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> address arr +<span id="L637" class="LineNr">637 </span> <span class="PreProc">var</span> b/<span class="muRegEax">eax</span>: (addr byte) <span class="Special"><-</span> index a, <span class="Constant">0</span> +<span id="L638" class="LineNr">638 </span> <span class="PreProc">var</span> c/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L639" class="LineNr">639 </span> copy-byte-to *b, c <span id="L640" class="LineNr">640 </span> <a href='412print-float-decimal.mu.html#L619'>check-buffer-contains</a> a, <span class="Constant">"a"</span>, <span class="Constant">"F - test-check-buffer-contains"</span> <span id="L641" class="LineNr">641 </span> <a href='412print-float-decimal.mu.html#L619'>check-buffer-contains</a> <span class="Constant">"a"</span>, <span class="Constant">"a"</span>, <span class="Constant">"F - <a href='412print-float-decimal.mu.html#L634'>test-check-buffer-contains</a>/null"</span> <span class="muComment"># no null check when arrays have same length</span> diff --git a/html/linux/advent2017/1a.mu.html b/html/linux/advent2017/1a.mu.html index 3b9e8592..ac697f1b 100644 --- a/html/linux/advent2017/1a.mu.html +++ b/html/linux/advent2017/1a.mu.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } diff --git a/html/linux/advent2020/1a.mu.html b/html/linux/advent2020/1a.mu.html index 51414ef0..2724d4bc 100644 --- a/html/linux/advent2020/1a.mu.html +++ b/html/linux/advent2020/1a.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } -.CommentedCode { color: #8a8a8a; } -.Constant { color: #008787; } .muFunction { color: #af5f00; text-decoration: underline; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -70,30 +76,30 @@ if ('onhashchange' in window) { <span id="L11" class="LineNr">11 </span><span class="muComment">#</span> <span id="L12" class="LineNr">12 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L13" class="LineNr">13 </span> -<span id="L14" class="LineNr">14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1a.mu.html#L14'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L14" class="LineNr">14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1a.mu.html#L14'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L15" class="LineNr">15 </span> <span class="muComment"># data structure</span> <span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> numbers-storage: (array int <span class="Constant">0x100</span>) <span class="muComment"># 256 ints</span> -<span id="L17" class="LineNr">17 </span> <span class="PreProc">var</span> numbers/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> address numbers-storage -<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> numbers-index/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L17" class="LineNr">17 </span> <span class="PreProc">var</span> numbers/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> address numbers-storage +<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> numbers-index/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L19" class="LineNr">19 </span> <span class="muComment"># phase 1: parse each line from stdin and add it to numbers</span> <span id="L20" class="LineNr">20 </span> <span class="Delimiter">{</span> <span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L23" class="LineNr">23 </span> <span class="Delimiter">{</span> <span id="L24" class="LineNr">24 </span><span class="CommentedCode">#? print-string 0, "== iter\n"</span> <span id="L25" class="LineNr">25 </span> <span class="muComment"># read line from stdin</span> <span id="L26" class="LineNr">26 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L27" class="LineNr">27 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L28" class="LineNr">28 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L30" class="LineNr">30 </span> compare done?, <span class="Constant">0</span>/false <span id="L31" class="LineNr">31 </span> <span class="PreProc">break-if-!=</span> <span id="L32" class="LineNr">32 </span><span class="CommentedCode">#? print-stream-to-real-screen line</span> <span id="L33" class="LineNr">33 </span> <span class="muComment"># convert line to int and append it to numbers</span> -<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> line +<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> line <span id="L35" class="LineNr">35 </span><span class="CommentedCode">#? print-int32-decimal 0, n</span> <span id="L36" class="LineNr">36 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L37" class="LineNr">37 </span> <span class="PreProc">var</span> dest/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, numbers-index +<span id="L37" class="LineNr">37 </span> <span class="PreProc">var</span> dest/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, numbers-index <span id="L38" class="LineNr">38 </span> copy-to *dest, n <span id="L39" class="LineNr">39 </span> numbers-index <span class="Special"><-</span> increment <span id="L40" class="LineNr">40 </span><span class="CommentedCode">#? print-string 0, "== "</span> @@ -104,17 +110,17 @@ if ('onhashchange' in window) { <span id="L45" class="LineNr">45 </span> <span class="Delimiter">}</span> <span id="L46" class="LineNr">46 </span> <span class="muComment"># phase 2: for each number in the array, check if 2020-it is in the rest of</span> <span id="L47" class="LineNr">47 </span> <span class="muComment"># the array</span> -<span id="L48" class="LineNr">48 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L48" class="LineNr">48 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L49" class="LineNr">49 </span> <span class="Delimiter">{</span> <span id="L50" class="LineNr">50 </span> compare i, numbers-index <span id="L51" class="LineNr">51 </span> <span class="PreProc">break-if->=</span> -<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> src/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, i +<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> src/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, i <span id="L53" class="LineNr">53 </span><span class="CommentedCode">#? print-int32-decimal 0, *src</span> <span id="L54" class="LineNr">54 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L55" class="LineNr">55 </span> <span class="PreProc">var</span> target/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0x7e4</span> <span class="muComment"># 2020</span> +<span id="L55" class="LineNr">55 </span> <span class="PreProc">var</span> target/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0x7e4</span> <span class="muComment"># 2020</span> <span id="L56" class="LineNr">56 </span> target <span class="Special"><-</span> subtract *src <span id="L57" class="LineNr">57 </span> <span class="Delimiter">{</span> -<span id="L58" class="LineNr">58 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='1a.mu.html#L77'>find-after</a> numbers, i, target +<span id="L58" class="LineNr">58 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='1a.mu.html#L77'>find-after</a> numbers, i, target <span id="L59" class="LineNr">59 </span> compare found?, <span class="Constant">0</span>/false <span id="L60" class="LineNr">60 </span> <span class="PreProc">break-if-=</span> <span id="L61" class="LineNr">61 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"found\n"</span> @@ -133,16 +139,16 @@ if ('onhashchange' in window) { <span id="L74" class="LineNr">74 </span> <span class="PreProc">return</span> <span class="Constant">1</span>/not-found <span id="L75" class="LineNr">75 </span><span class="Delimiter">}</span> <span id="L76" class="LineNr">76 </span> -<span id="L77" class="LineNr">77 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1a.mu.html#L77'>find-after</a></span> _numbers: (addr array int), start: int, _target: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L78" class="LineNr">78 </span> <span class="PreProc">var</span> numbers/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _numbers -<span id="L79" class="LineNr">79 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy _target -<span id="L80" class="LineNr">80 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length numbers -<span id="L81" class="LineNr">81 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy start +<span id="L77" class="LineNr">77 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1a.mu.html#L77'>find-after</a></span> _numbers: (addr array int), start: int, _target: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L78" class="LineNr">78 </span> <span class="PreProc">var</span> numbers/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _numbers +<span id="L79" class="LineNr">79 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy _target +<span id="L80" class="LineNr">80 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length numbers +<span id="L81" class="LineNr">81 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy start <span id="L82" class="LineNr">82 </span> i <span class="Special"><-</span> increment <span id="L83" class="LineNr">83 </span> <span class="Delimiter">{</span> <span id="L84" class="LineNr">84 </span> compare i, len <span id="L85" class="LineNr">85 </span> <span class="PreProc">break-if->=</span> -<span id="L86" class="LineNr">86 </span> <span class="PreProc">var</span> src/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> index numbers, i +<span id="L86" class="LineNr">86 </span> <span class="PreProc">var</span> src/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> index numbers, i <span id="L87" class="LineNr">87 </span> <span class="muComment"># if *src == target, return true</span> <span id="L88" class="LineNr">88 </span> compare *src, target <span id="L89" class="LineNr">89 </span> <span class="Delimiter">{</span> diff --git a/html/linux/advent2020/1b.mu.html b/html/linux/advent2020/1b.mu.html index 599d60ba..f5a39374 100644 --- a/html/linux/advent2020/1b.mu.html +++ b/html/linux/advent2020/1b.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } -.CommentedCode { color: #8a8a8a; } -.Constant { color: #008787; } .muFunction { color: #af5f00; text-decoration: underline; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -70,30 +76,30 @@ if ('onhashchange' in window) { <span id="L11" class="LineNr"> 11 </span><span class="muComment">#</span> <span id="L12" class="LineNr"> 12 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L13" class="LineNr"> 13 </span> -<span id="L14" class="LineNr"> 14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1b.mu.html#L14'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L14" class="LineNr"> 14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1b.mu.html#L14'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L15" class="LineNr"> 15 </span> <span class="muComment"># data structure</span> <span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> numbers-storage: (array int <span class="Constant">0x100</span>) <span class="muComment"># 256 ints</span> -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> numbers/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> address numbers-storage -<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> numbers-index/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> numbers/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> address numbers-storage +<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> numbers-index/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L19" class="LineNr"> 19 </span> <span class="muComment"># phase 1: parse each line from stdin and add it to numbers</span> <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> <span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L23" class="LineNr"> 23 </span> <span class="Delimiter">{</span> <span id="L24" class="LineNr"> 24 </span><span class="CommentedCode">#? print-string 0, "== iter\n"</span> <span id="L25" class="LineNr"> 25 </span> <span class="muComment"># read line from stdin</span> <span id="L26" class="LineNr"> 26 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L27" class="LineNr"> 27 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L28" class="LineNr"> 28 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L30" class="LineNr"> 30 </span> compare done?, <span class="Constant">0</span>/false <span id="L31" class="LineNr"> 31 </span> <span class="PreProc">break-if-!=</span> <span id="L32" class="LineNr"> 32 </span><span class="CommentedCode">#? print-stream-to-real-screen line</span> <span id="L33" class="LineNr"> 33 </span> <span class="muComment"># convert line to int and append it to numbers</span> -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> line +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> line <span id="L35" class="LineNr"> 35 </span><span class="CommentedCode">#? print-int32-decimal 0, n</span> <span id="L36" class="LineNr"> 36 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> dest/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, numbers-index +<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> dest/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> index numbers, numbers-index <span id="L38" class="LineNr"> 38 </span> copy-to *dest, n <span id="L39" class="LineNr"> 39 </span> numbers-index <span class="Special"><-</span> increment <span id="L40" class="LineNr"> 40 </span><span class="CommentedCode">#? print-string 0, "== "</span> @@ -104,12 +110,12 @@ if ('onhashchange' in window) { <span id="L45" class="LineNr"> 45 </span> <span class="Delimiter">}</span> <span id="L46" class="LineNr"> 46 </span> <span class="muComment"># phase 2: for every pair of distinct numbers, check if the rest of the</span> <span id="L47" class="LineNr"> 47 </span> <span class="muComment"># array has 2020-it</span> -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> i/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> i/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L49" class="LineNr"> 49 </span> <span class="Delimiter">{</span> <span id="L50" class="LineNr"> 50 </span> compare i, numbers-index <span id="L51" class="LineNr"> 51 </span> <span class="PreProc">break-if->=</span> <span id="L52" class="LineNr"> 52 </span> <span class="muComment"># for j from i+1 to end</span> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> j/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy i +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> j/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy i <span id="L54" class="LineNr"> 54 </span> j <span class="Special"><-</span> increment <span id="L55" class="LineNr"> 55 </span> <span class="Delimiter">{</span> <span id="L56" class="LineNr"> 56 </span> compare j, numbers-index @@ -117,13 +123,13 @@ if ('onhashchange' in window) { <span id="L58" class="LineNr"> 58 </span> <span class="Delimiter">{</span> <span id="L59" class="LineNr"> 59 </span> compare i, j <span id="L60" class="LineNr"> 60 </span> <span class="PreProc">break-if-=</span> -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> target/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0x7e4</span> <span class="muComment"># 2020</span> -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> src/<span class="Constant">edi</span>: (addr int) <span class="Special"><-</span> index numbers, i +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> target/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0x7e4</span> <span class="muComment"># 2020</span> +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> src/<span class="muRegEdi">edi</span>: (addr int) <span class="Special"><-</span> index numbers, i <span id="L63" class="LineNr"> 63 </span> target <span class="Special"><-</span> subtract *src -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> src2/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> index numbers, j +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> src2/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> index numbers, j <span id="L65" class="LineNr"> 65 </span> target <span class="Special"><-</span> subtract *src2 <span id="L66" class="LineNr"> 66 </span> <span class="Delimiter">{</span> -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='1b.mu.html#L93'>find-after</a> numbers, j, target +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='1b.mu.html#L93'>find-after</a> numbers, j, target <span id="L68" class="LineNr"> 68 </span> compare found?, <span class="Constant">0</span>/false <span id="L69" class="LineNr"> 69 </span> <span class="PreProc">break-if-=</span> <span id="L70" class="LineNr"> 70 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"found\n"</span> @@ -149,16 +155,16 @@ if ('onhashchange' in window) { <span id="L90" class="LineNr"> 90 </span> <span class="PreProc">return</span> <span class="Constant">1</span>/not-found <span id="L91" class="LineNr"> 91 </span><span class="Delimiter">}</span> <span id="L92" class="LineNr"> 92 </span> -<span id="L93" class="LineNr"> 93 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1b.mu.html#L93'>find-after</a></span> _numbers: (addr array int), start: int, _target: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> numbers/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _numbers -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy _target -<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length numbers -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy start +<span id="L93" class="LineNr"> 93 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='1b.mu.html#L93'>find-after</a></span> _numbers: (addr array int), start: int, _target: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> numbers/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _numbers +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy _target +<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length numbers +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy start <span id="L98" class="LineNr"> 98 </span> i <span class="Special"><-</span> increment <span id="L99" class="LineNr"> 99 </span> <span class="Delimiter">{</span> <span id="L100" class="LineNr">100 </span> compare i, len <span id="L101" class="LineNr">101 </span> <span class="PreProc">break-if->=</span> -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> src/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> index numbers, i +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> src/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> index numbers, i <span id="L103" class="LineNr">103 </span> <span class="muComment"># if *src == target, return true</span> <span id="L104" class="LineNr">104 </span> compare *src, target <span id="L105" class="LineNr">105 </span> <span class="Delimiter">{</span> diff --git a/html/linux/advent2020/2a.mu.html b/html/linux/advent2020/2a.mu.html index b964b6eb..2c8d07f1 100644 --- a/html/linux/advent2020/2a.mu.html +++ b/html/linux/advent2020/2a.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -66,45 +72,45 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr">10 </span> -<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> valid-password-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> valid-password-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> slice-storage: slice -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> slice/<span class="Constant">ecx</span>: (addr slice) <span class="Special"><-</span> address slice-storage +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> slice/<span class="muRegEcx">ecx</span>: (addr slice) <span class="Special"><-</span> address slice-storage <span id="L17" class="LineNr">17 </span> <span class="Delimiter">{</span> <span id="L18" class="LineNr">18 </span> <span class="muComment"># read line from stdin</span> <span id="L19" class="LineNr">19 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L20" class="LineNr">20 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L21" class="LineNr">21 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L23" class="LineNr">23 </span> compare done?, <span class="Constant">0</span>/false <span id="L24" class="LineNr">24 </span> <span class="PreProc">break-if-!=</span> <span id="L25" class="LineNr">25 </span> <a href='../304screen.subx.html#L147'>print-stream-to-real-screen</a> line <span id="L26" class="LineNr">26 </span> <span class="muComment"># slice = next-token(line, '-')</span> <span id="L27" class="LineNr">27 </span> <a href='../124next-token.subx.html#L10'>next-token</a> line, <span class="Constant">0x2d</span>, slice <span id="L28" class="LineNr">28 </span> <span class="muComment"># start = parse-int(slice)</span> -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> _start/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice -<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> start/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy _start -<span id="L31" class="LineNr">31 </span> <span class="PreProc">var</span> dash/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip '-'</span> +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> _start/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice +<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> start/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy _start +<span id="L31" class="LineNr">31 </span> <span class="PreProc">var</span> dash/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip '-'</span> <span id="L32" class="LineNr">32 </span> <span class="muComment"># slice = next-token(line, ' ')</span> <span id="L33" class="LineNr">33 </span> <a href='../124next-token.subx.html#L10'>next-token</a> line, <span class="Constant">0x20</span>, slice -<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> _end/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice -<span id="L35" class="LineNr">35 </span> <span class="PreProc">var</span> end/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy _end +<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> _end/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice +<span id="L35" class="LineNr">35 </span> <span class="PreProc">var</span> end/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy _end <span id="L36" class="LineNr">36 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, start <span id="L37" class="LineNr">37 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" "</span> <span id="L38" class="LineNr">38 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, end <span id="L39" class="LineNr">39 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L40" class="LineNr">40 </span> <span class="muComment"># letter = next non-space</span> <span id="L41" class="LineNr">41 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line -<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> letter/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line +<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> letter/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span id="L43" class="LineNr">43 </span> <span class="muComment"># skip some stuff</span> <span id="L44" class="LineNr">44 </span> <span class="Delimiter">{</span> -<span id="L45" class="LineNr">45 </span> <span class="PreProc">var</span> colon/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> +<span id="L45" class="LineNr">45 </span> <span class="PreProc">var</span> colon/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> <span id="L46" class="LineNr">46 </span> <span class="Delimiter">}</span> <span id="L47" class="LineNr">47 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line <span id="L48" class="LineNr">48 </span> <span class="muComment"># now check the rest of the line</span> -<span id="L49" class="LineNr">49 </span> <span class="PreProc">var</span> <a href='2a.mu.html#L63'>valid?</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='2a.mu.html#L63'>valid?</a> start, end, letter, line +<span id="L49" class="LineNr">49 </span> <span class="PreProc">var</span> <a href='2a.mu.html#L63'>valid?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='2a.mu.html#L63'>valid?</a> start, end, letter, line <span id="L50" class="LineNr">50 </span> compare <a href='2a.mu.html#L63'>valid?</a>, <span class="Constant">0</span>/false <span id="L51" class="LineNr">51 </span> <span class="Delimiter">{</span> <span id="L52" class="LineNr">52 </span> <span class="PreProc">break-if-=</span> @@ -118,16 +124,16 @@ if ('onhashchange' in window) { <span id="L60" class="LineNr">60 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L61" class="LineNr">61 </span><span class="Delimiter">}</span> <span id="L62" class="LineNr">62 </span> -<span id="L63" class="LineNr">63 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2a.mu.html#L63'>valid?</a></span> start: int, end: int, letter: byte, password: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L64" class="LineNr">64 </span> <span class="PreProc">var</span> letter-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L63" class="LineNr">63 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2a.mu.html#L63'>valid?</a></span> start: int, end: int, letter: byte, password: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L64" class="LineNr">64 </span> <span class="PreProc">var</span> letter-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L65" class="LineNr">65 </span> <span class="muComment"># for every c in password</span> <span id="L66" class="LineNr">66 </span> <span class="muComment"># if (c == letter)</span> <span id="L67" class="LineNr">67 </span> <span class="muComment"># ++letter-count</span> <span id="L68" class="LineNr">68 </span> <span class="Delimiter">{</span> -<span id="L69" class="LineNr">69 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> password +<span id="L69" class="LineNr">69 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> password <span id="L70" class="LineNr">70 </span> compare done?, <span class="Constant">0</span>/false <span id="L71" class="LineNr">71 </span> <span class="PreProc">break-if-!=</span> -<span id="L72" class="LineNr">72 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> password +<span id="L72" class="LineNr">72 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> password <span id="L73" class="LineNr">73 </span> compare c, letter <span id="L74" class="LineNr">74 </span> <span class="Delimiter">{</span> <span id="L75" class="LineNr">75 </span> <span class="PreProc">break-if-!=</span> diff --git a/html/linux/advent2020/2b.mu.html b/html/linux/advent2020/2b.mu.html index 2558ca05..88e9e7a6 100644 --- a/html/linux/advent2020/2b.mu.html +++ b/html/linux/advent2020/2b.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -67,31 +73,31 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr"> 10 </span> -<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> valid-password-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> valid-password-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> slice-storage: slice -<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> slice/<span class="Constant">ecx</span>: (addr slice) <span class="Special"><-</span> address slice-storage +<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> slice/<span class="muRegEcx">ecx</span>: (addr slice) <span class="Special"><-</span> address slice-storage <span id="L17" class="LineNr"> 17 </span> <span class="Delimiter">{</span> <span id="L18" class="LineNr"> 18 </span> <span class="muComment"># read line from stdin</span> <span id="L19" class="LineNr"> 19 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L20" class="LineNr"> 20 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L21" class="LineNr"> 21 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L23" class="LineNr"> 23 </span> compare done?, <span class="Constant">0</span>/false <span id="L24" class="LineNr"> 24 </span> <span class="PreProc">break-if-!=</span> <span id="L25" class="LineNr"> 25 </span> <a href='../304screen.subx.html#L147'>print-stream-to-real-screen</a> line <span id="L26" class="LineNr"> 26 </span> <span class="muComment"># slice = next-token(line, '-')</span> <span id="L27" class="LineNr"> 27 </span> <a href='../124next-token.subx.html#L10'>next-token</a> line, <span class="Constant">0x2d</span>, slice <span id="L28" class="LineNr"> 28 </span> <span class="muComment"># pos1 = parse-int(slice)</span> -<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> _pos1/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice -<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> pos1/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy _pos1 -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> dash/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip '-'</span> +<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> _pos1/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice +<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> pos1/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy _pos1 +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> dash/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip '-'</span> <span id="L32" class="LineNr"> 32 </span> <span class="muComment"># slice = next-token(line, ' ')</span> <span id="L33" class="LineNr"> 33 </span> <a href='../124next-token.subx.html#L10'>next-token</a> line, <span class="Constant">0x20</span>, slice -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> _pos2/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice -<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> pos2/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy _pos2 +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> _pos2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> slice +<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> pos2/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy _pos2 <span id="L36" class="LineNr"> 36 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, pos1 <span id="L37" class="LineNr"> 37 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" "</span> <span id="L38" class="LineNr"> 38 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, pos2 @@ -104,14 +110,14 @@ if ('onhashchange' in window) { <span id="L45" class="LineNr"> 45 </span> <span class="Delimiter">}</span> <span id="L46" class="LineNr"> 46 </span> <span class="muComment"># letter = next non-space</span> <span id="L47" class="LineNr"> 47 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> letter/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> letter/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span id="L49" class="LineNr"> 49 </span> <span class="muComment"># skip some stuff</span> <span id="L50" class="LineNr"> 50 </span> <span class="Delimiter">{</span> -<span id="L51" class="LineNr"> 51 </span> <span class="PreProc">var</span> colon/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> +<span id="L51" class="LineNr"> 51 </span> <span class="PreProc">var</span> colon/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> <span id="L52" class="LineNr"> 52 </span> <span class="Delimiter">}</span> <span id="L53" class="LineNr"> 53 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line <span id="L54" class="LineNr"> 54 </span> <span class="muComment"># now check the rest of the line</span> -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> <a href='2b.mu.html#L72'>valid?</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='2b.mu.html#L72'>valid?</a> pos1, pos2, letter, line +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> <a href='2b.mu.html#L72'>valid?</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='2b.mu.html#L72'>valid?</a> pos1, pos2, letter, line <span id="L56" class="LineNr"> 56 </span> compare <a href='2b.mu.html#L72'>valid?</a>, <span class="Constant">0</span>/false <span id="L57" class="LineNr"> 57 </span> <span class="Delimiter">{</span> <span id="L58" class="LineNr"> 58 </span> <span class="PreProc">break-if-=</span> @@ -128,9 +134,9 @@ if ('onhashchange' in window) { <span id="L69" class="LineNr"> 69 </span><span class="muComment"># ideally password would be a random-access array</span> <span id="L70" class="LineNr"> 70 </span><span class="muComment"># we'll just track an index</span> <span id="L71" class="LineNr"> 71 </span><span class="muComment"># one benefit: we can easily start at 1</span> -<span id="L72" class="LineNr"> 72 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2b.mu.html#L72'>valid?</a></span> pos1: int, pos2: int, letter: byte, password: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> i/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> letter-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L72" class="LineNr"> 72 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='2b.mu.html#L72'>valid?</a></span> pos1: int, pos2: int, letter: byte, password: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> i/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> letter-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L75" class="LineNr"> 75 </span> <span class="muComment"># while password stream isn't empty</span> <span id="L76" class="LineNr"> 76 </span> <span class="muComment"># c = read byte from password</span> <span id="L77" class="LineNr"> 77 </span> <span class="muComment"># if (c == letter)</span> @@ -143,10 +149,10 @@ if ('onhashchange' in window) { <span id="L84" class="LineNr"> 84 </span><span class="CommentedCode">#? print-string 0, " "</span> <span id="L85" class="LineNr"> 85 </span><span class="CommentedCode">#? print-int32-decimal 0, i</span> <span id="L86" class="LineNr"> 86 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> password +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> password <span id="L88" class="LineNr"> 88 </span> compare done?, <span class="Constant">0</span>/false <span id="L89" class="LineNr"> 89 </span> <span class="PreProc">break-if-!=</span> -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> password +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> password <span id="L91" class="LineNr"> 91 </span><span class="CommentedCode">#? {</span> <span id="L92" class="LineNr"> 92 </span><span class="CommentedCode">#? var c2/eax: int <- copy c</span> <span id="L93" class="LineNr"> 93 </span><span class="CommentedCode">#? print-int32-decimal 0, c2</span> diff --git a/html/linux/advent2020/3a.mu.html b/html/linux/advent2020/3a.mu.html index 34e0a152..531c212e 100644 --- a/html/linux/advent2020/3a.mu.html +++ b/html/linux/advent2020/3a.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -67,24 +73,24 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr"> 10 </span> -<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L12" class="LineNr"> 12 </span> <span class="muComment"># represent trees in a 2D array of ints</span> <span id="L13" class="LineNr"> 13 </span> <span class="muComment"># wasteful since each tree is just one bit</span> <span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> trees-storage: (array int <span class="Constant">0x2800</span>) <span class="muComment"># 10k ints</span> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> trees/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> address trees-storage -<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> trees-length/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> trees/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> address trees-storage +<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> trees-length/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> num-rows: int <span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> width: int <span id="L19" class="LineNr"> 19 </span> <span class="muComment"># phase 1: parse each row of trees from stdin</span> <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> <span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x40</span>) <span class="muComment"># 64 bytes</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L23" class="LineNr"> 23 </span> <span class="Delimiter">{</span> <span id="L24" class="LineNr"> 24 </span> <span class="muComment"># read line from stdin</span> <span id="L25" class="LineNr"> 25 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L26" class="LineNr"> 26 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L27" class="LineNr"> 27 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L29" class="LineNr"> 29 </span> compare done?, <span class="Constant">0</span>/false <span id="L30" class="LineNr"> 30 </span> <span class="PreProc">break-if-!=</span> <span id="L31" class="LineNr"> 31 </span> <span class="muComment"># wastefully recompute width on every line</span> @@ -92,15 +98,15 @@ if ('onhashchange' in window) { <span id="L33" class="LineNr"> 33 </span> copy-to width, <span class="Constant">0</span> <span id="L34" class="LineNr"> 34 </span> <span class="muComment"># turn each byte into a tree and append it</span> <span id="L35" class="LineNr"> 35 </span> $main:line-loop: <span class="Delimiter">{</span> -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L37" class="LineNr"> 37 </span> compare done?, <span class="Constant">0</span>/false <span id="L38" class="LineNr"> 38 </span> <span class="PreProc">break-if-!=</span> <span id="L39" class="LineNr"> 39 </span><span class="CommentedCode">#? print-int32-decimal 0, num-rows</span> <span id="L40" class="LineNr"> 40 </span><span class="CommentedCode">#? print-string 0, " "</span> <span id="L41" class="LineNr"> 41 </span><span class="CommentedCode">#? print-int32-decimal 0, width</span> <span id="L42" class="LineNr"> 42 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> dest/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> index trees, trees-length -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> dest/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> index trees, trees-length +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span id="L45" class="LineNr"> 45 </span> <span class="muComment"># newline comes only at end of line</span> <span id="L46" class="LineNr"> 46 </span> compare c, <span class="Constant">0xa</span>/newline <span id="L47" class="LineNr"> 47 </span> <span class="PreProc">break-if-=</span> @@ -128,13 +134,13 @@ if ('onhashchange' in window) { <span id="L69" class="LineNr"> 69 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"x"</span> <span id="L70" class="LineNr"> 70 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, width <span id="L71" class="LineNr"> 71 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> -<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> num-trees-hit/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> num-trees-hit/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L75" class="LineNr"> 75 </span> <span class="Delimiter">{</span> <span id="L76" class="LineNr"> 76 </span> compare row, num-rows <span id="L77" class="LineNr"> 77 </span> <span class="PreProc">break-if->=</span> -<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3a.mu.html#L94'>index2d</a> trees, row, col, width +<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3a.mu.html#L94'>index2d</a> trees, row, col, width <span id="L79" class="LineNr"> 79 </span> compare curr, <span class="Constant">0</span> <span id="L80" class="LineNr"> 80 </span> <span class="Delimiter">{</span> <span id="L81" class="LineNr"> 81 </span> <span class="PreProc">break-if-=</span> @@ -150,18 +156,18 @@ if ('onhashchange' in window) { <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L92" class="LineNr"> 92 </span><span class="Delimiter">}</span> <span id="L93" class="LineNr"> 93 </span> -<span id="L94" class="LineNr"> 94 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3a.mu.html#L94'>index2d</a></span> _arr: (addr array int), _row: int, _col: int, width: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L94" class="LineNr"> 94 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3a.mu.html#L94'>index2d</a></span> _arr: (addr array int), _row: int, _col: int, width: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L95" class="LineNr"> 95 </span> <span class="muComment"># handle repeating columns of trees</span> -<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L98" class="LineNr"> 98 </span> dummy, col <span class="Special"><-</span> <a href='../314divide.subx.html#L3'>integer-divide</a> _col, width <span id="L99" class="LineNr"> 99 </span> <span class="muComment"># compute index</span> -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> index/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _row +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> index/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _row <span id="L101" class="LineNr">101 </span> index <span class="Special"><-</span> multiply width <span id="L102" class="LineNr">102 </span> index <span class="Special"><-</span> add col <span id="L103" class="LineNr">103 </span> <span class="muComment"># look up array</span> -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> arr/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _arr -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index arr, index +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> arr/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _arr +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index arr, index <span id="L106" class="LineNr">106 </span> <span class="PreProc">return</span> *src <span id="L107" class="LineNr">107 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/advent2020/3b.mu.html b/html/linux/advent2020/3b.mu.html index 6d34a66b..153d86da 100644 --- a/html/linux/advent2020/3b.mu.html +++ b/html/linux/advent2020/3b.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -67,24 +73,24 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr"> 10 </span> -<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L12" class="LineNr"> 12 </span> <span class="muComment"># represent trees in a 2D array of ints</span> <span id="L13" class="LineNr"> 13 </span> <span class="muComment"># wasteful since each tree is just one bit</span> <span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> trees-storage: (array int <span class="Constant">0x2800</span>) <span class="muComment"># 10k ints</span> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> trees/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> address trees-storage -<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> trees-length/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> trees/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> address trees-storage +<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> trees-length/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> num-rows: int <span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> width: int <span id="L19" class="LineNr"> 19 </span> <span class="muComment"># phase 1: parse each row of trees from stdin</span> <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> <span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x40</span>) <span class="muComment"># 64 bytes</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L23" class="LineNr"> 23 </span> <span class="Delimiter">{</span> <span id="L24" class="LineNr"> 24 </span> <span class="muComment"># read line from stdin</span> <span id="L25" class="LineNr"> 25 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L26" class="LineNr"> 26 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L27" class="LineNr"> 27 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L29" class="LineNr"> 29 </span> compare done?, <span class="Constant">0</span>/false <span id="L30" class="LineNr"> 30 </span> <span class="PreProc">break-if-!=</span> <span id="L31" class="LineNr"> 31 </span> <span class="muComment"># wastefully recompute width on every line</span> @@ -92,15 +98,15 @@ if ('onhashchange' in window) { <span id="L33" class="LineNr"> 33 </span> copy-to width, <span class="Constant">0</span> <span id="L34" class="LineNr"> 34 </span> <span class="muComment"># turn each byte into a tree and append it</span> <span id="L35" class="LineNr"> 35 </span> $main:line-loop: <span class="Delimiter">{</span> -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L37" class="LineNr"> 37 </span> compare done?, <span class="Constant">0</span>/false <span id="L38" class="LineNr"> 38 </span> <span class="PreProc">break-if-!=</span> <span id="L39" class="LineNr"> 39 </span><span class="CommentedCode">#? print-int32-decimal 0, num-rows</span> <span id="L40" class="LineNr"> 40 </span><span class="CommentedCode">#? print-string 0, " "</span> <span id="L41" class="LineNr"> 41 </span><span class="CommentedCode">#? print-int32-decimal 0, width</span> <span id="L42" class="LineNr"> 42 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> dest/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> index trees, trees-length -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> dest/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> index trees, trees-length +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span id="L45" class="LineNr"> 45 </span> <span class="muComment"># newline comes only at end of line</span> <span id="L46" class="LineNr"> 46 </span> compare c, <span class="Constant">0xa</span>/newline <span id="L47" class="LineNr"> 47 </span> <span class="PreProc">break-if-=</span> @@ -124,24 +130,24 @@ if ('onhashchange' in window) { <span id="L65" class="LineNr"> 65 </span> <span class="Delimiter">}</span> <span id="L66" class="LineNr"> 66 </span> <span class="Delimiter">}</span> <span id="L67" class="LineNr"> 67 </span> <span class="muComment"># phase 2: compute</span> -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> product/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">1</span>, <span class="Constant">1</span> +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> product/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">1</span>, <span class="Constant">1</span> <span id="L70" class="LineNr"> 70 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, result <span id="L71" class="LineNr"> 71 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" x "</span> <span id="L72" class="LineNr"> 72 </span> product <span class="Special"><-</span> multiply result -<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">3</span>, <span class="Constant">1</span> +<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">3</span>, <span class="Constant">1</span> <span id="L74" class="LineNr"> 74 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, result <span id="L75" class="LineNr"> 75 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" x "</span> <span id="L76" class="LineNr"> 76 </span> product <span class="Special"><-</span> multiply result -<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">5</span>, <span class="Constant">1</span> +<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">5</span>, <span class="Constant">1</span> <span id="L78" class="LineNr"> 78 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, result <span id="L79" class="LineNr"> 79 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" x "</span> <span id="L80" class="LineNr"> 80 </span> product <span class="Special"><-</span> multiply result -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">7</span>, <span class="Constant">1</span> +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">7</span>, <span class="Constant">1</span> <span id="L82" class="LineNr"> 82 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, result <span id="L83" class="LineNr"> 83 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" x "</span> <span id="L84" class="LineNr"> 84 </span> product <span class="Special"><-</span> multiply result -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">1</span>, <span class="Constant">2</span> +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L94'>num-trees-hit</a> trees, width, num-rows, <span class="Constant">1</span>, <span class="Constant">2</span> <span id="L86" class="LineNr"> 86 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, result <span id="L87" class="LineNr"> 87 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" = "</span> <span id="L88" class="LineNr"> 88 </span> product <span class="Special"><-</span> multiply result @@ -150,21 +156,21 @@ if ('onhashchange' in window) { <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L92" class="LineNr"> 92 </span><span class="Delimiter">}</span> <span id="L93" class="LineNr"> 93 </span> -<span id="L94" class="LineNr"> 94 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L94'>num-trees-hit</a></span> trees: (addr array int), width: int, num-rows: int, right: int, down: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L94" class="LineNr"> 94 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L94'>num-trees-hit</a></span> trees: (addr array int), width: int, num-rows: int, right: int, down: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L95" class="LineNr"> 95 </span><span class="CommentedCode">#? print-string 0, "== "</span> <span id="L96" class="LineNr"> 96 </span><span class="CommentedCode">#? print-int32-decimal 0, right</span> <span id="L97" class="LineNr"> 97 </span><span class="CommentedCode">#? print-string 0, " "</span> <span id="L98" class="LineNr"> 98 </span><span class="CommentedCode">#? print-int32-decimal 0, down</span> <span id="L99" class="LineNr"> 99 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> <a href='3b.mu.html#L94'>num-trees-hit</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> <a href='3b.mu.html#L94'>num-trees-hit</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L103" class="LineNr">103 </span> <span class="Delimiter">{</span> <span id="L104" class="LineNr">104 </span> compare row, num-rows <span id="L105" class="LineNr">105 </span> <span class="PreProc">break-if->=</span> <span id="L106" class="LineNr">106 </span><span class="CommentedCode">#? print-int32-decimal 0, col</span> <span id="L107" class="LineNr">107 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L121'>index2d</a> trees, row, col, width +<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='3b.mu.html#L121'>index2d</a> trees, row, col, width <span id="L109" class="LineNr">109 </span> compare curr, <span class="Constant">0</span> <span id="L110" class="LineNr">110 </span> <span class="Delimiter">{</span> <span id="L111" class="LineNr">111 </span> <span class="PreProc">break-if-=</span> @@ -177,21 +183,21 @@ if ('onhashchange' in window) { <span id="L118" class="LineNr">118 </span> <span class="PreProc">return</span> <a href='3b.mu.html#L94'>num-trees-hit</a> <span id="L119" class="LineNr">119 </span><span class="Delimiter">}</span> <span id="L120" class="LineNr">120 </span> -<span id="L121" class="LineNr">121 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L121'>index2d</a></span> _arr: (addr array int), _row: int, _col: int, width: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L121" class="LineNr">121 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3b.mu.html#L121'>index2d</a></span> _arr: (addr array int), _row: int, _col: int, width: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L122" class="LineNr">122 </span> <span class="muComment"># handle repeating columns of trees</span> -<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L125" class="LineNr">125 </span> dummy, col <span class="Special"><-</span> <a href='../314divide.subx.html#L3'>integer-divide</a> _col, width <span id="L126" class="LineNr">126 </span><span class="CommentedCode">#? print-string 0, " "</span> <span id="L127" class="LineNr">127 </span><span class="CommentedCode">#? print-int32-decimal 0, col</span> <span id="L128" class="LineNr">128 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L129" class="LineNr">129 </span> <span class="muComment"># compute index</span> -<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> index/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _row +<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> index/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _row <span id="L131" class="LineNr">131 </span> index <span class="Special"><-</span> multiply width <span id="L132" class="LineNr">132 </span> index <span class="Special"><-</span> add col <span id="L133" class="LineNr">133 </span> <span class="muComment"># look up array</span> -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> arr/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _arr -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index arr, index +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> arr/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _arr +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index arr, index <span id="L136" class="LineNr">136 </span> <span class="PreProc">return</span> *src <span id="L137" class="LineNr">137 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/advent2020/4a.mu.html b/html/linux/advent2020/4a.mu.html index e17c8199..113207ac 100644 --- a/html/linux/advent2020/4a.mu.html +++ b/html/linux/advent2020/4a.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -66,25 +72,25 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr">10 </span> -<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='4a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> curr-passport-field-count/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> valid-passport-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='4a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> curr-passport-field-count/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> valid-passport-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> line/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> line/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> slice-storage: slice -<span id="L17" class="LineNr">17 </span> <span class="PreProc">var</span> slice/<span class="Constant">edx</span>: (addr slice) <span class="Special"><-</span> address slice-storage +<span id="L17" class="LineNr">17 </span> <span class="PreProc">var</span> slice/<span class="muRegEdx">edx</span>: (addr slice) <span class="Special"><-</span> address slice-storage <span id="L18" class="LineNr">18 </span> $main:line-loop: <span class="Delimiter">{</span> <span id="L19" class="LineNr">19 </span> <span class="muComment"># read line from stdin</span> <span id="L20" class="LineNr">20 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L21" class="LineNr">21 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L22" class="LineNr">22 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L23" class="LineNr">23 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L23" class="LineNr">23 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L24" class="LineNr">24 </span> compare done?, <span class="Constant">0</span>/false <span id="L25" class="LineNr">25 </span> <span class="PreProc">break-if-!=</span> <span id="L26" class="LineNr">26 </span> <a href='../304screen.subx.html#L147'>print-stream-to-real-screen</a> line <span id="L27" class="LineNr">27 </span> <span class="muComment"># if line has just a newline, process passport</span> <span id="L28" class="LineNr">28 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> new-passport?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> new-passport?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L30" class="LineNr">30 </span> <span class="Delimiter">{</span> <span id="L31" class="LineNr">31 </span> compare new-passport?, <span class="Constant">0</span>/false <span id="L32" class="LineNr">32 </span> <span class="PreProc">break-if-=</span> @@ -101,13 +107,13 @@ if ('onhashchange' in window) { <span id="L43" class="LineNr">43 </span> <span class="Delimiter">}</span> <span id="L44" class="LineNr">44 </span> $main:word-loop: <span class="Delimiter">{</span> <span id="L45" class="LineNr">45 </span> <a href='../127next-word.subx.html#L11'>next-word</a> line, slice -<span id="L46" class="LineNr">46 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L9'>slice-empty?</a> slice +<span id="L46" class="LineNr">46 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L9'>slice-empty?</a> slice <span id="L47" class="LineNr">47 </span> compare done?, <span class="Constant">0</span>/false <span id="L48" class="LineNr">48 </span> <span class="PreProc">break-if-!=</span> <span id="L49" class="LineNr">49 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" "</span> <span id="L50" class="LineNr">50 </span> <a href='../304screen.subx.html#L134'>print-slice-to-real-screen</a> slice <span id="L51" class="LineNr">51 </span> <span class="muComment"># treat cid as optional</span> -<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> optional?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L487'>slice-starts-with?</a> slice, <span class="Constant">"cid:"</span> +<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> optional?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L487'>slice-starts-with?</a> slice, <span class="Constant">"cid:"</span> <span id="L53" class="LineNr">53 </span> compare optional?, <span class="Constant">0</span>/false <span id="L54" class="LineNr">54 </span> <span class="Delimiter">{</span> <span id="L55" class="LineNr">55 </span> <span class="PreProc">break-if-!=</span> diff --git a/html/linux/advent2020/4b.mu.html b/html/linux/advent2020/4b.mu.html index 6737aec1..0f735191 100644 --- a/html/linux/advent2020/4b.mu.html +++ b/html/linux/advent2020/4b.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -66,27 +72,27 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr"> 10 </span> -<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='4b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> curr-passport-field-count/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> valid-passport-count/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='4b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> curr-passport-field-count/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> valid-passport-count/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) <span class="muComment"># 256 bytes</span> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> line/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> line/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> key-slice-storage: slice -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> key-slice/<span class="Constant">edx</span>: (addr slice) <span class="Special"><-</span> address key-slice-storage +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> key-slice/<span class="muRegEdx">edx</span>: (addr slice) <span class="Special"><-</span> address key-slice-storage <span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> val-slice-storage: slice -<span id="L19" class="LineNr"> 19 </span> <span class="PreProc">var</span> val-slice/<span class="Constant">ebx</span>: (addr slice) <span class="Special"><-</span> address val-slice-storage +<span id="L19" class="LineNr"> 19 </span> <span class="PreProc">var</span> val-slice/<span class="muRegEbx">ebx</span>: (addr slice) <span class="Special"><-</span> address val-slice-storage <span id="L20" class="LineNr"> 20 </span> $main:line-loop: <span class="Delimiter">{</span> <span id="L21" class="LineNr"> 21 </span> <span class="muComment"># read line from stdin</span> <span id="L22" class="LineNr"> 22 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L23" class="LineNr"> 23 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L24" class="LineNr"> 24 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L26" class="LineNr"> 26 </span> compare done?, <span class="Constant">0</span>/false <span id="L27" class="LineNr"> 27 </span> <span class="PreProc">break-if-!=</span> <span id="L28" class="LineNr"> 28 </span> <a href='../304screen.subx.html#L147'>print-stream-to-real-screen</a> line <span id="L29" class="LineNr"> 29 </span> <span class="muComment"># if line has just a newline, process passport</span> <span id="L30" class="LineNr"> 30 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> new-passport?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> new-passport?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L32" class="LineNr"> 32 </span> <span class="Delimiter">{</span> <span id="L33" class="LineNr"> 33 </span> compare new-passport?, <span class="Constant">0</span>/false <span id="L34" class="LineNr"> 34 </span> <span class="PreProc">break-if-=</span> @@ -103,18 +109,18 @@ if ('onhashchange' in window) { <span id="L45" class="LineNr"> 45 </span> <span class="Delimiter">}</span> <span id="L46" class="LineNr"> 46 </span> $main:word-loop: <span class="Delimiter">{</span> <span id="L47" class="LineNr"> 47 </span> <a href='../124next-token.subx.html#L464'>skip-chars-matching-whitespace</a> line -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L49" class="LineNr"> 49 </span> compare done?, <span class="Constant">0</span>/false <span id="L50" class="LineNr"> 50 </span> <span class="PreProc">break-if-!=</span> <span id="L51" class="LineNr"> 51 </span> <a href='../124next-token.subx.html#L10'>next-token</a> line, <span class="Constant">0x3a</span>, key-slice <span class="muComment"># ':'</span> -<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> +<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> line <span class="muComment"># skip ':'</span> <span id="L53" class="LineNr"> 53 </span> <a href='../127next-word.subx.html#L306'>next-raw-word</a> line, val-slice <span id="L54" class="LineNr"> 54 </span> <a href='../304screen.subx.html#L134'>print-slice-to-real-screen</a> key-slice <span id="L55" class="LineNr"> 55 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">" : "</span> <span id="L56" class="LineNr"> 56 </span> <a href='../304screen.subx.html#L134'>print-slice-to-real-screen</a> val-slice <span id="L57" class="LineNr"> 57 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L58" class="LineNr"> 58 </span> <span class="muComment"># treat cid as optional</span> -<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> cid?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"cid"</span> +<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> cid?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"cid"</span> <span id="L60" class="LineNr"> 60 </span> compare cid?, <span class="Constant">0</span>/false <span id="L61" class="LineNr"> 61 </span> <span class="PreProc">loop-if-!=</span> <span id="L62" class="LineNr"> 62 </span> <span class="muComment"># increment field count</span> @@ -122,11 +128,11 @@ if ('onhashchange' in window) { <span id="L64" class="LineNr"> 64 </span> <span class="muComment"># - validate fields one by one, setting curr-passport-field-count to impossibly high value to signal invalid</span> <span id="L65" class="LineNr"> 65 </span> <span class="muComment"># byr</span> <span id="L66" class="LineNr"> 66 </span> <span class="Delimiter">{</span> -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> byr?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"byr"</span> +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> byr?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"byr"</span> <span id="L68" class="LineNr"> 68 </span> compare byr?, <span class="Constant">0</span>/false <span id="L69" class="LineNr"> 69 </span> <span class="PreProc">break-if-=</span> <span id="L70" class="LineNr"> 70 </span> <span class="muComment"># 1920 <= byr <= 2002</span> -<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> byr/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice +<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> byr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice <span id="L72" class="LineNr"> 72 </span> compare byr, <span class="Constant">0x780</span> <span class="muComment"># 1920</span> <span id="L73" class="LineNr"> 73 </span> <span class="Delimiter">{</span> <span id="L74" class="LineNr"> 74 </span> <span class="PreProc">break-if->=</span> @@ -142,11 +148,11 @@ if ('onhashchange' in window) { <span id="L84" class="LineNr"> 84 </span> <span class="Delimiter">}</span> <span id="L85" class="LineNr"> 85 </span> <span class="muComment"># iyr</span> <span id="L86" class="LineNr"> 86 </span> <span class="Delimiter">{</span> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> iyr?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"iyr"</span> +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> iyr?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"iyr"</span> <span id="L88" class="LineNr"> 88 </span> compare iyr?, <span class="Constant">0</span>/false <span id="L89" class="LineNr"> 89 </span> <span class="PreProc">break-if-=</span> <span id="L90" class="LineNr"> 90 </span> <span class="muComment"># 2010 <= iyr <= 2020</span> -<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> iyr/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice +<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> iyr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice <span id="L92" class="LineNr"> 92 </span> compare iyr, <span class="Constant">0x7da</span> <span class="muComment"># 2010</span> <span id="L93" class="LineNr"> 93 </span> <span class="Delimiter">{</span> <span id="L94" class="LineNr"> 94 </span> <span class="PreProc">break-if->=</span> @@ -162,11 +168,11 @@ if ('onhashchange' in window) { <span id="L104" class="LineNr">104 </span> <span class="Delimiter">}</span> <span id="L105" class="LineNr">105 </span> <span class="muComment"># eyr</span> <span id="L106" class="LineNr">106 </span> <span class="Delimiter">{</span> -<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> eyr?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"eyr"</span> +<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> eyr?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"eyr"</span> <span id="L108" class="LineNr">108 </span> compare eyr?, <span class="Constant">0</span>/false <span id="L109" class="LineNr">109 </span> <span class="PreProc">break-if-=</span> <span id="L110" class="LineNr">110 </span> <span class="muComment"># 2020 <= eyr <= 2030</span> -<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> eyr/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice +<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> eyr/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice <span id="L112" class="LineNr">112 </span> compare eyr, <span class="Constant">0x7e4</span> <span class="muComment"># 2020</span> <span id="L113" class="LineNr">113 </span> <span class="Delimiter">{</span> <span id="L114" class="LineNr">114 </span> <span class="PreProc">break-if->=</span> @@ -182,33 +188,33 @@ if ('onhashchange' in window) { <span id="L124" class="LineNr">124 </span> <span class="Delimiter">}</span> <span id="L125" class="LineNr">125 </span> <span class="muComment"># hgt</span> <span id="L126" class="LineNr">126 </span> <span class="Delimiter">{</span> -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> hgt?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"hgt"</span> +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> hgt?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"hgt"</span> <span id="L128" class="LineNr">128 </span> compare hgt?, <span class="Constant">0</span>/false <span id="L129" class="LineNr">129 </span> <span class="PreProc">break-if-=</span> <span id="L130" class="LineNr">130 </span> <span class="muComment"># convert val</span> <span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> s: (handle array byte) -<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> s2/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s +<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> s2/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s <span id="L133" class="LineNr">133 </span> <a href='../315slice.subx.html#L5'>_slice-to-string</a> val-slice, s2 -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> s3/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> s4/<span class="Constant">ebx</span>: (addr array byte) <span class="Special"><-</span> copy s3 +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> s3/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> s4/<span class="muRegEbx">ebx</span>: (addr array byte) <span class="Special"><-</span> copy s3 <span id="L136" class="LineNr">136 </span> <span class="muComment"># check suffix</span> -<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> start/<span class="Constant">edx</span>: int <span class="Special"><-</span> length s4 +<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> start/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> length s4 <span id="L138" class="LineNr">138 </span> start <span class="Special"><-</span> subtract <span class="Constant">2</span> <span class="muComment"># luckily both 'in' and 'cm' have the same length</span> <span id="L139" class="LineNr">139 </span> <span class="Delimiter">{</span> <span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> suffix-h: (handle array byte) -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> suffix-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address suffix-h +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> suffix-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address suffix-h <span id="L142" class="LineNr">142 </span> <a href='../411string.mu.html#L2'>substring</a> s4, start, <span class="Constant">2</span>, suffix-ah -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> suffix/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *suffix-ah +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> suffix/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *suffix-ah <span id="L144" class="LineNr">144 </span> <span class="Delimiter">{</span> -<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> match?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> suffix, <span class="Constant">"in"</span> +<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> match?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> suffix, <span class="Constant">"in"</span> <span id="L146" class="LineNr">146 </span> compare match?, <span class="Constant">0</span>/false <span id="L147" class="LineNr">147 </span> <span class="PreProc">break-if-=</span> <span id="L148" class="LineNr">148 </span> <span class="muComment"># if suffix is "in", 59 <= val <= 96</span> <span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> num-h: (handle array byte) -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> num-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address num-h +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> num-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address num-h <span id="L151" class="LineNr">151 </span> <a href='../411string.mu.html#L2'>substring</a> s4, <span class="Constant">0</span>, start, num-ah -<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> num/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *num-ah -<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L23'>parse-decimal-int</a> num +<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> num/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *num-ah +<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L23'>parse-decimal-int</a> num <span id="L154" class="LineNr">154 </span> compare val, <span class="Constant">0x3b</span> <span class="muComment"># 59</span> <span id="L155" class="LineNr">155 </span> <span class="Delimiter">{</span> <span id="L156" class="LineNr">156 </span> <span class="PreProc">break-if->=</span> @@ -224,15 +230,15 @@ if ('onhashchange' in window) { <span id="L166" class="LineNr">166 </span> <span class="PreProc">loop</span> $main:word-loop <span id="L167" class="LineNr">167 </span> <span class="Delimiter">}</span> <span id="L168" class="LineNr">168 </span> <span class="Delimiter">{</span> -<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> match?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> suffix, <span class="Constant">"cm"</span> +<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> match?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> suffix, <span class="Constant">"cm"</span> <span id="L170" class="LineNr">170 </span> compare match?, <span class="Constant">0</span>/false <span id="L171" class="LineNr">171 </span> <span class="PreProc">break-if-=</span> <span id="L172" class="LineNr">172 </span> <span class="muComment"># if suffix is "cm", 150 <= val <= 193</span> <span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> num-h: (handle array byte) -<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> num-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address num-h +<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> num-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address num-h <span id="L175" class="LineNr">175 </span> <a href='../411string.mu.html#L2'>substring</a> s4, <span class="Constant">0</span>, start, num-ah -<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> num/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *num-ah -<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L23'>parse-decimal-int</a> num +<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> num/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *num-ah +<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L23'>parse-decimal-int</a> num <span id="L178" class="LineNr">178 </span> compare val, <span class="Constant">0x96</span> <span class="muComment"># 150</span> <span id="L179" class="LineNr">179 </span> <span class="Delimiter">{</span> <span id="L180" class="LineNr">180 </span> <span class="PreProc">break-if->=</span> @@ -254,16 +260,16 @@ if ('onhashchange' in window) { <span id="L196" class="LineNr">196 </span> <span class="Delimiter">}</span> <span id="L197" class="LineNr">197 </span> <span class="muComment"># hcl</span> <span id="L198" class="LineNr">198 </span> <span class="Delimiter">{</span> -<span id="L199" class="LineNr">199 </span> <span class="PreProc">var</span> hcl?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"hcl"</span> +<span id="L199" class="LineNr">199 </span> <span class="PreProc">var</span> hcl?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"hcl"</span> <span id="L200" class="LineNr">200 </span> compare hcl?, <span class="Constant">0</span>/false <span id="L201" class="LineNr">201 </span> <span class="PreProc">break-if-=</span> <span id="L202" class="LineNr">202 </span> <span class="muComment"># convert val</span> <span id="L203" class="LineNr">203 </span> <span class="PreProc">var</span> s: (handle array byte) -<span id="L204" class="LineNr">204 </span> <span class="PreProc">var</span> s2/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s +<span id="L204" class="LineNr">204 </span> <span class="PreProc">var</span> s2/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s <span id="L205" class="LineNr">205 </span> <a href='../315slice.subx.html#L5'>_slice-to-string</a> val-slice, s2 -<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> s3/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 +<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> s3/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 <span id="L207" class="LineNr">207 </span> <span class="muComment"># check length</span> -<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> len/<span class="Constant">ebx</span>: int <span class="Special"><-</span> length s3 +<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> len/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> length s3 <span id="L209" class="LineNr">209 </span> compare len, <span class="Constant">7</span> <span id="L210" class="LineNr">210 </span> <span class="Delimiter">{</span> <span id="L211" class="LineNr">211 </span> <span class="PreProc">break-if-=</span> @@ -273,8 +279,8 @@ if ('onhashchange' in window) { <span id="L215" class="LineNr">215 </span> <span class="Delimiter">}</span> <span id="L216" class="LineNr">216 </span> <span class="muComment"># check first byte</span> <span id="L217" class="LineNr">217 </span> <span class="Delimiter">{</span> -<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: (addr byte) <span class="Special"><-</span> index s3, <span class="Constant">0</span> -<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> c2/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *c +<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: (addr byte) <span class="Special"><-</span> index s3, <span class="Constant">0</span> +<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> c2/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *c <span id="L220" class="LineNr">220 </span> compare c2, <span class="Constant">0x23</span>/hash <span id="L221" class="LineNr">221 </span> <span class="PreProc">break-if-=</span> <span id="L222" class="LineNr">222 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"invalid2\n"</span> @@ -282,14 +288,14 @@ if ('onhashchange' in window) { <span id="L224" class="LineNr">224 </span> <span class="PreProc">loop</span> $main:word-loop <span id="L225" class="LineNr">225 </span> <span class="Delimiter">}</span> <span id="L226" class="LineNr">226 </span> <span class="muComment"># check remaining bytes</span> -<span id="L227" class="LineNr">227 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span class="muComment"># skip 0</span> +<span id="L227" class="LineNr">227 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span class="muComment"># skip 0</span> <span id="L228" class="LineNr">228 </span> <span class="Delimiter">{</span> <span id="L229" class="LineNr">229 </span> compare i, <span class="Constant">7</span> <span id="L230" class="LineNr">230 </span> <span class="PreProc">break-if->=</span> -<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: (addr byte) <span class="Special"><-</span> index s3, i +<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: (addr byte) <span class="Special"><-</span> index s3, i <span id="L232" class="LineNr">232 </span> <span class="Delimiter">{</span> -<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> c2/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *c -<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> valid?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../118parse-hex-int.subx.html#L701'>hex-digit?</a> c2 +<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> c2/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *c +<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> valid?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../118parse-hex-int.subx.html#L701'>hex-digit?</a> c2 <span id="L235" class="LineNr">235 </span> compare valid?, <span class="Constant">0</span> <span id="L236" class="LineNr">236 </span> <span class="PreProc">loop-if-=</span> $main:word-loop <span id="L237" class="LineNr">237 </span> <span class="Delimiter">}</span> @@ -299,28 +305,28 @@ if ('onhashchange' in window) { <span id="L241" class="LineNr">241 </span> <span class="Delimiter">}</span> <span id="L242" class="LineNr">242 </span> <span class="muComment"># ecl</span> <span id="L243" class="LineNr">243 </span> <span class="Delimiter">{</span> -<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> ecl?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"ecl"</span> +<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> ecl?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"ecl"</span> <span id="L245" class="LineNr">245 </span> compare ecl?, <span class="Constant">0</span>/false <span id="L246" class="LineNr">246 </span> <span class="PreProc">break-if-=</span> -<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> amb?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"amb"</span> +<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> amb?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"amb"</span> <span id="L248" class="LineNr">248 </span> compare amb?, <span class="Constant">0</span>/false <span id="L249" class="LineNr">249 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> blu?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"blu"</span> +<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> blu?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"blu"</span> <span id="L251" class="LineNr">251 </span> compare blu?, <span class="Constant">0</span>/false <span id="L252" class="LineNr">252 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> brn?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"brn"</span> +<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> brn?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"brn"</span> <span id="L254" class="LineNr">254 </span> compare brn?, <span class="Constant">0</span>/false <span id="L255" class="LineNr">255 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> gry?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"gry"</span> +<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> gry?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"gry"</span> <span id="L257" class="LineNr">257 </span> compare gry?, <span class="Constant">0</span>/false <span id="L258" class="LineNr">258 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> grn?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"grn"</span> +<span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> grn?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"grn"</span> <span id="L260" class="LineNr">260 </span> compare grn?, <span class="Constant">0</span>/false <span id="L261" class="LineNr">261 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> hzl?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"hzl"</span> +<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> hzl?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"hzl"</span> <span id="L263" class="LineNr">263 </span> compare hzl?, <span class="Constant">0</span>/false <span id="L264" class="LineNr">264 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop -<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> oth?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"oth"</span> +<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> oth?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> val-slice, <span class="Constant">"oth"</span> <span id="L266" class="LineNr">266 </span> compare oth?, <span class="Constant">0</span>/false <span id="L267" class="LineNr">267 </span> <span class="PreProc">loop-if-!=</span> $main:word-loop <span id="L268" class="LineNr">268 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"invalid\n"</span> @@ -328,16 +334,16 @@ if ('onhashchange' in window) { <span id="L270" class="LineNr">270 </span> <span class="Delimiter">}</span> <span id="L271" class="LineNr">271 </span> <span class="muComment"># pid</span> <span id="L272" class="LineNr">272 </span> <span class="Delimiter">{</span> -<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> pid?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"pid"</span> +<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> pid?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../123slice.subx.html#L120'>slice-equal?</a> key-slice, <span class="Constant">"pid"</span> <span id="L274" class="LineNr">274 </span> compare pid?, <span class="Constant">0</span>/false <span id="L275" class="LineNr">275 </span> <span class="PreProc">break-if-=</span> <span id="L276" class="LineNr">276 </span> <span class="muComment"># convert val</span> <span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> s: (handle array byte) -<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> s2/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s +<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> s2/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address s <span id="L279" class="LineNr">279 </span> <a href='../315slice.subx.html#L5'>_slice-to-string</a> val-slice, s2 -<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> s3/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 +<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> s3/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s2 <span id="L281" class="LineNr">281 </span> <span class="muComment"># check length</span> -<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> len/<span class="Constant">eax</span>: int <span class="Special"><-</span> length s3 +<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> len/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length s3 <span id="L283" class="LineNr">283 </span> compare len, <span class="Constant">9</span> <span id="L284" class="LineNr">284 </span> <span class="Delimiter">{</span> <span id="L285" class="LineNr">285 </span> <span class="PreProc">break-if-=</span> @@ -348,7 +354,7 @@ if ('onhashchange' in window) { <span id="L290" class="LineNr">290 </span> <span class="muComment"># check valid decimal int</span> <span id="L291" class="LineNr">291 </span> <span class="muComment"># parse-decimal-int-from-slice currently returns 0 on invalid parse,</span> <span id="L292" class="LineNr">292 </span> <span class="muComment"># which isn't ideal but suffices for our purposes</span> -<span id="L293" class="LineNr">293 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice +<span id="L293" class="LineNr">293 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> val-slice <span id="L294" class="LineNr">294 </span> compare val, <span class="Constant">0</span> <span id="L295" class="LineNr">295 </span> <span class="Delimiter">{</span> <span id="L296" class="LineNr">296 </span> <span class="PreProc">break-if-></span> diff --git a/html/linux/advent2020/5a.mu.html b/html/linux/advent2020/5a.mu.html index ddc8532d..16df9866 100644 --- a/html/linux/advent2020/5a.mu.html +++ b/html/linux/advent2020/5a.mu.html @@ -7,20 +7,25 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } +.muRegEax { color: #875f00; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } -.CommentedCode { color: #8a8a8a; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEdi { color: #87ffd7; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } --> </style> @@ -67,21 +72,21 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr">10 </span> -<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5a.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x10</span>) <span class="muComment"># 16 bytes is enough</span> -<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage -<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> max-seat-id/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> max-seat-id/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L15" class="LineNr">15 </span> <span class="Delimiter">{</span> <span id="L16" class="LineNr">16 </span> <span class="muComment"># read line from stdin</span> <span id="L17" class="LineNr">17 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L18" class="LineNr">18 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L19" class="LineNr">19 </span> <a href='../304screen.subx.html#L147'>print-stream-to-real-screen</a> line <span id="L20" class="LineNr">20 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L22" class="LineNr">22 </span> compare done?, <span class="Constant">0</span>/false <span id="L23" class="LineNr">23 </span> <span class="PreProc">break-if-!=</span> <span id="L24" class="LineNr">24 </span> <span class="muComment"># process line</span> -<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> seat-id/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='5a.mu.html#L38'>convert-from-binary</a> line +<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> seat-id/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='5a.mu.html#L38'>convert-from-binary</a> line <span id="L26" class="LineNr">26 </span> compare seat-id, max-seat-id <span id="L27" class="LineNr">27 </span> <span class="Delimiter">{</span> <span id="L28" class="LineNr">28 </span> <span class="PreProc">break-if-<=</span> @@ -94,20 +99,20 @@ if ('onhashchange' in window) { <span id="L35" class="LineNr">35 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L36" class="LineNr">36 </span><span class="Delimiter">}</span> <span id="L37" class="LineNr">37 </span> -<span id="L38" class="LineNr">38 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5a.mu.html#L38'>convert-from-binary</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> <span class="muComment"># loop counter and also exponent</span> +<span id="L38" class="LineNr">38 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5a.mu.html#L38'>convert-from-binary</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> <span class="muComment"># loop counter and also exponent</span> <span id="L41" class="LineNr">41 </span> <span class="Delimiter">{</span> <span id="L42" class="LineNr">42 </span> compare i, <span class="Constant">0</span> <span id="L43" class="LineNr">43 </span> <span class="PreProc">break-if-<</span> -<span id="L44" class="LineNr">44 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> in +<span id="L44" class="LineNr">44 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> in <span id="L45" class="LineNr">45 </span><span class="CommentedCode">#? print-string 0, "char: "</span> <span id="L46" class="LineNr">46 </span><span class="CommentedCode">#? {</span> <span id="L47" class="LineNr">47 </span><span class="CommentedCode">#? var c2/eax: int <- copy c</span> <span id="L48" class="LineNr">48 </span><span class="CommentedCode">#? print-int32-hex 0, c2</span> <span id="L49" class="LineNr">49 </span><span class="CommentedCode">#? }</span> <span id="L50" class="LineNr">50 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> bit/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> bit/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L52" class="LineNr">52 </span> <span class="Delimiter">{</span> <span id="L53" class="LineNr">53 </span> compare c, <span class="Constant">0x42</span>/B <span id="L54" class="LineNr">54 </span> <span class="PreProc">break-if-!=</span> @@ -121,7 +126,7 @@ if ('onhashchange' in window) { <span id="L62" class="LineNr">62 </span><span class="CommentedCode">#? print-string 0, "bit: "</span> <span id="L63" class="LineNr">63 </span><span class="CommentedCode">#? print-int32-decimal 0, bit</span> <span id="L64" class="LineNr">64 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L65" class="LineNr">65 </span> <span class="PreProc">var</span> bit-value/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../406int32.mu.html#L5'>repeated-shift-left</a> bit, i +<span id="L65" class="LineNr">65 </span> <span class="PreProc">var</span> bit-value/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../406int32.mu.html#L5'>repeated-shift-left</a> bit, i <span id="L66" class="LineNr">66 </span><span class="CommentedCode">#? print-string 0, "bit value: "</span> <span id="L67" class="LineNr">67 </span><span class="CommentedCode">#? print-int32-decimal 0, bit-value</span> <span id="L68" class="LineNr">68 </span><span class="CommentedCode">#? print-string 0, "\n"</span> diff --git a/html/linux/advent2020/5b.mu.html b/html/linux/advent2020/5b.mu.html index 04f53ae0..80f542e4 100644 --- a/html/linux/advent2020/5b.mu.html +++ b/html/linux/advent2020/5b.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdi { color: #87ffd7; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -66,32 +72,32 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># You'll need to register to download the 'input' file for yourself.</span> <span id="L10" class="LineNr">10 </span> -<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5b.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> pass-storage: (array int <span class="Constant">0x400</span>) <span class="muComment"># 1k ints</span> -<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> pass/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> address pass-storage +<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> pass/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> address pass-storage <span id="L14" class="LineNr">14 </span> <span class="muComment"># phase 1: populate pass array</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x10</span>) <span class="muComment"># 16 bytes is enough</span> -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> line/<span class="Constant">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> line/<span class="muRegEdx">edx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L17" class="LineNr">17 </span> <span class="Delimiter">{</span> <span id="L18" class="LineNr">18 </span> <span class="muComment"># read line from stdin</span> <span id="L19" class="LineNr">19 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> line <span id="L20" class="LineNr">20 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> line <span id="L21" class="LineNr">21 </span> <span class="muComment"># if line is empty (not even a newline), quit</span> -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> line <span id="L23" class="LineNr">23 </span> compare done?, <span class="Constant">0</span>/false <span id="L24" class="LineNr">24 </span> <span class="PreProc">break-if-!=</span> <span id="L25" class="LineNr">25 </span> <span class="muComment"># process line</span> -<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> seat-id/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='5b.mu.html#L57'>convert-from-binary</a> line -<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index pass, seat-id +<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> seat-id/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='5b.mu.html#L57'>convert-from-binary</a> line +<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index pass, seat-id <span id="L28" class="LineNr">28 </span> copy-to *dest, <span class="Constant">1</span> <span id="L29" class="LineNr">29 </span> <span class="PreProc">loop</span> <span id="L30" class="LineNr">30 </span> <span class="Delimiter">}</span> <span id="L31" class="LineNr">31 </span> <span class="muComment"># phase 2: skip empty seats</span> -<span id="L32" class="LineNr">32 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L32" class="LineNr">32 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L33" class="LineNr">33 </span> <span class="Delimiter">{</span> <span id="L34" class="LineNr">34 </span> compare i, <span class="Constant">0x400</span> <span id="L35" class="LineNr">35 </span> <span class="PreProc">break-if->=</span> -<span id="L36" class="LineNr">36 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> index pass, i +<span id="L36" class="LineNr">36 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> index pass, i <span id="L37" class="LineNr">37 </span> compare *src, <span class="Constant">0</span> <span id="L38" class="LineNr">38 </span> <span class="PreProc">break-if-!=</span> <span id="L39" class="LineNr">39 </span> i <span class="Special"><-</span> increment @@ -101,7 +107,7 @@ if ('onhashchange' in window) { <span id="L43" class="LineNr">43 </span> <span class="Delimiter">{</span> <span id="L44" class="LineNr">44 </span> compare i, <span class="Constant">0x400</span> <span id="L45" class="LineNr">45 </span> <span class="PreProc">break-if->=</span> -<span id="L46" class="LineNr">46 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> index pass, i +<span id="L46" class="LineNr">46 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> index pass, i <span id="L47" class="LineNr">47 </span> compare *src, <span class="Constant">0</span> <span id="L48" class="LineNr">48 </span> <span class="PreProc">break-if-=</span> <span id="L49" class="LineNr">49 </span> i <span class="Special"><-</span> increment @@ -112,14 +118,14 @@ if ('onhashchange' in window) { <span id="L54" class="LineNr">54 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L55" class="LineNr">55 </span><span class="Delimiter">}</span> <span id="L56" class="LineNr">56 </span> -<span id="L57" class="LineNr">57 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5b.mu.html#L57'>convert-from-binary</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L58" class="LineNr">58 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L59" class="LineNr">59 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> <span class="muComment"># loop counter and also exponent</span> +<span id="L57" class="LineNr">57 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='5b.mu.html#L57'>convert-from-binary</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L58" class="LineNr">58 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L59" class="LineNr">59 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> <span class="muComment"># loop counter and also exponent</span> <span id="L60" class="LineNr">60 </span> <span class="Delimiter">{</span> <span id="L61" class="LineNr">61 </span> compare i, <span class="Constant">0</span> <span id="L62" class="LineNr">62 </span> <span class="PreProc">break-if-<</span> -<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> in -<span id="L64" class="LineNr">64 </span> <span class="PreProc">var</span> bit/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> in +<span id="L64" class="LineNr">64 </span> <span class="PreProc">var</span> bit/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L65" class="LineNr">65 </span> <span class="Delimiter">{</span> <span id="L66" class="LineNr">66 </span> compare c, <span class="Constant">0x42</span>/B <span id="L67" class="LineNr">67 </span> <span class="PreProc">break-if-!=</span> @@ -130,7 +136,7 @@ if ('onhashchange' in window) { <span id="L72" class="LineNr">72 </span> <span class="PreProc">break-if-!=</span> <span id="L73" class="LineNr">73 </span> bit <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L74" class="LineNr">74 </span> <span class="Delimiter">}</span> -<span id="L75" class="LineNr">75 </span> <span class="PreProc">var</span> bit-value/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../406int32.mu.html#L5'>repeated-shift-left</a> bit, i +<span id="L75" class="LineNr">75 </span> <span class="PreProc">var</span> bit-value/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../406int32.mu.html#L5'>repeated-shift-left</a> bit, i <span id="L76" class="LineNr">76 </span> result <span class="Special"><-</span> add bit-value <span id="L77" class="LineNr">77 </span> i <span class="Special"><-</span> decrement <span id="L78" class="LineNr">78 </span> <span class="PreProc">loop</span> diff --git a/html/linux/arith.mu.html b/html/linux/arith.mu.html index 79b81978..6c195bf7 100644 --- a/html/linux/arith.mu.html +++ b/html/linux/arith.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -90,10 +96,10 @@ if ('onhashchange' in window) { <span id="L31" class="LineNr"> 31 </span><span class="muComment">#</span> <span id="L32" class="LineNr"> 32 </span><span class="muComment"># Error handling is non-existent. This is just a prototype.</span> <span id="L33" class="LineNr"> 33 </span> -<span id="L34" class="LineNr"> 34 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L34'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L34" class="LineNr"> 34 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L34'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L35" class="LineNr"> 35 </span> <a href='305keyboard.subx.html#L6'>enable-keyboard-immediate-mode</a> -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span class="muComment"># lookahead</span> -<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span class="muComment"># result of each expression</span> +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span class="muComment"># lookahead</span> +<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span class="muComment"># result of each expression</span> <span id="L38" class="LineNr"> 38 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"press ctrl-c or ctrl-d to exit\n"</span> <span id="L39" class="LineNr"> 39 </span> <span class="muComment"># read-eval-print loop</span> <span id="L40" class="LineNr"> 40 </span> <span class="Delimiter">{</span> @@ -114,36 +120,36 @@ if ('onhashchange' in window) { <span id="L55" class="LineNr"> 55 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L56" class="LineNr"> 56 </span><span class="Delimiter">}</span> <span id="L57" class="LineNr"> 57 </span> -<span id="L58" class="LineNr"> 58 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L58'>simplify</a></span><span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L58" class="LineNr"> 58 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L58'>simplify</a></span><span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> <span id="L59" class="LineNr"> 59 </span> <span class="muComment"># prime the pump</span> -<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> +<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> <span id="L61" class="LineNr"> 61 </span> <span class="muComment"># do it</span> -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L63" class="LineNr"> 63 </span> result, look <span class="Special"><-</span> <a href='arith.mu.html#L67'>expression</a> look <span id="L64" class="LineNr"> 64 </span> <span class="PreProc">return</span> result, look <span id="L65" class="LineNr"> 65 </span><span class="Delimiter">}</span> <span id="L66" class="LineNr"> 66 </span> -<span id="L67" class="LineNr"> 67 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L67'>expression</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy _look +<span id="L67" class="LineNr"> 67 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L67'>expression</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy _look <span id="L69" class="LineNr"> 69 </span> <span class="muComment"># read arg</span> -<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L71" class="LineNr"> 71 </span> result, look <span class="Special"><-</span> <a href='arith.mu.html#L112'>term</a> look <span id="L72" class="LineNr"> 72 </span> $expression:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L73" class="LineNr"> 73 </span> <span class="muComment"># while next non-space char in ['+', '-']</span> <span id="L74" class="LineNr"> 74 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L75" class="LineNr"> 75 </span> <span class="Delimiter">{</span> -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> continue?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='arith.mu.html#L191'>add-or-sub?</a> look +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> continue?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='arith.mu.html#L191'>add-or-sub?</a> look <span id="L77" class="LineNr"> 77 </span> compare continue?, <span class="Constant">0</span>/false <span id="L78" class="LineNr"> 78 </span> <span class="PreProc">break-if-=</span> $expression:<span class="PreProc">loop</span> <span id="L79" class="LineNr"> 79 </span> <span class="Delimiter">}</span> <span id="L80" class="LineNr"> 80 </span> <span class="muComment"># read operator</span> -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> op/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> op/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L82" class="LineNr"> 82 </span> op, look <span class="Special"><-</span> operator look <span id="L83" class="LineNr"> 83 </span> <span class="muComment"># read next arg</span> -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> second/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> second/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L85" class="LineNr"> 85 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L86" class="LineNr"> 86 </span> <span class="Delimiter">{</span> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L88" class="LineNr"> 88 </span> tmp, look <span class="Special"><-</span> <a href='arith.mu.html#L112'>term</a> look <span id="L89" class="LineNr"> 89 </span> second <span class="Special"><-</span> copy tmp <span id="L90" class="LineNr"> 90 </span> <span class="Delimiter">}</span> @@ -168,28 +174,28 @@ if ('onhashchange' in window) { <span id="L109" class="LineNr">109 </span> <span class="PreProc">return</span> result, look <span id="L110" class="LineNr">110 </span><span class="Delimiter">}</span> <span id="L111" class="LineNr">111 </span> -<span id="L112" class="LineNr">112 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L112'>term</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy _look +<span id="L112" class="LineNr">112 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L112'>term</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy _look <span id="L114" class="LineNr">114 </span> <span class="muComment"># read arg</span> <span id="L115" class="LineNr">115 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look -<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L117" class="LineNr">117 </span> result, look <span class="Special"><-</span> <a href='arith.mu.html#L157'>factor</a> look <span id="L118" class="LineNr">118 </span> $term:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L119" class="LineNr">119 </span> <span class="muComment"># while next non-space char in ['*', '/']</span> <span id="L120" class="LineNr">120 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L121" class="LineNr">121 </span> <span class="Delimiter">{</span> -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> continue?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='arith.mu.html#L177'>mul-or-div?</a> look +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> continue?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='arith.mu.html#L177'>mul-or-div?</a> look <span id="L123" class="LineNr">123 </span> compare continue?, <span class="Constant">0</span>/false <span id="L124" class="LineNr">124 </span> <span class="PreProc">break-if-=</span> $term:<span class="PreProc">loop</span> <span id="L125" class="LineNr">125 </span> <span class="Delimiter">}</span> <span id="L126" class="LineNr">126 </span> <span class="muComment"># read operator</span> -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> op/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> op/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L128" class="LineNr">128 </span> op, look <span class="Special"><-</span> operator look <span id="L129" class="LineNr">129 </span> <span class="muComment"># read next arg</span> -<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> second/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> second/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L131" class="LineNr">131 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L132" class="LineNr">132 </span> <span class="Delimiter">{</span> -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L134" class="LineNr">134 </span> tmp, look <span class="Special"><-</span> <a href='arith.mu.html#L157'>factor</a> look <span id="L135" class="LineNr">135 </span> second <span class="Special"><-</span> copy tmp <span id="L136" class="LineNr">136 </span> <span class="Delimiter">}</span> @@ -213,27 +219,27 @@ if ('onhashchange' in window) { <span id="L154" class="LineNr">154 </span> <span class="PreProc">return</span> result, look <span id="L155" class="LineNr">155 </span><span class="Delimiter">}</span> <span id="L156" class="LineNr">156 </span> -<span id="L157" class="LineNr">157 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L157'>factor</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy _look <span class="muComment"># should be a no-op</span> +<span id="L157" class="LineNr">157 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L157'>factor</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy _look <span class="muComment"># should be a no-op</span> <span id="L159" class="LineNr">159 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L160" class="LineNr">160 </span> <span class="muComment"># if next char is not '(', parse a number</span> <span id="L161" class="LineNr">161 </span> compare look, <span class="Constant">0x28</span>/open-paren <span id="L162" class="LineNr">162 </span> <span class="Delimiter">{</span> <span id="L163" class="LineNr">163 </span> <span class="PreProc">break-if-=</span> -<span id="L164" class="LineNr">164 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L164" class="LineNr">164 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L165" class="LineNr">165 </span> result, look <span class="Special"><-</span> <a href='arith.mu.html#L211'>num</a> look <span id="L166" class="LineNr">166 </span> <span class="PreProc">return</span> result, look <span id="L167" class="LineNr">167 </span> <span class="Delimiter">}</span> <span id="L168" class="LineNr">168 </span> <span class="muComment"># otherwise recurse</span> <span id="L169" class="LineNr">169 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> <span class="muComment"># '('</span> -<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L171" class="LineNr">171 </span> result, look <span class="Special"><-</span> <a href='arith.mu.html#L67'>expression</a> look <span id="L172" class="LineNr">172 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L237'>skip-spaces</a> look <span id="L173" class="LineNr">173 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> <span class="muComment"># ')'</span> <span id="L174" class="LineNr">174 </span> <span class="PreProc">return</span> result, look <span id="L175" class="LineNr">175 </span><span class="Delimiter">}</span> <span id="L176" class="LineNr">176 </span> -<span id="L177" class="LineNr">177 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L177'>mul-or-div?</a></span> c: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L177" class="LineNr">177 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L177'>mul-or-div?</a></span> c: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> <span id="L178" class="LineNr">178 </span> compare c, <span class="Constant">0x2a</span>/* <span id="L179" class="LineNr">179 </span> <span class="Delimiter">{</span> <span id="L180" class="LineNr">180 </span> <span class="PreProc">break-if-!=</span> @@ -247,7 +253,7 @@ if ('onhashchange' in window) { <span id="L188" class="LineNr">188 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L189" class="LineNr">189 </span><span class="Delimiter">}</span> <span id="L190" class="LineNr">190 </span> -<span id="L191" class="LineNr">191 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L191'>add-or-sub?</a></span> c: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L191" class="LineNr">191 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L191'>add-or-sub?</a></span> c: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> <span id="L192" class="LineNr">192 </span> compare c, <span class="Constant">0x2b</span>/+ <span id="L193" class="LineNr">193 </span> <span class="Delimiter">{</span> <span id="L194" class="LineNr">194 </span> <span class="PreProc">break-if-!=</span> @@ -261,40 +267,40 @@ if ('onhashchange' in window) { <span id="L202" class="LineNr">202 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L203" class="LineNr">203 </span><span class="Delimiter">}</span> <span id="L204" class="LineNr">204 </span> -<span id="L205" class="LineNr">205 </span><span class="PreProc">fn</span> <span class="muFunction">operator</span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: grapheme, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> op/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy _look -<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> +<span id="L205" class="LineNr">205 </span><span class="PreProc">fn</span> <span class="muFunction">operator</span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: grapheme, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> op/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy _look +<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> <span id="L208" class="LineNr">208 </span> <span class="PreProc">return</span> op, look <span id="L209" class="LineNr">209 </span><span class="Delimiter">}</span> <span id="L210" class="LineNr">210 </span> -<span id="L211" class="LineNr">211 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L211'>num</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int, _/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L212" class="LineNr">212 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy _look -<span id="L213" class="LineNr">213 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L211" class="LineNr">211 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L211'>num</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int, _/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L212" class="LineNr">212 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy _look +<span id="L213" class="LineNr">213 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L214" class="LineNr">214 </span> <span class="Delimiter">{</span> -<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> first-digit/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> look +<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> first-digit/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> look <span id="L216" class="LineNr">216 </span> result <span class="Special"><-</span> copy first-digit <span id="L217" class="LineNr">217 </span> <span class="Delimiter">}</span> <span id="L218" class="LineNr">218 </span> <span class="Delimiter">{</span> <span id="L219" class="LineNr">219 </span> look <span class="Special"><-</span> <a href='arith.mu.html#L248'>get-char</a> <span id="L220" class="LineNr">220 </span> <span class="muComment"># done?</span> -<span id="L221" class="LineNr">221 </span> <span class="PreProc">var</span> digit?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L306'>decimal-digit?</a> look +<span id="L221" class="LineNr">221 </span> <span class="PreProc">var</span> digit?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L306'>decimal-digit?</a> look <span id="L222" class="LineNr">222 </span> compare digit?, <span class="Constant">0</span>/false <span id="L223" class="LineNr">223 </span> <span class="PreProc">break-if-=</span> <span id="L224" class="LineNr">224 </span> <span class="muComment"># result *= 10</span> <span id="L225" class="LineNr">225 </span> <span class="Delimiter">{</span> -<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> ten/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> +<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> ten/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> <span id="L227" class="LineNr">227 </span> result <span class="Special"><-</span> multiply ten <span id="L228" class="LineNr">228 </span> <span class="Delimiter">}</span> <span id="L229" class="LineNr">229 </span> <span class="muComment"># result += digit(look)</span> -<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> digit/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> look +<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> digit/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> look <span id="L231" class="LineNr">231 </span> result <span class="Special"><-</span> add digit <span id="L232" class="LineNr">232 </span> <span class="PreProc">loop</span> <span id="L233" class="LineNr">233 </span> <span class="Delimiter">}</span> <span id="L234" class="LineNr">234 </span> <span class="PreProc">return</span> result, look <span id="L235" class="LineNr">235 </span><span class="Delimiter">}</span> <span id="L236" class="LineNr">236 </span> -<span id="L237" class="LineNr">237 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L237'>skip-spaces</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> look/<span class="Constant">esi</span>: grapheme <span class="Special"><-</span> copy _look <span class="muComment"># should be a no-op</span> +<span id="L237" class="LineNr">237 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L237'>skip-spaces</a></span> _look: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> look/<span class="muRegEsi">esi</span>: grapheme <span class="Special"><-</span> copy _look <span class="muComment"># should be a no-op</span> <span id="L239" class="LineNr">239 </span> <span class="Delimiter">{</span> <span id="L240" class="LineNr">240 </span> compare look, <span class="Constant">0x20</span> <span id="L241" class="LineNr">241 </span> <span class="PreProc">break-if-!=</span> @@ -304,8 +310,8 @@ if ('onhashchange' in window) { <span id="L245" class="LineNr">245 </span> <span class="PreProc">return</span> look <span id="L246" class="LineNr">246 </span><span class="Delimiter">}</span> <span id="L247" class="LineNr">247 </span> -<span id="L248" class="LineNr">248 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L248'>get-char</a></span><span class="PreProc"> -> </span>_/<span class="Constant">esi</span>: grapheme <span class="Delimiter">{</span> -<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> look/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> +<span id="L248" class="LineNr">248 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='arith.mu.html#L248'>get-char</a></span><span class="PreProc"> -> </span>_/<span class="muRegEsi">esi</span>: grapheme <span class="Delimiter">{</span> +<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> look/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> <span id="L250" class="LineNr">250 </span> <a href='304screen.subx.html#L161'>print-grapheme-to-real-screen</a> look <span id="L251" class="LineNr">251 </span> compare look, <span class="Constant">4</span> <span id="L252" class="LineNr">252 </span> <span class="Delimiter">{</span> diff --git a/html/linux/assort.subx.html b/html/linux/assort.subx.html index 7d93c9cb..b31eb951 100644 --- a/html/linux/assort.subx.html +++ b/html/linux/assort.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } --> diff --git a/html/linux/bootstrap/000organization.cc.html b/html/linux/bootstrap/000organization.cc.html index 39037708..269fe12f 100644 --- a/html/linux/bootstrap/000organization.cc.html +++ b/html/linux/bootstrap/000organization.cc.html @@ -7,20 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } .Delimiter { color: #c000c0; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.cSpecial { color: #008000; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Constant { color: #008787; } -.cSpecial { color: #008000; } .Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/001help.cc.html b/html/linux/bootstrap/001help.cc.html index a6f63132..df47ab21 100644 --- a/html/linux/bootstrap/001help.cc.html +++ b/html/linux/bootstrap/001help.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } diff --git a/html/linux/bootstrap/002test.cc.html b/html/linux/bootstrap/002test.cc.html index 9d78fde7..a47b998c 100644 --- a/html/linux/bootstrap/002test.cc.html +++ b/html/linux/bootstrap/002test.cc.html @@ -7,22 +7,22 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.cSpecial { color: #008000; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } -.cSpecial { color: #008000; } -.Identifier { color: #af5f00; } .CommentedCode { color: #8a8a8a; } +.Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/003trace.cc.html b/html/linux/bootstrap/003trace.cc.html index f9f8dc7b..88ecd723 100644 --- a/html/linux/bootstrap/003trace.cc.html +++ b/html/linux/bootstrap/003trace.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .cSpecial { color: #008000; } .Constant { color: #008787; } diff --git a/html/linux/bootstrap/003trace.test.cc.html b/html/linux/bootstrap/003trace.test.cc.html index 4f368a50..91507f71 100644 --- a/html/linux/bootstrap/003trace.test.cc.html +++ b/html/linux/bootstrap/003trace.test.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/bootstrap/010vm.cc.html b/html/linux/bootstrap/010vm.cc.html index 3fce4515..e6ca03e7 100644 --- a/html/linux/bootstrap/010vm.cc.html +++ b/html/linux/bootstrap/010vm.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/bootstrap/011run.cc.html b/html/linux/bootstrap/011run.cc.html index 5d393b24..f1ffbb3b 100644 --- a/html/linux/bootstrap/011run.cc.html +++ b/html/linux/bootstrap/011run.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/012elf.cc.html b/html/linux/bootstrap/012elf.cc.html index 415e88e0..65fd0aea 100644 --- a/html/linux/bootstrap/012elf.cc.html +++ b/html/linux/bootstrap/012elf.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/013direct_addressing.cc.html b/html/linux/bootstrap/013direct_addressing.cc.html index 8b0db1dd..449aedce 100644 --- a/html/linux/bootstrap/013direct_addressing.cc.html +++ b/html/linux/bootstrap/013direct_addressing.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/014indirect_addressing.cc.html b/html/linux/bootstrap/014indirect_addressing.cc.html index 02e76614..8b2447f4 100644 --- a/html/linux/bootstrap/014indirect_addressing.cc.html +++ b/html/linux/bootstrap/014indirect_addressing.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/015immediate_addressing.cc.html b/html/linux/bootstrap/015immediate_addressing.cc.html index 4ef0974b..916dcae7 100644 --- a/html/linux/bootstrap/015immediate_addressing.cc.html +++ b/html/linux/bootstrap/015immediate_addressing.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/016index_addressing.cc.html b/html/linux/bootstrap/016index_addressing.cc.html index 3092a608..593549c3 100644 --- a/html/linux/bootstrap/016index_addressing.cc.html +++ b/html/linux/bootstrap/016index_addressing.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/bootstrap/017jump_disp8.cc.html b/html/linux/bootstrap/017jump_disp8.cc.html index 97457a1f..f60d02c7 100644 --- a/html/linux/bootstrap/017jump_disp8.cc.html +++ b/html/linux/bootstrap/017jump_disp8.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/018jump_disp32.cc.html b/html/linux/bootstrap/018jump_disp32.cc.html index 2ff5010c..71324789 100644 --- a/html/linux/bootstrap/018jump_disp32.cc.html +++ b/html/linux/bootstrap/018jump_disp32.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/019functions.cc.html b/html/linux/bootstrap/019functions.cc.html index 7f7fde81..a65bb9b8 100644 --- a/html/linux/bootstrap/019functions.cc.html +++ b/html/linux/bootstrap/019functions.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/020byte_addressing.cc.html b/html/linux/bootstrap/020byte_addressing.cc.html index f4d88d23..11e40d47 100644 --- a/html/linux/bootstrap/020byte_addressing.cc.html +++ b/html/linux/bootstrap/020byte_addressing.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/bootstrap/021div.cc.html b/html/linux/bootstrap/021div.cc.html index b2717557..ac4c4950 100644 --- a/html/linux/bootstrap/021div.cc.html +++ b/html/linux/bootstrap/021div.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/022float.cc.html b/html/linux/bootstrap/022float.cc.html index c41a2d43..172d35f2 100644 --- a/html/linux/bootstrap/022float.cc.html +++ b/html/linux/bootstrap/022float.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/029syscalls.cc.html b/html/linux/bootstrap/029syscalls.cc.html index b322dd67..97883321 100644 --- a/html/linux/bootstrap/029syscalls.cc.html +++ b/html/linux/bootstrap/029syscalls.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/030translate.cc.html b/html/linux/bootstrap/030translate.cc.html index 450106ad..4236b28c 100644 --- a/html/linux/bootstrap/030translate.cc.html +++ b/html/linux/bootstrap/030translate.cc.html @@ -7,18 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } .SalientComment { color: #0000af; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/bootstrap/031transforms.cc.html b/html/linux/bootstrap/031transforms.cc.html index 51283f7d..723e0891 100644 --- a/html/linux/bootstrap/031transforms.cc.html +++ b/html/linux/bootstrap/031transforms.cc.html @@ -7,16 +7,16 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } --> diff --git a/html/linux/bootstrap/032operands.cc.html b/html/linux/bootstrap/032operands.cc.html index 4477feae..1080e223 100644 --- a/html/linux/bootstrap/032operands.cc.html +++ b/html/linux/bootstrap/032operands.cc.html @@ -7,15 +7,15 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } .Comment { color: #005faf; } diff --git a/html/linux/bootstrap/033check_operands.cc.html b/html/linux/bootstrap/033check_operands.cc.html index 5b308f17..580d4203 100644 --- a/html/linux/bootstrap/033check_operands.cc.html +++ b/html/linux/bootstrap/033check_operands.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -20,7 +20,7 @@ a { color:inherit; } .SalientComment { color: #0000af; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .Identifier { color: #af5f00; } .PreProc { color: #c000c0; } @@ -100,7 +100,7 @@ if ('onhashchange' in window) { <span id="L39" class="LineNr"> 39 </span><span class="Delimiter">}</span> <span id="L40" class="LineNr"> 40 </span> <span id="L41" class="LineNr"> 41 </span><a href='011run.cc.html#L127'>word</a> <a href='033check_operands.cc.html#L41'>preprocess_op</a><span class="Delimiter">(</span><a href='011run.cc.html#L127'>word</a><span class="Comment">/*</span><span class="Comment">copy</span><span class="Comment">*/</span> op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L42" class="LineNr"> 42 </span> op<span class="Delimiter">.</span>data = <a href='033check_operands.cc.html#L778'>tolower</a><span class="Delimiter">(</span>op<span class="Delimiter">.</span>data<span class="Delimiter">.</span>c_str<span class="Delimiter">());</span> +<span id="L42" class="LineNr"> 42 </span> op<span class="Delimiter">.</span>data = <a href='033check_operands.cc.html#L779'>tolower</a><span class="Delimiter">(</span>op<span class="Delimiter">.</span>data<span class="Delimiter">.</span>c_str<span class="Delimiter">());</span> <span id="L43" class="LineNr"> 43 </span> <span class="Comment">// opcodes can't be negative</span> <span id="L44" class="LineNr"> 44 </span> <span class="Normal">if</span> <span class="Delimiter">(</span><a href='001help.cc.html#L104'>starts_with</a><span class="Delimiter">(</span>op<span class="Delimiter">.</span>data<span class="Delimiter">,</span> <span class="Constant">"0x"</span><span class="Delimiter">))</span> <span id="L45" class="LineNr"> 45 </span> op<span class="Delimiter">.</span>data = op<span class="Delimiter">.</span>data<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">2</span><span class="Delimiter">);</span> @@ -693,7 +693,7 @@ if ('onhashchange' in window) { <span id="L632" class="LineNr">632 </span> <a href='011run.cc.html#L127'>word</a> op = <a href='033check_operands.cc.html#L41'>preprocess_op</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span><a href='011run.cc.html#L122'>words</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">1</span><span class="Delimiter">));</span> <span id="L633" class="LineNr">633 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>op<span class="Delimiter">.</span>data == <span class="Constant">"0f"</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L634" class="LineNr">634 </span> <a href='011run.cc.html#L127'>word</a> op2 = <a href='033check_operands.cc.html#L41'>preprocess_op</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span><a href='011run.cc.html#L122'>words</a><span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">2</span><span class="Delimiter">));</span> -<span id="L635" class="LineNr">635 </span> <a href='033check_operands.cc.html#L743'>check_arguments_f3_0f</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op2<span class="Delimiter">);</span> +<span id="L635" class="LineNr">635 </span> <a href='033check_operands.cc.html#L744'>check_arguments_f3_0f</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op2<span class="Delimiter">);</span> <span id="L636" class="LineNr">636 </span> <span class="Identifier">return</span><span class="Delimiter">;</span> <span id="L637" class="LineNr">637 </span> <span class="Delimiter">}</span> <span id="L638" class="LineNr">638 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L357'>Name_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Delimiter">{</span> @@ -728,127 +728,128 @@ if ('onhashchange' in window) { <span id="L667" class="LineNr">667 </span><span class="SalientComment">//// Class D: just op and disp32</span> <span id="L668" class="LineNr">668 </span><span class="Comment">// imm32 imm8 disp32 |disp16 disp8 subop modrm</span> <span id="L669" class="LineNr">669 </span><span class="Comment">// 0 0 1 |0 0 0 0</span> -<span id="L670" class="LineNr">670 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"82"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L671" class="LineNr">671 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"83"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L672" class="LineNr">672 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"84"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L673" class="LineNr">673 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"85"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L674" class="LineNr">674 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"86"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L675" class="LineNr">675 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"87"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L676" class="LineNr">676 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8c"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L677" class="LineNr">677 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8d"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L678" class="LineNr">678 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8e"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L679" class="LineNr">679 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8f"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> -<span id="L680" class="LineNr">680 </span> -<span id="L681" class="LineNr">681 </span><span class="SalientComment">//// Class M: using ModR/M byte</span> -<span id="L682" class="LineNr">682 </span><span class="Comment">// imm32 imm8 disp32 |disp16 disp8 subop modrm</span> -<span id="L683" class="LineNr">683 </span><span class="Comment">// 0 0 0 |0 0 0 1</span> -<span id="L684" class="LineNr">684 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"2f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// compare floats</span> -<span id="L685" class="LineNr">685 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"af"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// multiply ints</span> -<span id="L686" class="LineNr">686 </span><span class="Comment">// setcc</span> -<span id="L687" class="LineNr">687 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"92"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L688" class="LineNr">688 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"93"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L689" class="LineNr">689 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"94"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L690" class="LineNr">690 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"95"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L691" class="LineNr">691 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"96"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L692" class="LineNr">692 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"97"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L693" class="LineNr">693 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L694" class="LineNr">694 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L695" class="LineNr">695 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9e"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L696" class="LineNr">696 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> -<span id="L697" class="LineNr">697 </span> -<span id="L698" class="LineNr">698 </span><span class="Delimiter">:(before "End Globals")</span> -<span id="L699" class="LineNr">699 </span>map<<span class="Comment">/*</span><span class="Comment">op</span><span class="Comment">*/</span>string<span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">bitvector</span><span class="Comment">*/</span><span class="Normal">uint8_t</span>> <a href='033check_operands.cc.html#L699'>Permitted_arguments_f3</a><span class="Delimiter">;</span> -<span id="L700" class="LineNr">700 </span>map<<span class="Comment">/*</span><span class="Comment">op</span><span class="Comment">*/</span>string<span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">bitvector</span><span class="Comment">*/</span><span class="Normal">uint8_t</span>> <a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">;</span> -<span id="L701" class="LineNr">701 </span><span class="Delimiter">:(before "End Init Permitted Operands")</span> -<span id="L702" class="LineNr">702 </span><span class="SalientComment">//// Class M: using ModR/M byte</span> -<span id="L703" class="LineNr">703 </span><span class="Comment">// imm32 imm8 disp32 |disp16 disp8 subop modrm</span> -<span id="L704" class="LineNr">704 </span><span class="Comment">// 0 0 0 |0 0 0 1</span> -<span id="L705" class="LineNr">705 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"10"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// copy xm32 to x32</span> -<span id="L706" class="LineNr">706 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"11"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// copy x32 to xm32</span> -<span id="L707" class="LineNr">707 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2a"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// convert-to-float</span> -<span id="L708" class="LineNr">708 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// truncate-to-int</span> -<span id="L709" class="LineNr">709 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// convert-to-int</span> -<span id="L710" class="LineNr">710 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"51"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// square root</span> -<span id="L711" class="LineNr">711 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"52"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// inverse square root</span> -<span id="L712" class="LineNr">712 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"53"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// reciprocal</span> -<span id="L713" class="LineNr">713 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"58"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// add floats</span> -<span id="L714" class="LineNr">714 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"59"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// multiply floats</span> -<span id="L715" class="LineNr">715 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// subtract floats</span> -<span id="L716" class="LineNr">716 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// minimum of floats</span> -<span id="L717" class="LineNr">717 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5e"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// divide floats</span> -<span id="L718" class="LineNr">718 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// maximum of floats</span> -<span id="L719" class="LineNr">719 </span> -<span id="L720" class="LineNr">720 </span><span class="Delimiter">:(code)</span> -<span id="L721" class="LineNr">721 </span><span class="Normal">void</span> check_arguments_0f<span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L722" class="LineNr">722 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L723" class="LineNr">723 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> -<span id="L724" class="LineNr">724 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> -<span id="L725" class="LineNr">725 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L754'>maybe_name_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L726" class="LineNr">726 </span> <span class="Delimiter">}</span> -<span id="L727" class="LineNr">727 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> -<span id="L728" class="LineNr">728 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L754'>maybe_name_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L729" class="LineNr">729 </span> <span class="Delimiter">}</span> -<span id="L730" class="LineNr">730 </span><span class="Delimiter">}</span> -<span id="L731" class="LineNr">731 </span> -<span id="L732" class="LineNr">732 </span><span class="Normal">void</span> check_arguments_f3<span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L733" class="LineNr">733 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L699'>Permitted_arguments_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L734" class="LineNr">734 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> -<span id="L735" class="LineNr">735 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> -<span id="L736" class="LineNr">736 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L762'>maybe_name_f3</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L737" class="LineNr">737 </span> <span class="Delimiter">}</span> -<span id="L738" class="LineNr">738 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> -<span id="L739" class="LineNr">739 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L762'>maybe_name_f3</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L740" class="LineNr">740 </span> <span class="Delimiter">}</span> -<span id="L741" class="LineNr">741 </span><span class="Delimiter">}</span> -<span id="L742" class="LineNr">742 </span> -<span id="L743" class="LineNr">743 </span><span class="Normal">void</span> <a href='033check_operands.cc.html#L743'>check_arguments_f3_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L744" class="LineNr">744 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L745" class="LineNr">745 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> -<span id="L746" class="LineNr">746 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> -<span id="L747" class="LineNr">747 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L770'>maybe_name_f3_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L748" class="LineNr">748 </span> <span class="Delimiter">}</span> -<span id="L749" class="LineNr">749 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> -<span id="L750" class="LineNr">750 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L770'>maybe_name_f3_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> -<span id="L751" class="LineNr">751 </span> <span class="Delimiter">}</span> -<span id="L752" class="LineNr">752 </span><span class="Delimiter">}</span> -<span id="L753" class="LineNr">753 </span> -<span id="L754" class="LineNr">754 </span>string <a href='033check_operands.cc.html#L754'>maybe_name_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L755" class="LineNr">755 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L756" class="LineNr">756 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L356'>Name_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L757" class="LineNr">757 </span> <span class="Comment">// strip stuff in parens from the name</span> -<span id="L758" class="LineNr">758 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L356'>Name_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L759" class="LineNr">759 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> -<span id="L760" class="LineNr">760 </span><span class="Delimiter">}</span> -<span id="L761" class="LineNr">761 </span> -<span id="L762" class="LineNr">762 </span>string <a href='033check_operands.cc.html#L762'>maybe_name_f3</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L763" class="LineNr">763 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L764" class="LineNr">764 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L357'>Name_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L765" class="LineNr">765 </span> <span class="Comment">// strip stuff in parens from the name</span> -<span id="L766" class="LineNr">766 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L357'>Name_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L767" class="LineNr">767 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> -<span id="L768" class="LineNr">768 </span><span class="Delimiter">}</span> -<span id="L769" class="LineNr">769 </span> -<span id="L770" class="LineNr">770 </span>string <a href='033check_operands.cc.html#L770'>maybe_name_f3_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L771" class="LineNr">771 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L772" class="LineNr">772 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L358'>Name_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> -<span id="L773" class="LineNr">773 </span> <span class="Comment">// strip stuff in parens from the name</span> -<span id="L774" class="LineNr">774 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L358'>Name_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> -<span id="L775" class="LineNr">775 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> -<span id="L776" class="LineNr">776 </span><span class="Delimiter">}</span> -<span id="L777" class="LineNr">777 </span> -<span id="L778" class="LineNr">778 </span>string <a href='033check_operands.cc.html#L778'>tolower</a><span class="Delimiter">(</span><span class="Normal">const</span> <span class="Normal">char</span>* s<span class="Delimiter">)</span> <span class="Delimiter">{</span> -<span id="L779" class="LineNr">779 </span> ostringstream out<span class="Delimiter">;</span> -<span id="L780" class="LineNr">780 </span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">nada</span><span class="Comment">*/</span><span class="Delimiter">;</span> *s<span class="Delimiter">;</span> ++s<span class="Delimiter">)</span> -<span id="L781" class="LineNr">781 </span> out << <span class="Normal">static_cast</span><<span class="Normal">char</span>><span class="Delimiter">(</span><a href='033check_operands.cc.html#L778'>tolower</a><span class="Delimiter">(</span>*s<span class="Delimiter">));</span> -<span id="L782" class="LineNr">782 </span> <span class="Identifier">return</span> out<span class="Delimiter">.</span>str<span class="Delimiter">();</span> -<span id="L783" class="LineNr">783 </span><span class="Delimiter">}</span> -<span id="L784" class="LineNr">784 </span> -<span id="L785" class="LineNr">785 </span><span class="PreProc">#undef HAS</span> -<span id="L786" class="LineNr">786 </span><span class="PreProc">#undef SET</span> -<span id="L787" class="LineNr">787 </span><span class="PreProc">#undef CLEAR</span> -<span id="L788" class="LineNr">788 </span> -<span id="L789" class="LineNr">789 </span><span class="Delimiter">:(before "End Includes")</span> -<span id="L790" class="LineNr">790 </span><span class="PreProc">#include</span><span class="Constant"><cctype></span> +<span id="L670" class="LineNr">670 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"80"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L671" class="LineNr">671 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"82"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L672" class="LineNr">672 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"83"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L673" class="LineNr">673 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"84"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L674" class="LineNr">674 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"85"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L675" class="LineNr">675 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"86"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L676" class="LineNr">676 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"87"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L677" class="LineNr">677 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8c"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L678" class="LineNr">678 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8d"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L679" class="LineNr">679 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8e"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L680" class="LineNr">680 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"8f"</span><span class="Delimiter">,</span> <span class="Constant">0x10</span><span class="Delimiter">);</span> +<span id="L681" class="LineNr">681 </span> +<span id="L682" class="LineNr">682 </span><span class="SalientComment">//// Class M: using ModR/M byte</span> +<span id="L683" class="LineNr">683 </span><span class="Comment">// imm32 imm8 disp32 |disp16 disp8 subop modrm</span> +<span id="L684" class="LineNr">684 </span><span class="Comment">// 0 0 0 |0 0 0 1</span> +<span id="L685" class="LineNr">685 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"2f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// compare floats</span> +<span id="L686" class="LineNr">686 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"af"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// multiply ints</span> +<span id="L687" class="LineNr">687 </span><span class="Comment">// setcc</span> +<span id="L688" class="LineNr">688 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"92"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L689" class="LineNr">689 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"93"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L690" class="LineNr">690 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"94"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L691" class="LineNr">691 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"95"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L692" class="LineNr">692 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"96"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L693" class="LineNr">693 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"97"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L694" class="LineNr">694 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L695" class="LineNr">695 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L696" class="LineNr">696 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9e"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L697" class="LineNr">697 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> <span class="Constant">"9f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> +<span id="L698" class="LineNr">698 </span> +<span id="L699" class="LineNr">699 </span><span class="Delimiter">:(before "End Globals")</span> +<span id="L700" class="LineNr">700 </span>map<<span class="Comment">/*</span><span class="Comment">op</span><span class="Comment">*/</span>string<span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">bitvector</span><span class="Comment">*/</span><span class="Normal">uint8_t</span>> <a href='033check_operands.cc.html#L700'>Permitted_arguments_f3</a><span class="Delimiter">;</span> +<span id="L701" class="LineNr">701 </span>map<<span class="Comment">/*</span><span class="Comment">op</span><span class="Comment">*/</span>string<span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">bitvector</span><span class="Comment">*/</span><span class="Normal">uint8_t</span>> <a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">;</span> +<span id="L702" class="LineNr">702 </span><span class="Delimiter">:(before "End Init Permitted Operands")</span> +<span id="L703" class="LineNr">703 </span><span class="SalientComment">//// Class M: using ModR/M byte</span> +<span id="L704" class="LineNr">704 </span><span class="Comment">// imm32 imm8 disp32 |disp16 disp8 subop modrm</span> +<span id="L705" class="LineNr">705 </span><span class="Comment">// 0 0 0 |0 0 0 1</span> +<span id="L706" class="LineNr">706 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"10"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// copy xm32 to x32</span> +<span id="L707" class="LineNr">707 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"11"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// copy x32 to xm32</span> +<span id="L708" class="LineNr">708 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2a"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// convert-to-float</span> +<span id="L709" class="LineNr">709 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// truncate-to-int</span> +<span id="L710" class="LineNr">710 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"2d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// convert-to-int</span> +<span id="L711" class="LineNr">711 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"51"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// square root</span> +<span id="L712" class="LineNr">712 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"52"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// inverse square root</span> +<span id="L713" class="LineNr">713 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"53"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// reciprocal</span> +<span id="L714" class="LineNr">714 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"58"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// add floats</span> +<span id="L715" class="LineNr">715 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"59"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// multiply floats</span> +<span id="L716" class="LineNr">716 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5c"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// subtract floats</span> +<span id="L717" class="LineNr">717 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5d"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// minimum of floats</span> +<span id="L718" class="LineNr">718 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5e"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// divide floats</span> +<span id="L719" class="LineNr">719 </span><a href='001help.cc.html#L237'>put_new</a><span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> <span class="Constant">"5f"</span><span class="Delimiter">,</span> <span class="Constant">0x01</span><span class="Delimiter">);</span> <span class="Comment">// maximum of floats</span> +<span id="L720" class="LineNr">720 </span> +<span id="L721" class="LineNr">721 </span><span class="Delimiter">:(code)</span> +<span id="L722" class="LineNr">722 </span><span class="Normal">void</span> check_arguments_0f<span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L723" class="LineNr">723 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L665'>Permitted_arguments_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L724" class="LineNr">724 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> +<span id="L725" class="LineNr">725 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> +<span id="L726" class="LineNr">726 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L755'>maybe_name_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L727" class="LineNr">727 </span> <span class="Delimiter">}</span> +<span id="L728" class="LineNr">728 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> +<span id="L729" class="LineNr">729 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L755'>maybe_name_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L730" class="LineNr">730 </span> <span class="Delimiter">}</span> +<span id="L731" class="LineNr">731 </span><span class="Delimiter">}</span> +<span id="L732" class="LineNr">732 </span> +<span id="L733" class="LineNr">733 </span><span class="Normal">void</span> check_arguments_f3<span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L734" class="LineNr">734 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L700'>Permitted_arguments_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L735" class="LineNr">735 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> +<span id="L736" class="LineNr">736 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> +<span id="L737" class="LineNr">737 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L763'>maybe_name_f3</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L738" class="LineNr">738 </span> <span class="Delimiter">}</span> +<span id="L739" class="LineNr">739 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> +<span id="L740" class="LineNr">740 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L763'>maybe_name_f3</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L741" class="LineNr">741 </span> <span class="Delimiter">}</span> +<span id="L742" class="LineNr">742 </span><span class="Delimiter">}</span> +<span id="L743" class="LineNr">743 </span> +<span id="L744" class="LineNr">744 </span><span class="Normal">void</span> <a href='033check_operands.cc.html#L744'>check_arguments_f3_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> line& inst<span class="Delimiter">,</span> <span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L745" class="LineNr">745 </span> <span class="Normal">uint8_t</span> expected_bitvector = get<span class="Delimiter">(</span><a href='033check_operands.cc.html#L701'>Permitted_arguments_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L746" class="LineNr">746 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>HAS<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">))</span> <span class="Delimiter">{</span> +<span id="L747" class="LineNr">747 </span> <a href='033check_operands.cc.html#L381'>check_arguments_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> op<span class="Delimiter">);</span> +<span id="L748" class="LineNr">748 </span> <a href='033check_operands.cc.html#L416'>compare_bitvector_modrm</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L771'>maybe_name_f3_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L749" class="LineNr">749 </span> <span class="Delimiter">}</span> +<span id="L750" class="LineNr">750 </span> <span class="Normal">else</span> <span class="Delimiter">{</span> +<span id="L751" class="LineNr">751 </span> <a href='033check_operands.cc.html#L279'>compare_bitvector</a><span class="Delimiter">(</span>inst<span class="Delimiter">,</span> CLEAR<span class="Delimiter">(</span>expected_bitvector<span class="Delimiter">,</span> <a href='033check_operands.cc.html#L69'>MODRM</a><span class="Delimiter">),</span> <a href='033check_operands.cc.html#L771'>maybe_name_f3_0f</a><span class="Delimiter">(</span>op<span class="Delimiter">));</span> +<span id="L752" class="LineNr">752 </span> <span class="Delimiter">}</span> +<span id="L753" class="LineNr">753 </span><span class="Delimiter">}</span> +<span id="L754" class="LineNr">754 </span> +<span id="L755" class="LineNr">755 </span>string <a href='033check_operands.cc.html#L755'>maybe_name_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L756" class="LineNr">756 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L757" class="LineNr">757 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L356'>Name_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L758" class="LineNr">758 </span> <span class="Comment">// strip stuff in parens from the name</span> +<span id="L759" class="LineNr">759 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L356'>Name_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L760" class="LineNr">760 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> +<span id="L761" class="LineNr">761 </span><span class="Delimiter">}</span> +<span id="L762" class="LineNr">762 </span> +<span id="L763" class="LineNr">763 </span>string <a href='033check_operands.cc.html#L763'>maybe_name_f3</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L764" class="LineNr">764 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L765" class="LineNr">765 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L357'>Name_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L766" class="LineNr">766 </span> <span class="Comment">// strip stuff in parens from the name</span> +<span id="L767" class="LineNr">767 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L357'>Name_f3</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L768" class="LineNr">768 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> +<span id="L769" class="LineNr">769 </span><span class="Delimiter">}</span> +<span id="L770" class="LineNr">770 </span> +<span id="L771" class="LineNr">771 </span>string <a href='033check_operands.cc.html#L771'>maybe_name_f3_0f</a><span class="Delimiter">(</span><span class="Normal">const</span> word& op<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L772" class="LineNr">772 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!is_hex_byte<span class="Delimiter">(</span>op<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L773" class="LineNr">773 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span><a href='010vm.cc.html#L358'>Name_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">""</span><span class="Delimiter">;</span> +<span id="L774" class="LineNr">774 </span> <span class="Comment">// strip stuff in parens from the name</span> +<span id="L775" class="LineNr">775 </span> <span class="Normal">const</span> string& s = get<span class="Delimiter">(</span><a href='010vm.cc.html#L358'>Name_f3_0f</a><span class="Delimiter">,</span> op<span class="Delimiter">.</span>data<span class="Delimiter">);</span> +<span id="L776" class="LineNr">776 </span> <span class="Identifier">return</span> <span class="Constant">" ("</span>+s<span class="Delimiter">.</span>substr<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">,</span> s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">" ("</span><span class="Delimiter">))</span>+<span class="Constant">')'</span><span class="Delimiter">;</span> +<span id="L777" class="LineNr">777 </span><span class="Delimiter">}</span> +<span id="L778" class="LineNr">778 </span> +<span id="L779" class="LineNr">779 </span>string <a href='033check_operands.cc.html#L779'>tolower</a><span class="Delimiter">(</span><span class="Normal">const</span> <span class="Normal">char</span>* s<span class="Delimiter">)</span> <span class="Delimiter">{</span> +<span id="L780" class="LineNr">780 </span> ostringstream out<span class="Delimiter">;</span> +<span id="L781" class="LineNr">781 </span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">nada</span><span class="Comment">*/</span><span class="Delimiter">;</span> *s<span class="Delimiter">;</span> ++s<span class="Delimiter">)</span> +<span id="L782" class="LineNr">782 </span> out << <span class="Normal">static_cast</span><<span class="Normal">char</span>><span class="Delimiter">(</span><a href='033check_operands.cc.html#L779'>tolower</a><span class="Delimiter">(</span>*s<span class="Delimiter">));</span> +<span id="L783" class="LineNr">783 </span> <span class="Identifier">return</span> out<span class="Delimiter">.</span>str<span class="Delimiter">();</span> +<span id="L784" class="LineNr">784 </span><span class="Delimiter">}</span> +<span id="L785" class="LineNr">785 </span> +<span id="L786" class="LineNr">786 </span><span class="PreProc">#undef HAS</span> +<span id="L787" class="LineNr">787 </span><span class="PreProc">#undef SET</span> +<span id="L788" class="LineNr">788 </span><span class="PreProc">#undef CLEAR</span> +<span id="L789" class="LineNr">789 </span> +<span id="L790" class="LineNr">790 </span><span class="Delimiter">:(before "End Includes")</span> +<span id="L791" class="LineNr">791 </span><span class="PreProc">#include</span><span class="Constant"><cctype></span> </pre> </body> </html> diff --git a/html/linux/bootstrap/034check_operand_bounds.cc.html b/html/linux/bootstrap/034check_operand_bounds.cc.html index 1dbbd872..e7b45d05 100644 --- a/html/linux/bootstrap/034check_operand_bounds.cc.html +++ b/html/linux/bootstrap/034check_operand_bounds.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/035compute_segment_address.cc.html b/html/linux/bootstrap/035compute_segment_address.cc.html index 1d582cac..fce17df9 100644 --- a/html/linux/bootstrap/035compute_segment_address.cc.html +++ b/html/linux/bootstrap/035compute_segment_address.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/036labels.cc.html b/html/linux/bootstrap/036labels.cc.html index 4d2043e8..03c86401 100644 --- a/html/linux/bootstrap/036labels.cc.html +++ b/html/linux/bootstrap/036labels.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Identifier { color: #af5f00; } --> </style> diff --git a/html/linux/bootstrap/037global_variables.cc.html b/html/linux/bootstrap/037global_variables.cc.html index 74e38041..aaffc02c 100644 --- a/html/linux/bootstrap/037global_variables.cc.html +++ b/html/linux/bootstrap/037global_variables.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } diff --git a/html/linux/bootstrap/038literal_strings.cc.html b/html/linux/bootstrap/038literal_strings.cc.html index 49a7f049..5fef9807 100644 --- a/html/linux/bootstrap/038literal_strings.cc.html +++ b/html/linux/bootstrap/038literal_strings.cc.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } @@ -19,7 +19,7 @@ a { color:inherit; } .Constant { color: #008787; } .Delimiter { color: #c000c0; } .Comment { color: #005faf; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .Identifier { color: #af5f00; } --> diff --git a/html/linux/bootstrap/039debug.cc.html b/html/linux/bootstrap/039debug.cc.html index 5edb7899..928167b1 100644 --- a/html/linux/bootstrap/039debug.cc.html +++ b/html/linux/bootstrap/039debug.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .Todo { color: #000000; background-color: #ffff00; padding-bottom: 1px; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/bootstrap/040tests.cc.html b/html/linux/bootstrap/040tests.cc.html index abd17a94..d892eed2 100644 --- a/html/linux/bootstrap/040tests.cc.html +++ b/html/linux/bootstrap/040tests.cc.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="cpp"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .cSpecial { color: #008000; } .LineNr { } .Constant { color: #008787; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .Comment { color: #005faf; } .Delimiter { color: #c000c0; } .Identifier { color: #af5f00; } diff --git a/html/linux/braces.subx.html b/html/linux/braces.subx.html index 982a1604..c2c020e9 100644 --- a/html/linux/braces.subx.html +++ b/html/linux/braces.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/calls.subx.html b/html/linux/calls.subx.html index f6e181cc..ebcaace4 100644 --- a/html/linux/calls.subx.html +++ b/html/linux/calls.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } diff --git a/html/linux/crenshaw2-1.subx.html b/html/linux/crenshaw2-1.subx.html index 93749e02..aaabf648 100644 --- a/html/linux/crenshaw2-1.subx.html +++ b/html/linux/crenshaw2-1.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/crenshaw2-1b.subx.html b/html/linux/crenshaw2-1b.subx.html index ac50b5ef..8ad0f1bb 100644 --- a/html/linux/crenshaw2-1b.subx.html +++ b/html/linux/crenshaw2-1b.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/dquotes.subx.html b/html/linux/dquotes.subx.html index 0c607fff..c1e6e49d 100644 --- a/html/linux/dquotes.subx.html +++ b/html/linux/dquotes.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } --> diff --git a/html/linux/ex1.mu.html b/html/linux/ex1.mu.html index 60213bf2..c4e5520f 100644 --- a/html/linux/ex1.mu.html +++ b/html/linux/ex1.mu.html @@ -7,17 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -65,7 +66,7 @@ if ('onhashchange' in window) { <span id="L8" class="LineNr"> 8 </span><span class="muComment"># $ echo $?</span> <span id="L9" class="LineNr"> 9 </span><span class="muComment"># 42</span> <span id="L10" class="LineNr">10 </span> -<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex1.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex1.mu.html#L11'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L12" class="LineNr">12 </span> <span class="PreProc">return</span> <span class="Constant">0x2a</span> <span class="muComment"># Mu requires hexadecimal</span> <span id="L13" class="LineNr">13 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/ex1.subx.html b/html/linux/ex1.subx.html index 85437711..9431dc49 100644 --- a/html/linux/ex1.subx.html +++ b/html/linux/ex1.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/ex10.subx.html b/html/linux/ex10.subx.html index 556045ab..12ed11ff 100644 --- a/html/linux/ex10.subx.html +++ b/html/linux/ex10.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -20,7 +20,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/ex11.subx.html b/html/linux/ex11.subx.html index 820fca50..bbbf2ce1 100644 --- a/html/linux/ex11.subx.html +++ b/html/linux/ex11.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -23,7 +23,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/ex12.subx.html b/html/linux/ex12.subx.html index 1c413f5f..24d18d93 100644 --- a/html/linux/ex12.subx.html +++ b/html/linux/ex12.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex13.subx.html b/html/linux/ex13.subx.html index fc2b8c54..697b3226 100644 --- a/html/linux/ex13.subx.html +++ b/html/linux/ex13.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -20,7 +20,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex14.subx.html b/html/linux/ex14.subx.html index ebd18a5e..4fa33e2d 100644 --- a/html/linux/ex14.subx.html +++ b/html/linux/ex14.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -20,7 +20,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex2.mu.html b/html/linux/ex2.mu.html index 933ac81e..decd4fcd 100644 --- a/html/linux/ex2.mu.html +++ b/html/linux/ex2.mu.html @@ -7,18 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -65,13 +68,13 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ echo $?</span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># 7</span> <span id="L9" class="LineNr"> 9 </span> -<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex2.mu.html#L10'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='ex2.mu.html#L15'>do-add</a> <span class="Constant">3</span> <span class="Constant">4</span> +<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex2.mu.html#L10'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='ex2.mu.html#L15'>do-add</a> <span class="Constant">3</span> <span class="Constant">4</span> <span id="L12" class="LineNr">12 </span> <span class="PreProc">return</span> result <span id="L13" class="LineNr">13 </span><span class="Delimiter">}</span> <span id="L14" class="LineNr">14 </span> -<span id="L15" class="LineNr">15 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex2.mu.html#L15'>do-add</a></span> a: int, b: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> result/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy a +<span id="L15" class="LineNr">15 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex2.mu.html#L15'>do-add</a></span> a: int, b: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> result/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy a <span id="L17" class="LineNr">17 </span> result <span class="Special"><-</span> add b <span id="L18" class="LineNr">18 </span> <span class="PreProc">return</span> result <span id="L19" class="LineNr">19 </span><span class="Delimiter">}</span> diff --git a/html/linux/ex2.subx.html b/html/linux/ex2.subx.html index cd6d599b..0403b9e4 100644 --- a/html/linux/ex2.subx.html +++ b/html/linux/ex2.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/ex3.2.mu.html b/html/linux/ex3.2.mu.html index 3838a065..137e7e9f 100644 --- a/html/linux/ex3.2.mu.html +++ b/html/linux/ex3.2.mu.html @@ -7,18 +7,22 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -64,25 +68,25 @@ if ('onhashchange' in window) { <span id="L6" class="LineNr"> 6 </span><span class="muComment"># $ echo $?</span> <span id="L7" class="LineNr"> 7 </span><span class="muComment"># 55</span> <span id="L8" class="LineNr"> 8 </span> -<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex3.2.mu.html#L9'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex3.2.mu.html#L9'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L10" class="LineNr">10 </span> <span class="muComment"># populate a</span> <span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> a: (array int <span class="Constant">0xb</span>) <span class="muComment"># 11; we waste index 0</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L13" class="LineNr">13 </span> <span class="Delimiter">{</span> <span id="L14" class="LineNr">14 </span> compare i, <span class="Constant">0xb</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">break-if->=</span> -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index a, i +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index a, i <span id="L17" class="LineNr">17 </span> copy-to *x, i <span id="L18" class="LineNr">18 </span> i <span class="Special"><-</span> increment <span id="L19" class="LineNr">19 </span> <span class="PreProc">loop</span> <span id="L20" class="LineNr">20 </span> <span class="Delimiter">}</span> <span id="L21" class="LineNr">21 </span> <span class="muComment"># sum</span> -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> result/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> result/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L23" class="LineNr">23 </span> i <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L24" class="LineNr">24 </span> <span class="Delimiter">{</span> <span id="L25" class="LineNr">25 </span> compare i, <span class="Constant">0xb</span> <span id="L26" class="LineNr">26 </span> <span class="PreProc">break-if->=</span> -<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index a, i +<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index a, i <span id="L28" class="LineNr">28 </span> result <span class="Special"><-</span> add *x <span id="L29" class="LineNr">29 </span> i <span class="Special"><-</span> increment <span id="L30" class="LineNr">30 </span> <span class="PreProc">loop</span> diff --git a/html/linux/ex3.mu.html b/html/linux/ex3.mu.html index 111c3d3e..80924f85 100644 --- a/html/linux/ex3.mu.html +++ b/html/linux/ex3.mu.html @@ -7,18 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -65,9 +67,9 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ echo $?</span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># 55</span> <span id="L9" class="LineNr"> 9 </span> -<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex3.mu.html#L10'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> result/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex3.mu.html#L10'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> result/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L13" class="LineNr">13 </span> <span class="Delimiter">{</span> <span id="L14" class="LineNr">14 </span> compare i, <span class="Constant">0xa</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">break-if-></span> diff --git a/html/linux/ex3.subx.html b/html/linux/ex3.subx.html index c26a6fe5..12b1db79 100644 --- a/html/linux/ex3.subx.html +++ b/html/linux/ex3.subx.html @@ -7,18 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } .subxS1Comment { color: #0000af; } .subxS2Comment { color: #8a8a8a; } .LineNr { } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .SpecialChar { color: #d70000; } .Constant { color: #008787; } --> diff --git a/html/linux/ex4.subx.html b/html/linux/ex4.subx.html index 00b76d26..954afad9 100644 --- a/html/linux/ex4.subx.html +++ b/html/linux/ex4.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/ex5.subx.html b/html/linux/ex5.subx.html index b960ece1..e4b97fa9 100644 --- a/html/linux/ex5.subx.html +++ b/html/linux/ex5.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex6.subx.html b/html/linux/ex6.subx.html index fec86cca..c701c3dd 100644 --- a/html/linux/ex6.subx.html +++ b/html/linux/ex6.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex7.subx.html b/html/linux/ex7.subx.html index 4ca7de43..ddcc22c3 100644 --- a/html/linux/ex7.subx.html +++ b/html/linux/ex7.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/ex8.subx.html b/html/linux/ex8.subx.html index b015bcf6..c70272de 100644 --- a/html/linux/ex8.subx.html +++ b/html/linux/ex8.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -20,7 +20,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/ex9.subx.html b/html/linux/ex9.subx.html index 12833b11..57e729d3 100644 --- a/html/linux/ex9.subx.html +++ b/html/linux/ex9.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -19,7 +19,7 @@ a { color:inherit; } .subxS2Comment { color: #8a8a8a; } .LineNr { } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/factorial.mu.html b/html/linux/factorial.mu.html index 565568f7..6e81da86 100644 --- a/html/linux/factorial.mu.html +++ b/html/linux/factorial.mu.html @@ -7,18 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } +.muRegEbx { color: #8787af; } .Constant { color: #008787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } @@ -75,7 +78,7 @@ if ('onhashchange' in window) { <span id="L16" class="LineNr">16 </span><span class="muComment">#</span> <span id="L17" class="LineNr">17 </span><span class="muComment"># Compare factorial4.subx</span> <span id="L18" class="LineNr">18 </span> -<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='factorial.mu.html#L19'>factorial</a></span> n: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L19" class="LineNr">19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='factorial.mu.html#L19'>factorial</a></span> n: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L20" class="LineNr">20 </span> compare n, <span class="Constant">1</span> <span id="L21" class="LineNr">21 </span> <span class="muComment"># if (n <= 1) return 1</span> <span id="L22" class="LineNr">22 </span> <span class="Delimiter">{</span> @@ -83,32 +86,32 @@ if ('onhashchange' in window) { <span id="L24" class="LineNr">24 </span> <span class="PreProc">return</span> <span class="Constant">1</span> <span id="L25" class="LineNr">25 </span> <span class="Delimiter">}</span> <span id="L26" class="LineNr">26 </span> <span class="muComment"># n > 1; return n * factorial(n-1)</span> -<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> tmp/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy n +<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> tmp/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy n <span id="L28" class="LineNr">28 </span> tmp <span class="Special"><-</span> decrement -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> tmp +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> tmp <span id="L30" class="LineNr">30 </span> result <span class="Special"><-</span> multiply n <span id="L31" class="LineNr">31 </span> <span class="PreProc">return</span> result <span id="L32" class="LineNr">32 </span><span class="Delimiter">}</span> <span id="L33" class="LineNr">33 </span> <span id="L34" class="LineNr">34 </span><span class="PreProc">fn</span> <span class="muTest"><a href='factorial.mu.html#L34'>test-factorial</a></span> <span class="Delimiter">{</span> -<span id="L35" class="LineNr">35 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> <span class="Constant">5</span> +<span id="L35" class="LineNr">35 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> <span class="Constant">5</span> <span id="L36" class="LineNr">36 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x78</span>, <span class="Constant">"F - test-factorial"</span> <span id="L37" class="LineNr">37 </span><span class="Delimiter">}</span> <span id="L38" class="LineNr">38 </span> -<span id="L39" class="LineNr">39 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='factorial.mu.html#L39'>main</a></span> args-on-stack: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy args-on-stack +<span id="L39" class="LineNr">39 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='factorial.mu.html#L39'>main</a></span> args-on-stack: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy args-on-stack <span id="L41" class="LineNr">41 </span> <span class="muComment"># len = length(args)</span> -<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length args +<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length args <span id="L43" class="LineNr">43 </span> <span class="muComment"># if (len <= 1) return factorial(5)</span> <span id="L44" class="LineNr">44 </span> compare len, <span class="Constant">1</span> <span id="L45" class="LineNr">45 </span> <span class="Delimiter">{</span> <span id="L46" class="LineNr">46 </span> <span class="PreProc">break-if-></span> -<span id="L47" class="LineNr">47 </span> <span class="PreProc">var</span> exit-status/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> <span class="Constant">5</span> +<span id="L47" class="LineNr">47 </span> <span class="PreProc">var</span> exit-status/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='factorial.mu.html#L19'>factorial</a> <span class="Constant">5</span> <span id="L48" class="LineNr">48 </span> <span class="PreProc">return</span> exit-status <span id="L49" class="LineNr">49 </span> <span class="Delimiter">}</span> <span id="L50" class="LineNr">50 </span> <span class="muComment"># if (args[1] == "test") run-tests()</span> -<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> -<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> tmp3/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='105string-equal.subx.html#L15'>string-equal?</a> *tmp2, <span class="Constant">"test"</span> +<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEcx">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> +<span id="L52" class="LineNr">52 </span> <span class="PreProc">var</span> tmp3/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='105string-equal.subx.html#L15'>string-equal?</a> *tmp2, <span class="Constant">"test"</span> <span id="L53" class="LineNr">53 </span> compare tmp3, <span class="Constant">0</span> <span id="L54" class="LineNr">54 </span> <span class="Delimiter">{</span> <span id="L55" class="LineNr">55 </span> <span class="PreProc">break-if-=</span> diff --git a/html/linux/factorial.subx.html b/html/linux/factorial.subx.html index 9a29907e..e21238bd 100644 --- a/html/linux/factorial.subx.html +++ b/html/linux/factorial.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .subxFunction { color: #af5f00; text-decoration: underline; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/factorial2.subx.html b/html/linux/factorial2.subx.html index afb7aca5..f826b3a9 100644 --- a/html/linux/factorial2.subx.html +++ b/html/linux/factorial2.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/factorial3.subx.html b/html/linux/factorial3.subx.html index 30c4f85f..9fae571f 100644 --- a/html/linux/factorial3.subx.html +++ b/html/linux/factorial3.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/factorial4.subx.html b/html/linux/factorial4.subx.html index f14c9d8f..9a79509f 100644 --- a/html/linux/factorial4.subx.html +++ b/html/linux/factorial4.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/hello.mu.html b/html/linux/hello.mu.html index 572b5391..585e5a99 100644 --- a/html/linux/hello.mu.html +++ b/html/linux/hello.mu.html @@ -7,17 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -61,7 +62,7 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span><span class="muComment"># $ ./translate hello.mu</span> <span id="L5" class="LineNr"> 5 </span><span class="muComment"># $ ./a.elf</span> <span id="L6" class="LineNr"> 6 </span> -<span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='hello.mu.html#L7'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='hello.mu.html#L7'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L8" class="LineNr"> 8 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"Hello world!\n"</span> <span id="L9" class="LineNr"> 9 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L10" class="LineNr">10 </span><span class="Delimiter">}</span> diff --git a/html/linux/hex.subx.html b/html/linux/hex.subx.html index 17acf189..6e911410 100644 --- a/html/linux/hex.subx.html +++ b/html/linux/hex.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/labels_baremetal.subx.html b/html/linux/labels_baremetal.subx.html index 61bdaaa9..773ada27 100644 --- a/html/linux/labels_baremetal.subx.html +++ b/html/linux/labels_baremetal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } diff --git a/html/linux/mu-init-test.subx.html b/html/linux/mu-init-test.subx.html index 4f766387..199e7a83 100644 --- a/html/linux/mu-init-test.subx.html +++ b/html/linux/mu-init-test.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .SpecialChar { color: #d70000; } diff --git a/html/linux/mu-init.subx.html b/html/linux/mu-init.subx.html index 5eae1d77..db49fe50 100644 --- a/html/linux/mu-init.subx.html +++ b/html/linux/mu-init.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } diff --git a/html/linux/mu.subx.html b/html/linux/mu.subx.html index 419ceebe..6ac243f0 100644 --- a/html/linux/mu.subx.html +++ b/html/linux/mu.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -561,7 +561,7 @@ if ('onhashchange' in window) { <span id="L499" class="LineNr"> 499 </span> } <span id="L500" class="LineNr"> 500 </span> <span class="subxComment"># otherwise convert Stdin</span> <span id="L501" class="LineNr"> 501 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='115write-byte.subx.html#L10'>Stdout</a></span> <span class="Constant">"== code\n"</span>) -<span id="L502" class="LineNr"> 502 </span> (convert-mu <span class="SpecialChar"><a href='112read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='115write-byte.subx.html#L10'>Stdout</a></span> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L502" class="LineNr"> 502 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <span class="SpecialChar"><a href='112read-byte.subx.html#L14'>Stdin</a></span> <span class="SpecialChar"><a href='115write-byte.subx.html#L10'>Stdout</a></span> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L503" class="LineNr"> 503 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='115write-byte.subx.html#L10'>Stdout</a></span>) <span id="L504" class="LineNr"> 504 </span> <span class="subxComment"># syscall(exit, 0)</span> <span id="L505" class="LineNr"> 505 </span> bb/copy-to-ebx 0/imm32 @@ -575,9 +575,9 @@ if ('onhashchange' in window) { <span id="L513" class="LineNr"> 513 </span> <span class="subxS1Comment"># . save registers</span> <span id="L514" class="LineNr"> 514 </span> 50/push-eax <span id="L515" class="LineNr"> 515 </span> <span class="subxComment"># initialize global data structures</span> -<span id="L516" class="LineNr"> 516 </span> c7 0/subop/copy *<span class="SpecialChar">Next-block-index</span> 1/imm32 -<span id="L517" class="LineNr"> 517 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L518" class="LineNr"> 518 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L516" class="LineNr"> 516 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15736'>Next-block-index</a></span> 1/imm32 +<span id="L517" class="LineNr"> 517 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L518" class="LineNr"> 518 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L519" class="LineNr"> 519 </span> c7 0/subop/copy *_Program-functions 0/imm32 <span id="L520" class="LineNr"> 520 </span> c7 0/subop/copy *_Program-functions->payload 0/imm32 <span id="L521" class="LineNr"> 521 </span> c7 0/subop/copy *_Program-types 0/imm32 @@ -585,11 +585,11 @@ if ('onhashchange' in window) { <span id="L523" class="LineNr"> 523 </span> c7 0/subop/copy *_Program-signatures 0/imm32 <span id="L524" class="LineNr"> 524 </span> c7 0/subop/copy *_Program-signatures->payload 0/imm32 <span id="L525" class="LineNr"> 525 </span> <span class="subxComment">#</span> -<span id="L526" class="LineNr"> 526 </span> (parse-mu *(ebp+8) *(ebp+0x10) *(ebp+0x14)) -<span id="L527" class="LineNr"> 527 </span> (populate-mu-type-sizes *(ebp+0x10) *(ebp+0x14)) +<span id="L526" class="LineNr"> 526 </span> (<a href='mu.subx.html#L15744'>parse-mu</a> *(ebp+8) *(ebp+0x10) *(ebp+0x14)) +<span id="L527" class="LineNr"> 527 </span> (<a href='mu.subx.html#L20792'>populate-mu-type-sizes</a> *(ebp+0x10) *(ebp+0x14)) <span id="L528" class="LineNr"> 528 </span><span class="CommentedCode">#? (dump-typeinfos "=== typeinfos\n")</span> -<span id="L529" class="LineNr"> 529 </span> (check-mu-types *(ebp+0x10) *(ebp+0x14)) -<span id="L530" class="LineNr"> 530 </span> (emit-subx *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L529" class="LineNr"> 529 </span> (<a href='mu.subx.html#L21321'>check-mu-types</a> *(ebp+0x10) *(ebp+0x14)) +<span id="L530" class="LineNr"> 530 </span> (<a href='mu.subx.html#L27008'>emit-subx</a> *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L531" class="LineNr"> 531 </span><span class="Constant">$convert-mu:end</span>: <span id="L532" class="LineNr"> 532 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L533" class="LineNr"> 533 </span> 58/pop-to-eax @@ -609,7 +609,7 @@ if ('onhashchange' in window) { <span id="L547" class="LineNr"> 547 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a>) <span id="L548" class="LineNr"> 548 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file->buffer) <span id="L549" class="LineNr"> 549 </span> <span class="subxComment">#</span> -<span id="L550" class="LineNr"> 550 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L550" class="LineNr"> 550 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L551" class="LineNr"> 551 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L552" class="LineNr"> 552 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-empty-input"</span>) <span id="L553" class="LineNr"> 553 </span> <span class="subxS1Comment"># . epilogue</span> @@ -630,18 +630,18 @@ if ('onhashchange' in window) { <span id="L568" class="LineNr"> 568 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo {\n"</span>) <span id="L569" class="LineNr"> 569 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L570" class="LineNr"> 570 </span> <span class="subxComment"># convert</span> -<span id="L571" class="LineNr"> 571 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L571" class="LineNr"> 571 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L572" class="LineNr"> 572 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L573" class="Folded"> 573 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L579" class="LineNr"> 579 </span> <span class="subxComment"># check output</span> -<span id="L580" class="LineNr"> 580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-skeleton/0"</span>) +<span id="L580" class="LineNr"> 580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/0"</span>) <span id="L581" class="LineNr"> 581 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-skeleton/1"</span>) -<span id="L582" class="LineNr"> 582 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-skeleton/2"</span>) -<span id="L583" class="LineNr"> 583 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-skeleton/3"</span>) +<span id="L582" class="LineNr"> 582 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/2"</span>) +<span id="L583" class="LineNr"> 583 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/3"</span>) <span id="L584" class="LineNr"> 584 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-skeleton/4"</span>) -<span id="L585" class="LineNr"> 585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-skeleton/5"</span>) -<span id="L586" class="LineNr"> 586 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-skeleton/6"</span>) -<span id="L587" class="LineNr"> 587 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-skeleton/7"</span>) +<span id="L585" class="LineNr"> 585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/5"</span>) +<span id="L586" class="LineNr"> 586 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/6"</span>) +<span id="L587" class="LineNr"> 587 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L558'>test-convert-function-skeleton</a>/7"</span>) <span id="L588" class="LineNr"> 588 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L589" class="LineNr"> 589 </span> 89/<- %esp 5/r32/ebp <span id="L590" class="LineNr"> 590 </span> 5d/pop-to-ebp @@ -662,27 +662,27 @@ if ('onhashchange' in window) { <span id="L605" class="LineNr"> 605 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn bar {\n"</span>) <span id="L606" class="LineNr"> 606 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L607" class="LineNr"> 607 </span> <span class="subxComment"># convert</span> -<span id="L608" class="LineNr"> 608 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L608" class="LineNr"> 608 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L609" class="LineNr"> 609 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L610" class="Folded"> 610 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L616" class="LineNr"> 616 </span> <span class="subxComment"># check first function</span> -<span id="L617" class="LineNr"> 617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/0"</span>) +<span id="L617" class="LineNr"> 617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/0"</span>) <span id="L618" class="LineNr"> 618 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/1"</span>) -<span id="L619" class="LineNr"> 619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/2"</span>) -<span id="L620" class="LineNr"> 620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/3"</span>) +<span id="L619" class="LineNr"> 619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/2"</span>) +<span id="L620" class="LineNr"> 620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/3"</span>) <span id="L621" class="LineNr"> 621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/4"</span>) -<span id="L622" class="LineNr"> 622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/5"</span>) -<span id="L623" class="LineNr"> 623 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/6"</span>) -<span id="L624" class="LineNr"> 624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/7"</span>) +<span id="L622" class="LineNr"> 622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/5"</span>) +<span id="L623" class="LineNr"> 623 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/6"</span>) +<span id="L624" class="LineNr"> 624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/7"</span>) <span id="L625" class="LineNr"> 625 </span> <span class="subxComment"># check second function</span> -<span id="L626" class="LineNr"> 626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"bar:"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/10"</span>) +<span id="L626" class="LineNr"> 626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"bar:"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/10"</span>) <span id="L627" class="LineNr"> 627 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/11"</span>) -<span id="L628" class="LineNr"> 628 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/12"</span>) -<span id="L629" class="LineNr"> 629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/13"</span>) +<span id="L628" class="LineNr"> 628 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/12"</span>) +<span id="L629" class="LineNr"> 629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/13"</span>) <span id="L630" class="LineNr"> 630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/14"</span>) -<span id="L631" class="LineNr"> 631 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/15"</span>) -<span id="L632" class="LineNr"> 632 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/16"</span>) -<span id="L633" class="LineNr"> 633 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-multiple-function-skeletons/17"</span>) +<span id="L631" class="LineNr"> 631 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/15"</span>) +<span id="L632" class="LineNr"> 632 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/16"</span>) +<span id="L633" class="LineNr"> 633 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L593'>test-convert-multiple-function-skeletons</a>/17"</span>) <span id="L634" class="LineNr"> 634 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L635" class="LineNr"> 635 </span> 89/<- %esp 5/r32/ebp <span id="L636" class="LineNr"> 636 </span> 5d/pop-to-ebp @@ -701,18 +701,18 @@ if ('onhashchange' in window) { <span id="L649" class="LineNr"> 649 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo n: int {\n"</span>) <span id="L650" class="LineNr"> 650 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L651" class="LineNr"> 651 </span> <span class="subxComment"># convert</span> -<span id="L652" class="LineNr"> 652 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L652" class="LineNr"> 652 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L653" class="LineNr"> 653 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L654" class="Folded"> 654 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L660" class="LineNr"> 660 </span> <span class="subxComment"># check output</span> -<span id="L661" class="LineNr"> 661 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-arg/0"</span>) +<span id="L661" class="LineNr"> 661 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/0"</span>) <span id="L662" class="LineNr"> 662 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-arg/1"</span>) -<span id="L663" class="LineNr"> 663 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-arg/2"</span>) -<span id="L664" class="LineNr"> 664 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-arg/3"</span>) +<span id="L663" class="LineNr"> 663 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/2"</span>) +<span id="L664" class="LineNr"> 664 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/3"</span>) <span id="L665" class="LineNr"> 665 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-arg/4"</span>) -<span id="L666" class="LineNr"> 666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-arg/5"</span>) -<span id="L667" class="LineNr"> 667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-arg/6"</span>) -<span id="L668" class="LineNr"> 668 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-arg/7"</span>) +<span id="L666" class="LineNr"> 666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/5"</span>) +<span id="L667" class="LineNr"> 667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/6"</span>) +<span id="L668" class="LineNr"> 668 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L639'>test-convert-function-with-arg</a>/7"</span>) <span id="L669" class="LineNr"> 669 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L670" class="LineNr"> 670 </span> 89/<- %esp 5/r32/ebp <span id="L671" class="LineNr"> 671 </span> 5d/pop-to-ebp @@ -740,7 +740,7 @@ if ('onhashchange' in window) { <span id="L693" class="LineNr"> 693 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo {\n"</span>) <span id="L694" class="LineNr"> 694 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L695" class="LineNr"> 695 </span> <span class="subxComment"># convert</span> -<span id="L696" class="LineNr"> 696 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L696" class="LineNr"> 696 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L697" class="LineNr"> 697 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L698" class="LineNr"> 698 </span> <span class="subxComment"># restore ed</span> <span id="L699" class="LineNr"> 699 </span> 89/<- %edx 4/r32/esp @@ -748,10 +748,10 @@ if ('onhashchange' in window) { <span id="L701" class="LineNr"> 701 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L702" class="Folded"> 702 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L708" class="LineNr"> 708 </span> <span class="subxComment"># check output</span> -<span id="L709" class="LineNr"> 709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-redefined-name: output should be empty"</span>) -<span id="L710" class="LineNr"> 710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - test-function-with-redefined-name: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L709" class="LineNr"> 709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L674'>test-function-with-redefined-name</a>: output should be empty"</span>) +<span id="L710" class="LineNr"> 710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - <a href='mu.subx.html#L674'>test-function-with-redefined-name</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L711" class="LineNr"> 711 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L712" class="LineNr"> 712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-redefined-name: exit status"</span>) +<span id="L712" class="LineNr"> 712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L674'>test-function-with-redefined-name</a>: exit status"</span>) <span id="L713" class="LineNr"> 713 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L714" class="LineNr"> 714 </span> 81 0/subop/add %esp 8/imm32 <span id="L715" class="LineNr"> 715 </span> <span class="subxS1Comment"># . epilogue</span> @@ -779,7 +779,7 @@ if ('onhashchange' in window) { <span id="L737" class="LineNr"> 737 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L738" class="LineNr"> 738 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig foo\n"</span>) <span id="L739" class="LineNr"> 739 </span> <span class="subxComment"># convert</span> -<span id="L740" class="LineNr"> 740 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L740" class="LineNr"> 740 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L741" class="LineNr"> 741 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L742" class="LineNr"> 742 </span> <span class="subxComment"># restore ed</span> <span id="L743" class="LineNr"> 743 </span> 89/<- %edx 4/r32/esp @@ -787,10 +787,10 @@ if ('onhashchange' in window) { <span id="L745" class="LineNr"> 745 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L746" class="Folded"> 746 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L752" class="LineNr"> 752 </span> <span class="subxComment"># check output</span> -<span id="L753" class="LineNr"> 753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-redefined-name-2: output should be empty"</span>) -<span id="L754" class="LineNr"> 754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - test-function-with-redefined-name-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L753" class="LineNr"> 753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L719'>test-function-with-redefined-name-2</a>: output should be empty"</span>) +<span id="L754" class="LineNr"> 754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - <a href='mu.subx.html#L719'>test-function-with-redefined-name-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L755" class="LineNr"> 755 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L756" class="LineNr"> 756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-redefined-name-2: exit status"</span>) +<span id="L756" class="LineNr"> 756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L719'>test-function-with-redefined-name-2</a>: exit status"</span>) <span id="L757" class="LineNr"> 757 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L758" class="LineNr"> 758 </span> 81 0/subop/add %esp 8/imm32 <span id="L759" class="LineNr"> 759 </span> <span class="subxS1Comment"># . epilogue</span> @@ -818,7 +818,7 @@ if ('onhashchange' in window) { <span id="L781" class="LineNr"> 781 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo {\n"</span>) <span id="L782" class="LineNr"> 782 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L783" class="LineNr"> 783 </span> <span class="subxComment"># convert</span> -<span id="L784" class="LineNr"> 784 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L784" class="LineNr"> 784 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L785" class="LineNr"> 785 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L786" class="LineNr"> 786 </span> <span class="subxComment"># restore ed</span> <span id="L787" class="LineNr"> 787 </span> 89/<- %edx 4/r32/esp @@ -826,10 +826,10 @@ if ('onhashchange' in window) { <span id="L789" class="LineNr"> 789 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L790" class="Folded"> 790 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L796" class="LineNr"> 796 </span> <span class="subxComment"># check output</span> -<span id="L797" class="LineNr"> 797 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-redefined-name-3: output should be empty"</span>) -<span id="L798" class="LineNr"> 798 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - test-function-with-redefined-name-3: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L797" class="LineNr"> 797 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L763'>test-function-with-redefined-name-3</a>: output should be empty"</span>) +<span id="L798" class="LineNr"> 798 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo defined more than once"</span> <span class="Constant">"F - <a href='mu.subx.html#L763'>test-function-with-redefined-name-3</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L799" class="LineNr"> 799 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L800" class="LineNr"> 800 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-redefined-name-3: exit status"</span>) +<span id="L800" class="LineNr"> 800 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L763'>test-function-with-redefined-name-3</a>: exit status"</span>) <span id="L801" class="LineNr"> 801 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L802" class="LineNr"> 802 </span> 81 0/subop/add %esp 8/imm32 <span id="L803" class="LineNr"> 803 </span> <span class="subxS1Comment"># . epilogue</span> @@ -856,7 +856,7 @@ if ('onhashchange' in window) { <span id="L824" class="LineNr"> 824 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo x/eax: int {\n"</span>) <span id="L825" class="LineNr"> 825 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L826" class="LineNr"> 826 </span> <span class="subxComment"># convert</span> -<span id="L827" class="LineNr"> 827 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L827" class="LineNr"> 827 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L828" class="LineNr"> 828 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L829" class="LineNr"> 829 </span> <span class="subxComment"># restore ed</span> <span id="L830" class="LineNr"> 830 </span> 89/<- %edx 4/r32/esp @@ -864,10 +864,10 @@ if ('onhashchange' in window) { <span id="L832" class="LineNr"> 832 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L833" class="Folded"> 833 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L839" class="LineNr"> 839 </span> <span class="subxComment"># check output</span> -<span id="L840" class="LineNr"> 840 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-inout-in-register: output should be empty"</span>) -<span id="L841" class="LineNr"> 841 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: function inout 'x' cannot be in a register"</span> <span class="Constant">"F - test-function-with-inout-in-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L840" class="LineNr"> 840 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L807'>test-function-with-inout-in-register</a>: output should be empty"</span>) +<span id="L841" class="LineNr"> 841 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: function inout 'x' cannot be in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L807'>test-function-with-inout-in-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L842" class="LineNr"> 842 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L843" class="LineNr"> 843 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-inout-in-register: exit status"</span>) +<span id="L843" class="LineNr"> 843 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L807'>test-function-with-inout-in-register</a>: exit status"</span>) <span id="L844" class="LineNr"> 844 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L845" class="LineNr"> 845 </span> 81 0/subop/add %esp 8/imm32 <span id="L846" class="LineNr"> 846 </span> <span class="subxS1Comment"># . epilogue</span> @@ -894,7 +894,7 @@ if ('onhashchange' in window) { <span id="L867" class="LineNr"> 867 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo -> _/eax: (addr int) {\n"</span>) <span id="L868" class="LineNr"> 868 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L869" class="LineNr"> 869 </span> <span class="subxComment"># convert</span> -<span id="L870" class="LineNr"> 870 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L870" class="LineNr"> 870 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L871" class="LineNr"> 871 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L872" class="LineNr"> 872 </span> <span class="subxComment"># restore ed</span> <span id="L873" class="LineNr"> 873 </span> 89/<- %edx 4/r32/esp @@ -902,10 +902,10 @@ if ('onhashchange' in window) { <span id="L875" class="LineNr"> 875 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L876" class="Folded"> 876 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L882" class="LineNr"> 882 </span> <span class="subxComment"># check output</span> -<span id="L883" class="LineNr"> 883 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-addr-output: output should be empty"</span>) -<span id="L884" class="LineNr"> 884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: output cannot have an addr type; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - test-function-with-addr-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L883" class="LineNr"> 883 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L850'>test-function-with-addr-output</a>: output should be empty"</span>) +<span id="L884" class="LineNr"> 884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: output cannot have an addr type; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - <a href='mu.subx.html#L850'>test-function-with-addr-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L885" class="LineNr"> 885 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L886" class="LineNr"> 886 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-addr-output: exit status"</span>) +<span id="L886" class="LineNr"> 886 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L850'>test-function-with-addr-output</a>: exit status"</span>) <span id="L887" class="LineNr"> 887 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L888" class="LineNr"> 888 </span> 81 0/subop/add %esp 8/imm32 <span id="L889" class="LineNr"> 889 </span> <span class="subxS1Comment"># . epilogue</span> @@ -932,7 +932,7 @@ if ('onhashchange' in window) { <span id="L910" class="LineNr"> 910 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo a: (addr addr int) {\n"</span>) <span id="L911" class="LineNr"> 911 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L912" class="LineNr"> 912 </span> <span class="subxComment"># convert</span> -<span id="L913" class="LineNr"> 913 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L913" class="LineNr"> 913 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L914" class="LineNr"> 914 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L915" class="LineNr"> 915 </span> <span class="subxComment"># restore ed</span> <span id="L916" class="LineNr"> 916 </span> 89/<- %edx 4/r32/esp @@ -940,10 +940,10 @@ if ('onhashchange' in window) { <span id="L918" class="LineNr"> 918 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L919" class="Folded"> 919 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L925" class="LineNr"> 925 </span> <span class="subxComment"># check output</span> -<span id="L926" class="LineNr"> 926 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-addr-inout: output should be empty"</span>) -<span id="L927" class="LineNr"> 927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - test-function-with-addr-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L926" class="LineNr"> 926 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L893'>test-function-with-addr-inout</a>: output should be empty"</span>) +<span id="L927" class="LineNr"> 927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - <a href='mu.subx.html#L893'>test-function-with-addr-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L928" class="LineNr"> 928 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L929" class="LineNr"> 929 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-addr-inout: exit status"</span>) +<span id="L929" class="LineNr"> 929 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L893'>test-function-with-addr-inout</a>: exit status"</span>) <span id="L930" class="LineNr"> 930 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L931" class="LineNr"> 931 </span> 81 0/subop/add %esp 8/imm32 <span id="L932" class="LineNr"> 932 </span> <span class="subxS1Comment"># . epilogue</span> @@ -970,7 +970,7 @@ if ('onhashchange' in window) { <span id="L953" class="LineNr"> 953 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo a: (addr array addr int) {\n"</span>) <span id="L954" class="LineNr"> 954 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L955" class="LineNr"> 955 </span> <span class="subxComment"># convert</span> -<span id="L956" class="LineNr"> 956 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L956" class="LineNr"> 956 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L957" class="LineNr"> 957 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L958" class="LineNr"> 958 </span> <span class="subxComment"># restore ed</span> <span id="L959" class="LineNr"> 959 </span> 89/<- %edx 4/r32/esp @@ -978,10 +978,10 @@ if ('onhashchange' in window) { <span id="L961" class="LineNr"> 961 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L962" class="Folded"> 962 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L968" class="LineNr"> 968 </span> <span class="subxComment"># check output</span> -<span id="L969" class="LineNr"> 969 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-addr-inout-2: output should be empty"</span>) -<span id="L970" class="LineNr"> 970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - test-function-with-addr-inout-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L969" class="LineNr"> 969 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L936'>test-function-with-addr-inout-2</a>: output should be empty"</span>) +<span id="L970" class="LineNr"> 970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - <a href='mu.subx.html#L936'>test-function-with-addr-inout-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L971" class="LineNr"> 971 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L972" class="LineNr"> 972 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-addr-inout-2: exit status"</span>) +<span id="L972" class="LineNr"> 972 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L936'>test-function-with-addr-inout-2</a>: exit status"</span>) <span id="L973" class="LineNr"> 973 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L974" class="LineNr"> 974 </span> 81 0/subop/add %esp 8/imm32 <span id="L975" class="LineNr"> 975 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1008,7 +1008,7 @@ if ('onhashchange' in window) { <span id="L996" class="LineNr"> 996 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo a: (addr array (addr int) 3) {\n"</span>) <span id="L997" class="LineNr"> 997 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L998" class="LineNr"> 998 </span> <span class="subxComment"># convert</span> -<span id="L999" class="LineNr"> 999 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L999" class="LineNr"> 999 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1000" class="LineNr"> 1000 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1001" class="LineNr"> 1001 </span> <span class="subxComment"># restore ed</span> <span id="L1002" class="LineNr"> 1002 </span> 89/<- %edx 4/r32/esp @@ -1016,10 +1016,10 @@ if ('onhashchange' in window) { <span id="L1004" class="LineNr"> 1004 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1005" class="Folded"> 1005 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1011" class="LineNr"> 1011 </span> <span class="subxComment"># check output</span> -<span id="L1012" class="LineNr"> 1012 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-addr-inout-3: output should be empty"</span>) -<span id="L1013" class="LineNr"> 1013 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - test-function-with-addr-inout-3: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1012" class="LineNr"> 1012 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L979'>test-function-with-addr-inout-3</a>: output should be empty"</span>) +<span id="L1013" class="LineNr"> 1013 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - <a href='mu.subx.html#L979'>test-function-with-addr-inout-3</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1014" class="LineNr"> 1014 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1015" class="LineNr"> 1015 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-addr-inout-3: exit status"</span>) +<span id="L1015" class="LineNr"> 1015 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L979'>test-function-with-addr-inout-3</a>: exit status"</span>) <span id="L1016" class="LineNr"> 1016 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1017" class="LineNr"> 1017 </span> 81 0/subop/add %esp 8/imm32 <span id="L1018" class="LineNr"> 1018 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1046,7 +1046,7 @@ if ('onhashchange' in window) { <span id="L1039" class="LineNr"> 1039 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo a: (array (addr int) 3) {\n"</span>) <span id="L1040" class="LineNr"> 1040 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1041" class="LineNr"> 1041 </span> <span class="subxComment"># convert</span> -<span id="L1042" class="LineNr"> 1042 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1042" class="LineNr"> 1042 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1043" class="LineNr"> 1043 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1044" class="LineNr"> 1044 </span> <span class="subxComment"># restore ed</span> <span id="L1045" class="LineNr"> 1045 </span> 89/<- %edx 4/r32/esp @@ -1054,10 +1054,10 @@ if ('onhashchange' in window) { <span id="L1047" class="LineNr"> 1047 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1048" class="Folded"> 1048 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1054" class="LineNr"> 1054 </span> <span class="subxComment"># check output</span> -<span id="L1055" class="LineNr"> 1055 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-addr-inout-4: output should be empty"</span>) -<span id="L1056" class="LineNr"> 1056 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - test-function-with-addr-inout-4: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1055" class="LineNr"> 1055 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1022'>test-function-with-addr-inout-4</a>: output should be empty"</span>) +<span id="L1056" class="LineNr"> 1056 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: inout 'a' cannot contain 'addr' anywhere in the type except the first word; that could allow unsafe addresses to escape the function"</span> <span class="Constant">"F - <a href='mu.subx.html#L1022'>test-function-with-addr-inout-4</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1057" class="LineNr"> 1057 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1058" class="LineNr"> 1058 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-addr-inout-4: exit status"</span>) +<span id="L1058" class="LineNr"> 1058 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1022'>test-function-with-addr-inout-4</a>: exit status"</span>) <span id="L1059" class="LineNr"> 1059 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1060" class="LineNr"> 1060 </span> 81 0/subop/add %esp 8/imm32 <span id="L1061" class="LineNr"> 1061 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1078,7 +1078,7 @@ if ('onhashchange' in window) { <span id="L1076" class="LineNr"> 1076 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn main a: (addr addr int) {\n"</span>) <span id="L1077" class="LineNr"> 1077 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1078" class="LineNr"> 1078 </span> <span class="subxComment"># convert</span> -<span id="L1079" class="LineNr"> 1079 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1079" class="LineNr"> 1079 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1080" class="LineNr"> 1080 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1081" class="LineNr"> 1081 </span> <span class="subxComment"># no errors</span> <span id="L1082" class="LineNr"> 1082 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1099,7 +1099,7 @@ if ('onhashchange' in window) { <span id="L1097" class="LineNr"> 1097 </span> <span class="subxComment">#</span> <span id="L1098" class="LineNr"> 1098 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig <a href='120allocate.subx.html#L258'>lookup</a> h: (handle _T) -> _/eax: (addr _T)\n"</span>) <span id="L1099" class="LineNr"> 1099 </span> <span class="subxComment"># convert</span> -<span id="L1100" class="LineNr"> 1100 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1100" class="LineNr"> 1100 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1101" class="LineNr"> 1101 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1102" class="LineNr"> 1102 </span> <span class="subxComment"># no errors</span> <span id="L1103" class="LineNr"> 1103 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1121,23 +1121,23 @@ if ('onhashchange' in window) { <span id="L1119" class="LineNr"> 1119 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment n\n"</span>) <span id="L1120" class="LineNr"> 1120 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1121" class="LineNr"> 1121 </span> <span class="subxComment"># convert</span> -<span id="L1122" class="LineNr"> 1122 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1122" class="LineNr"> 1122 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1123" class="LineNr"> 1123 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1124" class="Folded"> 1124 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1130" class="LineNr"> 1130 </span> <span class="subxComment"># check output</span> -<span id="L1131" class="LineNr"> 1131 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/0"</span>) +<span id="L1131" class="LineNr"> 1131 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/0"</span>) <span id="L1132" class="LineNr"> 1132 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/1"</span>) -<span id="L1133" class="LineNr"> 1133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/2"</span>) -<span id="L1134" class="LineNr"> 1134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/3"</span>) -<span id="L1135" class="LineNr"> 1135 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/4"</span>) -<span id="L1136" class="LineNr"> 1136 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/5"</span>) -<span id="L1137" class="LineNr"> 1137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/6"</span>) -<span id="L1138" class="LineNr"> 1138 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/7"</span>) -<span id="L1139" class="LineNr"> 1139 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/8"</span>) +<span id="L1133" class="LineNr"> 1133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/2"</span>) +<span id="L1134" class="LineNr"> 1134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/3"</span>) +<span id="L1135" class="LineNr"> 1135 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/4"</span>) +<span id="L1136" class="LineNr"> 1136 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/5"</span>) +<span id="L1137" class="LineNr"> 1137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/6"</span>) +<span id="L1138" class="LineNr"> 1138 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/7"</span>) +<span id="L1139" class="LineNr"> 1139 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/8"</span>) <span id="L1140" class="LineNr"> 1140 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/9"</span>) -<span id="L1141" class="LineNr"> 1141 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/10"</span>) -<span id="L1142" class="LineNr"> 1142 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/11"</span>) -<span id="L1143" class="LineNr"> 1143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-arg-and-body/12"</span>) +<span id="L1141" class="LineNr"> 1141 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/10"</span>) +<span id="L1142" class="LineNr"> 1142 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/11"</span>) +<span id="L1143" class="LineNr"> 1143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1108'>test-convert-function-with-arg-and-body</a>/12"</span>) <span id="L1144" class="LineNr"> 1144 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1145" class="LineNr"> 1145 </span> 89/<- %esp 5/r32/ebp <span id="L1146" class="LineNr"> 1146 </span> 5d/pop-to-ebp @@ -1157,23 +1157,23 @@ if ('onhashchange' in window) { <span id="L1160" class="LineNr"> 1160 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment b\n"</span>) <span id="L1161" class="LineNr"> 1161 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1162" class="LineNr"> 1162 </span> <span class="subxComment"># convert</span> -<span id="L1163" class="LineNr"> 1163 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1163" class="LineNr"> 1163 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1164" class="LineNr"> 1164 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1165" class="Folded"> 1165 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1171" class="LineNr"> 1171 </span> <span class="subxComment"># check output</span> -<span id="L1172" class="LineNr"> 1172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/0"</span>) +<span id="L1172" class="LineNr"> 1172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/0"</span>) <span id="L1173" class="LineNr"> 1173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/1"</span>) -<span id="L1174" class="LineNr"> 1174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/2"</span>) -<span id="L1175" class="LineNr"> 1175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/3"</span>) -<span id="L1176" class="LineNr"> 1176 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/4"</span>) -<span id="L1177" class="LineNr"> 1177 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/5"</span>) -<span id="L1178" class="LineNr"> 1178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x0000000c)"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/6"</span>) -<span id="L1179" class="LineNr"> 1179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/7"</span>) -<span id="L1180" class="LineNr"> 1180 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/8"</span>) +<span id="L1174" class="LineNr"> 1174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/2"</span>) +<span id="L1175" class="LineNr"> 1175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/3"</span>) +<span id="L1176" class="LineNr"> 1176 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/4"</span>) +<span id="L1177" class="LineNr"> 1177 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/5"</span>) +<span id="L1178" class="LineNr"> 1178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x0000000c)"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/6"</span>) +<span id="L1179" class="LineNr"> 1179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/7"</span>) +<span id="L1180" class="LineNr"> 1180 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/8"</span>) <span id="L1181" class="LineNr"> 1181 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/9"</span>) -<span id="L1182" class="LineNr"> 1182 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/10"</span>) -<span id="L1183" class="LineNr"> 1183 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/11"</span>) -<span id="L1184" class="LineNr"> 1184 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-distinguishes-args/12"</span>) +<span id="L1182" class="LineNr"> 1182 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/10"</span>) +<span id="L1183" class="LineNr"> 1183 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/11"</span>) +<span id="L1184" class="LineNr"> 1184 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1149'>test-convert-function-distinguishes-args</a>/12"</span>) <span id="L1185" class="LineNr"> 1185 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1186" class="LineNr"> 1186 </span> 89/<- %esp 5/r32/ebp <span id="L1187" class="LineNr"> 1187 </span> 5d/pop-to-ebp @@ -1193,24 +1193,24 @@ if ('onhashchange' in window) { <span id="L1201" class="LineNr"> 1201 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0\n"</span>) <span id="L1202" class="LineNr"> 1202 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1203" class="LineNr"> 1203 </span> <span class="subxComment"># convert</span> -<span id="L1204" class="LineNr"> 1204 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1204" class="LineNr"> 1204 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1205" class="LineNr"> 1205 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1206" class="Folded"> 1206 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1212" class="LineNr"> 1212 </span> <span class="subxComment"># check output</span> -<span id="L1213" class="LineNr"> 1213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-literal/0"</span>) +<span id="L1213" class="LineNr"> 1213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/0"</span>) <span id="L1214" class="LineNr"> 1214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-literal/1"</span>) -<span id="L1215" class="LineNr"> 1215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-literal/2"</span>) -<span id="L1216" class="LineNr"> 1216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-literal/3"</span>) -<span id="L1217" class="LineNr"> 1217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-literal/4"</span>) -<span id="L1218" class="LineNr"> 1218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-literal/5"</span>) -<span id="L1219" class="LineNr"> 1219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy %eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-literal/6"</span>) -<span id="L1220" class="LineNr"> 1220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-literal/7"</span>) -<span id="L1221" class="LineNr"> 1221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-literal/8"</span>) -<span id="L1222" class="LineNr"> 1222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-literal/9"</span>) +<span id="L1215" class="LineNr"> 1215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/2"</span>) +<span id="L1216" class="LineNr"> 1216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/3"</span>) +<span id="L1217" class="LineNr"> 1217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/4"</span>) +<span id="L1218" class="LineNr"> 1218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/5"</span>) +<span id="L1219" class="LineNr"> 1219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/6"</span>) +<span id="L1220" class="LineNr"> 1220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/7"</span>) +<span id="L1221" class="LineNr"> 1221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/8"</span>) +<span id="L1222" class="LineNr"> 1222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/9"</span>) <span id="L1223" class="LineNr"> 1223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-literal/10"</span>) -<span id="L1224" class="LineNr"> 1224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-literal/11"</span>) -<span id="L1225" class="LineNr"> 1225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-literal/12"</span>) -<span id="L1226" class="LineNr"> 1226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-literal/13"</span>) +<span id="L1224" class="LineNr"> 1224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/11"</span>) +<span id="L1225" class="LineNr"> 1225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/12"</span>) +<span id="L1226" class="LineNr"> 1226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1190'>test-convert-function-with-return-literal</a>/13"</span>) <span id="L1227" class="LineNr"> 1227 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1228" class="LineNr"> 1228 </span> 89/<- %esp 5/r32/ebp <span id="L1229" class="LineNr"> 1229 </span> 5d/pop-to-ebp @@ -1231,26 +1231,26 @@ if ('onhashchange' in window) { <span id="L1244" class="LineNr"> 1244 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return y\n"</span>) <span id="L1245" class="LineNr"> 1245 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1246" class="LineNr"> 1246 </span> <span class="subxComment"># convert</span> -<span id="L1247" class="LineNr"> 1247 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1247" class="LineNr"> 1247 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1248" class="LineNr"> 1248 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1249" class="Folded"> 1249 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1255" class="LineNr"> 1255 </span> <span class="subxComment"># check output</span> -<span id="L1256" class="LineNr"> 1256 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return/0"</span>) +<span id="L1256" class="LineNr"> 1256 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/0"</span>) <span id="L1257" class="LineNr"> 1257 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return/1"</span>) -<span id="L1258" class="LineNr"> 1258 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return/2"</span>) -<span id="L1259" class="LineNr"> 1259 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return/3"</span>) -<span id="L1260" class="LineNr"> 1260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return/4"</span>) -<span id="L1261" class="LineNr"> 1261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return/5"</span>) -<span id="L1262" class="LineNr"> 1262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return/6"</span>) <span class="subxComment"># y</span> -<span id="L1263" class="LineNr"> 1263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-return/7"</span>) -<span id="L1264" class="LineNr"> 1264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-return/8"</span>) -<span id="L1265" class="LineNr"> 1265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return/9"</span>) -<span id="L1266" class="LineNr"> 1266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return/10"</span>) -<span id="L1267" class="LineNr"> 1267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return/11"</span>) +<span id="L1258" class="LineNr"> 1258 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/2"</span>) +<span id="L1259" class="LineNr"> 1259 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/3"</span>) +<span id="L1260" class="LineNr"> 1260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/4"</span>) +<span id="L1261" class="LineNr"> 1261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/5"</span>) +<span id="L1262" class="LineNr"> 1262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/6"</span>) <span class="subxComment"># y</span> +<span id="L1263" class="LineNr"> 1263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/7"</span>) +<span id="L1264" class="LineNr"> 1264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/8"</span>) +<span id="L1265" class="LineNr"> 1265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/9"</span>) +<span id="L1266" class="LineNr"> 1266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/10"</span>) +<span id="L1267" class="LineNr"> 1267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/11"</span>) <span id="L1268" class="LineNr"> 1268 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return/12"</span>) -<span id="L1269" class="LineNr"> 1269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return/13"</span>) -<span id="L1270" class="LineNr"> 1270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return/14"</span>) -<span id="L1271" class="LineNr"> 1271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return/15"</span>) +<span id="L1269" class="LineNr"> 1269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/13"</span>) +<span id="L1270" class="LineNr"> 1270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/14"</span>) +<span id="L1271" class="LineNr"> 1271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/15"</span>) <span id="L1272" class="LineNr"> 1272 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1273" class="LineNr"> 1273 </span> 89/<- %esp 5/r32/ebp <span id="L1274" class="LineNr"> 1274 </span> 5d/pop-to-ebp @@ -1271,26 +1271,26 @@ if ('onhashchange' in window) { <span id="L1289" class="LineNr"> 1289 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return y\n"</span>) <span id="L1290" class="LineNr"> 1290 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1291" class="LineNr"> 1291 </span> <span class="subxComment"># convert</span> -<span id="L1292" class="LineNr"> 1292 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1292" class="LineNr"> 1292 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1293" class="LineNr"> 1293 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1294" class="Folded"> 1294 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1300" class="LineNr"> 1300 </span> <span class="subxComment"># check output</span> -<span id="L1301" class="LineNr"> 1301 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return/0"</span>) +<span id="L1301" class="LineNr"> 1301 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/0"</span>) <span id="L1302" class="LineNr"> 1302 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return/1"</span>) -<span id="L1303" class="LineNr"> 1303 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return/2"</span>) -<span id="L1304" class="LineNr"> 1304 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return/3"</span>) -<span id="L1305" class="LineNr"> 1305 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return/4"</span>) -<span id="L1306" class="LineNr"> 1306 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return/5"</span>) -<span id="L1307" class="LineNr"> 1307 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return/6"</span>) <span class="subxComment"># y</span> -<span id="L1308" class="LineNr"> 1308 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *(ebp+0xfffffffc) 0x00000000/x32"</span> <span class="Constant">"F - test-convert-function-with-return/7"</span>) -<span id="L1309" class="LineNr"> 1309 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-return/8"</span>) -<span id="L1310" class="LineNr"> 1310 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return/9"</span>) -<span id="L1311" class="LineNr"> 1311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return/10"</span>) -<span id="L1312" class="LineNr"> 1312 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return/11"</span>) +<span id="L1303" class="LineNr"> 1303 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/2"</span>) +<span id="L1304" class="LineNr"> 1304 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/3"</span>) +<span id="L1305" class="LineNr"> 1305 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/4"</span>) +<span id="L1306" class="LineNr"> 1306 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/5"</span>) +<span id="L1307" class="LineNr"> 1307 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/6"</span>) <span class="subxComment"># y</span> +<span id="L1308" class="LineNr"> 1308 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *(ebp+0xfffffffc) 0x00000000/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/7"</span>) +<span id="L1309" class="LineNr"> 1309 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/8"</span>) +<span id="L1310" class="LineNr"> 1310 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/9"</span>) +<span id="L1311" class="LineNr"> 1311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/10"</span>) +<span id="L1312" class="LineNr"> 1312 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/11"</span>) <span id="L1313" class="LineNr"> 1313 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return/12"</span>) -<span id="L1314" class="LineNr"> 1314 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return/13"</span>) -<span id="L1315" class="LineNr"> 1315 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return/14"</span>) -<span id="L1316" class="LineNr"> 1316 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return/15"</span>) +<span id="L1314" class="LineNr"> 1314 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/13"</span>) +<span id="L1315" class="LineNr"> 1315 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/14"</span>) +<span id="L1316" class="LineNr"> 1316 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1232'>test-convert-function-with-return</a>/15"</span>) <span id="L1317" class="LineNr"> 1317 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1318" class="LineNr"> 1318 </span> 89/<- %esp 5/r32/ebp <span id="L1319" class="LineNr"> 1319 </span> 5d/pop-to-ebp @@ -1311,27 +1311,27 @@ if ('onhashchange' in window) { <span id="L1334" class="LineNr"> 1334 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return y\n"</span>) <span id="L1335" class="LineNr"> 1335 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1336" class="LineNr"> 1336 </span> <span class="subxComment"># convert</span> -<span id="L1337" class="LineNr"> 1337 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1337" class="LineNr"> 1337 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1338" class="LineNr"> 1338 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1339" class="Folded"> 1339 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1345" class="LineNr"> 1345 </span> <span class="subxComment"># check output</span> -<span id="L1346" class="LineNr"> 1346 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-register/0"</span>) +<span id="L1346" class="LineNr"> 1346 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/0"</span>) <span id="L1347" class="LineNr"> 1347 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-register/1"</span>) -<span id="L1348" class="LineNr"> 1348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register/2"</span>) -<span id="L1349" class="LineNr"> 1349 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-register/3"</span>) -<span id="L1350" class="LineNr"> 1350 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-register/4"</span>) -<span id="L1351" class="LineNr"> 1351 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-register/5"</span>) -<span id="L1352" class="LineNr"> 1352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-return-register/6"</span>) -<span id="L1353" class="LineNr"> 1353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register/7"</span>) -<span id="L1354" class="LineNr"> 1354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-return-register/8"</span>) -<span id="L1355" class="LineNr"> 1355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register/9"</span>) -<span id="L1356" class="LineNr"> 1356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-register/10"</span>) -<span id="L1357" class="LineNr"> 1357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-register/11"</span>) -<span id="L1358" class="LineNr"> 1358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-register/12"</span>) +<span id="L1348" class="LineNr"> 1348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/2"</span>) +<span id="L1349" class="LineNr"> 1349 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/3"</span>) +<span id="L1350" class="LineNr"> 1350 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/4"</span>) +<span id="L1351" class="LineNr"> 1351 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/5"</span>) +<span id="L1352" class="LineNr"> 1352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/6"</span>) +<span id="L1353" class="LineNr"> 1353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/7"</span>) +<span id="L1354" class="LineNr"> 1354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/8"</span>) +<span id="L1355" class="LineNr"> 1355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/9"</span>) +<span id="L1356" class="LineNr"> 1356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/10"</span>) +<span id="L1357" class="LineNr"> 1357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/11"</span>) +<span id="L1358" class="LineNr"> 1358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/12"</span>) <span id="L1359" class="LineNr"> 1359 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-register/13"</span>) -<span id="L1360" class="LineNr"> 1360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register/14"</span>) -<span id="L1361" class="LineNr"> 1361 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register/15"</span>) -<span id="L1362" class="LineNr"> 1362 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-register/16"</span>) +<span id="L1360" class="LineNr"> 1360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/14"</span>) +<span id="L1361" class="LineNr"> 1361 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/15"</span>) +<span id="L1362" class="LineNr"> 1362 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1322'>test-convert-function-with-return-register</a>/16"</span>) <span id="L1363" class="LineNr"> 1363 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1364" class="LineNr"> 1364 </span> 89/<- %esp 5/r32/ebp <span id="L1365" class="LineNr"> 1365 </span> 5d/pop-to-ebp @@ -1357,7 +1357,7 @@ if ('onhashchange' in window) { <span id="L1385" class="LineNr"> 1385 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo -> _: int {\n"</span>) <span id="L1386" class="LineNr"> 1386 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1387" class="LineNr"> 1387 </span> <span class="subxComment"># convert</span> -<span id="L1388" class="LineNr"> 1388 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1388" class="LineNr"> 1388 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1389" class="LineNr"> 1389 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1390" class="LineNr"> 1390 </span> <span class="subxComment"># restore ed</span> <span id="L1391" class="LineNr"> 1391 </span> 89/<- %edx 4/r32/esp @@ -1365,10 +1365,10 @@ if ('onhashchange' in window) { <span id="L1393" class="LineNr"> 1393 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1394" class="Folded"> 1394 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1400" class="LineNr"> 1400 </span> <span class="subxComment"># check output</span> -<span id="L1401" class="LineNr"> 1401 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-output-without-register: output should be empty"</span>) +<span id="L1401" class="LineNr"> 1401 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1368'>test-function-with-output-without-register</a>: output should be empty"</span>) <span id="L1402" class="LineNr"> 1402 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: function output '_' must be in a register, in instruction 'fn foo -> _: int {"</span> <span class="Constant">"F - test-function-with-output-without-register: error message"</span>) <span id="L1403" class="LineNr"> 1403 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1404" class="LineNr"> 1404 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-output-without-register: exit status"</span>) +<span id="L1404" class="LineNr"> 1404 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1368'>test-function-with-output-without-register</a>: exit status"</span>) <span id="L1405" class="LineNr"> 1405 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1406" class="LineNr"> 1406 </span> 81 0/subop/add %esp 8/imm32 <span id="L1407" class="LineNr"> 1407 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1395,7 +1395,7 @@ if ('onhashchange' in window) { <span id="L1428" class="LineNr"> 1428 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo -> _/eax: int, _/eax: int {\n"</span>) <span id="L1429" class="LineNr"> 1429 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1430" class="LineNr"> 1430 </span> <span class="subxComment"># convert</span> -<span id="L1431" class="LineNr"> 1431 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1431" class="LineNr"> 1431 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1432" class="LineNr"> 1432 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1433" class="LineNr"> 1433 </span> <span class="subxComment"># restore ed</span> <span id="L1434" class="LineNr"> 1434 </span> 89/<- %edx 4/r32/esp @@ -1403,10 +1403,10 @@ if ('onhashchange' in window) { <span id="L1436" class="LineNr"> 1436 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1437" class="Folded"> 1437 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1443" class="LineNr"> 1443 </span> <span class="subxComment"># check output</span> -<span id="L1444" class="LineNr"> 1444 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-outputs-in-conflicting-registers: output should be empty"</span>) -<span id="L1445" class="LineNr"> 1445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: outputs must be in unique registers"</span> <span class="Constant">"F - test-function-with-outputs-in-conflicting-registers: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1444" class="LineNr"> 1444 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1411'>test-function-with-outputs-in-conflicting-registers</a>: output should be empty"</span>) +<span id="L1445" class="LineNr"> 1445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: outputs must be in unique registers"</span> <span class="Constant">"F - <a href='mu.subx.html#L1411'>test-function-with-outputs-in-conflicting-registers</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1446" class="LineNr"> 1446 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1447" class="LineNr"> 1447 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-outputs-in-conflicting-registers: exit status"</span>) +<span id="L1447" class="LineNr"> 1447 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1411'>test-function-with-outputs-in-conflicting-registers</a>: exit status"</span>) <span id="L1448" class="LineNr"> 1448 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1449" class="LineNr"> 1449 </span> 81 0/subop/add %esp 8/imm32 <span id="L1450" class="LineNr"> 1450 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1434,7 +1434,7 @@ if ('onhashchange' in window) { <span id="L1472" class="LineNr"> 1472 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0\n"</span>) <span id="L1473" class="LineNr"> 1473 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1474" class="LineNr"> 1474 </span> <span class="subxComment"># convert</span> -<span id="L1475" class="LineNr"> 1475 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1475" class="LineNr"> 1475 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1476" class="LineNr"> 1476 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1477" class="LineNr"> 1477 </span> <span class="subxComment"># restore ed</span> <span id="L1478" class="LineNr"> 1478 </span> 89/<- %edx 4/r32/esp @@ -1442,10 +1442,10 @@ if ('onhashchange' in window) { <span id="L1480" class="LineNr"> 1480 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1481" class="Folded"> 1481 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1487" class="LineNr"> 1487 </span> <span class="subxComment"># check output</span> -<span id="L1488" class="LineNr"> 1488 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-function-with-named-output: output should be empty"</span>) -<span id="L1489" class="LineNr"> 1489 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: function outputs cannot be named; rename 'x' in the header to '_'"</span> <span class="Constant">"F - test-function-with-named-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1488" class="LineNr"> 1488 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1454'>test-function-with-named-output</a>: output should be empty"</span>) +<span id="L1489" class="LineNr"> 1489 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: function outputs cannot be named; rename 'x' in the header to '_'"</span> <span class="Constant">"F - <a href='mu.subx.html#L1454'>test-function-with-named-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1490" class="LineNr"> 1490 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1491" class="LineNr"> 1491 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-function-with-named-output: exit status"</span>) +<span id="L1491" class="LineNr"> 1491 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1454'>test-function-with-named-output</a>: exit status"</span>) <span id="L1492" class="LineNr"> 1492 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1493" class="LineNr"> 1493 </span> 81 0/subop/add %esp 8/imm32 <span id="L1494" class="LineNr"> 1494 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1474,7 +1474,7 @@ if ('onhashchange' in window) { <span id="L1517" class="LineNr"> 1517 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return x\n"</span>) <span id="L1518" class="LineNr"> 1518 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1519" class="LineNr"> 1519 </span> <span class="subxComment"># convert</span> -<span id="L1520" class="LineNr"> 1520 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1520" class="LineNr"> 1520 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1521" class="LineNr"> 1521 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1522" class="LineNr"> 1522 </span> <span class="subxComment"># restore ed</span> <span id="L1523" class="LineNr"> 1523 </span> 89/<- %edx 4/r32/esp @@ -1482,10 +1482,10 @@ if ('onhashchange' in window) { <span id="L1525" class="LineNr"> 1525 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1526" class="Folded"> 1526 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1532" class="LineNr"> 1532 </span> <span class="subxComment"># check output</span> -<span id="L1533" class="LineNr"> 1533 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-return-with-wrong-type: output should be empty"</span>) -<span id="L1534" class="LineNr"> 1534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: 'x' has the wrong type"</span> <span class="Constant">"F - test-return-with-wrong-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1533" class="LineNr"> 1533 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1498'>test-return-with-wrong-type</a>: output should be empty"</span>) +<span id="L1534" class="LineNr"> 1534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: 'x' has the wrong type"</span> <span class="Constant">"F - <a href='mu.subx.html#L1498'>test-return-with-wrong-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1535" class="LineNr"> 1535 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1536" class="LineNr"> 1536 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-return-with-wrong-type: exit status"</span>) +<span id="L1536" class="LineNr"> 1536 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1498'>test-return-with-wrong-type</a>: exit status"</span>) <span id="L1537" class="LineNr"> 1537 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1538" class="LineNr"> 1538 </span> 81 0/subop/add %esp 8/imm32 <span id="L1539" class="LineNr"> 1539 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1513,7 +1513,7 @@ if ('onhashchange' in window) { <span id="L1561" class="LineNr"> 1561 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: boolean <- copy 0\n"</span>) <span id="L1562" class="LineNr"> 1562 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1563" class="LineNr"> 1563 </span> <span class="subxComment"># convert</span> -<span id="L1564" class="LineNr"> 1564 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1564" class="LineNr"> 1564 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1565" class="LineNr"> 1565 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1566" class="LineNr"> 1566 </span> <span class="subxComment"># restore ed</span> <span id="L1567" class="LineNr"> 1567 </span> 89/<- %edx 4/r32/esp @@ -1521,10 +1521,10 @@ if ('onhashchange' in window) { <span id="L1569" class="LineNr"> 1569 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1570" class="Folded"> 1570 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1576" class="LineNr"> 1576 </span> <span class="subxComment"># check output</span> -<span id="L1577" class="LineNr"> 1577 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-missing-return: output should be empty"</span>) -<span id="L1578" class="LineNr"> 1578 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: final statement should be a 'return'"</span> <span class="Constant">"F - test-missing-return: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1577" class="LineNr"> 1577 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1543'>test-missing-return</a>: output should be empty"</span>) +<span id="L1578" class="LineNr"> 1578 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: final statement should be a 'return'"</span> <span class="Constant">"F - <a href='mu.subx.html#L1543'>test-missing-return</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1579" class="LineNr"> 1579 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1580" class="LineNr"> 1580 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-missing-return: exit status"</span>) +<span id="L1580" class="LineNr"> 1580 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1543'>test-missing-return</a>: exit status"</span>) <span id="L1581" class="LineNr"> 1581 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1582" class="LineNr"> 1582 </span> 81 0/subop/add %esp 8/imm32 <span id="L1583" class="LineNr"> 1583 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1551,7 +1551,7 @@ if ('onhashchange' in window) { <span id="L1604" class="LineNr"> 1604 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn foo -> _/eax: int {\n"</span>) <span id="L1605" class="LineNr"> 1605 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1606" class="LineNr"> 1606 </span> <span class="subxComment"># convert</span> -<span id="L1607" class="LineNr"> 1607 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1607" class="LineNr"> 1607 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1608" class="LineNr"> 1608 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1609" class="LineNr"> 1609 </span> <span class="subxComment"># restore ed</span> <span id="L1610" class="LineNr"> 1610 </span> 89/<- %edx 4/r32/esp @@ -1559,10 +1559,10 @@ if ('onhashchange' in window) { <span id="L1612" class="LineNr"> 1612 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1613" class="Folded"> 1613 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1619" class="LineNr"> 1619 </span> <span class="subxComment"># check output</span> -<span id="L1620" class="LineNr"> 1620 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-missing-return-2: output should be empty"</span>) -<span id="L1621" class="LineNr"> 1621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: final statement should be a 'return'"</span> <span class="Constant">"F - test-missing-return-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1620" class="LineNr"> 1620 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1587'>test-missing-return-2</a>: output should be empty"</span>) +<span id="L1621" class="LineNr"> 1621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: final statement should be a 'return'"</span> <span class="Constant">"F - <a href='mu.subx.html#L1587'>test-missing-return-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1622" class="LineNr"> 1622 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1623" class="LineNr"> 1623 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-missing-return-2: exit status"</span>) +<span id="L1623" class="LineNr"> 1623 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1587'>test-missing-return-2</a>: exit status"</span>) <span id="L1624" class="LineNr"> 1624 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1625" class="LineNr"> 1625 </span> 81 0/subop/add %esp 8/imm32 <span id="L1626" class="LineNr"> 1626 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1591,7 +1591,7 @@ if ('onhashchange' in window) { <span id="L1649" class="LineNr"> 1649 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0\n"</span>) <span id="L1650" class="LineNr"> 1650 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1651" class="LineNr"> 1651 </span> <span class="subxComment"># convert</span> -<span id="L1652" class="LineNr"> 1652 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1652" class="LineNr"> 1652 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1653" class="LineNr"> 1653 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1654" class="LineNr"> 1654 </span> <span class="subxComment"># restore ed</span> <span id="L1655" class="LineNr"> 1655 </span> 89/<- %edx 4/r32/esp @@ -1599,10 +1599,10 @@ if ('onhashchange' in window) { <span id="L1657" class="LineNr"> 1657 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1658" class="Folded"> 1658 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1664" class="LineNr"> 1664 </span> <span class="subxComment"># check output</span> -<span id="L1665" class="LineNr"> 1665 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-early-exit-without-return: output should be empty"</span>) -<span id="L1666" class="LineNr"> 1666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo has outputs, so you cannot 'break' out of the outermost block. Use 'return'."</span> <span class="Constant">"F - test-early-exit-without-return: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1665" class="LineNr"> 1665 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1630'>test-early-exit-without-return</a>: output should be empty"</span>) +<span id="L1666" class="LineNr"> 1666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo has outputs, so you cannot 'break' out of the outermost block. Use 'return'."</span> <span class="Constant">"F - <a href='mu.subx.html#L1630'>test-early-exit-without-return</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1667" class="LineNr"> 1667 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1668" class="LineNr"> 1668 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-early-exit-without-return: exit status"</span>) +<span id="L1668" class="LineNr"> 1668 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1630'>test-early-exit-without-return</a>: exit status"</span>) <span id="L1669" class="LineNr"> 1669 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1670" class="LineNr"> 1670 </span> 81 0/subop/add %esp 8/imm32 <span id="L1671" class="LineNr"> 1671 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1630,7 +1630,7 @@ if ('onhashchange' in window) { <span id="L1693" class="LineNr"> 1693 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return\n"</span>) <span id="L1694" class="LineNr"> 1694 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1695" class="LineNr"> 1695 </span> <span class="subxComment"># convert</span> -<span id="L1696" class="LineNr"> 1696 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1696" class="LineNr"> 1696 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1697" class="LineNr"> 1697 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1698" class="LineNr"> 1698 </span> <span class="subxComment"># restore ed</span> <span id="L1699" class="LineNr"> 1699 </span> 89/<- %edx 4/r32/esp @@ -1638,10 +1638,10 @@ if ('onhashchange' in window) { <span id="L1701" class="LineNr"> 1701 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1702" class="Folded"> 1702 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1708" class="LineNr"> 1708 </span> <span class="subxComment"># check output</span> -<span id="L1709" class="LineNr"> 1709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-return-with-too-few-inouts: output should be empty"</span>) -<span id="L1710" class="LineNr"> 1710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: too few inouts"</span> <span class="Constant">"F - test-return-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1709" class="LineNr"> 1709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1675'>test-return-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L1710" class="LineNr"> 1710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: too few inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L1675'>test-return-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1711" class="LineNr"> 1711 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1712" class="LineNr"> 1712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-return-with-too-few-inouts: exit status"</span>) +<span id="L1712" class="LineNr"> 1712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1675'>test-return-with-too-few-inouts</a>: exit status"</span>) <span id="L1713" class="LineNr"> 1713 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1714" class="LineNr"> 1714 </span> 81 0/subop/add %esp 8/imm32 <span id="L1715" class="LineNr"> 1715 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1669,7 +1669,7 @@ if ('onhashchange' in window) { <span id="L1737" class="LineNr"> 1737 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0, 0\n"</span>) <span id="L1738" class="LineNr"> 1738 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1739" class="LineNr"> 1739 </span> <span class="subxComment"># convert</span> -<span id="L1740" class="LineNr"> 1740 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1740" class="LineNr"> 1740 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1741" class="LineNr"> 1741 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1742" class="LineNr"> 1742 </span> <span class="subxComment"># restore ed</span> <span id="L1743" class="LineNr"> 1743 </span> 89/<- %edx 4/r32/esp @@ -1677,10 +1677,10 @@ if ('onhashchange' in window) { <span id="L1745" class="LineNr"> 1745 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1746" class="Folded"> 1746 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1752" class="LineNr"> 1752 </span> <span class="subxComment"># check output</span> -<span id="L1753" class="LineNr"> 1753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-return-with-too-many-inouts: output should be empty"</span>) -<span id="L1754" class="LineNr"> 1754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: too many inouts"</span> <span class="Constant">"F - test-return-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1753" class="LineNr"> 1753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1719'>test-return-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L1754" class="LineNr"> 1754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: too many inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L1719'>test-return-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1755" class="LineNr"> 1755 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1756" class="LineNr"> 1756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-return-with-too-many-inouts: exit status"</span>) +<span id="L1756" class="LineNr"> 1756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1719'>test-return-with-too-many-inouts</a>: exit status"</span>) <span id="L1757" class="LineNr"> 1757 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1758" class="LineNr"> 1758 </span> 81 0/subop/add %esp 8/imm32 <span id="L1759" class="LineNr"> 1759 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1710,7 +1710,7 @@ if ('onhashchange' in window) { <span id="L1783" class="LineNr"> 1783 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return y, x\n"</span>) <span id="L1784" class="LineNr"> 1784 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1785" class="LineNr"> 1785 </span> <span class="subxComment"># convert</span> -<span id="L1786" class="LineNr"> 1786 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1786" class="LineNr"> 1786 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1787" class="LineNr"> 1787 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1788" class="LineNr"> 1788 </span> <span class="subxComment"># restore ed</span> <span id="L1789" class="LineNr"> 1789 </span> 89/<- %edx 4/r32/esp @@ -1718,10 +1718,10 @@ if ('onhashchange' in window) { <span id="L1791" class="LineNr"> 1791 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1792" class="Folded"> 1792 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1798" class="LineNr"> 1798 </span> <span class="subxComment"># check output</span> -<span id="L1799" class="LineNr"> 1799 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-return-unavailable-value: output should be empty"</span>) -<span id="L1800" class="LineNr"> 1800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: 'x' is no longer available"</span> <span class="Constant">"F - test-return-unavailable-value: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1799" class="LineNr"> 1799 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1763'>test-return-unavailable-value</a>: output should be empty"</span>) +<span id="L1800" class="LineNr"> 1800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: 'x' is no longer available"</span> <span class="Constant">"F - <a href='mu.subx.html#L1763'>test-return-unavailable-value</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1801" class="LineNr"> 1801 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1802" class="LineNr"> 1802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-return-unavailable-value: exit status"</span>) +<span id="L1802" class="LineNr"> 1802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1763'>test-return-unavailable-value</a>: exit status"</span>) <span id="L1803" class="LineNr"> 1803 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1804" class="LineNr"> 1804 </span> 81 0/subop/add %esp 8/imm32 <span id="L1805" class="LineNr"> 1805 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1749,7 +1749,7 @@ if ('onhashchange' in window) { <span id="L1827" class="LineNr"> 1827 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0\n"</span>) <span id="L1828" class="LineNr"> 1828 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1829" class="LineNr"> 1829 </span> <span class="subxComment"># convert</span> -<span id="L1830" class="LineNr"> 1830 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1830" class="LineNr"> 1830 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1831" class="LineNr"> 1831 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1832" class="LineNr"> 1832 </span> <span class="subxComment"># restore ed</span> <span id="L1833" class="LineNr"> 1833 </span> 89/<- %edx 4/r32/esp @@ -1757,10 +1757,10 @@ if ('onhashchange' in window) { <span id="L1835" class="LineNr"> 1835 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1836" class="Folded"> 1836 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1842" class="LineNr"> 1842 </span> <span class="subxComment"># check output</span> -<span id="L1843" class="LineNr"> 1843 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-return-literal-to-float: output should be empty"</span>) -<span id="L1844" class="LineNr"> 1844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: cannot copy literal '0' to float"</span> <span class="Constant">"F - test-return-literal-to-float: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1843" class="LineNr"> 1843 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1809'>test-return-literal-to-float</a>: output should be empty"</span>) +<span id="L1844" class="LineNr"> 1844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: return: cannot copy literal '0' to float"</span> <span class="Constant">"F - <a href='mu.subx.html#L1809'>test-return-literal-to-float</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1845" class="LineNr"> 1845 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1846" class="LineNr"> 1846 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-return-literal-to-float: exit status"</span>) +<span id="L1846" class="LineNr"> 1846 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1809'>test-return-literal-to-float</a>: exit status"</span>) <span id="L1847" class="LineNr"> 1847 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1848" class="LineNr"> 1848 </span> 81 0/subop/add %esp 8/imm32 <span id="L1849" class="LineNr"> 1849 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1782,28 +1782,28 @@ if ('onhashchange' in window) { <span id="L1865" class="LineNr"> 1865 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return x, x\n"</span>) <span id="L1866" class="LineNr"> 1866 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1867" class="LineNr"> 1867 </span> <span class="subxComment"># convert</span> -<span id="L1868" class="LineNr"> 1868 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1868" class="LineNr"> 1868 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1869" class="LineNr"> 1869 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1870" class="Folded"> 1870 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1876" class="LineNr"> 1876 </span> <span class="subxComment"># check output</span> -<span id="L1877" class="LineNr"> 1877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/0"</span>) +<span id="L1877" class="LineNr"> 1877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/0"</span>) <span id="L1878" class="LineNr"> 1878 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/1"</span>) -<span id="L1879" class="LineNr"> 1879 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/2"</span>) -<span id="L1880" class="LineNr"> 1880 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/3"</span>) -<span id="L1881" class="LineNr"> 1881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/4"</span>) -<span id="L1882" class="LineNr"> 1882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/5"</span>) -<span id="L1883" class="LineNr"> 1883 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/6"</span>) -<span id="L1884" class="LineNr"> 1884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0x34/imm32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/7"</span>) -<span id="L1885" class="LineNr"> 1885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/8"</span>) -<span id="L1886" class="LineNr"> 1886 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000001/r32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/9"</span>) -<span id="L1887" class="LineNr"> 1887 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/10"</span>) -<span id="L1888" class="LineNr"> 1888 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/11"</span>) -<span id="L1889" class="LineNr"> 1889 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/12"</span>) -<span id="L1890" class="LineNr"> 1890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/13"</span>) +<span id="L1879" class="LineNr"> 1879 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/2"</span>) +<span id="L1880" class="LineNr"> 1880 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/3"</span>) +<span id="L1881" class="LineNr"> 1881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/4"</span>) +<span id="L1882" class="LineNr"> 1882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/5"</span>) +<span id="L1883" class="LineNr"> 1883 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/6"</span>) +<span id="L1884" class="LineNr"> 1884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0x34/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/7"</span>) +<span id="L1885" class="LineNr"> 1885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/8"</span>) +<span id="L1886" class="LineNr"> 1886 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/9"</span>) +<span id="L1887" class="LineNr"> 1887 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/10"</span>) +<span id="L1888" class="LineNr"> 1888 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/11"</span>) +<span id="L1889" class="LineNr"> 1889 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/12"</span>) +<span id="L1890" class="LineNr"> 1890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/13"</span>) <span id="L1891" class="LineNr"> 1891 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/14"</span>) -<span id="L1892" class="LineNr"> 1892 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/15"</span>) -<span id="L1893" class="LineNr"> 1893 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/16"</span>) -<span id="L1894" class="LineNr"> 1894 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values/17"</span>) +<span id="L1892" class="LineNr"> 1892 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/15"</span>) +<span id="L1893" class="LineNr"> 1893 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/16"</span>) +<span id="L1894" class="LineNr"> 1894 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1853'>test-convert-return-with-duplicate-values</a>/17"</span>) <span id="L1895" class="LineNr"> 1895 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1896" class="LineNr"> 1896 </span> 89/<- %esp 5/r32/ebp <span id="L1897" class="LineNr"> 1897 </span> 5d/pop-to-ebp @@ -1824,28 +1824,28 @@ if ('onhashchange' in window) { <span id="L1912" class="LineNr"> 1912 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return x, x\n"</span>) <span id="L1913" class="LineNr"> 1913 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1914" class="LineNr"> 1914 </span> <span class="subxComment"># convert</span> -<span id="L1915" class="LineNr"> 1915 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L1915" class="LineNr"> 1915 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L1916" class="LineNr"> 1916 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L1917" class="Folded"> 1917 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1923" class="LineNr"> 1923 </span> <span class="subxComment"># check output</span> -<span id="L1924" class="LineNr"> 1924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/0"</span>) +<span id="L1924" class="LineNr"> 1924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/0"</span>) <span id="L1925" class="LineNr"> 1925 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/1"</span>) -<span id="L1926" class="LineNr"> 1926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/2"</span>) -<span id="L1927" class="LineNr"> 1927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/3"</span>) -<span id="L1928" class="LineNr"> 1928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/4"</span>) -<span id="L1929" class="LineNr"> 1929 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/5"</span>) -<span id="L1930" class="LineNr"> 1930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/6"</span>) -<span id="L1931" class="LineNr"> 1931 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x34/imm32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/7"</span>) -<span id="L1932" class="LineNr"> 1932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000000/r32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/8"</span>) -<span id="L1933" class="LineNr"> 1933 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000001/r32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/9"</span>) -<span id="L1934" class="LineNr"> 1934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/10"</span>) -<span id="L1935" class="LineNr"> 1935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/11"</span>) -<span id="L1936" class="LineNr"> 1936 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/12"</span>) -<span id="L1937" class="LineNr"> 1937 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/13"</span>) +<span id="L1926" class="LineNr"> 1926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/2"</span>) +<span id="L1927" class="LineNr"> 1927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/3"</span>) +<span id="L1928" class="LineNr"> 1928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/4"</span>) +<span id="L1929" class="LineNr"> 1929 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/5"</span>) +<span id="L1930" class="LineNr"> 1930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/6"</span>) +<span id="L1931" class="LineNr"> 1931 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x34/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/7"</span>) +<span id="L1932" class="LineNr"> 1932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/8"</span>) +<span id="L1933" class="LineNr"> 1933 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/9"</span>) +<span id="L1934" class="LineNr"> 1934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/10"</span>) +<span id="L1935" class="LineNr"> 1935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/11"</span>) +<span id="L1936" class="LineNr"> 1936 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/12"</span>) +<span id="L1937" class="LineNr"> 1937 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/13"</span>) <span id="L1938" class="LineNr"> 1938 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/14"</span>) -<span id="L1939" class="LineNr"> 1939 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/15"</span>) -<span id="L1940" class="LineNr"> 1940 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/16"</span>) -<span id="L1941" class="LineNr"> 1941 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-return-with-duplicate-values-2/17"</span>) +<span id="L1939" class="LineNr"> 1939 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/15"</span>) +<span id="L1940" class="LineNr"> 1940 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/16"</span>) +<span id="L1941" class="LineNr"> 1941 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L1900'>test-convert-return-with-duplicate-values-2</a>/17"</span>) <span id="L1942" class="LineNr"> 1942 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L1943" class="LineNr"> 1943 </span> 89/<- %esp 5/r32/ebp <span id="L1944" class="LineNr"> 1944 </span> 5d/pop-to-ebp @@ -1872,7 +1872,7 @@ if ('onhashchange' in window) { <span id="L1965" class="LineNr"> 1965 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- copy 0x34\n"</span>) <span id="L1966" class="LineNr"> 1966 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L1967" class="LineNr"> 1967 </span> <span class="subxComment"># convert</span> -<span id="L1968" class="LineNr"> 1968 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L1968" class="LineNr"> 1968 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L1969" class="LineNr"> 1969 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L1970" class="LineNr"> 1970 </span> <span class="subxComment"># restore ed</span> <span id="L1971" class="LineNr"> 1971 </span> 89/<- %edx 4/r32/esp @@ -1880,10 +1880,10 @@ if ('onhashchange' in window) { <span id="L1973" class="LineNr"> 1973 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L1974" class="Folded"> 1974 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L1980" class="LineNr"> 1980 </span> <span class="subxComment"># check output</span> -<span id="L1981" class="LineNr"> 1981 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-stmt-with-unknown-var: output should be empty"</span>) -<span id="L1982" class="LineNr"> 1982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - test-stmt-with-unknown-var: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L1981" class="LineNr"> 1981 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1947'>test-stmt-with-unknown-var</a>: output should be empty"</span>) +<span id="L1982" class="LineNr"> 1982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - <a href='mu.subx.html#L1947'>test-stmt-with-unknown-var</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L1983" class="LineNr"> 1983 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L1984" class="LineNr"> 1984 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-stmt-with-unknown-var: exit status"</span>) +<span id="L1984" class="LineNr"> 1984 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1947'>test-stmt-with-unknown-var</a>: exit status"</span>) <span id="L1985" class="LineNr"> 1985 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L1986" class="LineNr"> 1986 </span> 81 0/subop/add %esp 8/imm32 <span id="L1987" class="LineNr"> 1987 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1911,7 +1911,7 @@ if ('onhashchange' in window) { <span id="L2009" class="LineNr"> 2009 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" 1 <- copy 0x34\n"</span>) <span id="L2010" class="LineNr"> 2010 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2011" class="LineNr"> 2011 </span> <span class="subxComment"># convert</span> -<span id="L2012" class="LineNr"> 2012 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2012" class="LineNr"> 2012 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2013" class="LineNr"> 2013 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2014" class="LineNr"> 2014 </span> <span class="subxComment"># restore ed</span> <span id="L2015" class="LineNr"> 2015 </span> 89/<- %edx 4/r32/esp @@ -1919,10 +1919,10 @@ if ('onhashchange' in window) { <span id="L2017" class="LineNr"> 2017 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2018" class="Folded"> 2018 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2024" class="LineNr"> 2024 </span> <span class="subxComment"># check output</span> -<span id="L2025" class="LineNr"> 2025 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-stmt-with-invalid-identifier: output should be empty"</span>) -<span id="L2026" class="LineNr"> 2026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: invalid identifier '1'"</span> <span class="Constant">"F - test-stmt-with-invalid-identifier: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2025" class="LineNr"> 2025 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L1991'>test-stmt-with-invalid-identifier</a>: output should be empty"</span>) +<span id="L2026" class="LineNr"> 2026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: invalid identifier '1'"</span> <span class="Constant">"F - <a href='mu.subx.html#L1991'>test-stmt-with-invalid-identifier</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2027" class="LineNr"> 2027 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2028" class="LineNr"> 2028 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-stmt-with-invalid-identifier: exit status"</span>) +<span id="L2028" class="LineNr"> 2028 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L1991'>test-stmt-with-invalid-identifier</a>: exit status"</span>) <span id="L2029" class="LineNr"> 2029 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2030" class="LineNr"> 2030 </span> 81 0/subop/add %esp 8/imm32 <span id="L2031" class="LineNr"> 2031 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1950,7 +1950,7 @@ if ('onhashchange' in window) { <span id="L2053" class="LineNr"> 2053 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" *x <- copy 0x34\n"</span>) <span id="L2054" class="LineNr"> 2054 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2055" class="LineNr"> 2055 </span> <span class="subxComment"># convert</span> -<span id="L2056" class="LineNr"> 2056 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2056" class="LineNr"> 2056 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2057" class="LineNr"> 2057 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2058" class="LineNr"> 2058 </span> <span class="subxComment"># restore ed</span> <span id="L2059" class="LineNr"> 2059 </span> 89/<- %edx 4/r32/esp @@ -1958,10 +1958,10 @@ if ('onhashchange' in window) { <span id="L2061" class="LineNr"> 2061 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2062" class="Folded"> 2062 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2068" class="LineNr"> 2068 </span> <span class="subxComment"># check output</span> -<span id="L2069" class="LineNr"> 2069 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-stmt-with-deref-var: output should be empty"</span>) -<span id="L2070" class="LineNr"> 2070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: output '*x' should <a href='108write.subx.html#L24'>write</a> to a register, and therefore cannot be dereferenced"</span> <span class="Constant">"F - test-stmt-with-deref-var: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2069" class="LineNr"> 2069 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2035'>test-stmt-with-deref-var</a>: output should be empty"</span>) +<span id="L2070" class="LineNr"> 2070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: output '*x' should <a href='108write.subx.html#L24'>write</a> to a register, and therefore cannot be dereferenced"</span> <span class="Constant">"F - <a href='mu.subx.html#L2035'>test-stmt-with-deref-var</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2071" class="LineNr"> 2071 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2072" class="LineNr"> 2072 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-stmt-with-deref-var: exit status"</span>) +<span id="L2072" class="LineNr"> 2072 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2035'>test-stmt-with-deref-var</a>: exit status"</span>) <span id="L2073" class="LineNr"> 2073 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2074" class="LineNr"> 2074 </span> 81 0/subop/add %esp 8/imm32 <span id="L2075" class="LineNr"> 2075 </span> <span class="subxS1Comment"># . epilogue</span> @@ -1984,28 +1984,28 @@ if ('onhashchange' in window) { <span id="L2092" class="LineNr"> 2092 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return result\n"</span>) <span id="L2093" class="LineNr"> 2093 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2094" class="LineNr"> 2094 </span> <span class="subxComment"># convert</span> -<span id="L2095" class="LineNr"> 2095 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2095" class="LineNr"> 2095 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2096" class="LineNr"> 2096 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2097" class="Folded"> 2097 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2103" class="LineNr"> 2103 </span> <span class="subxComment"># check output</span> -<span id="L2104" class="LineNr"> 2104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/0"</span>) +<span id="L2104" class="LineNr"> 2104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/0"</span>) <span id="L2105" class="LineNr"> 2105 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/1"</span>) -<span id="L2106" class="LineNr"> 2106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/2"</span>) -<span id="L2107" class="LineNr"> 2107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/3"</span>) -<span id="L2108" class="LineNr"> 2108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/4"</span>) -<span id="L2109" class="LineNr"> 2109 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/5"</span>) -<span id="L2110" class="LineNr"> 2110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/6"</span>) -<span id="L2111" class="LineNr"> 2111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/7"</span>) -<span id="L2112" class="LineNr"> 2112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 05/add-to-eax 1/imm32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/8"</span>) -<span id="L2113" class="LineNr"> 2113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/9"</span>) -<span id="L2114" class="LineNr"> 2114 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/10"</span>) -<span id="L2115" class="LineNr"> 2115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/11"</span>) -<span id="L2116" class="LineNr"> 2116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/12"</span>) -<span id="L2117" class="LineNr"> 2117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/13"</span>) +<span id="L2106" class="LineNr"> 2106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/2"</span>) +<span id="L2107" class="LineNr"> 2107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/3"</span>) +<span id="L2108" class="LineNr"> 2108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/4"</span>) +<span id="L2109" class="LineNr"> 2109 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/5"</span>) +<span id="L2110" class="LineNr"> 2110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/6"</span>) +<span id="L2111" class="LineNr"> 2111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/7"</span>) +<span id="L2112" class="LineNr"> 2112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 05/add-to-eax 1/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/8"</span>) +<span id="L2113" class="LineNr"> 2113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/9"</span>) +<span id="L2114" class="LineNr"> 2114 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/10"</span>) +<span id="L2115" class="LineNr"> 2115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/11"</span>) +<span id="L2116" class="LineNr"> 2116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/12"</span>) +<span id="L2117" class="LineNr"> 2117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/13"</span>) <span id="L2118" class="LineNr"> 2118 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/14"</span>) -<span id="L2119" class="LineNr"> 2119 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/15"</span>) -<span id="L2120" class="LineNr"> 2120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/16"</span>) -<span id="L2121" class="LineNr"> 2121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-literal-arg/17"</span>) +<span id="L2119" class="LineNr"> 2119 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/15"</span>) +<span id="L2120" class="LineNr"> 2120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/16"</span>) +<span id="L2121" class="LineNr"> 2121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2079'>test-convert-function-with-literal-arg</a>/17"</span>) <span id="L2122" class="LineNr"> 2122 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2123" class="LineNr"> 2123 </span> 89/<- %esp 5/r32/ebp <span id="L2124" class="LineNr"> 2124 </span> 5d/pop-to-ebp @@ -2027,28 +2027,28 @@ if ('onhashchange' in window) { <span id="L2140" class="LineNr"> 2140 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return result\n"</span>) <span id="L2141" class="LineNr"> 2141 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2142" class="LineNr"> 2142 </span> <span class="subxComment"># convert</span> -<span id="L2143" class="LineNr"> 2143 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2143" class="LineNr"> 2143 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2144" class="LineNr"> 2144 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2145" class="Folded"> 2145 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2151" class="LineNr"> 2151 </span> <span class="subxComment"># check output</span> -<span id="L2152" class="LineNr"> 2152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/0"</span>) +<span id="L2152" class="LineNr"> 2152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/0"</span>) <span id="L2153" class="LineNr"> 2153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/1"</span>) -<span id="L2154" class="LineNr"> 2154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/2"</span>) -<span id="L2155" class="LineNr"> 2155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/3"</span>) -<span id="L2156" class="LineNr"> 2156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/4"</span>) -<span id="L2157" class="LineNr"> 2157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/5"</span>) -<span id="L2158" class="LineNr"> 2158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/6"</span>) -<span id="L2159" class="LineNr"> 2159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/7"</span>) -<span id="L2160" class="LineNr"> 2160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %ebx 1/imm32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/8"</span>) -<span id="L2161" class="LineNr"> 2161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/9"</span>) -<span id="L2162" class="LineNr"> 2162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/10"</span>) -<span id="L2163" class="LineNr"> 2163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/11"</span>) -<span id="L2164" class="LineNr"> 2164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/12"</span>) -<span id="L2165" class="LineNr"> 2165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/13"</span>) +<span id="L2154" class="LineNr"> 2154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/2"</span>) +<span id="L2155" class="LineNr"> 2155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/3"</span>) +<span id="L2156" class="LineNr"> 2156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/4"</span>) +<span id="L2157" class="LineNr"> 2157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/5"</span>) +<span id="L2158" class="LineNr"> 2158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/6"</span>) +<span id="L2159" class="LineNr"> 2159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/7"</span>) +<span id="L2160" class="LineNr"> 2160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %ebx 1/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/8"</span>) +<span id="L2161" class="LineNr"> 2161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/9"</span>) +<span id="L2162" class="LineNr"> 2162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/10"</span>) +<span id="L2163" class="LineNr"> 2163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/11"</span>) +<span id="L2164" class="LineNr"> 2164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/12"</span>) +<span id="L2165" class="LineNr"> 2165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/13"</span>) <span id="L2166" class="LineNr"> 2166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/14"</span>) -<span id="L2167" class="LineNr"> 2167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/15"</span>) -<span id="L2168" class="LineNr"> 2168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/16"</span>) -<span id="L2169" class="LineNr"> 2169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-literal-arg-2/17"</span>) +<span id="L2167" class="LineNr"> 2167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/15"</span>) +<span id="L2168" class="LineNr"> 2168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/16"</span>) +<span id="L2169" class="LineNr"> 2169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2127'>test-convert-function-with-literal-arg-2</a>/17"</span>) <span id="L2170" class="LineNr"> 2170 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2171" class="LineNr"> 2171 </span> 89/<- %esp 5/r32/ebp <span id="L2172" class="LineNr"> 2172 </span> 5d/pop-to-ebp @@ -2074,45 +2074,45 @@ if ('onhashchange' in window) { <span id="L2192" class="LineNr"> 2192 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return result\n"</span>) <span id="L2193" class="LineNr"> 2193 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2194" class="LineNr"> 2194 </span> <span class="subxComment"># convert</span> -<span id="L2195" class="LineNr"> 2195 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2195" class="LineNr"> 2195 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2196" class="LineNr"> 2196 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2197" class="Folded"> 2197 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2203" class="LineNr"> 2203 </span> <span class="subxComment"># check output</span> -<span id="L2204" class="LineNr"> 2204 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/0"</span>) +<span id="L2204" class="LineNr"> 2204 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/0"</span>) <span id="L2205" class="LineNr"> 2205 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/1"</span>) -<span id="L2206" class="LineNr"> 2206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/2"</span>) -<span id="L2207" class="LineNr"> 2207 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/3"</span>) -<span id="L2208" class="LineNr"> 2208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/4"</span>) -<span id="L2209" class="LineNr"> 2209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/5"</span>) -<span id="L2210" class="LineNr"> 2210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/6"</span>) -<span id="L2211" class="LineNr"> 2211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (do-add 3 4)"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/7"</span>) -<span id="L2212" class="LineNr"> 2212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/8"</span>) -<span id="L2213" class="LineNr"> 2213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/9"</span>) -<span id="L2214" class="LineNr"> 2214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/10"</span>) -<span id="L2215" class="LineNr"> 2215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/11"</span>) -<span id="L2216" class="LineNr"> 2216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/12"</span>) +<span id="L2206" class="LineNr"> 2206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/2"</span>) +<span id="L2207" class="LineNr"> 2207 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/3"</span>) +<span id="L2208" class="LineNr"> 2208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/4"</span>) +<span id="L2209" class="LineNr"> 2209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/5"</span>) +<span id="L2210" class="LineNr"> 2210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/6"</span>) +<span id="L2211" class="LineNr"> 2211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (do-add 3 4)"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/7"</span>) +<span id="L2212" class="LineNr"> 2212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/8"</span>) +<span id="L2213" class="LineNr"> 2213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/9"</span>) +<span id="L2214" class="LineNr"> 2214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/10"</span>) +<span id="L2215" class="LineNr"> 2215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/11"</span>) +<span id="L2216" class="LineNr"> 2216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/12"</span>) <span id="L2217" class="LineNr"> 2217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/13"</span>) -<span id="L2218" class="LineNr"> 2218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/14"</span>) -<span id="L2219" class="LineNr"> 2219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/15"</span>) -<span id="L2220" class="LineNr"> 2220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/16"</span>) -<span id="L2221" class="LineNr"> 2221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"do-add:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/17"</span>) +<span id="L2218" class="LineNr"> 2218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/14"</span>) +<span id="L2219" class="LineNr"> 2219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/15"</span>) +<span id="L2220" class="LineNr"> 2220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/16"</span>) +<span id="L2221" class="LineNr"> 2221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"do-add:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/17"</span>) <span id="L2222" class="LineNr"> 2222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/18"</span>) -<span id="L2223" class="LineNr"> 2223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/19"</span>) -<span id="L2224" class="LineNr"> 2224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/20"</span>) -<span id="L2225" class="LineNr"> 2225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/21"</span>) -<span id="L2226" class="LineNr"> 2226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$do-add:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/22"</span>) -<span id="L2227" class="LineNr"> 2227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/23"</span>) -<span id="L2228" class="LineNr"> 2228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/24"</span>) -<span id="L2229" class="LineNr"> 2229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 03/add *(ebp+0x0000000c) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/25"</span>) -<span id="L2230" class="LineNr"> 2230 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/26"</span>) -<span id="L2231" class="LineNr"> 2231 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/27"</span>) -<span id="L2232" class="LineNr"> 2232 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $do-add:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/28"</span>) -<span id="L2233" class="LineNr"> 2233 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/29"</span>) -<span id="L2234" class="LineNr"> 2234 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$do-add:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/30"</span>) +<span id="L2223" class="LineNr"> 2223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/19"</span>) +<span id="L2224" class="LineNr"> 2224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/20"</span>) +<span id="L2225" class="LineNr"> 2225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/21"</span>) +<span id="L2226" class="LineNr"> 2226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$do-add:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/22"</span>) +<span id="L2227" class="LineNr"> 2227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/23"</span>) +<span id="L2228" class="LineNr"> 2228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/24"</span>) +<span id="L2229" class="LineNr"> 2229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 03/add *(ebp+0x0000000c) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/25"</span>) +<span id="L2230" class="LineNr"> 2230 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/26"</span>) +<span id="L2231" class="LineNr"> 2231 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/27"</span>) +<span id="L2232" class="LineNr"> 2232 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $do-add:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/28"</span>) +<span id="L2233" class="LineNr"> 2233 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/29"</span>) +<span id="L2234" class="LineNr"> 2234 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$do-add:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/30"</span>) <span id="L2235" class="LineNr"> 2235 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/31"</span>) -<span id="L2236" class="LineNr"> 2236 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/32"</span>) -<span id="L2237" class="LineNr"> 2237 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/33"</span>) -<span id="L2238" class="LineNr"> 2238 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/34"</span>) +<span id="L2236" class="LineNr"> 2236 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/32"</span>) +<span id="L2237" class="LineNr"> 2237 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/33"</span>) +<span id="L2238" class="LineNr"> 2238 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/34"</span>) <span id="L2239" class="LineNr"> 2239 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2240" class="LineNr"> 2240 </span> 89/<- %esp 5/r32/ebp <span id="L2241" class="LineNr"> 2241 </span> 5d/pop-to-ebp @@ -2133,7 +2133,7 @@ if ('onhashchange' in window) { <span id="L2256" class="LineNr"> 2256 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2257" class="LineNr"> 2257 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig string-func in: (addr array byte)\n"</span>) <span id="L2258" class="LineNr"> 2258 </span> <span class="subxComment"># convert</span> -<span id="L2259" class="LineNr"> 2259 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2259" class="LineNr"> 2259 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2260" class="LineNr"> 2260 </span> <span class="subxComment"># no errors</span> <span id="L2261" class="LineNr"> 2261 </span> <span class="subxComment"># not bothering checking output</span> <span id="L2262" class="LineNr"> 2262 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2156,7 +2156,7 @@ if ('onhashchange' in window) { <span id="L2279" class="LineNr"> 2279 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2280" class="LineNr"> 2280 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig string-func in: (addr array _)\n"</span>) <span id="L2281" class="LineNr"> 2281 </span> <span class="subxComment"># convert</span> -<span id="L2282" class="LineNr"> 2282 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2282" class="LineNr"> 2282 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2283" class="LineNr"> 2283 </span> <span class="subxComment"># no errors</span> <span id="L2284" class="LineNr"> 2284 </span> <span class="subxComment"># not bothering checking output</span> <span id="L2285" class="LineNr"> 2285 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2179,7 +2179,7 @@ if ('onhashchange' in window) { <span id="L2302" class="LineNr"> 2302 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2303" class="LineNr"> 2303 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig bar in: (addr int)\n"</span>) <span id="L2304" class="LineNr"> 2304 </span> <span class="subxComment"># convert</span> -<span id="L2305" class="LineNr"> 2305 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2305" class="LineNr"> 2305 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2306" class="LineNr"> 2306 </span> <span class="subxComment"># no errors</span> <span id="L2307" class="LineNr"> 2307 </span> <span class="subxComment"># not bothering checking output</span> <span id="L2308" class="LineNr"> 2308 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2203,27 +2203,27 @@ if ('onhashchange' in window) { <span id="L2326" class="LineNr"> 2326 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2327" class="LineNr"> 2327 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"sig do-add a: int, b: int -> _/eax: int\n"</span>) <span id="L2328" class="LineNr"> 2328 </span> <span class="subxComment"># convert</span> -<span id="L2329" class="LineNr"> 2329 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2329" class="LineNr"> 2329 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2330" class="LineNr"> 2330 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2331" class="Folded"> 2331 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2337" class="LineNr"> 2337 </span> <span class="subxComment"># check output</span> -<span id="L2338" class="LineNr"> 2338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - test-convert-function-call-with-signature/0"</span>) +<span id="L2338" class="LineNr"> 2338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/0"</span>) <span id="L2339" class="LineNr"> 2339 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-signature/1"</span>) -<span id="L2340" class="LineNr"> 2340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-signature/2"</span>) -<span id="L2341" class="LineNr"> 2341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-signature/3"</span>) -<span id="L2342" class="LineNr"> 2342 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-signature/4"</span>) -<span id="L2343" class="LineNr"> 2343 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-signature/5"</span>) -<span id="L2344" class="LineNr"> 2344 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/6"</span>) -<span id="L2345" class="LineNr"> 2345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (do-add 3 4)"</span> <span class="Constant">"F - test-convert-function-call-with-signature/6"</span>) -<span id="L2346" class="LineNr"> 2346 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/8"</span>) -<span id="L2347" class="LineNr"> 2347 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/9"</span>) -<span id="L2348" class="LineNr"> 2348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/10"</span>) -<span id="L2349" class="LineNr"> 2349 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-signature/7"</span>) -<span id="L2350" class="LineNr"> 2350 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-signature/8"</span>) +<span id="L2340" class="LineNr"> 2340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/2"</span>) +<span id="L2341" class="LineNr"> 2341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/3"</span>) +<span id="L2342" class="LineNr"> 2342 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/4"</span>) +<span id="L2343" class="LineNr"> 2343 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/5"</span>) +<span id="L2344" class="LineNr"> 2344 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/6"</span>) +<span id="L2345" class="LineNr"> 2345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (do-add 3 4)"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/6"</span>) +<span id="L2346" class="LineNr"> 2346 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/8"</span>) +<span id="L2347" class="LineNr"> 2347 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/9"</span>) +<span id="L2348" class="LineNr"> 2348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/10"</span>) +<span id="L2349" class="LineNr"> 2349 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/7"</span>) +<span id="L2350" class="LineNr"> 2350 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/8"</span>) <span id="L2351" class="LineNr"> 2351 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-signature/9"</span>) -<span id="L2352" class="LineNr"> 2352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-signature/10"</span>) -<span id="L2353" class="LineNr"> 2353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-signature/11"</span>) -<span id="L2354" class="LineNr"> 2354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-signature/12"</span>) +<span id="L2352" class="LineNr"> 2352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/10"</span>) +<span id="L2353" class="LineNr"> 2353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/11"</span>) +<span id="L2354" class="LineNr"> 2354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2313'>test-convert-function-call-with-signature</a>/12"</span>) <span id="L2355" class="LineNr"> 2355 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2356" class="LineNr"> 2356 </span> 89/<- %esp 5/r32/ebp <span id="L2357" class="LineNr"> 2357 </span> 5d/pop-to-ebp @@ -2244,25 +2244,25 @@ if ('onhashchange' in window) { <span id="L2372" class="LineNr"> 2372 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment x\n"</span>) <span id="L2373" class="LineNr"> 2373 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2374" class="LineNr"> 2374 </span> <span class="subxComment"># convert</span> -<span id="L2375" class="LineNr"> 2375 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2375" class="LineNr"> 2375 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2376" class="LineNr"> 2376 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2377" class="Folded"> 2377 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2383" class="LineNr"> 2383 </span> <span class="subxComment"># check output</span> -<span id="L2384" class="LineNr"> 2384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/0"</span>) +<span id="L2384" class="LineNr"> 2384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/0"</span>) <span id="L2385" class="LineNr"> 2385 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/1"</span>) -<span id="L2386" class="LineNr"> 2386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/2"</span>) -<span id="L2387" class="LineNr"> 2387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/3"</span>) -<span id="L2388" class="LineNr"> 2388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/4"</span>) -<span id="L2389" class="LineNr"> 2389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/5"</span>) -<span id="L2390" class="LineNr"> 2390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/6"</span>) -<span id="L2391" class="LineNr"> 2391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/7"</span>) -<span id="L2392" class="LineNr"> 2392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/8"</span>) -<span id="L2393" class="LineNr"> 2393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/9"</span>) -<span id="L2394" class="LineNr"> 2394 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/10"</span>) +<span id="L2386" class="LineNr"> 2386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/2"</span>) +<span id="L2387" class="LineNr"> 2387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/3"</span>) +<span id="L2388" class="LineNr"> 2388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/4"</span>) +<span id="L2389" class="LineNr"> 2389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/5"</span>) +<span id="L2390" class="LineNr"> 2390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/6"</span>) +<span id="L2391" class="LineNr"> 2391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/7"</span>) +<span id="L2392" class="LineNr"> 2392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/8"</span>) +<span id="L2393" class="LineNr"> 2393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/9"</span>) +<span id="L2394" class="LineNr"> 2394 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/10"</span>) <span id="L2395" class="LineNr"> 2395 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/11"</span>) -<span id="L2396" class="LineNr"> 2396 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/12"</span>) -<span id="L2397" class="LineNr"> 2397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/13"</span>) -<span id="L2398" class="LineNr"> 2398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem/14"</span>) +<span id="L2396" class="LineNr"> 2396 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/12"</span>) +<span id="L2397" class="LineNr"> 2397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/13"</span>) +<span id="L2398" class="LineNr"> 2398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2360'>test-convert-function-with-local-var-in-mem</a>/14"</span>) <span id="L2399" class="LineNr"> 2399 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2400" class="LineNr"> 2400 </span> 89/<- %esp 5/r32/ebp <span id="L2401" class="LineNr"> 2401 </span> 5d/pop-to-ebp @@ -2289,7 +2289,7 @@ if ('onhashchange' in window) { <span id="L2422" class="LineNr"> 2422 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment 1n\n"</span>) <span id="L2423" class="LineNr"> 2423 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2424" class="LineNr"> 2424 </span> <span class="subxComment"># convert</span> -<span id="L2425" class="LineNr"> 2425 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2425" class="LineNr"> 2425 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2426" class="LineNr"> 2426 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2427" class="LineNr"> 2427 </span> <span class="subxComment"># restore ed</span> <span id="L2428" class="LineNr"> 2428 </span> 89/<- %edx 4/r32/esp @@ -2297,10 +2297,10 @@ if ('onhashchange' in window) { <span id="L2430" class="LineNr"> 2430 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2431" class="Folded"> 2431 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2437" class="LineNr"> 2437 </span> <span class="subxComment"># check output</span> -<span id="L2438" class="LineNr"> 2438 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-invalid-literal: output should be empty"</span>) -<span id="L2439" class="LineNr"> 2439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: variable '1n' cannot begin with a digit (or do you have a typo in a number?)"</span> <span class="Constant">"F - test-convert-invalid-literal: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2438" class="LineNr"> 2438 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2404'>test-convert-invalid-literal</a>: output should be empty"</span>) +<span id="L2439" class="LineNr"> 2439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: variable '1n' cannot begin with a digit (or do you have a typo in a number?)"</span> <span class="Constant">"F - <a href='mu.subx.html#L2404'>test-convert-invalid-literal</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2440" class="LineNr"> 2440 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2441" class="LineNr"> 2441 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-invalid-literal: exit status"</span>) +<span id="L2441" class="LineNr"> 2441 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2404'>test-convert-invalid-literal</a>: exit status"</span>) <span id="L2442" class="LineNr"> 2442 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2443" class="LineNr"> 2443 </span> 81 0/subop/add %esp 8/imm32 <span id="L2444" class="LineNr"> 2444 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2321,7 +2321,7 @@ if ('onhashchange' in window) { <span id="L2459" class="LineNr"> 2459 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: int <- copy 1/abc\n"</span>) <span id="L2460" class="LineNr"> 2460 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2461" class="LineNr"> 2461 </span> <span class="subxComment"># convert</span> -<span id="L2462" class="LineNr"> 2462 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2462" class="LineNr"> 2462 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2463" class="LineNr"> 2463 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2464" class="Folded"> 2464 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2470" class="LineNr"> 2470 </span> <span class="subxComment"># no errors</span> @@ -2352,7 +2352,7 @@ if ('onhashchange' in window) { <span id="L2495" class="LineNr"> 2495 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment x\n"</span>) <span id="L2496" class="LineNr"> 2496 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2497" class="LineNr"> 2497 </span> <span class="subxComment"># convert</span> -<span id="L2498" class="LineNr"> 2498 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2498" class="LineNr"> 2498 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2499" class="LineNr"> 2499 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2500" class="LineNr"> 2500 </span> <span class="subxComment"># restore ed</span> <span id="L2501" class="LineNr"> 2501 </span> 89/<- %edx 4/r32/esp @@ -2385,25 +2385,25 @@ if ('onhashchange' in window) { <span id="L2533" class="LineNr"> 2533 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to x, 0\n"</span>) <span id="L2534" class="LineNr"> 2534 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2535" class="LineNr"> 2535 </span> <span class="subxComment"># convert</span> -<span id="L2536" class="LineNr"> 2536 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2536" class="LineNr"> 2536 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2537" class="LineNr"> 2537 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2538" class="Folded"> 2538 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2544" class="LineNr"> 2544 </span> <span class="subxComment"># check output</span> -<span id="L2545" class="LineNr"> 2545 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/0"</span>) +<span id="L2545" class="LineNr"> 2545 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/0"</span>) <span id="L2546" class="LineNr"> 2546 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/1"</span>) -<span id="L2547" class="LineNr"> 2547 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/2"</span>) -<span id="L2548" class="LineNr"> 2548 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/3"</span>) -<span id="L2549" class="LineNr"> 2549 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/4"</span>) -<span id="L2550" class="LineNr"> 2550 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/5"</span>) -<span id="L2551" class="LineNr"> 2551 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/6"</span>) -<span id="L2552" class="LineNr"> 2552 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy *(ebp+0xfffffffc) 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/7"</span>) -<span id="L2553" class="LineNr"> 2553 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/8"</span>) -<span id="L2554" class="LineNr"> 2554 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/9"</span>) -<span id="L2555" class="LineNr"> 2555 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/10"</span>) +<span id="L2547" class="LineNr"> 2547 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/2"</span>) +<span id="L2548" class="LineNr"> 2548 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/3"</span>) +<span id="L2549" class="LineNr"> 2549 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/4"</span>) +<span id="L2550" class="LineNr"> 2550 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/5"</span>) +<span id="L2551" class="LineNr"> 2551 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/6"</span>) +<span id="L2552" class="LineNr"> 2552 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy *(ebp+0xfffffffc) 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/7"</span>) +<span id="L2553" class="LineNr"> 2553 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/8"</span>) +<span id="L2554" class="LineNr"> 2554 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/9"</span>) +<span id="L2555" class="LineNr"> 2555 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/10"</span>) <span id="L2556" class="LineNr"> 2556 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/11"</span>) -<span id="L2557" class="LineNr"> 2557 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/12"</span>) -<span id="L2558" class="LineNr"> 2558 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/13"</span>) -<span id="L2559" class="LineNr"> 2559 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-compound-type-in-mem/14"</span>) +<span id="L2557" class="LineNr"> 2557 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/12"</span>) +<span id="L2558" class="LineNr"> 2558 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/13"</span>) +<span id="L2559" class="LineNr"> 2559 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2521'>test-convert-function-with-local-var-with-compound-type-in-mem</a>/14"</span>) <span id="L2560" class="LineNr"> 2560 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2561" class="LineNr"> 2561 </span> 89/<- %esp 5/r32/ebp <span id="L2562" class="LineNr"> 2562 </span> 5d/pop-to-ebp @@ -2424,26 +2424,26 @@ if ('onhashchange' in window) { <span id="L2577" class="LineNr"> 2577 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L2578" class="LineNr"> 2578 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2579" class="LineNr"> 2579 </span> <span class="subxComment"># convert</span> -<span id="L2580" class="LineNr"> 2580 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2580" class="LineNr"> 2580 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2581" class="LineNr"> 2581 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2582" class="Folded"> 2582 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2588" class="LineNr"> 2588 </span> <span class="subxComment"># check output</span> -<span id="L2589" class="LineNr"> 2589 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/0"</span>) +<span id="L2589" class="LineNr"> 2589 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/0"</span>) <span id="L2590" class="LineNr"> 2590 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/1"</span>) -<span id="L2591" class="LineNr"> 2591 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/2"</span>) -<span id="L2592" class="LineNr"> 2592 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/3"</span>) -<span id="L2593" class="LineNr"> 2593 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/4"</span>) -<span id="L2594" class="LineNr"> 2594 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/5"</span>) -<span id="L2595" class="LineNr"> 2595 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/6"</span>) -<span id="L2596" class="LineNr"> 2596 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/7"</span>) -<span id="L2597" class="LineNr"> 2597 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/8"</span>) -<span id="L2598" class="LineNr"> 2598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/9"</span>) -<span id="L2599" class="LineNr"> 2599 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/10"</span>) -<span id="L2600" class="LineNr"> 2600 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/11"</span>) +<span id="L2591" class="LineNr"> 2591 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/2"</span>) +<span id="L2592" class="LineNr"> 2592 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/3"</span>) +<span id="L2593" class="LineNr"> 2593 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/4"</span>) +<span id="L2594" class="LineNr"> 2594 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/5"</span>) +<span id="L2595" class="LineNr"> 2595 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/6"</span>) +<span id="L2596" class="LineNr"> 2596 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/7"</span>) +<span id="L2597" class="LineNr"> 2597 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/8"</span>) +<span id="L2598" class="LineNr"> 2598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/9"</span>) +<span id="L2599" class="LineNr"> 2599 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/10"</span>) +<span id="L2600" class="LineNr"> 2600 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/11"</span>) <span id="L2601" class="LineNr"> 2601 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/12"</span>) -<span id="L2602" class="LineNr"> 2602 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/13"</span>) -<span id="L2603" class="LineNr"> 2603 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/14"</span>) -<span id="L2604" class="LineNr"> 2604 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-reg/15"</span>) +<span id="L2602" class="LineNr"> 2602 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/13"</span>) +<span id="L2603" class="LineNr"> 2603 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/14"</span>) +<span id="L2604" class="LineNr"> 2604 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2565'>test-convert-function-with-local-var-in-reg</a>/15"</span>) <span id="L2605" class="LineNr"> 2605 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2606" class="LineNr"> 2606 </span> 89/<- %esp 5/r32/ebp <span id="L2607" class="LineNr"> 2607 </span> 5d/pop-to-ebp @@ -2464,26 +2464,26 @@ if ('onhashchange' in window) { <span id="L2622" class="LineNr"> 2622 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: int <- copy x\n"</span>) <span id="L2623" class="LineNr"> 2623 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2624" class="LineNr"> 2624 </span> <span class="subxComment"># convert</span> -<span id="L2625" class="LineNr"> 2625 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2625" class="LineNr"> 2625 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2626" class="LineNr"> 2626 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2627" class="Folded"> 2627 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2633" class="LineNr"> 2633 </span> <span class="subxComment"># check output</span> -<span id="L2634" class="LineNr"> 2634 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/0"</span>) +<span id="L2634" class="LineNr"> 2634 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/0"</span>) <span id="L2635" class="LineNr"> 2635 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/1"</span>) -<span id="L2636" class="LineNr"> 2636 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/2"</span>) -<span id="L2637" class="LineNr"> 2637 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/3"</span>) -<span id="L2638" class="LineNr"> 2638 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/4"</span>) -<span id="L2639" class="LineNr"> 2639 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/5"</span>) -<span id="L2640" class="LineNr"> 2640 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/6"</span>) -<span id="L2641" class="LineNr"> 2641 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/7"</span>) +<span id="L2636" class="LineNr"> 2636 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/2"</span>) +<span id="L2637" class="LineNr"> 2637 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/3"</span>) +<span id="L2638" class="LineNr"> 2638 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/4"</span>) +<span id="L2639" class="LineNr"> 2639 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/5"</span>) +<span id="L2640" class="LineNr"> 2640 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/6"</span>) +<span id="L2641" class="LineNr"> 2641 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/7"</span>) <span id="L2642" class="LineNr"> 2642 </span> <span class="subxComment"># optimization: skip the second copy</span> -<span id="L2643" class="LineNr"> 2643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/8"</span>) -<span id="L2644" class="LineNr"> 2644 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/9"</span>) -<span id="L2645" class="LineNr"> 2645 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/10"</span>) +<span id="L2643" class="LineNr"> 2643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/8"</span>) +<span id="L2644" class="LineNr"> 2644 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/9"</span>) +<span id="L2645" class="LineNr"> 2645 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/10"</span>) <span id="L2646" class="LineNr"> 2646 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/11"</span>) -<span id="L2647" class="LineNr"> 2647 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/12"</span>) -<span id="L2648" class="LineNr"> 2648 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/13"</span>) -<span id="L2649" class="LineNr"> 2649 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg/14"</span>) +<span id="L2647" class="LineNr"> 2647 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/12"</span>) +<span id="L2648" class="LineNr"> 2648 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/13"</span>) +<span id="L2649" class="LineNr"> 2649 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2610'>test-convert-function-with-local-var-in-same-reg</a>/14"</span>) <span id="L2650" class="LineNr"> 2650 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2651" class="LineNr"> 2651 </span> 89/<- %esp 5/r32/ebp <span id="L2652" class="LineNr"> 2652 </span> 5d/pop-to-ebp @@ -2504,26 +2504,26 @@ if ('onhashchange' in window) { <span id="L2667" class="LineNr"> 2667 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: int <- copy *x\n"</span>) <span id="L2668" class="LineNr"> 2668 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2669" class="LineNr"> 2669 </span> <span class="subxComment"># convert</span> -<span id="L2670" class="LineNr"> 2670 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2670" class="LineNr"> 2670 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2671" class="LineNr"> 2671 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2672" class="Folded"> 2672 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2678" class="LineNr"> 2678 </span> <span class="subxComment"># check output</span> -<span id="L2679" class="LineNr"> 2679 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/0"</span>) +<span id="L2679" class="LineNr"> 2679 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/0"</span>) <span id="L2680" class="LineNr"> 2680 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/1"</span>) -<span id="L2681" class="LineNr"> 2681 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/2"</span>) -<span id="L2682" class="LineNr"> 2682 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/3"</span>) -<span id="L2683" class="LineNr"> 2683 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/4"</span>) -<span id="L2684" class="LineNr"> 2684 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/5"</span>) -<span id="L2685" class="LineNr"> 2685 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/6"</span>) -<span id="L2686" class="LineNr"> 2686 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/7"</span>) -<span id="L2687" class="LineNr"> 2687 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *ecx 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/8"</span>) <span class="subxComment"># don't optimize this away</span> -<span id="L2688" class="LineNr"> 2688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/9"</span>) -<span id="L2689" class="LineNr"> 2689 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/10"</span>) -<span id="L2690" class="LineNr"> 2690 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/11"</span>) +<span id="L2681" class="LineNr"> 2681 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/2"</span>) +<span id="L2682" class="LineNr"> 2682 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/3"</span>) +<span id="L2683" class="LineNr"> 2683 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/4"</span>) +<span id="L2684" class="LineNr"> 2684 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/5"</span>) +<span id="L2685" class="LineNr"> 2685 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/6"</span>) +<span id="L2686" class="LineNr"> 2686 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/7"</span>) +<span id="L2687" class="LineNr"> 2687 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *ecx 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/8"</span>) <span class="subxComment"># don't optimize this away</span> +<span id="L2688" class="LineNr"> 2688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/9"</span>) +<span id="L2689" class="LineNr"> 2689 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/10"</span>) +<span id="L2690" class="LineNr"> 2690 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/11"</span>) <span id="L2691" class="LineNr"> 2691 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/12"</span>) -<span id="L2692" class="LineNr"> 2692 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/13"</span>) -<span id="L2693" class="LineNr"> 2693 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/14"</span>) -<span id="L2694" class="LineNr"> 2694 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-same-reg-dereferenced/15"</span>) +<span id="L2692" class="LineNr"> 2692 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/13"</span>) +<span id="L2693" class="LineNr"> 2693 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/14"</span>) +<span id="L2694" class="LineNr"> 2694 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2655'>test-convert-function-with-local-var-in-same-reg-dereferenced</a>/15"</span>) <span id="L2695" class="LineNr"> 2695 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2696" class="LineNr"> 2696 </span> 89/<- %esp 5/r32/ebp <span id="L2697" class="LineNr"> 2697 </span> 5d/pop-to-ebp @@ -2551,7 +2551,7 @@ if ('onhashchange' in window) { <span id="L2719" class="LineNr"> 2719 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: float <- convert x\n"</span>) <span id="L2720" class="LineNr"> 2720 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2721" class="LineNr"> 2721 </span> <span class="subxComment"># convert</span> -<span id="L2722" class="LineNr"> 2722 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2722" class="LineNr"> 2722 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2723" class="LineNr"> 2723 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2724" class="LineNr"> 2724 </span> <span class="subxComment"># restore ed</span> <span id="L2725" class="LineNr"> 2725 </span> 89/<- %edx 4/r32/esp @@ -2559,10 +2559,10 @@ if ('onhashchange' in window) { <span id="L2727" class="LineNr"> 2727 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2728" class="Folded"> 2728 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2734" class="LineNr"> 2734 </span> <span class="subxComment"># check output</span> -<span id="L2735" class="LineNr"> 2735 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-float-var-in-wrong-register: output should be empty"</span>) -<span id="L2736" class="LineNr"> 2736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: float var 'y' should be in a floating-point register"</span> <span class="Constant">"F - test-float-var-in-wrong-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2735" class="LineNr"> 2735 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2700'>test-float-var-in-wrong-register</a>: output should be empty"</span>) +<span id="L2736" class="LineNr"> 2736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: float var 'y' should be in a floating-point register"</span> <span class="Constant">"F - <a href='mu.subx.html#L2700'>test-float-var-in-wrong-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2737" class="LineNr"> 2737 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2738" class="LineNr"> 2738 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-float-var-in-wrong-register: exit status"</span>) +<span id="L2738" class="LineNr"> 2738 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2700'>test-float-var-in-wrong-register</a>: exit status"</span>) <span id="L2739" class="LineNr"> 2739 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2740" class="LineNr"> 2740 </span> 81 0/subop/add %esp 8/imm32 <span id="L2741" class="LineNr"> 2741 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2590,7 +2590,7 @@ if ('onhashchange' in window) { <span id="L2763" class="LineNr"> 2763 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/xmm5: int <- copy 0\n"</span>) <span id="L2764" class="LineNr"> 2764 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2765" class="LineNr"> 2765 </span> <span class="subxComment"># convert</span> -<span id="L2766" class="LineNr"> 2766 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2766" class="LineNr"> 2766 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2767" class="LineNr"> 2767 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2768" class="LineNr"> 2768 </span> <span class="subxComment"># restore ed</span> <span id="L2769" class="LineNr"> 2769 </span> 89/<- %edx 4/r32/esp @@ -2598,10 +2598,10 @@ if ('onhashchange' in window) { <span id="L2771" class="LineNr"> 2771 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2772" class="Folded"> 2772 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2778" class="LineNr"> 2778 </span> <span class="subxComment"># check output</span> -<span id="L2779" class="LineNr"> 2779 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-non-float-var-in-wrong-register: output should be empty"</span>) -<span id="L2780" class="LineNr"> 2780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: non-float var 'x' should be in an integer register"</span> <span class="Constant">"F - test-non-float-var-in-wrong-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2779" class="LineNr"> 2779 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2745'>test-non-float-var-in-wrong-register</a>: output should be empty"</span>) +<span id="L2780" class="LineNr"> 2780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: non-float var 'x' should be in an integer register"</span> <span class="Constant">"F - <a href='mu.subx.html#L2745'>test-non-float-var-in-wrong-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2781" class="LineNr"> 2781 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2782" class="LineNr"> 2782 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-non-float-var-in-wrong-register: exit status"</span>) +<span id="L2782" class="LineNr"> 2782 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2745'>test-non-float-var-in-wrong-register</a>: exit status"</span>) <span id="L2783" class="LineNr"> 2783 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2784" class="LineNr"> 2784 </span> 81 0/subop/add %esp 8/imm32 <span id="L2785" class="LineNr"> 2785 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2623,26 +2623,26 @@ if ('onhashchange' in window) { <span id="L2801" class="LineNr"> 2801 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='120allocate.subx.html#L66'>allocate</a> x\n"</span>) <span id="L2802" class="LineNr"> 2802 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2803" class="LineNr"> 2803 </span> <span class="subxComment"># convert</span> -<span id="L2804" class="LineNr"> 2804 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2804" class="LineNr"> 2804 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2805" class="LineNr"> 2805 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2806" class="Folded"> 2806 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2812" class="LineNr"> 2812 </span> <span class="subxComment"># check output</span> -<span id="L2813" class="LineNr"> 2813 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-allocate/0"</span>) +<span id="L2813" class="LineNr"> 2813 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/0"</span>) <span id="L2814" class="LineNr"> 2814 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-allocate/1"</span>) -<span id="L2815" class="LineNr"> 2815 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-allocate/2"</span>) -<span id="L2816" class="LineNr"> 2816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-allocate/3"</span>) -<span id="L2817" class="LineNr"> 2817 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-allocate/4"</span>) -<span id="L2818" class="LineNr"> 2818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-allocate/5"</span>) -<span id="L2819" class="LineNr"> 2819 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-allocate/6"</span>) -<span id="L2820" class="LineNr"> 2820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-allocate/7"</span>) -<span id="L2821" class="LineNr"> 2821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='120allocate.subx.html#L66'>allocate</a> <a href='120allocate.subx.html#L27'>Heap</a> 0x00000004 %ecx)"</span> <span class="Constant">"F - test-convert-function-with-allocate/8"</span>) <span class="subxComment"># 4 = size-of(int)</span> -<span id="L2822" class="LineNr"> 2822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-allocate/9"</span>) -<span id="L2823" class="LineNr"> 2823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-allocate/10"</span>) -<span id="L2824" class="LineNr"> 2824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-allocate/11"</span>) +<span id="L2815" class="LineNr"> 2815 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/2"</span>) +<span id="L2816" class="LineNr"> 2816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/3"</span>) +<span id="L2817" class="LineNr"> 2817 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/4"</span>) +<span id="L2818" class="LineNr"> 2818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/5"</span>) +<span id="L2819" class="LineNr"> 2819 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/6"</span>) +<span id="L2820" class="LineNr"> 2820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/7"</span>) +<span id="L2821" class="LineNr"> 2821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='120allocate.subx.html#L66'>allocate</a> <a href='120allocate.subx.html#L27'>Heap</a> 0x00000004 %ecx)"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/8"</span>) <span class="subxComment"># 4 = size-of(int)</span> +<span id="L2822" class="LineNr"> 2822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/9"</span>) +<span id="L2823" class="LineNr"> 2823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/10"</span>) +<span id="L2824" class="LineNr"> 2824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/11"</span>) <span id="L2825" class="LineNr"> 2825 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-allocate/12"</span>) -<span id="L2826" class="LineNr"> 2826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-allocate/13"</span>) -<span id="L2827" class="LineNr"> 2827 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-allocate/14"</span>) -<span id="L2828" class="LineNr"> 2828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-allocate/15"</span>) +<span id="L2826" class="LineNr"> 2826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/13"</span>) +<span id="L2827" class="LineNr"> 2827 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/14"</span>) +<span id="L2828" class="LineNr"> 2828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2789'>test-convert-function-with-allocate</a>/15"</span>) <span id="L2829" class="LineNr"> 2829 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2830" class="LineNr"> 2830 </span> 89/<- %esp 5/r32/ebp <span id="L2831" class="LineNr"> 2831 </span> 5d/pop-to-ebp @@ -2669,7 +2669,7 @@ if ('onhashchange' in window) { <span id="L2852" class="LineNr"> 2852 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/ecx: int <- copy 10\n"</span>) <span id="L2853" class="LineNr"> 2853 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2854" class="LineNr"> 2854 </span> <span class="subxComment"># convert</span> -<span id="L2855" class="LineNr"> 2855 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2855" class="LineNr"> 2855 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2856" class="LineNr"> 2856 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2857" class="LineNr"> 2857 </span> <span class="subxComment"># restore ed</span> <span id="L2858" class="LineNr"> 2858 </span> 89/<- %edx 4/r32/esp @@ -2677,10 +2677,10 @@ if ('onhashchange' in window) { <span id="L2860" class="LineNr"> 2860 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2861" class="Folded"> 2861 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2867" class="LineNr"> 2867 </span> <span class="subxComment"># check output</span> -<span id="L2868" class="LineNr"> 2868 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-initializer-in-hex: output should be empty"</span>) -<span id="L2869" class="LineNr"> 2869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"literal integers are always hex in Mu; start '10' with a '0x' to be unambiguous, converting it to hexadecimal as necessary."</span> <span class="Constant">"F - test-initializer-in-hex: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2868" class="LineNr"> 2868 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2834'>test-initializer-in-hex</a>: output should be empty"</span>) +<span id="L2869" class="LineNr"> 2869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"literal integers are always hex in Mu; start '10' with a '0x' to be unambiguous, converting it to hexadecimal as necessary."</span> <span class="Constant">"F - <a href='mu.subx.html#L2834'>test-initializer-in-hex</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2870" class="LineNr"> 2870 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2871" class="LineNr"> 2871 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-initializer-in-hex: exit status"</span>) +<span id="L2871" class="LineNr"> 2871 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2834'>test-initializer-in-hex</a>: exit status"</span>) <span id="L2872" class="LineNr"> 2872 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2873" class="LineNr"> 2873 </span> 81 0/subop/add %esp 8/imm32 <span id="L2874" class="LineNr"> 2874 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2703,27 +2703,27 @@ if ('onhashchange' in window) { <span id="L2891" class="LineNr"> 2891 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y <- increment\n"</span>) <span id="L2892" class="LineNr"> 2892 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2893" class="LineNr"> 2893 </span> <span class="subxComment"># convert</span> -<span id="L2894" class="LineNr"> 2894 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L2894" class="LineNr"> 2894 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L2895" class="LineNr"> 2895 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L2896" class="Folded"> 2896 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2902" class="LineNr"> 2902 </span> <span class="subxComment"># check output</span> -<span id="L2903" class="LineNr"> 2903 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/0"</span>) +<span id="L2903" class="LineNr"> 2903 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/0"</span>) <span id="L2904" class="LineNr"> 2904 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/1"</span>) -<span id="L2905" class="LineNr"> 2905 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/2"</span>) -<span id="L2906" class="LineNr"> 2906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/3"</span>) -<span id="L2907" class="LineNr"> 2907 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/4"</span>) -<span id="L2908" class="LineNr"> 2908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/5"</span>) -<span id="L2909" class="LineNr"> 2909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/6"</span>) -<span id="L2910" class="LineNr"> 2910 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/7"</span>) -<span id="L2911" class="LineNr"> 2911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/8"</span>) -<span id="L2912" class="LineNr"> 2912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/9"</span>) -<span id="L2913" class="LineNr"> 2913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/10"</span>) -<span id="L2914" class="LineNr"> 2914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/11"</span>) -<span id="L2915" class="LineNr"> 2915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/12"</span>) +<span id="L2905" class="LineNr"> 2905 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/2"</span>) +<span id="L2906" class="LineNr"> 2906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/3"</span>) +<span id="L2907" class="LineNr"> 2907 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/4"</span>) +<span id="L2908" class="LineNr"> 2908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/5"</span>) +<span id="L2909" class="LineNr"> 2909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/6"</span>) +<span id="L2910" class="LineNr"> 2910 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/7"</span>) +<span id="L2911" class="LineNr"> 2911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/8"</span>) +<span id="L2912" class="LineNr"> 2912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/9"</span>) +<span id="L2913" class="LineNr"> 2913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/10"</span>) +<span id="L2914" class="LineNr"> 2914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/11"</span>) +<span id="L2915" class="LineNr"> 2915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/12"</span>) <span id="L2916" class="LineNr"> 2916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/13"</span>) -<span id="L2917" class="LineNr"> 2917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/14"</span>) -<span id="L2918" class="LineNr"> 2918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/15"</span>) -<span id="L2919" class="LineNr"> 2919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-second-local-var-in-same-reg/16"</span>) +<span id="L2917" class="LineNr"> 2917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/14"</span>) +<span id="L2918" class="LineNr"> 2918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/15"</span>) +<span id="L2919" class="LineNr"> 2919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L2878'>test-convert-function-with-second-local-var-in-same-reg</a>/16"</span>) <span id="L2920" class="LineNr"> 2920 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L2921" class="LineNr"> 2921 </span> 89/<- %esp 5/r32/ebp <span id="L2922" class="LineNr"> 2922 </span> 5d/pop-to-ebp @@ -2752,7 +2752,7 @@ if ('onhashchange' in window) { <span id="L2945" class="LineNr"> 2945 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L2946" class="LineNr"> 2946 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2947" class="LineNr"> 2947 </span> <span class="subxComment"># convert</span> -<span id="L2948" class="LineNr"> 2948 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2948" class="LineNr"> 2948 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2949" class="LineNr"> 2949 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2950" class="LineNr"> 2950 </span> <span class="subxComment"># restore ed</span> <span id="L2951" class="LineNr"> 2951 </span> 89/<- %edx 4/r32/esp @@ -2760,10 +2760,10 @@ if ('onhashchange' in window) { <span id="L2953" class="LineNr"> 2953 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L2954" class="Folded"> 2954 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L2960" class="LineNr"> 2960 </span> <span class="subxComment"># check output</span> -<span id="L2961" class="LineNr"> 2961 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-clobbered-reg-var: output should be empty"</span>) -<span id="L2962" class="LineNr"> 2962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: register ecx reads var 'x' after writing var 'y'"</span> <span class="Constant">"F - test-read-clobbered-reg-var: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L2961" class="LineNr"> 2961 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2925'>test-read-clobbered-reg-var</a>: output should be empty"</span>) +<span id="L2962" class="LineNr"> 2962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: register ecx reads var 'x' after writing var 'y'"</span> <span class="Constant">"F - <a href='mu.subx.html#L2925'>test-read-clobbered-reg-var</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L2963" class="LineNr"> 2963 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L2964" class="LineNr"> 2964 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-clobbered-reg-var: exit status"</span>) +<span id="L2964" class="LineNr"> 2964 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L2925'>test-read-clobbered-reg-var</a>: exit status"</span>) <span id="L2965" class="LineNr"> 2965 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L2966" class="LineNr"> 2966 </span> 81 0/subop/add %esp 8/imm32 <span id="L2967" class="LineNr"> 2967 </span> <span class="subxS1Comment"># . epilogue</span> @@ -2793,7 +2793,7 @@ if ('onhashchange' in window) { <span id="L2991" class="LineNr"> 2991 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L2992" class="LineNr"> 2992 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L2993" class="LineNr"> 2993 </span> <span class="subxComment"># convert</span> -<span id="L2994" class="LineNr"> 2994 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L2994" class="LineNr"> 2994 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L2995" class="LineNr"> 2995 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L2996" class="LineNr"> 2996 </span> <span class="subxComment"># restore ed</span> <span id="L2997" class="LineNr"> 2997 </span> 89/<- %edx 4/r32/esp @@ -2801,7 +2801,7 @@ if ('onhashchange' in window) { <span id="L2999" class="LineNr"> 2999 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3000" class="Folded"> 3000 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3006" class="LineNr"> 3006 </span> <span class="subxComment"># no errors</span> -<span id="L3007" class="LineNr"> 3007 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-overlapping-int-fp-registers: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3007" class="LineNr"> 3007 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L2971'>test-overlapping-int-fp-registers</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3008" class="LineNr"> 3008 </span> <span class="subxComment"># don't bother checking the generated code</span> <span id="L3009" class="LineNr"> 3009 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3010" class="LineNr"> 3010 </span> 81 0/subop/add %esp 8/imm32 @@ -2828,44 +2828,44 @@ if ('onhashchange' in window) { <span id="L3031" class="LineNr"> 3031 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return result\n"</span>) <span id="L3032" class="LineNr"> 3032 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3033" class="LineNr"> 3033 </span> <span class="subxComment"># convert</span> -<span id="L3034" class="LineNr"> 3034 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L3034" class="LineNr"> 3034 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L3035" class="LineNr"> 3035 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L3036" class="Folded"> 3036 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3042" class="LineNr"> 3042 </span> <span class="subxComment"># check output</span> -<span id="L3043" class="LineNr"> 3043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - test-convert-function-call/0"</span>) +<span id="L3043" class="LineNr"> 3043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"main:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/0"</span>) <span id="L3044" class="LineNr"> 3044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call/1"</span>) -<span id="L3045" class="LineNr"> 3045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call/2"</span>) -<span id="L3046" class="LineNr"> 3046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call/3"</span>) -<span id="L3047" class="LineNr"> 3047 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call/4"</span>) -<span id="L3048" class="LineNr"> 3048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call/5"</span>) -<span id="L3049" class="LineNr"> 3049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/6"</span>) -<span id="L3050" class="LineNr"> 3050 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo)"</span> <span class="Constant">"F - test-convert-function-call/6"</span>) -<span id="L3051" class="LineNr"> 3051 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/8"</span>) -<span id="L3052" class="LineNr"> 3052 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/27"</span>) -<span id="L3053" class="LineNr"> 3053 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/10"</span>) -<span id="L3054" class="LineNr"> 3054 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call/7"</span>) -<span id="L3055" class="LineNr"> 3055 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call/8"</span>) +<span id="L3045" class="LineNr"> 3045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/2"</span>) +<span id="L3046" class="LineNr"> 3046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/3"</span>) +<span id="L3047" class="LineNr"> 3047 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/4"</span>) +<span id="L3048" class="LineNr"> 3048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/5"</span>) +<span id="L3049" class="LineNr"> 3049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/6"</span>) +<span id="L3050" class="LineNr"> 3050 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo)"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/6"</span>) +<span id="L3051" class="LineNr"> 3051 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/8"</span>) +<span id="L3052" class="LineNr"> 3052 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/27"</span>) +<span id="L3053" class="LineNr"> 3053 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $main:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/10"</span>) +<span id="L3054" class="LineNr"> 3054 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/7"</span>) +<span id="L3055" class="LineNr"> 3055 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$main:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/8"</span>) <span id="L3056" class="LineNr"> 3056 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call/9"</span>) -<span id="L3057" class="LineNr"> 3057 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call/10"</span>) -<span id="L3058" class="LineNr"> 3058 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call/11"</span>) -<span id="L3059" class="LineNr"> 3059 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call/12"</span>) -<span id="L3060" class="LineNr"> 3060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-call/13"</span>) +<span id="L3057" class="LineNr"> 3057 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/10"</span>) +<span id="L3058" class="LineNr"> 3058 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/11"</span>) +<span id="L3059" class="LineNr"> 3059 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/12"</span>) +<span id="L3060" class="LineNr"> 3060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/13"</span>) <span id="L3061" class="LineNr"> 3061 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call/14"</span>) -<span id="L3062" class="LineNr"> 3062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call/15"</span>) -<span id="L3063" class="LineNr"> 3063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call/16"</span>) -<span id="L3064" class="LineNr"> 3064 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call/17"</span>) -<span id="L3065" class="LineNr"> 3065 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-call/18"</span>) -<span id="L3066" class="LineNr"> 3066 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/6"</span>) -<span id="L3067" class="LineNr"> 3067 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" bb/copy-to-ebx 3/imm32"</span> <span class="Constant">"F - test-convert-function-call/19"</span>) -<span id="L3068" class="LineNr"> 3068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/8"</span>) -<span id="L3069" class="LineNr"> 3069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/27"</span>) -<span id="L3070" class="LineNr"> 3070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-call-with-literal-arg/10"</span>) -<span id="L3071" class="LineNr"> 3071 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call/20"</span>) -<span id="L3072" class="LineNr"> 3072 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-call/21"</span>) +<span id="L3062" class="LineNr"> 3062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/15"</span>) +<span id="L3063" class="LineNr"> 3063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/16"</span>) +<span id="L3064" class="LineNr"> 3064 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/17"</span>) +<span id="L3065" class="LineNr"> 3065 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/18"</span>) +<span id="L3066" class="LineNr"> 3066 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/6"</span>) +<span id="L3067" class="LineNr"> 3067 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" bb/copy-to-ebx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/19"</span>) +<span id="L3068" class="LineNr"> 3068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ebx 0x00000003/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/8"</span>) +<span id="L3069" class="LineNr"> 3069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/27"</span>) +<span id="L3070" class="LineNr"> 3070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L2175'>test-convert-function-call-with-literal-arg</a>/10"</span>) +<span id="L3071" class="LineNr"> 3071 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/20"</span>) +<span id="L3072" class="LineNr"> 3072 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/21"</span>) <span id="L3073" class="LineNr"> 3073 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call/22"</span>) -<span id="L3074" class="LineNr"> 3074 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call/23"</span>) -<span id="L3075" class="LineNr"> 3075 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call/24"</span>) -<span id="L3076" class="LineNr"> 3076 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call/25"</span>) +<span id="L3074" class="LineNr"> 3074 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/23"</span>) +<span id="L3075" class="LineNr"> 3075 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/24"</span>) +<span id="L3076" class="LineNr"> 3076 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3015'>test-convert-function-call</a>/25"</span>) <span id="L3077" class="LineNr"> 3077 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L3078" class="LineNr"> 3078 </span> 89/<- %esp 5/r32/ebp <span id="L3079" class="LineNr"> 3079 </span> 5d/pop-to-ebp @@ -2888,33 +2888,33 @@ if ('onhashchange' in window) { <span id="L3096" class="LineNr"> 3096 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr int) {\n"</span>) <span id="L3097" class="LineNr"> 3097 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3098" class="LineNr"> 3098 </span> <span class="subxComment"># convert</span> -<span id="L3099" class="LineNr"> 3099 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L3099" class="LineNr"> 3099 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L3100" class="LineNr"> 3100 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L3101" class="Folded"> 3101 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3107" class="LineNr"> 3107 </span> <span class="subxComment"># check output</span> -<span id="L3108" class="LineNr"> 3108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/0"</span>) +<span id="L3108" class="LineNr"> 3108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/0"</span>) <span id="L3109" class="LineNr"> 3109 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/1"</span>) -<span id="L3110" class="LineNr"> 3110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/2"</span>) -<span id="L3111" class="LineNr"> 3111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/3"</span>) -<span id="L3112" class="LineNr"> 3112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/4"</span>) -<span id="L3113" class="LineNr"> 3113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/5"</span>) -<span id="L3114" class="LineNr"> 3114 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/6"</span>) -<span id="L3115" class="LineNr"> 3115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (g *(ebp+0xfffffffc))"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/7"</span>) -<span id="L3116" class="LineNr"> 3116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/8"</span>) -<span id="L3117" class="LineNr"> 3117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/9"</span>) -<span id="L3118" class="LineNr"> 3118 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/10"</span>) +<span id="L3110" class="LineNr"> 3110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/2"</span>) +<span id="L3111" class="LineNr"> 3111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/3"</span>) +<span id="L3112" class="LineNr"> 3112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/4"</span>) +<span id="L3113" class="LineNr"> 3113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/5"</span>) +<span id="L3114" class="LineNr"> 3114 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/6"</span>) +<span id="L3115" class="LineNr"> 3115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (g *(ebp+0xfffffffc))"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/7"</span>) +<span id="L3116" class="LineNr"> 3116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/8"</span>) +<span id="L3117" class="LineNr"> 3117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/9"</span>) +<span id="L3118" class="LineNr"> 3118 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/10"</span>) <span id="L3119" class="LineNr"> 3119 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/11"</span>) -<span id="L3120" class="LineNr"> 3120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/12"</span>) -<span id="L3121" class="LineNr"> 3121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/13"</span>) -<span id="L3122" class="LineNr"> 3122 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/14"</span>) -<span id="L3123" class="LineNr"> 3123 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"g:"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/15"</span>) +<span id="L3120" class="LineNr"> 3120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/12"</span>) +<span id="L3121" class="LineNr"> 3121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/13"</span>) +<span id="L3122" class="LineNr"> 3122 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/14"</span>) +<span id="L3123" class="LineNr"> 3123 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"g:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/15"</span>) <span id="L3124" class="LineNr"> 3124 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/16"</span>) -<span id="L3125" class="LineNr"> 3125 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/17"</span>) -<span id="L3126" class="LineNr"> 3126 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/18"</span>) +<span id="L3125" class="LineNr"> 3125 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/17"</span>) +<span id="L3126" class="LineNr"> 3126 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/18"</span>) <span id="L3127" class="LineNr"> 3127 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/19"</span>) -<span id="L3128" class="LineNr"> 3128 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/20"</span>) -<span id="L3129" class="LineNr"> 3129 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/21"</span>) -<span id="L3130" class="LineNr"> 3130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-compound-type/22"</span>) +<span id="L3128" class="LineNr"> 3128 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/20"</span>) +<span id="L3129" class="LineNr"> 3129 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/21"</span>) +<span id="L3130" class="LineNr"> 3130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3082'>test-convert-function-call-with-inout-with-compound-type</a>/22"</span>) <span id="L3131" class="LineNr"> 3131 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L3132" class="LineNr"> 3132 </span> 89/<- %esp 5/r32/ebp <span id="L3133" class="LineNr"> 3133 </span> 5d/pop-to-ebp @@ -2944,7 +2944,7 @@ if ('onhashchange' in window) { <span id="L3157" class="LineNr"> 3157 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr _) {\n"</span>) <span id="L3158" class="LineNr"> 3158 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3159" class="LineNr"> 3159 </span> <span class="subxComment"># convert</span> -<span id="L3160" class="LineNr"> 3160 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3160" class="LineNr"> 3160 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3161" class="LineNr"> 3161 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3162" class="LineNr"> 3162 </span> <span class="subxComment"># restore ed</span> <span id="L3163" class="LineNr"> 3163 </span> 89/<- %edx 4/r32/esp @@ -2952,7 +2952,7 @@ if ('onhashchange' in window) { <span id="L3165" class="LineNr"> 3165 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3166" class="Folded"> 3166 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3172" class="LineNr"> 3172 </span> <span class="subxComment"># no error; types matched</span> -<span id="L3173" class="LineNr"> 3173 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-type-parameter: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) +<span id="L3173" class="LineNr"> 3173 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3136'>test-convert-function-call-with-inout-with-type-parameter</a>: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) <span id="L3174" class="LineNr"> 3174 </span> <span class="subxComment"># don't bother checking the generated code; that's in the test 'test-local-clobbered-by-fn-output' below</span> <span id="L3175" class="LineNr"> 3175 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3176" class="LineNr"> 3176 </span> 81 0/subop/add %esp 8/imm32 @@ -2984,7 +2984,7 @@ if ('onhashchange' in window) { <span id="L3202" class="LineNr"> 3202 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: foo {\n"</span>) <span id="L3203" class="LineNr"> 3203 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3204" class="LineNr"> 3204 </span> <span class="subxComment"># convert</span> -<span id="L3205" class="LineNr"> 3205 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3205" class="LineNr"> 3205 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3206" class="LineNr"> 3206 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3207" class="LineNr"> 3207 </span> <span class="subxComment"># restore ed</span> <span id="L3208" class="LineNr"> 3208 </span> 89/<- %edx 4/r32/esp @@ -2992,10 +2992,10 @@ if ('onhashchange' in window) { <span id="L3210" class="LineNr"> 3210 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3211" class="Folded"> 3211 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3217" class="LineNr"> 3217 </span> <span class="subxComment"># check output</span> -<span id="L3218" class="LineNr"> 3218 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-inout-type: output should be empty"</span>) -<span id="L3219" class="LineNr"> 3219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'x' is not right"</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-inout-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3218" class="LineNr"> 3218 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3181'>test-convert-function-call-with-incorrect-inout-type</a>: output should be empty"</span>) +<span id="L3219" class="LineNr"> 3219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'x' is not right"</span> <span class="Constant">"F - <a href='mu.subx.html#L3181'>test-convert-function-call-with-incorrect-inout-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3220" class="LineNr"> 3220 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3221" class="LineNr"> 3221 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-incorrect-inout-type: exit status"</span>) +<span id="L3221" class="LineNr"> 3221 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3181'>test-convert-function-call-with-incorrect-inout-type</a>: exit status"</span>) <span id="L3222" class="LineNr"> 3222 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3223" class="LineNr"> 3223 </span> 81 0/subop/add %esp 8/imm32 <span id="L3224" class="LineNr"> 3224 </span> 5d/pop-to-ebp @@ -3025,7 +3025,7 @@ if ('onhashchange' in window) { <span id="L3248" class="LineNr"> 3248 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr bool) {\n"</span>) <span id="L3249" class="LineNr"> 3249 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3250" class="LineNr"> 3250 </span> <span class="subxComment"># convert</span> -<span id="L3251" class="LineNr"> 3251 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3251" class="LineNr"> 3251 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3252" class="LineNr"> 3252 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3253" class="LineNr"> 3253 </span> <span class="subxComment"># restore ed</span> <span id="L3254" class="LineNr"> 3254 </span> 89/<- %edx 4/r32/esp @@ -3033,8 +3033,8 @@ if ('onhashchange' in window) { <span id="L3256" class="LineNr"> 3256 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3257" class="Folded"> 3257 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3263" class="LineNr"> 3263 </span> <span class="subxComment"># check output</span> -<span id="L3264" class="LineNr"> 3264 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-incorrect-compound-type: output should be empty"</span>) -<span id="L3265" class="LineNr"> 3265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'x' is not right"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-incorrect-compound-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3264" class="LineNr"> 3264 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3227'>test-convert-function-call-with-inout-with-incorrect-compound-type</a>: output should be empty"</span>) +<span id="L3265" class="LineNr"> 3265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'x' is not right"</span> <span class="Constant">"F - <a href='mu.subx.html#L3227'>test-convert-function-call-with-inout-with-incorrect-compound-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3266" class="LineNr"> 3266 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3267" class="LineNr"> 3267 </span> 81 0/subop/add %esp 8/imm32 <span id="L3268" class="LineNr"> 3268 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3066,7 +3066,7 @@ if ('onhashchange' in window) { <span id="L3294" class="LineNr"> 3294 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr _), b: (addr _) {\n"</span>) <span id="L3295" class="LineNr"> 3295 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3296" class="LineNr"> 3296 </span> <span class="subxComment"># convert</span> -<span id="L3297" class="LineNr"> 3297 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3297" class="LineNr"> 3297 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3298" class="LineNr"> 3298 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3299" class="LineNr"> 3299 </span> <span class="subxComment"># restore ed</span> <span id="L3300" class="LineNr"> 3300 </span> 89/<- %edx 4/r32/esp @@ -3074,7 +3074,7 @@ if ('onhashchange' in window) { <span id="L3302" class="LineNr"> 3302 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3303" class="Folded"> 3303 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3309" class="LineNr"> 3309 </span> <span class="subxComment"># no errors</span> -<span id="L3310" class="LineNr"> 3310 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-multiple-type-parameters: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) +<span id="L3310" class="LineNr"> 3310 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3272'>test-convert-function-call-with-inout-with-multiple-type-parameters</a>: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) <span id="L3311" class="LineNr"> 3311 </span> <span class="subxComment"># don't bother checking the generated code</span> <span id="L3312" class="LineNr"> 3312 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3313" class="LineNr"> 3313 </span> 81 0/subop/add %esp 8/imm32 @@ -3106,7 +3106,7 @@ if ('onhashchange' in window) { <span id="L3339" class="LineNr"> 3339 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr _) {\n"</span>) <span id="L3340" class="LineNr"> 3340 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3341" class="LineNr"> 3341 </span> <span class="subxComment"># convert</span> -<span id="L3342" class="LineNr"> 3342 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3342" class="LineNr"> 3342 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3343" class="LineNr"> 3343 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3344" class="LineNr"> 3344 </span> <span class="subxComment"># restore ed</span> <span id="L3345" class="LineNr"> 3345 </span> 89/<- %edx 4/r32/esp @@ -3114,7 +3114,7 @@ if ('onhashchange' in window) { <span id="L3347" class="LineNr"> 3347 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3348" class="Folded"> 3348 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3354" class="LineNr"> 3354 </span> <span class="subxComment"># no errors</span> -<span id="L3355" class="LineNr"> 3355 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-type-parameter-matches-rest-of-type: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) +<span id="L3355" class="LineNr"> 3355 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3318'>test-type-parameter-matches-rest-of-type</a>: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) <span id="L3356" class="LineNr"> 3356 </span> <span class="subxComment"># don't bother checking the generated code</span> <span id="L3357" class="LineNr"> 3357 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3358" class="LineNr"> 3358 </span> 81 0/subop/add %esp 8/imm32 @@ -3147,7 +3147,7 @@ if ('onhashchange' in window) { <span id="L3385" class="LineNr"> 3385 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: (addr _T), b: (addr _T) {\n"</span>) <span id="L3386" class="LineNr"> 3386 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3387" class="LineNr"> 3387 </span> <span class="subxComment"># convert</span> -<span id="L3388" class="LineNr"> 3388 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3388" class="LineNr"> 3388 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3389" class="LineNr"> 3389 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3390" class="LineNr"> 3390 </span> <span class="subxComment"># restore ed</span> <span id="L3391" class="LineNr"> 3391 </span> 89/<- %edx 4/r32/esp @@ -3155,8 +3155,8 @@ if ('onhashchange' in window) { <span id="L3393" class="LineNr"> 3393 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3394" class="Folded"> 3394 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3400" class="LineNr"> 3400 </span> <span class="subxComment"># check output</span> -<span id="L3401" class="LineNr"> 3401 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-incompatible-type-parameters: output should be empty"</span>) -<span id="L3402" class="LineNr"> 3402 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'y' is not right"</span> <span class="Constant">"F - test-convert-function-call-with-inout-with-incompatible-type-parameters: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3401" class="LineNr"> 3401 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3363'>test-convert-function-call-with-inout-with-incompatible-type-parameters</a>: output should be empty"</span>) +<span id="L3402" class="LineNr"> 3402 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for inout 'y' is not right"</span> <span class="Constant">"F - <a href='mu.subx.html#L3363'>test-convert-function-call-with-inout-with-incompatible-type-parameters</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3403" class="LineNr"> 3403 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3404" class="LineNr"> 3404 </span> 81 0/subop/add %esp 8/imm32 <span id="L3405" class="LineNr"> 3405 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3186,7 +3186,7 @@ if ('onhashchange' in window) { <span id="L3429" class="LineNr"> 3429 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g a: int {\n"</span>) <span id="L3430" class="LineNr"> 3430 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3431" class="LineNr"> 3431 </span> <span class="subxComment"># convert</span> -<span id="L3432" class="LineNr"> 3432 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3432" class="LineNr"> 3432 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3433" class="LineNr"> 3433 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3434" class="LineNr"> 3434 </span> <span class="subxComment"># restore ed</span> <span id="L3435" class="LineNr"> 3435 </span> 89/<- %edx 4/r32/esp @@ -3194,10 +3194,10 @@ if ('onhashchange' in window) { <span id="L3437" class="LineNr"> 3437 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3438" class="Folded"> 3438 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3444" class="LineNr"> 3444 </span> <span class="subxComment"># check output</span> -<span id="L3445" class="LineNr"> 3445 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-too-few-inouts: output should be empty"</span>) -<span id="L3446" class="LineNr"> 3446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too few inouts"</span> <span class="Constant">"F - test-convert-function-call-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3445" class="LineNr"> 3445 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3409'>test-convert-function-call-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L3446" class="LineNr"> 3446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too few inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L3409'>test-convert-function-call-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3447" class="LineNr"> 3447 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3448" class="LineNr"> 3448 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-too-few-inouts: exit status"</span>) +<span id="L3448" class="LineNr"> 3448 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3409'>test-convert-function-call-with-too-few-inouts</a>: exit status"</span>) <span id="L3449" class="LineNr"> 3449 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3450" class="LineNr"> 3450 </span> 81 0/subop/add %esp 8/imm32 <span id="L3451" class="LineNr"> 3451 </span> 5d/pop-to-ebp @@ -3227,7 +3227,7 @@ if ('onhashchange' in window) { <span id="L3475" class="LineNr"> 3475 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g {\n"</span>) <span id="L3476" class="LineNr"> 3476 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3477" class="LineNr"> 3477 </span> <span class="subxComment"># convert</span> -<span id="L3478" class="LineNr"> 3478 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3478" class="LineNr"> 3478 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3479" class="LineNr"> 3479 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3480" class="LineNr"> 3480 </span> <span class="subxComment"># restore ed</span> <span id="L3481" class="LineNr"> 3481 </span> 89/<- %edx 4/r32/esp @@ -3235,10 +3235,10 @@ if ('onhashchange' in window) { <span id="L3483" class="LineNr"> 3483 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3484" class="Folded"> 3484 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3490" class="LineNr"> 3490 </span> <span class="subxComment"># check output</span> -<span id="L3491" class="LineNr"> 3491 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-too-many-inouts: output should be empty"</span>) -<span id="L3492" class="LineNr"> 3492 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too many inouts"</span> <span class="Constant">"F - test-convert-function-call-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3491" class="LineNr"> 3491 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3454'>test-convert-function-call-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L3492" class="LineNr"> 3492 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too many inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L3454'>test-convert-function-call-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3493" class="LineNr"> 3493 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3494" class="LineNr"> 3494 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-too-many-inouts: exit status"</span>) +<span id="L3494" class="LineNr"> 3494 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3454'>test-convert-function-call-with-too-many-inouts</a>: exit status"</span>) <span id="L3495" class="LineNr"> 3495 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3496" class="LineNr"> 3496 </span> 81 0/subop/add %esp 8/imm32 <span id="L3497" class="LineNr"> 3497 </span> 5d/pop-to-ebp @@ -3267,7 +3267,7 @@ if ('onhashchange' in window) { <span id="L3520" class="LineNr"> 3520 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g -> _/eax: foo {\n"</span>) <span id="L3521" class="LineNr"> 3521 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3522" class="LineNr"> 3522 </span> <span class="subxComment"># convert</span> -<span id="L3523" class="LineNr"> 3523 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3523" class="LineNr"> 3523 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3524" class="LineNr"> 3524 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3525" class="LineNr"> 3525 </span> <span class="subxComment"># restore ed</span> <span id="L3526" class="LineNr"> 3526 </span> 89/<- %edx 4/r32/esp @@ -3275,10 +3275,10 @@ if ('onhashchange' in window) { <span id="L3528" class="LineNr"> 3528 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3529" class="Folded"> 3529 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3535" class="LineNr"> 3535 </span> <span class="subxComment"># check output</span> -<span id="L3536" class="LineNr"> 3536 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-output-type: output should be empty"</span>) -<span id="L3537" class="LineNr"> 3537 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for output 'x' is not right"</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3536" class="LineNr"> 3536 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3500'>test-convert-function-call-with-incorrect-output-type</a>: output should be empty"</span>) +<span id="L3537" class="LineNr"> 3537 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: type for output 'x' is not right"</span> <span class="Constant">"F - <a href='mu.subx.html#L3500'>test-convert-function-call-with-incorrect-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3538" class="LineNr"> 3538 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3539" class="LineNr"> 3539 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-incorrect-output-type: exit status"</span>) +<span id="L3539" class="LineNr"> 3539 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3500'>test-convert-function-call-with-incorrect-output-type</a>: exit status"</span>) <span id="L3540" class="LineNr"> 3540 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3541" class="LineNr"> 3541 </span> 81 0/subop/add %esp 8/imm32 <span id="L3542" class="LineNr"> 3542 </span> 5d/pop-to-ebp @@ -3307,7 +3307,7 @@ if ('onhashchange' in window) { <span id="L3565" class="LineNr"> 3565 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g -> _/eax: int {\n"</span>) <span id="L3566" class="LineNr"> 3566 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3567" class="LineNr"> 3567 </span> <span class="subxComment"># convert</span> -<span id="L3568" class="LineNr"> 3568 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3568" class="LineNr"> 3568 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3569" class="LineNr"> 3569 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3570" class="LineNr"> 3570 </span> <span class="subxComment"># restore ed</span> <span id="L3571" class="LineNr"> 3571 </span> 89/<- %edx 4/r32/esp @@ -3315,10 +3315,10 @@ if ('onhashchange' in window) { <span id="L3573" class="LineNr"> 3573 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3574" class="Folded"> 3574 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3580" class="LineNr"> 3580 </span> <span class="subxComment"># check output</span> -<span id="L3581" class="LineNr"> 3581 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-too-few-outputs: output should be empty"</span>) -<span id="L3582" class="LineNr"> 3582 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too few outputs"</span> <span class="Constant">"F - test-convert-function-call-with-too-few-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3581" class="LineNr"> 3581 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3545'>test-convert-function-call-with-too-few-outputs</a>: output should be empty"</span>) +<span id="L3582" class="LineNr"> 3582 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too few outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L3545'>test-convert-function-call-with-too-few-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3583" class="LineNr"> 3583 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3584" class="LineNr"> 3584 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-too-few-outputs: exit status"</span>) +<span id="L3584" class="LineNr"> 3584 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3545'>test-convert-function-call-with-too-few-outputs</a>: exit status"</span>) <span id="L3585" class="LineNr"> 3585 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3586" class="LineNr"> 3586 </span> 81 0/subop/add %esp 8/imm32 <span id="L3587" class="LineNr"> 3587 </span> 5d/pop-to-ebp @@ -3347,7 +3347,7 @@ if ('onhashchange' in window) { <span id="L3610" class="LineNr"> 3610 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g {\n"</span>) <span id="L3611" class="LineNr"> 3611 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3612" class="LineNr"> 3612 </span> <span class="subxComment"># convert</span> -<span id="L3613" class="LineNr"> 3613 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3613" class="LineNr"> 3613 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3614" class="LineNr"> 3614 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3615" class="LineNr"> 3615 </span> <span class="subxComment"># restore ed</span> <span id="L3616" class="LineNr"> 3616 </span> 89/<- %edx 4/r32/esp @@ -3355,10 +3355,10 @@ if ('onhashchange' in window) { <span id="L3618" class="LineNr"> 3618 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3619" class="Folded"> 3619 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3625" class="LineNr"> 3625 </span> <span class="subxComment"># check output</span> -<span id="L3626" class="LineNr"> 3626 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-too-many-outputs: output should be empty"</span>) -<span id="L3627" class="LineNr"> 3627 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too many outputs"</span> <span class="Constant">"F - test-convert-function-call-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3626" class="LineNr"> 3626 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3590'>test-convert-function-call-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L3627" class="LineNr"> 3627 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: too many outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L3590'>test-convert-function-call-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3628" class="LineNr"> 3628 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3629" class="LineNr"> 3629 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-too-many-outputs: exit status"</span>) +<span id="L3629" class="LineNr"> 3629 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3590'>test-convert-function-call-with-too-many-outputs</a>: exit status"</span>) <span id="L3630" class="LineNr"> 3630 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3631" class="LineNr"> 3631 </span> 81 0/subop/add %esp 8/imm32 <span id="L3632" class="LineNr"> 3632 </span> 5d/pop-to-ebp @@ -3388,7 +3388,7 @@ if ('onhashchange' in window) { <span id="L3656" class="LineNr"> 3656 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g -> _/eax: int {\n"</span>) <span id="L3657" class="LineNr"> 3657 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3658" class="LineNr"> 3658 </span> <span class="subxComment"># convert</span> -<span id="L3659" class="LineNr"> 3659 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3659" class="LineNr"> 3659 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3660" class="LineNr"> 3660 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3661" class="LineNr"> 3661 </span> <span class="subxComment"># restore ed</span> <span id="L3662" class="LineNr"> 3662 </span> 89/<- %edx 4/r32/esp @@ -3396,10 +3396,10 @@ if ('onhashchange' in window) { <span id="L3664" class="LineNr"> 3664 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3665" class="Folded"> 3665 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3671" class="LineNr"> 3671 </span> <span class="subxComment"># check output</span> -<span id="L3672" class="LineNr"> 3672 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-missing-output-register: output should be empty"</span>) -<span id="L3673" class="LineNr"> 3673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: output 'x' is not in a register"</span> <span class="Constant">"F - test-convert-function-call-with-missing-output-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3672" class="LineNr"> 3672 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3635'>test-convert-function-call-with-missing-output-register</a>: output should be empty"</span>) +<span id="L3673" class="LineNr"> 3673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: output 'x' is not in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L3635'>test-convert-function-call-with-missing-output-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3674" class="LineNr"> 3674 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3675" class="LineNr"> 3675 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-missing-output-register: exit status"</span>) +<span id="L3675" class="LineNr"> 3675 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3635'>test-convert-function-call-with-missing-output-register</a>: exit status"</span>) <span id="L3676" class="LineNr"> 3676 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3677" class="LineNr"> 3677 </span> 81 0/subop/add %esp 8/imm32 <span id="L3678" class="LineNr"> 3678 </span> 5d/pop-to-ebp @@ -3428,7 +3428,7 @@ if ('onhashchange' in window) { <span id="L3701" class="LineNr"> 3701 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"fn g -> _/eax: int {\n"</span>) <span id="L3702" class="LineNr"> 3702 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3703" class="LineNr"> 3703 </span> <span class="subxComment"># convert</span> -<span id="L3704" class="LineNr"> 3704 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3704" class="LineNr"> 3704 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3705" class="LineNr"> 3705 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3706" class="LineNr"> 3706 </span> <span class="subxComment"># restore ed</span> <span id="L3707" class="LineNr"> 3707 </span> 89/<- %edx 4/r32/esp @@ -3436,10 +3436,10 @@ if ('onhashchange' in window) { <span id="L3709" class="LineNr"> 3709 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3710" class="Folded"> 3710 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3716" class="LineNr"> 3716 </span> <span class="subxComment"># check output</span> -<span id="L3717" class="LineNr"> 3717 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-output-register: output should be empty"</span>) -<span id="L3718" class="LineNr"> 3718 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: register for output 'x' is not right"</span> <span class="Constant">"F - test-convert-function-call-with-incorrect-output-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3717" class="LineNr"> 3717 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3681'>test-convert-function-call-with-incorrect-output-register</a>: output should be empty"</span>) +<span id="L3718" class="LineNr"> 3718 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn f: call g: register for output 'x' is not right"</span> <span class="Constant">"F - <a href='mu.subx.html#L3681'>test-convert-function-call-with-incorrect-output-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3719" class="LineNr"> 3719 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3720" class="LineNr"> 3720 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-function-call-with-incorrect-output-register: exit status"</span>) +<span id="L3720" class="LineNr"> 3720 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3681'>test-convert-function-call-with-incorrect-output-register</a>: exit status"</span>) <span id="L3721" class="LineNr"> 3721 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3722" class="LineNr"> 3722 </span> 81 0/subop/add %esp 8/imm32 <span id="L3723" class="LineNr"> 3723 </span> 5d/pop-to-ebp @@ -3460,26 +3460,26 @@ if ('onhashchange' in window) { <span id="L3738" class="LineNr"> 3738 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment *x\n"</span>) <span id="L3739" class="LineNr"> 3739 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3740" class="LineNr"> 3740 </span> <span class="subxComment"># convert</span> -<span id="L3741" class="LineNr"> 3741 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L3741" class="LineNr"> 3741 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L3742" class="LineNr"> 3742 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L3743" class="Folded"> 3743 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3749" class="LineNr"> 3749 </span> <span class="subxComment"># check output</span> -<span id="L3750" class="LineNr"> 3750 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/0"</span>) +<span id="L3750" class="LineNr"> 3750 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/0"</span>) <span id="L3751" class="LineNr"> 3751 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/1"</span>) -<span id="L3752" class="LineNr"> 3752 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/2"</span>) -<span id="L3753" class="LineNr"> 3753 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/3"</span>) -<span id="L3754" class="LineNr"> 3754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/4"</span>) -<span id="L3755" class="LineNr"> 3755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/5"</span>) -<span id="L3756" class="LineNr"> 3756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/6"</span>) -<span id="L3757" class="LineNr"> 3757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/7"</span>) -<span id="L3758" class="LineNr"> 3758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/8"</span>) -<span id="L3759" class="LineNr"> 3759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/9"</span>) -<span id="L3760" class="LineNr"> 3760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/10"</span>) -<span id="L3761" class="LineNr"> 3761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/11"</span>) +<span id="L3752" class="LineNr"> 3752 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/2"</span>) +<span id="L3753" class="LineNr"> 3753 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/3"</span>) +<span id="L3754" class="LineNr"> 3754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/4"</span>) +<span id="L3755" class="LineNr"> 3755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/5"</span>) +<span id="L3756" class="LineNr"> 3756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/6"</span>) +<span id="L3757" class="LineNr"> 3757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/7"</span>) +<span id="L3758" class="LineNr"> 3758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/8"</span>) +<span id="L3759" class="LineNr"> 3759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/9"</span>) +<span id="L3760" class="LineNr"> 3760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/10"</span>) +<span id="L3761" class="LineNr"> 3761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/11"</span>) <span id="L3762" class="LineNr"> 3762 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/12"</span>) -<span id="L3763" class="LineNr"> 3763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/13"</span>) -<span id="L3764" class="LineNr"> 3764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/14"</span>) -<span id="L3765" class="LineNr"> 3765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-dereferenced/15"</span>) +<span id="L3763" class="LineNr"> 3763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/13"</span>) +<span id="L3764" class="LineNr"> 3764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/14"</span>) +<span id="L3765" class="LineNr"> 3765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3726'>test-convert-function-with-local-var-dereferenced</a>/15"</span>) <span id="L3766" class="LineNr"> 3766 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L3767" class="LineNr"> 3767 </span> 89/<- %esp 5/r32/ebp <span id="L3768" class="LineNr"> 3768 </span> 5d/pop-to-ebp @@ -3507,7 +3507,7 @@ if ('onhashchange' in window) { <span id="L3790" class="LineNr"> 3790 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment *x\n"</span>) <span id="L3791" class="LineNr"> 3791 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3792" class="LineNr"> 3792 </span> <span class="subxComment"># convert</span> -<span id="L3793" class="LineNr"> 3793 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3793" class="LineNr"> 3793 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3794" class="LineNr"> 3794 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3795" class="LineNr"> 3795 </span> <span class="subxComment"># restore ed</span> <span id="L3796" class="LineNr"> 3796 </span> 89/<- %edx 4/r32/esp @@ -3515,10 +3515,10 @@ if ('onhashchange' in window) { <span id="L3798" class="LineNr"> 3798 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3799" class="Folded"> 3799 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3805" class="LineNr"> 3805 </span> <span class="subxComment"># check output</span> -<span id="L3806" class="LineNr"> 3806 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-dereference-of-var-on-stack: output should be empty"</span>) -<span id="L3807" class="LineNr"> 3807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: cannot dereference var 'x' on stack"</span> <span class="Constant">"F - test-dereference-of-var-on-stack: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3806" class="LineNr"> 3806 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3771'>test-dereference-of-var-on-stack</a>: output should be empty"</span>) +<span id="L3807" class="LineNr"> 3807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: cannot dereference var 'x' on stack"</span> <span class="Constant">"F - <a href='mu.subx.html#L3771'>test-dereference-of-var-on-stack</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3808" class="LineNr"> 3808 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3809" class="LineNr"> 3809 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-dereference-of-var-on-stack: exit status"</span>) +<span id="L3809" class="LineNr"> 3809 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3771'>test-dereference-of-var-on-stack</a>: exit status"</span>) <span id="L3810" class="LineNr"> 3810 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3811" class="LineNr"> 3811 </span> 81 0/subop/add %esp 8/imm32 <span id="L3812" class="LineNr"> 3812 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3544,36 +3544,36 @@ if ('onhashchange' in window) { <span id="L3832" class="LineNr"> 3832 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *z, x\n"</span>) <span id="L3833" class="LineNr"> 3833 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3834" class="LineNr"> 3834 </span> <span class="subxComment"># convert</span> -<span id="L3835" class="LineNr"> 3835 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L3835" class="LineNr"> 3835 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L3836" class="LineNr"> 3836 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L3837" class="Folded"> 3837 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3843" class="LineNr"> 3843 </span> <span class="subxComment"># check output</span> -<span id="L3844" class="LineNr"> 3844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/0"</span>) +<span id="L3844" class="LineNr"> 3844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/0"</span>) <span id="L3845" class="LineNr"> 3845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/1"</span>) -<span id="L3846" class="LineNr"> 3846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/2"</span>) -<span id="L3847" class="LineNr"> 3847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/3"</span>) -<span id="L3848" class="LineNr"> 3848 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/4"</span>) -<span id="L3849" class="LineNr"> 3849 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/5"</span>) -<span id="L3850" class="LineNr"> 3850 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/6"</span>) -<span id="L3851" class="LineNr"> 3851 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/7"</span>) -<span id="L3852" class="LineNr"> 3852 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/8"</span>) -<span id="L3853" class="LineNr"> 3853 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/9"</span>) -<span id="L3854" class="LineNr"> 3854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8a/byte-> %eax 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/10"</span>) -<span id="L3855" class="LineNr"> 3855 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 4/subop/and %ecx 0xff/imm32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/11"</span>) -<span id="L3856" class="LineNr"> 3856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/12"</span>) -<span id="L3857" class="LineNr"> 3857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/13"</span>) -<span id="L3858" class="LineNr"> 3858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8a/byte-> *edx 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/14"</span>) -<span id="L3859" class="LineNr"> 3859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 4/subop/and %ecx 0xff/imm32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/15"</span>) -<span id="L3860" class="LineNr"> 3860 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 88/byte<- *edx 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/16"</span>) -<span id="L3861" class="LineNr"> 3861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/17"</span>) -<span id="L3862" class="LineNr"> 3862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/18"</span>) -<span id="L3863" class="LineNr"> 3863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/19"</span>) -<span id="L3864" class="LineNr"> 3864 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/20"</span>) -<span id="L3865" class="LineNr"> 3865 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/21"</span>) +<span id="L3846" class="LineNr"> 3846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/2"</span>) +<span id="L3847" class="LineNr"> 3847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/3"</span>) +<span id="L3848" class="LineNr"> 3848 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/4"</span>) +<span id="L3849" class="LineNr"> 3849 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/5"</span>) +<span id="L3850" class="LineNr"> 3850 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/6"</span>) +<span id="L3851" class="LineNr"> 3851 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/7"</span>) +<span id="L3852" class="LineNr"> 3852 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/8"</span>) +<span id="L3853" class="LineNr"> 3853 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/9"</span>) +<span id="L3854" class="LineNr"> 3854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8a/byte-> %eax 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/10"</span>) +<span id="L3855" class="LineNr"> 3855 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 4/subop/and %ecx 0xff/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/11"</span>) +<span id="L3856" class="LineNr"> 3856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/12"</span>) +<span id="L3857" class="LineNr"> 3857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/13"</span>) +<span id="L3858" class="LineNr"> 3858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8a/byte-> *edx 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/14"</span>) +<span id="L3859" class="LineNr"> 3859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 4/subop/and %ecx 0xff/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/15"</span>) +<span id="L3860" class="LineNr"> 3860 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 88/byte<- *edx 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/16"</span>) +<span id="L3861" class="LineNr"> 3861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/17"</span>) +<span id="L3862" class="LineNr"> 3862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/18"</span>) +<span id="L3863" class="LineNr"> 3863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/19"</span>) +<span id="L3864" class="LineNr"> 3864 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/20"</span>) +<span id="L3865" class="LineNr"> 3865 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/21"</span>) <span id="L3866" class="LineNr"> 3866 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/22"</span>) -<span id="L3867" class="LineNr"> 3867 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/23"</span>) -<span id="L3868" class="LineNr"> 3868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/24"</span>) -<span id="L3869" class="LineNr"> 3869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-byte-operations/25"</span>) +<span id="L3867" class="LineNr"> 3867 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/23"</span>) +<span id="L3868" class="LineNr"> 3868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/24"</span>) +<span id="L3869" class="LineNr"> 3869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L3816'>test-convert-function-with-byte-operations</a>/25"</span>) <span id="L3870" class="LineNr"> 3870 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L3871" class="LineNr"> 3871 </span> 89/<- %esp 5/r32/ebp <span id="L3872" class="LineNr"> 3872 </span> 5d/pop-to-ebp @@ -3601,7 +3601,7 @@ if ('onhashchange' in window) { <span id="L3894" class="LineNr"> 3894 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x: byte\n"</span>) <span id="L3895" class="LineNr"> 3895 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3896" class="LineNr"> 3896 </span> <span class="subxComment"># convert</span> -<span id="L3897" class="LineNr"> 3897 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3897" class="LineNr"> 3897 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3898" class="LineNr"> 3898 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3899" class="LineNr"> 3899 </span> <span class="subxComment"># restore ed</span> <span id="L3900" class="LineNr"> 3900 </span> 89/<- %edx 4/r32/esp @@ -3609,10 +3609,10 @@ if ('onhashchange' in window) { <span id="L3902" class="LineNr"> 3902 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3903" class="Folded"> 3903 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3909" class="LineNr"> 3909 </span> <span class="subxComment"># check output</span> -<span id="L3910" class="LineNr"> 3910 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-byte-values-on-stack: output should be empty"</span>) -<span id="L3911" class="LineNr"> 3911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: var 'x' of type 'byte' cannot be on the stack"</span> <span class="Constant">"F - test-byte-values-on-stack: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3910" class="LineNr"> 3910 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3876'>test-byte-values-on-stack</a>: output should be empty"</span>) +<span id="L3911" class="LineNr"> 3911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: var 'x' of type 'byte' cannot be on the stack"</span> <span class="Constant">"F - <a href='mu.subx.html#L3876'>test-byte-values-on-stack</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3912" class="LineNr"> 3912 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3913" class="LineNr"> 3913 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-byte-values-on-stack: exit status"</span>) +<span id="L3913" class="LineNr"> 3913 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3876'>test-byte-values-on-stack</a>: exit status"</span>) <span id="L3914" class="LineNr"> 3914 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3915" class="LineNr"> 3915 </span> 81 0/subop/add %esp 8/imm32 <span id="L3916" class="LineNr"> 3916 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3641,7 +3641,7 @@ if ('onhashchange' in window) { <span id="L3939" class="LineNr"> 3939 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/esi: byte <- copy 0\n"</span>) <span id="L3940" class="LineNr"> 3940 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3941" class="LineNr"> 3941 </span> <span class="subxComment"># convert</span> -<span id="L3942" class="LineNr"> 3942 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L3942" class="LineNr"> 3942 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L3943" class="LineNr"> 3943 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L3944" class="LineNr"> 3944 </span> <span class="subxComment"># restore ed</span> <span id="L3945" class="LineNr"> 3945 </span> 89/<- %edx 4/r32/esp @@ -3649,10 +3649,10 @@ if ('onhashchange' in window) { <span id="L3947" class="LineNr"> 3947 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L3948" class="Folded"> 3948 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3954" class="LineNr"> 3954 </span> <span class="subxComment"># check output</span> -<span id="L3955" class="LineNr"> 3955 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-byte-values-in-unsupported-registers: output should be empty"</span>) -<span id="L3956" class="LineNr"> 3956 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: var 'x' of type 'byte' cannot be in esi or edi"</span> <span class="Constant">"F - test-byte-values-in-unsupported-registers: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L3955" class="LineNr"> 3955 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L3921'>test-byte-values-in-unsupported-registers</a>: output should be empty"</span>) +<span id="L3956" class="LineNr"> 3956 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: var 'x' of type 'byte' cannot be in esi or edi"</span> <span class="Constant">"F - <a href='mu.subx.html#L3921'>test-byte-values-in-unsupported-registers</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L3957" class="LineNr"> 3957 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L3958" class="LineNr"> 3958 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-byte-values-in-unsupported-registers: exit status"</span>) +<span id="L3958" class="LineNr"> 3958 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L3921'>test-byte-values-in-unsupported-registers</a>: exit status"</span>) <span id="L3959" class="LineNr"> 3959 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L3960" class="LineNr"> 3960 </span> 81 0/subop/add %esp 8/imm32 <span id="L3961" class="LineNr"> 3961 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3675,7 +3675,7 @@ if ('onhashchange' in window) { <span id="L3978" class="LineNr"> 3978 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/eax: int <- copy y\n"</span>) <span id="L3979" class="LineNr"> 3979 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L3980" class="LineNr"> 3980 </span> <span class="subxComment"># convert</span> -<span id="L3981" class="LineNr"> 3981 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L3981" class="LineNr"> 3981 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L3982" class="LineNr"> 3982 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L3983" class="Folded"> 3983 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L3989" class="LineNr"> 3989 </span> <span class="subxComment"># check output</span> @@ -3715,26 +3715,26 @@ if ('onhashchange' in window) { <span id="L4023" class="LineNr"> 4023 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, 0\n"</span>) <span id="L4024" class="LineNr"> 4024 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4025" class="LineNr"> 4025 </span> <span class="subxComment"># convert</span> -<span id="L4026" class="LineNr"> 4026 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4026" class="LineNr"> 4026 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4027" class="LineNr"> 4027 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4028" class="Folded"> 4028 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4034" class="LineNr"> 4034 </span> <span class="subxComment"># check output</span> -<span id="L4035" class="LineNr"> 4035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/0"</span>) +<span id="L4035" class="LineNr"> 4035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/0"</span>) <span id="L4036" class="LineNr"> 4036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/1"</span>) -<span id="L4037" class="LineNr"> 4037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/2"</span>) -<span id="L4038" class="LineNr"> 4038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/3"</span>) -<span id="L4039" class="LineNr"> 4039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/4"</span>) -<span id="L4040" class="LineNr"> 4040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/5"</span>) -<span id="L4041" class="LineNr"> 4041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/6"</span>) -<span id="L4042" class="LineNr"> 4042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/7"</span>) -<span id="L4043" class="LineNr"> 4043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %ecx 0/imm32"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/8"</span>) -<span id="L4044" class="LineNr"> 4044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/9"</span>) -<span id="L4045" class="LineNr"> 4045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/10"</span>) -<span id="L4046" class="LineNr"> 4046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/11"</span>) +<span id="L4037" class="LineNr"> 4037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/2"</span>) +<span id="L4038" class="LineNr"> 4038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/3"</span>) +<span id="L4039" class="LineNr"> 4039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/4"</span>) +<span id="L4040" class="LineNr"> 4040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/5"</span>) +<span id="L4041" class="LineNr"> 4041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/6"</span>) +<span id="L4042" class="LineNr"> 4042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/7"</span>) +<span id="L4043" class="LineNr"> 4043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/8"</span>) +<span id="L4044" class="LineNr"> 4044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/9"</span>) +<span id="L4045" class="LineNr"> 4045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/10"</span>) +<span id="L4046" class="LineNr"> 4046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/11"</span>) <span id="L4047" class="LineNr"> 4047 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/12"</span>) -<span id="L4048" class="LineNr"> 4048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/13"</span>) -<span id="L4049" class="LineNr"> 4049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/14"</span>) -<span id="L4050" class="LineNr"> 4050 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/15"</span>) +<span id="L4048" class="LineNr"> 4048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/13"</span>) +<span id="L4049" class="LineNr"> 4049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/14"</span>) +<span id="L4050" class="LineNr"> 4050 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/15"</span>) <span id="L4051" class="LineNr"> 4051 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4052" class="LineNr"> 4052 </span> 89/<- %esp 5/r32/ebp <span id="L4053" class="LineNr"> 4053 </span> 5d/pop-to-ebp @@ -3755,7 +3755,7 @@ if ('onhashchange' in window) { <span id="L4068" class="LineNr"> 4068 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, 0\n"</span>) <span id="L4069" class="LineNr"> 4069 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4070" class="LineNr"> 4070 </span> <span class="subxComment"># convert</span> -<span id="L4071" class="LineNr"> 4071 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4071" class="LineNr"> 4071 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4072" class="LineNr"> 4072 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4073" class="Folded"> 4073 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4079" class="LineNr"> 4079 </span> <span class="subxComment"># no errors; output is identical to test-convert-compare-register-with-literal</span> @@ -3785,7 +3785,7 @@ if ('onhashchange' in window) { <span id="L4103" class="LineNr"> 4103 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, 0\n"</span>) <span id="L4104" class="LineNr"> 4104 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4105" class="LineNr"> 4105 </span> <span class="subxComment"># convert</span> -<span id="L4106" class="LineNr"> 4106 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L4106" class="LineNr"> 4106 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L4107" class="LineNr"> 4107 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L4108" class="LineNr"> 4108 </span> <span class="subxComment"># restore ed</span> <span id="L4109" class="LineNr"> 4109 </span> 89/<- %edx 4/r32/esp @@ -3793,10 +3793,10 @@ if ('onhashchange' in window) { <span id="L4111" class="LineNr"> 4111 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L4112" class="Folded"> 4112 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4118" class="LineNr"> 4118 </span> <span class="subxComment"># check output</span> -<span id="L4119" class="LineNr"> 4119 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-unknown-variable: output should be empty"</span>) -<span id="L4120" class="LineNr"> 4120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - test-unknown-variable: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L4119" class="LineNr"> 4119 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L4085'>test-unknown-variable</a>: output should be empty"</span>) +<span id="L4120" class="LineNr"> 4120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - <a href='mu.subx.html#L4085'>test-unknown-variable</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L4121" class="LineNr"> 4121 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L4122" class="LineNr"> 4122 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-unknown-variable: exit status"</span>) +<span id="L4122" class="LineNr"> 4122 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L4085'>test-unknown-variable</a>: exit status"</span>) <span id="L4123" class="LineNr"> 4123 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L4124" class="LineNr"> 4124 </span> 81 0/subop/add %esp 8/imm32 <span id="L4125" class="LineNr"> 4125 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3820,29 +3820,29 @@ if ('onhashchange' in window) { <span id="L4143" class="LineNr"> 4143 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4144" class="LineNr"> 4144 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4145" class="LineNr"> 4145 </span> <span class="subxComment"># convert</span> -<span id="L4146" class="LineNr"> 4146 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4146" class="LineNr"> 4146 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4147" class="LineNr"> 4147 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4148" class="Folded"> 4148 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4154" class="LineNr"> 4154 </span> <span class="subxComment"># check output</span> -<span id="L4155" class="LineNr"> 4155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/0"</span>) +<span id="L4155" class="LineNr"> 4155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/0"</span>) <span id="L4156" class="LineNr"> 4156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/1"</span>) -<span id="L4157" class="LineNr"> 4157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/2"</span>) -<span id="L4158" class="LineNr"> 4158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/3"</span>) -<span id="L4159" class="LineNr"> 4159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/4"</span>) -<span id="L4160" class="LineNr"> 4160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/5"</span>) -<span id="L4161" class="LineNr"> 4161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/6"</span>) -<span id="L4162" class="LineNr"> 4162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/7"</span>) -<span id="L4163" class="LineNr"> 4163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/8"</span>) -<span id="L4164" class="LineNr"> 4164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/9"</span>) -<span id="L4165" class="LineNr"> 4165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/10"</span>) -<span id="L4166" class="LineNr"> 4166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/11"</span>) -<span id="L4167" class="LineNr"> 4167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/12"</span>) -<span id="L4168" class="LineNr"> 4168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/13"</span>) -<span id="L4169" class="LineNr"> 4169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/14"</span>) +<span id="L4157" class="LineNr"> 4157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/2"</span>) +<span id="L4158" class="LineNr"> 4158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/3"</span>) +<span id="L4159" class="LineNr"> 4159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/4"</span>) +<span id="L4160" class="LineNr"> 4160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/5"</span>) +<span id="L4161" class="LineNr"> 4161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/6"</span>) +<span id="L4162" class="LineNr"> 4162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/7"</span>) +<span id="L4163" class="LineNr"> 4163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/8"</span>) +<span id="L4164" class="LineNr"> 4164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/9"</span>) +<span id="L4165" class="LineNr"> 4165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/10"</span>) +<span id="L4166" class="LineNr"> 4166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/11"</span>) +<span id="L4167" class="LineNr"> 4167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/12"</span>) +<span id="L4168" class="LineNr"> 4168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/13"</span>) +<span id="L4169" class="LineNr"> 4169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/14"</span>) <span id="L4170" class="LineNr"> 4170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/15"</span>) -<span id="L4171" class="LineNr"> 4171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/16"</span>) -<span id="L4172" class="LineNr"> 4172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/17"</span>) -<span id="L4173" class="LineNr"> 4173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-block/18"</span>) +<span id="L4171" class="LineNr"> 4171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/16"</span>) +<span id="L4172" class="LineNr"> 4172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/17"</span>) +<span id="L4173" class="LineNr"> 4173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4129'>test-convert-function-with-local-var-in-block</a>/18"</span>) <span id="L4174" class="LineNr"> 4174 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4175" class="LineNr"> 4175 </span> 89/<- %esp 5/r32/ebp <span id="L4176" class="LineNr"> 4176 </span> 5d/pop-to-ebp @@ -3866,31 +3866,31 @@ if ('onhashchange' in window) { <span id="L4194" class="LineNr"> 4194 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" increment x\n"</span>) <span id="L4195" class="LineNr"> 4195 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4196" class="LineNr"> 4196 </span> <span class="subxComment"># convert</span> -<span id="L4197" class="LineNr"> 4197 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4197" class="LineNr"> 4197 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4198" class="LineNr"> 4198 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4199" class="Folded"> 4199 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4205" class="LineNr"> 4205 </span> <span class="subxComment"># check output</span> -<span id="L4206" class="LineNr"> 4206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/0"</span>) +<span id="L4206" class="LineNr"> 4206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/0"</span>) <span id="L4207" class="LineNr"> 4207 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/1"</span>) -<span id="L4208" class="LineNr"> 4208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/2"</span>) -<span id="L4209" class="LineNr"> 4209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/3"</span>) -<span id="L4210" class="LineNr"> 4210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/4"</span>) -<span id="L4211" class="LineNr"> 4211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/5"</span>) -<span id="L4212" class="LineNr"> 4212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/6"</span>) -<span id="L4213" class="LineNr"> 4213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/7"</span>) -<span id="L4214" class="LineNr"> 4214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/8"</span>) -<span id="L4215" class="LineNr"> 4215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/9"</span>) -<span id="L4216" class="LineNr"> 4216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/10"</span>) -<span id="L4217" class="LineNr"> 4217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/11"</span>) -<span id="L4218" class="LineNr"> 4218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/12"</span>) -<span id="L4219" class="LineNr"> 4219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/13"</span>) -<span id="L4220" class="LineNr"> 4220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/14"</span>) -<span id="L4221" class="LineNr"> 4221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/15"</span>) -<span id="L4222" class="LineNr"> 4222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/16"</span>) +<span id="L4208" class="LineNr"> 4208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/2"</span>) +<span id="L4209" class="LineNr"> 4209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/3"</span>) +<span id="L4210" class="LineNr"> 4210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/4"</span>) +<span id="L4211" class="LineNr"> 4211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/5"</span>) +<span id="L4212" class="LineNr"> 4212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/6"</span>) +<span id="L4213" class="LineNr"> 4213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/7"</span>) +<span id="L4214" class="LineNr"> 4214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/8"</span>) +<span id="L4215" class="LineNr"> 4215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/9"</span>) +<span id="L4216" class="LineNr"> 4216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/10"</span>) +<span id="L4217" class="LineNr"> 4217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/11"</span>) +<span id="L4218" class="LineNr"> 4218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/12"</span>) +<span id="L4219" class="LineNr"> 4219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/13"</span>) +<span id="L4220" class="LineNr"> 4220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/14"</span>) +<span id="L4221" class="LineNr"> 4221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/15"</span>) +<span id="L4222" class="LineNr"> 4222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/16"</span>) <span id="L4223" class="LineNr"> 4223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/17"</span>) -<span id="L4224" class="LineNr"> 4224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/18"</span>) -<span id="L4225" class="LineNr"> 4225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/19"</span>) -<span id="L4226" class="LineNr"> 4226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-mem-after-block/20"</span>) +<span id="L4224" class="LineNr"> 4224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/18"</span>) +<span id="L4225" class="LineNr"> 4225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/19"</span>) +<span id="L4226" class="LineNr"> 4226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4179'>test-convert-function-with-local-var-in-mem-after-block</a>/20"</span>) <span id="L4227" class="LineNr"> 4227 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4228" class="LineNr"> 4228 </span> 89/<- %esp 5/r32/ebp <span id="L4229" class="LineNr"> 4229 </span> 5d/pop-to-ebp @@ -3913,29 +3913,29 @@ if ('onhashchange' in window) { <span id="L4246" class="LineNr"> 4246 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4247" class="LineNr"> 4247 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4248" class="LineNr"> 4248 </span> <span class="subxComment"># convert</span> -<span id="L4249" class="LineNr"> 4249 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4249" class="LineNr"> 4249 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4250" class="LineNr"> 4250 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4251" class="Folded"> 4251 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4257" class="LineNr"> 4257 </span> <span class="subxComment"># check output</span> -<span id="L4258" class="LineNr"> 4258 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/0"</span>) +<span id="L4258" class="LineNr"> 4258 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/0"</span>) <span id="L4259" class="LineNr"> 4259 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/1"</span>) -<span id="L4260" class="LineNr"> 4260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/2"</span>) -<span id="L4261" class="LineNr"> 4261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/3"</span>) -<span id="L4262" class="LineNr"> 4262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/4"</span>) -<span id="L4263" class="LineNr"> 4263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/5"</span>) -<span id="L4264" class="LineNr"> 4264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/6"</span>) -<span id="L4265" class="LineNr"> 4265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/7"</span>) -<span id="L4266" class="LineNr"> 4266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/8"</span>) -<span id="L4267" class="LineNr"> 4267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/9"</span>) -<span id="L4268" class="LineNr"> 4268 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/10"</span>) -<span id="L4269" class="LineNr"> 4269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/11"</span>) -<span id="L4270" class="LineNr"> 4270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/12"</span>) -<span id="L4271" class="LineNr"> 4271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/13"</span>) -<span id="L4272" class="LineNr"> 4272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/14"</span>) +<span id="L4260" class="LineNr"> 4260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/2"</span>) +<span id="L4261" class="LineNr"> 4261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/3"</span>) +<span id="L4262" class="LineNr"> 4262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/4"</span>) +<span id="L4263" class="LineNr"> 4263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/5"</span>) +<span id="L4264" class="LineNr"> 4264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/6"</span>) +<span id="L4265" class="LineNr"> 4265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/7"</span>) +<span id="L4266" class="LineNr"> 4266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/8"</span>) +<span id="L4267" class="LineNr"> 4267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/9"</span>) +<span id="L4268" class="LineNr"> 4268 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/10"</span>) +<span id="L4269" class="LineNr"> 4269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/11"</span>) +<span id="L4270" class="LineNr"> 4270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/12"</span>) +<span id="L4271" class="LineNr"> 4271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/13"</span>) +<span id="L4272" class="LineNr"> 4272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/14"</span>) <span id="L4273" class="LineNr"> 4273 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/15"</span>) -<span id="L4274" class="LineNr"> 4274 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/16"</span>) -<span id="L4275" class="LineNr"> 4275 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/17"</span>) -<span id="L4276" class="LineNr"> 4276 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-in-named-block/18"</span>) +<span id="L4274" class="LineNr"> 4274 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/16"</span>) +<span id="L4275" class="LineNr"> 4275 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/17"</span>) +<span id="L4276" class="LineNr"> 4276 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4232'>test-convert-function-with-local-var-in-named-block</a>/18"</span>) <span id="L4277" class="LineNr"> 4277 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4278" class="LineNr"> 4278 </span> 89/<- %esp 5/r32/ebp <span id="L4279" class="LineNr"> 4279 </span> 5d/pop-to-ebp @@ -3964,7 +3964,7 @@ if ('onhashchange' in window) { <span id="L4302" class="LineNr"> 4302 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4303" class="LineNr"> 4303 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4304" class="LineNr"> 4304 </span> <span class="subxComment"># convert</span> -<span id="L4305" class="LineNr"> 4305 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L4305" class="LineNr"> 4305 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L4306" class="LineNr"> 4306 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L4307" class="LineNr"> 4307 </span> <span class="subxComment"># restore ed</span> <span id="L4308" class="LineNr"> 4308 </span> 89/<- %edx 4/r32/esp @@ -3972,10 +3972,10 @@ if ('onhashchange' in window) { <span id="L4310" class="LineNr"> 4310 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L4311" class="Folded"> 4311 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4317" class="LineNr"> 4317 </span> <span class="subxComment"># check output</span> -<span id="L4318" class="LineNr"> 4318 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-unknown-variable-in-named-block: output should be empty"</span>) -<span id="L4319" class="LineNr"> 4319 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - test-unknown-variable-in-named-block: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L4318" class="LineNr"> 4318 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L4282'>test-unknown-variable-in-named-block</a>: output should be empty"</span>) +<span id="L4319" class="LineNr"> 4319 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: unknown variable 'x'"</span> <span class="Constant">"F - <a href='mu.subx.html#L4282'>test-unknown-variable-in-named-block</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L4320" class="LineNr"> 4320 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L4321" class="LineNr"> 4321 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-unknown-variable-in-named-block: exit status"</span>) +<span id="L4321" class="LineNr"> 4321 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L4282'>test-unknown-variable-in-named-block</a>: exit status"</span>) <span id="L4322" class="LineNr"> 4322 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L4323" class="LineNr"> 4323 </span> 81 0/subop/add %esp 8/imm32 <span id="L4324" class="LineNr"> 4324 </span> <span class="subxS1Comment"># . epilogue</span> @@ -3996,25 +3996,25 @@ if ('onhashchange' in window) { <span id="L4339" class="LineNr"> 4339 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/ecx: int <- copy 3\n"</span>) <span id="L4340" class="LineNr"> 4340 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4341" class="LineNr"> 4341 </span> <span class="subxComment"># convert</span> -<span id="L4342" class="LineNr"> 4342 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4342" class="LineNr"> 4342 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4343" class="LineNr"> 4343 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4344" class="Folded"> 4344 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4350" class="LineNr"> 4350 </span> <span class="subxComment"># check output</span> -<span id="L4351" class="LineNr"> 4351 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/0"</span>) +<span id="L4351" class="LineNr"> 4351 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/0"</span>) <span id="L4352" class="LineNr"> 4352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/1"</span>) -<span id="L4353" class="LineNr"> 4353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/2"</span>) -<span id="L4354" class="LineNr"> 4354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/3"</span>) -<span id="L4355" class="LineNr"> 4355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/4"</span>) -<span id="L4356" class="LineNr"> 4356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/5"</span>) -<span id="L4357" class="LineNr"> 4357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/6"</span>) -<span id="L4358" class="LineNr"> 4358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/8"</span>) -<span id="L4359" class="LineNr"> 4359 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-compare-register-with-literal/9"</span>) -<span id="L4360" class="LineNr"> 4360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/12"</span>) -<span id="L4361" class="LineNr"> 4361 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/13"</span>) +<span id="L4353" class="LineNr"> 4353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/2"</span>) +<span id="L4354" class="LineNr"> 4354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/3"</span>) +<span id="L4355" class="LineNr"> 4355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/4"</span>) +<span id="L4356" class="LineNr"> 4356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/5"</span>) +<span id="L4357" class="LineNr"> 4357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/6"</span>) +<span id="L4358" class="LineNr"> 4358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/8"</span>) +<span id="L4359" class="LineNr"> 4359 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4011'>test-convert-compare-register-with-literal</a>/9"</span>) +<span id="L4360" class="LineNr"> 4360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/12"</span>) +<span id="L4361" class="LineNr"> 4361 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/13"</span>) <span id="L4362" class="LineNr"> 4362 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/14"</span>) -<span id="L4363" class="LineNr"> 4363 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/15"</span>) -<span id="L4364" class="LineNr"> 4364 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/16"</span>) -<span id="L4365" class="LineNr"> 4365 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-always-shadow-outermost-reg-vars-in-function/17"</span>) +<span id="L4363" class="LineNr"> 4363 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/15"</span>) +<span id="L4364" class="LineNr"> 4364 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/16"</span>) +<span id="L4365" class="LineNr"> 4365 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4328'>test-always-shadow-outermost-reg-vars-in-function</a>/17"</span>) <span id="L4366" class="LineNr"> 4366 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4367" class="LineNr"> 4367 </span> 89/<- %esp 5/r32/ebp <span id="L4368" class="LineNr"> 4368 </span> 5d/pop-to-ebp @@ -4038,33 +4038,33 @@ if ('onhashchange' in window) { <span id="L4386" class="LineNr"> 4386 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L4387" class="LineNr"> 4387 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4388" class="LineNr"> 4388 </span> <span class="subxComment"># convert</span> -<span id="L4389" class="LineNr"> 4389 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4389" class="LineNr"> 4389 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4390" class="LineNr"> 4390 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4391" class="Folded"> 4391 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4397" class="LineNr"> 4397 </span> <span class="subxComment"># check output</span> -<span id="L4398" class="LineNr"> 4398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-shadow-local/0"</span>) +<span id="L4398" class="LineNr"> 4398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/0"</span>) <span id="L4399" class="LineNr"> 4399 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-shadow-local/1"</span>) -<span id="L4400" class="LineNr"> 4400 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-shadow-local/2"</span>) -<span id="L4401" class="LineNr"> 4401 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-shadow-local/3"</span>) -<span id="L4402" class="LineNr"> 4402 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-local/4"</span>) -<span id="L4403" class="LineNr"> 4403 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-shadow-local/5"</span>) -<span id="L4404" class="LineNr"> 4404 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-shadow-local/6"</span>) -<span id="L4405" class="LineNr"> 4405 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-shadow-local/7"</span>) -<span id="L4406" class="LineNr"> 4406 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-local/8"</span>) -<span id="L4407" class="LineNr"> 4407 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-shadow-local/9"</span>) -<span id="L4408" class="LineNr"> 4408 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-shadow-local/10"</span>) -<span id="L4409" class="LineNr"> 4409 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-shadow-local/11"</span>) -<span id="L4410" class="LineNr"> 4410 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-shadow-local/12"</span>) -<span id="L4411" class="LineNr"> 4411 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-local/13"</span>) -<span id="L4412" class="LineNr"> 4412 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-shadow-local/14"</span>) -<span id="L4413" class="LineNr"> 4413 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-shadow-local/15"</span>) -<span id="L4414" class="LineNr"> 4414 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-shadow-local/16"</span>) -<span id="L4415" class="LineNr"> 4415 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-local/17"</span>) -<span id="L4416" class="LineNr"> 4416 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-shadow-local/18"</span>) +<span id="L4400" class="LineNr"> 4400 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/2"</span>) +<span id="L4401" class="LineNr"> 4401 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/3"</span>) +<span id="L4402" class="LineNr"> 4402 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/4"</span>) +<span id="L4403" class="LineNr"> 4403 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/5"</span>) +<span id="L4404" class="LineNr"> 4404 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/6"</span>) +<span id="L4405" class="LineNr"> 4405 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/7"</span>) +<span id="L4406" class="LineNr"> 4406 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/8"</span>) +<span id="L4407" class="LineNr"> 4407 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/9"</span>) +<span id="L4408" class="LineNr"> 4408 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/10"</span>) +<span id="L4409" class="LineNr"> 4409 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/11"</span>) +<span id="L4410" class="LineNr"> 4410 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/12"</span>) +<span id="L4411" class="LineNr"> 4411 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/13"</span>) +<span id="L4412" class="LineNr"> 4412 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/14"</span>) +<span id="L4413" class="LineNr"> 4413 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/15"</span>) +<span id="L4414" class="LineNr"> 4414 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/16"</span>) +<span id="L4415" class="LineNr"> 4415 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/17"</span>) +<span id="L4416" class="LineNr"> 4416 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/18"</span>) <span id="L4417" class="LineNr"> 4417 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-shadow-local/19"</span>) -<span id="L4418" class="LineNr"> 4418 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-shadow-local/20"</span>) -<span id="L4419" class="LineNr"> 4419 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-shadow-local/21"</span>) -<span id="L4420" class="LineNr"> 4420 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-shadow-local/22"</span>) +<span id="L4418" class="LineNr"> 4418 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/20"</span>) +<span id="L4419" class="LineNr"> 4419 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/21"</span>) +<span id="L4420" class="LineNr"> 4420 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4371'>test-shadow-local</a>/22"</span>) <span id="L4421" class="LineNr"> 4421 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4422" class="LineNr"> 4422 </span> 89/<- %esp 5/r32/ebp <span id="L4423" class="LineNr"> 4423 </span> 5d/pop-to-ebp @@ -4088,33 +4088,33 @@ if ('onhashchange' in window) { <span id="L4441" class="LineNr"> 4441 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L4442" class="LineNr"> 4442 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4443" class="LineNr"> 4443 </span> <span class="subxComment"># convert</span> -<span id="L4444" class="LineNr"> 4444 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4444" class="LineNr"> 4444 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4445" class="LineNr"> 4445 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4446" class="Folded"> 4446 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4452" class="LineNr"> 4452 </span> <span class="subxComment"># check output</span> -<span id="L4453" class="LineNr"> 4453 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-shadow-name/0"</span>) +<span id="L4453" class="LineNr"> 4453 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/0"</span>) <span id="L4454" class="LineNr"> 4454 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-shadow-name/1"</span>) -<span id="L4455" class="LineNr"> 4455 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-shadow-name/2"</span>) -<span id="L4456" class="LineNr"> 4456 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-shadow-name/3"</span>) -<span id="L4457" class="LineNr"> 4457 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-name/4"</span>) -<span id="L4458" class="LineNr"> 4458 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-shadow-name/5"</span>) -<span id="L4459" class="LineNr"> 4459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-shadow-name/6"</span>) -<span id="L4460" class="LineNr"> 4460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-shadow-name/7"</span>) -<span id="L4461" class="LineNr"> 4461 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-name/8"</span>) -<span id="L4462" class="LineNr"> 4462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-shadow-name/9"</span>) -<span id="L4463" class="LineNr"> 4463 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - test-shadow-name/10"</span>) -<span id="L4464" class="LineNr"> 4464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 4/imm32"</span> <span class="Constant">"F - test-shadow-name/11"</span>) -<span id="L4465" class="LineNr"> 4465 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - test-shadow-name/12"</span>) -<span id="L4466" class="LineNr"> 4466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-name/13"</span>) -<span id="L4467" class="LineNr"> 4467 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-shadow-name/14"</span>) -<span id="L4468" class="LineNr"> 4468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-shadow-name/15"</span>) -<span id="L4469" class="LineNr"> 4469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-shadow-name/16"</span>) -<span id="L4470" class="LineNr"> 4470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-name/17"</span>) -<span id="L4471" class="LineNr"> 4471 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-shadow-name/18"</span>) +<span id="L4455" class="LineNr"> 4455 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/2"</span>) +<span id="L4456" class="LineNr"> 4456 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/3"</span>) +<span id="L4457" class="LineNr"> 4457 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/4"</span>) +<span id="L4458" class="LineNr"> 4458 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/5"</span>) +<span id="L4459" class="LineNr"> 4459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/6"</span>) +<span id="L4460" class="LineNr"> 4460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/7"</span>) +<span id="L4461" class="LineNr"> 4461 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/8"</span>) +<span id="L4462" class="LineNr"> 4462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/9"</span>) +<span id="L4463" class="LineNr"> 4463 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/10"</span>) +<span id="L4464" class="LineNr"> 4464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/11"</span>) +<span id="L4465" class="LineNr"> 4465 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/12"</span>) +<span id="L4466" class="LineNr"> 4466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/13"</span>) +<span id="L4467" class="LineNr"> 4467 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/14"</span>) +<span id="L4468" class="LineNr"> 4468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/15"</span>) +<span id="L4469" class="LineNr"> 4469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/16"</span>) +<span id="L4470" class="LineNr"> 4470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/17"</span>) +<span id="L4471" class="LineNr"> 4471 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/18"</span>) <span id="L4472" class="LineNr"> 4472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-shadow-name/19"</span>) -<span id="L4473" class="LineNr"> 4473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-shadow-name/20"</span>) -<span id="L4474" class="LineNr"> 4474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-shadow-name/21"</span>) -<span id="L4475" class="LineNr"> 4475 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-shadow-name/22"</span>) +<span id="L4473" class="LineNr"> 4473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/20"</span>) +<span id="L4474" class="LineNr"> 4474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/21"</span>) +<span id="L4475" class="LineNr"> 4475 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4426'>test-shadow-name</a>/22"</span>) <span id="L4476" class="LineNr"> 4476 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4477" class="LineNr"> 4477 </span> 89/<- %esp 5/r32/ebp <span id="L4478" class="LineNr"> 4478 </span> 5d/pop-to-ebp @@ -4139,36 +4139,36 @@ if ('onhashchange' in window) { <span id="L4497" class="LineNr"> 4497 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- increment\n"</span>) <span id="L4498" class="LineNr"> 4498 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4499" class="LineNr"> 4499 </span> <span class="subxComment"># convert</span> -<span id="L4500" class="LineNr"> 4500 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4500" class="LineNr"> 4500 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4501" class="LineNr"> 4501 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4502" class="Folded"> 4502 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4508" class="LineNr"> 4508 </span> <span class="subxComment"># check output</span> -<span id="L4509" class="LineNr"> 4509 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-shadow-name-2/0"</span>) +<span id="L4509" class="LineNr"> 4509 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/0"</span>) <span id="L4510" class="LineNr"> 4510 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-shadow-name-2/1"</span>) -<span id="L4511" class="LineNr"> 4511 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-shadow-name-2/2"</span>) -<span id="L4512" class="LineNr"> 4512 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-shadow-name-2/3"</span>) -<span id="L4513" class="LineNr"> 4513 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-name-2/4"</span>) -<span id="L4514" class="LineNr"> 4514 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-shadow-name-2/5"</span>) -<span id="L4515" class="LineNr"> 4515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-shadow-name-2/6"</span>) -<span id="L4516" class="LineNr"> 4516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-shadow-name-2/7"</span>) -<span id="L4517" class="LineNr"> 4517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-shadow-name-2/8"</span>) -<span id="L4518" class="LineNr"> 4518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-shadow-name-2/9"</span>) -<span id="L4519" class="LineNr"> 4519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - test-shadow-name-2/10"</span>) -<span id="L4520" class="LineNr"> 4520 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 4/imm32"</span> <span class="Constant">"F - test-shadow-name-2/11"</span>) -<span id="L4521" class="LineNr"> 4521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-shadow-name-2/12"</span>) -<span id="L4522" class="LineNr"> 4522 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 5/imm32"</span> <span class="Constant">"F - test-shadow-name-2/13"</span>) -<span id="L4523" class="LineNr"> 4523 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-shadow-name-2/14"</span>) -<span id="L4524" class="LineNr"> 4524 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - test-shadow-name-2/15"</span>) -<span id="L4525" class="LineNr"> 4525 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-name-2/16"</span>) -<span id="L4526" class="LineNr"> 4526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-shadow-name-2/17"</span>) -<span id="L4527" class="LineNr"> 4527 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-shadow-name-2/18"</span>) -<span id="L4528" class="LineNr"> 4528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-shadow-name-2/19"</span>) -<span id="L4529" class="LineNr"> 4529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-shadow-name-2/20"</span>) -<span id="L4530" class="LineNr"> 4530 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-shadow-name-2/21"</span>) +<span id="L4511" class="LineNr"> 4511 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/2"</span>) +<span id="L4512" class="LineNr"> 4512 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/3"</span>) +<span id="L4513" class="LineNr"> 4513 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/4"</span>) +<span id="L4514" class="LineNr"> 4514 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/5"</span>) +<span id="L4515" class="LineNr"> 4515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/6"</span>) +<span id="L4516" class="LineNr"> 4516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/7"</span>) +<span id="L4517" class="LineNr"> 4517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/8"</span>) +<span id="L4518" class="LineNr"> 4518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/9"</span>) +<span id="L4519" class="LineNr"> 4519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/10"</span>) +<span id="L4520" class="LineNr"> 4520 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ba/copy-to-edx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/11"</span>) +<span id="L4521" class="LineNr"> 4521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/12"</span>) +<span id="L4522" class="LineNr"> 4522 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 5/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/13"</span>) +<span id="L4523" class="LineNr"> 4523 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/14"</span>) +<span id="L4524" class="LineNr"> 4524 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/15"</span>) +<span id="L4525" class="LineNr"> 4525 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/16"</span>) +<span id="L4526" class="LineNr"> 4526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/17"</span>) +<span id="L4527" class="LineNr"> 4527 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/18"</span>) +<span id="L4528" class="LineNr"> 4528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/19"</span>) +<span id="L4529" class="LineNr"> 4529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/20"</span>) +<span id="L4530" class="LineNr"> 4530 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/21"</span>) <span id="L4531" class="LineNr"> 4531 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-shadow-name-2/22"</span>) -<span id="L4532" class="LineNr"> 4532 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-shadow-name-2/23"</span>) -<span id="L4533" class="LineNr"> 4533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-shadow-name-2/24"</span>) -<span id="L4534" class="LineNr"> 4534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-shadow-name-2/25"</span>) +<span id="L4532" class="LineNr"> 4532 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/23"</span>) +<span id="L4533" class="LineNr"> 4533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/24"</span>) +<span id="L4534" class="LineNr"> 4534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4481'>test-shadow-name-2</a>/25"</span>) <span id="L4535" class="LineNr"> 4535 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4536" class="LineNr"> 4536 </span> 89/<- %esp 5/r32/ebp <span id="L4537" class="LineNr"> 4537 </span> 5d/pop-to-ebp @@ -4190,27 +4190,27 @@ if ('onhashchange' in window) { <span id="L4553" class="LineNr"> 4553 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y <- increment\n"</span>) <span id="L4554" class="LineNr"> 4554 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4555" class="LineNr"> 4555 </span> <span class="subxComment"># convert</span> -<span id="L4556" class="LineNr"> 4556 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4556" class="LineNr"> 4556 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4557" class="LineNr"> 4557 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4558" class="Folded"> 4558 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4564" class="LineNr"> 4564 </span> <span class="subxComment"># check output</span> -<span id="L4565" class="LineNr"> 4565 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/0"</span>) +<span id="L4565" class="LineNr"> 4565 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/0"</span>) <span id="L4566" class="LineNr"> 4566 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/1"</span>) -<span id="L4567" class="LineNr"> 4567 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/2"</span>) -<span id="L4568" class="LineNr"> 4568 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/3"</span>) -<span id="L4569" class="LineNr"> 4569 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/4"</span>) -<span id="L4570" class="LineNr"> 4570 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/5"</span>) -<span id="L4571" class="LineNr"> 4571 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/6"</span>) -<span id="L4572" class="LineNr"> 4572 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/7"</span>) -<span id="L4573" class="LineNr"> 4573 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/8"</span>) -<span id="L4574" class="LineNr"> 4574 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/9"</span>) -<span id="L4575" class="LineNr"> 4575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/10"</span>) -<span id="L4576" class="LineNr"> 4576 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/11"</span>) -<span id="L4577" class="LineNr"> 4577 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/12"</span>) +<span id="L4567" class="LineNr"> 4567 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/2"</span>) +<span id="L4568" class="LineNr"> 4568 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/3"</span>) +<span id="L4569" class="LineNr"> 4569 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/4"</span>) +<span id="L4570" class="LineNr"> 4570 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/5"</span>) +<span id="L4571" class="LineNr"> 4571 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/6"</span>) +<span id="L4572" class="LineNr"> 4572 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/7"</span>) +<span id="L4573" class="LineNr"> 4573 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/8"</span>) +<span id="L4574" class="LineNr"> 4574 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/9"</span>) +<span id="L4575" class="LineNr"> 4575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/10"</span>) +<span id="L4576" class="LineNr"> 4576 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/11"</span>) +<span id="L4577" class="LineNr"> 4577 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/12"</span>) <span id="L4578" class="LineNr"> 4578 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/13"</span>) -<span id="L4579" class="LineNr"> 4579 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/14"</span>) -<span id="L4580" class="LineNr"> 4580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/15"</span>) -<span id="L4581" class="LineNr"> 4581 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-do-not-spill-same-register-in-block/16"</span>) +<span id="L4579" class="LineNr"> 4579 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/14"</span>) +<span id="L4580" class="LineNr"> 4580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/15"</span>) +<span id="L4581" class="LineNr"> 4581 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4540'>test-do-not-spill-same-register-in-block</a>/16"</span>) <span id="L4582" class="LineNr"> 4582 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4583" class="LineNr"> 4583 </span> 89/<- %esp 5/r32/ebp <span id="L4584" class="LineNr"> 4584 </span> 5d/pop-to-ebp @@ -4232,29 +4232,29 @@ if ('onhashchange' in window) { <span id="L4600" class="LineNr"> 4600 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y <- increment\n"</span>) <span id="L4601" class="LineNr"> 4601 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4602" class="LineNr"> 4602 </span> <span class="subxComment"># convert</span> -<span id="L4603" class="LineNr"> 4603 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4603" class="LineNr"> 4603 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4604" class="LineNr"> 4604 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4605" class="Folded"> 4605 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4611" class="LineNr"> 4611 </span> <span class="subxComment"># check output</span> -<span id="L4612" class="LineNr"> 4612 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-spill-different-register-in-block/0"</span>) +<span id="L4612" class="LineNr"> 4612 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/0"</span>) <span id="L4613" class="LineNr"> 4613 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-spill-different-register-in-block/1"</span>) -<span id="L4614" class="LineNr"> 4614 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-spill-different-register-in-block/2"</span>) -<span id="L4615" class="LineNr"> 4615 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-spill-different-register-in-block/3"</span>) -<span id="L4616" class="LineNr"> 4616 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-spill-different-register-in-block/4"</span>) -<span id="L4617" class="LineNr"> 4617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-spill-different-register-in-block/5"</span>) -<span id="L4618" class="LineNr"> 4618 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-spill-different-register-in-block/6"</span>) -<span id="L4619" class="LineNr"> 4619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-spill-different-register-in-block/7"</span>) -<span id="L4620" class="LineNr"> 4620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-spill-different-register-in-block/8"</span>) -<span id="L4621" class="LineNr"> 4621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-spill-different-register-in-block/9"</span>) -<span id="L4622" class="LineNr"> 4622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - test-spill-different-register-in-block/10"</span>) -<span id="L4623" class="LineNr"> 4623 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-spill-different-register-in-block/11"</span>) -<span id="L4624" class="LineNr"> 4624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-spill-different-register-in-block/12"</span>) -<span id="L4625" class="LineNr"> 4625 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-spill-different-register-in-block/13"</span>) -<span id="L4626" class="LineNr"> 4626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-spill-different-register-in-block/14"</span>) +<span id="L4614" class="LineNr"> 4614 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/2"</span>) +<span id="L4615" class="LineNr"> 4615 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/3"</span>) +<span id="L4616" class="LineNr"> 4616 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/4"</span>) +<span id="L4617" class="LineNr"> 4617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/5"</span>) +<span id="L4618" class="LineNr"> 4618 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/6"</span>) +<span id="L4619" class="LineNr"> 4619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/7"</span>) +<span id="L4620" class="LineNr"> 4620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/8"</span>) +<span id="L4621" class="LineNr"> 4621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/9"</span>) +<span id="L4622" class="LineNr"> 4622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 41/increment-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/10"</span>) +<span id="L4623" class="LineNr"> 4623 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/11"</span>) +<span id="L4624" class="LineNr"> 4624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/12"</span>) +<span id="L4625" class="LineNr"> 4625 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/13"</span>) +<span id="L4626" class="LineNr"> 4626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/14"</span>) <span id="L4627" class="LineNr"> 4627 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-spill-different-register-in-block/15"</span>) -<span id="L4628" class="LineNr"> 4628 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-spill-different-register-in-block/16"</span>) -<span id="L4629" class="LineNr"> 4629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-spill-different-register-in-block/17"</span>) -<span id="L4630" class="LineNr"> 4630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-spill-different-register-in-block/18"</span>) +<span id="L4628" class="LineNr"> 4628 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/16"</span>) +<span id="L4629" class="LineNr"> 4629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/17"</span>) +<span id="L4630" class="LineNr"> 4630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4587'>test-spill-different-register-in-block</a>/18"</span>) <span id="L4631" class="LineNr"> 4631 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4632" class="LineNr"> 4632 </span> 89/<- %esp 5/r32/ebp <span id="L4633" class="LineNr"> 4633 </span> 5d/pop-to-ebp @@ -4279,36 +4279,36 @@ if ('onhashchange' in window) { <span id="L4652" class="LineNr"> 4652 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4653" class="LineNr"> 4653 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4654" class="LineNr"> 4654 </span> <span class="subxComment"># convert</span> -<span id="L4655" class="LineNr"> 4655 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4655" class="LineNr"> 4655 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4656" class="LineNr"> 4656 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4657" class="Folded"> 4657 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4663" class="LineNr"> 4663 </span> <span class="subxComment"># check output</span> -<span id="L4664" class="LineNr"> 4664 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/0"</span>) +<span id="L4664" class="LineNr"> 4664 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/0"</span>) <span id="L4665" class="LineNr"> 4665 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/1"</span>) -<span id="L4666" class="LineNr"> 4666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/2"</span>) -<span id="L4667" class="LineNr"> 4667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/3"</span>) -<span id="L4668" class="LineNr"> 4668 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/4"</span>) -<span id="L4669" class="LineNr"> 4669 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/5"</span>) -<span id="L4670" class="LineNr"> 4670 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/6"</span>) -<span id="L4671" class="LineNr"> 4671 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/7"</span>) -<span id="L4672" class="LineNr"> 4672 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/8"</span>) -<span id="L4673" class="LineNr"> 4673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/9"</span>) -<span id="L4674" class="LineNr"> 4674 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/10"</span>) -<span id="L4675" class="LineNr"> 4675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/11"</span>) -<span id="L4676" class="LineNr"> 4676 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/12"</span>) -<span id="L4677" class="LineNr"> 4677 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/13"</span>) -<span id="L4678" class="LineNr"> 4678 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/14"</span>) -<span id="L4679" class="LineNr"> 4679 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/15"</span>) -<span id="L4680" class="LineNr"> 4680 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/16"</span>) -<span id="L4681" class="LineNr"> 4681 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/17"</span>) -<span id="L4682" class="LineNr"> 4682 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/18"</span>) -<span id="L4683" class="LineNr"> 4683 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/19"</span>) -<span id="L4684" class="LineNr"> 4684 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/20"</span>) -<span id="L4685" class="LineNr"> 4685 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/21"</span>) +<span id="L4666" class="LineNr"> 4666 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/2"</span>) +<span id="L4667" class="LineNr"> 4667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/3"</span>) +<span id="L4668" class="LineNr"> 4668 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/4"</span>) +<span id="L4669" class="LineNr"> 4669 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/5"</span>) +<span id="L4670" class="LineNr"> 4670 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/6"</span>) +<span id="L4671" class="LineNr"> 4671 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/7"</span>) +<span id="L4672" class="LineNr"> 4672 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/8"</span>) +<span id="L4673" class="LineNr"> 4673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/9"</span>) +<span id="L4674" class="LineNr"> 4674 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/10"</span>) +<span id="L4675" class="LineNr"> 4675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/11"</span>) +<span id="L4676" class="LineNr"> 4676 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/12"</span>) +<span id="L4677" class="LineNr"> 4677 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/13"</span>) +<span id="L4678" class="LineNr"> 4678 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/14"</span>) +<span id="L4679" class="LineNr"> 4679 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/15"</span>) +<span id="L4680" class="LineNr"> 4680 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/16"</span>) +<span id="L4681" class="LineNr"> 4681 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/17"</span>) +<span id="L4682" class="LineNr"> 4682 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/18"</span>) +<span id="L4683" class="LineNr"> 4683 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/19"</span>) +<span id="L4684" class="LineNr"> 4684 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/20"</span>) +<span id="L4685" class="LineNr"> 4685 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/21"</span>) <span id="L4686" class="LineNr"> 4686 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/22"</span>) -<span id="L4687" class="LineNr"> 4687 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/23"</span>) -<span id="L4688" class="LineNr"> 4688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/24"</span>) -<span id="L4689" class="LineNr"> 4689 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/25"</span>) +<span id="L4687" class="LineNr"> 4687 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/23"</span>) +<span id="L4688" class="LineNr"> 4688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/24"</span>) +<span id="L4689" class="LineNr"> 4689 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/25"</span>) <span id="L4690" class="LineNr"> 4690 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4691" class="LineNr"> 4691 </span> 89/<- %esp 5/r32/ebp <span id="L4692" class="LineNr"> 4692 </span> 5d/pop-to-ebp @@ -4333,36 +4333,36 @@ if ('onhashchange' in window) { <span id="L4711" class="LineNr"> 4711 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4712" class="LineNr"> 4712 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4713" class="LineNr"> 4713 </span> <span class="subxComment"># convert</span> -<span id="L4714" class="LineNr"> 4714 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4714" class="LineNr"> 4714 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4715" class="LineNr"> 4715 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4716" class="Folded"> 4716 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4722" class="LineNr"> 4722 </span> <span class="subxComment"># check output</span> -<span id="L4723" class="LineNr"> 4723 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/0"</span>) +<span id="L4723" class="LineNr"> 4723 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/0"</span>) <span id="L4724" class="LineNr"> 4724 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/1"</span>) -<span id="L4725" class="LineNr"> 4725 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/2"</span>) -<span id="L4726" class="LineNr"> 4726 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/3"</span>) -<span id="L4727" class="LineNr"> 4727 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/4"</span>) -<span id="L4728" class="LineNr"> 4728 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/5"</span>) -<span id="L4729" class="LineNr"> 4729 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/6"</span>) -<span id="L4730" class="LineNr"> 4730 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/7"</span>) -<span id="L4731" class="LineNr"> 4731 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/8"</span>) -<span id="L4732" class="LineNr"> 4732 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/9"</span>) -<span id="L4733" class="LineNr"> 4733 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/10"</span>) -<span id="L4734" class="LineNr"> 4734 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/11"</span>) -<span id="L4735" class="LineNr"> 4735 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/12"</span>) -<span id="L4736" class="LineNr"> 4736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/13"</span>) -<span id="L4737" class="LineNr"> 4737 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/14"</span>) -<span id="L4738" class="LineNr"> 4738 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/15"</span>) -<span id="L4739" class="LineNr"> 4739 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/16"</span>) -<span id="L4740" class="LineNr"> 4740 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/17"</span>) -<span id="L4741" class="LineNr"> 4741 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/18"</span>) -<span id="L4742" class="LineNr"> 4742 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/19"</span>) -<span id="L4743" class="LineNr"> 4743 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/20"</span>) -<span id="L4744" class="LineNr"> 4744 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/21"</span>) +<span id="L4725" class="LineNr"> 4725 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/2"</span>) +<span id="L4726" class="LineNr"> 4726 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/3"</span>) +<span id="L4727" class="LineNr"> 4727 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/4"</span>) +<span id="L4728" class="LineNr"> 4728 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/5"</span>) +<span id="L4729" class="LineNr"> 4729 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/6"</span>) +<span id="L4730" class="LineNr"> 4730 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/7"</span>) +<span id="L4731" class="LineNr"> 4731 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/8"</span>) +<span id="L4732" class="LineNr"> 4732 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/9"</span>) +<span id="L4733" class="LineNr"> 4733 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/10"</span>) +<span id="L4734" class="LineNr"> 4734 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/11"</span>) +<span id="L4735" class="LineNr"> 4735 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/12"</span>) +<span id="L4736" class="LineNr"> 4736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/13"</span>) +<span id="L4737" class="LineNr"> 4737 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/14"</span>) +<span id="L4738" class="LineNr"> 4738 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/15"</span>) +<span id="L4739" class="LineNr"> 4739 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/16"</span>) +<span id="L4740" class="LineNr"> 4740 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/17"</span>) +<span id="L4741" class="LineNr"> 4741 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/18"</span>) +<span id="L4742" class="LineNr"> 4742 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/19"</span>) +<span id="L4743" class="LineNr"> 4743 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/20"</span>) +<span id="L4744" class="LineNr"> 4744 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/21"</span>) <span id="L4745" class="LineNr"> 4745 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/22"</span>) -<span id="L4746" class="LineNr"> 4746 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/23"</span>) -<span id="L4747" class="LineNr"> 4747 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/24"</span>) -<span id="L4748" class="LineNr"> 4748 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-branches-in-block/25"</span>) +<span id="L4746" class="LineNr"> 4746 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/23"</span>) +<span id="L4747" class="LineNr"> 4747 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/24"</span>) +<span id="L4748" class="LineNr"> 4748 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4636'>test-convert-function-with-branches-in-block</a>/25"</span>) <span id="L4749" class="LineNr"> 4749 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4750" class="LineNr"> 4750 </span> 89/<- %esp 5/r32/ebp <span id="L4751" class="LineNr"> 4751 </span> 5d/pop-to-ebp @@ -4387,36 +4387,36 @@ if ('onhashchange' in window) { <span id="L4770" class="LineNr"> 4770 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4771" class="LineNr"> 4771 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4772" class="LineNr"> 4772 </span> <span class="subxComment"># convert</span> -<span id="L4773" class="LineNr"> 4773 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4773" class="LineNr"> 4773 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4774" class="LineNr"> 4774 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4775" class="Folded"> 4775 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4781" class="LineNr"> 4781 </span> <span class="subxComment"># check output</span> -<span id="L4782" class="LineNr"> 4782 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/0"</span>) +<span id="L4782" class="LineNr"> 4782 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/0"</span>) <span id="L4783" class="LineNr"> 4783 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/1"</span>) -<span id="L4784" class="LineNr"> 4784 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/2"</span>) -<span id="L4785" class="LineNr"> 4785 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/3"</span>) -<span id="L4786" class="LineNr"> 4786 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/4"</span>) -<span id="L4787" class="LineNr"> 4787 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/5"</span>) -<span id="L4788" class="LineNr"> 4788 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/6"</span>) -<span id="L4789" class="LineNr"> 4789 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/7"</span>) -<span id="L4790" class="LineNr"> 4790 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/8"</span>) -<span id="L4791" class="LineNr"> 4791 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/9"</span>) -<span id="L4792" class="LineNr"> 4792 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $bar:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/10"</span>) -<span id="L4793" class="LineNr"> 4793 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/11"</span>) -<span id="L4794" class="LineNr"> 4794 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/12"</span>) -<span id="L4795" class="LineNr"> 4795 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/13"</span>) -<span id="L4796" class="LineNr"> 4796 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $bar:loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/14"</span>) -<span id="L4797" class="LineNr"> 4797 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/15"</span>) -<span id="L4798" class="LineNr"> 4798 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/16"</span>) -<span id="L4799" class="LineNr"> 4799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/17"</span>) -<span id="L4800" class="LineNr"> 4800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/18"</span>) -<span id="L4801" class="LineNr"> 4801 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/19"</span>) -<span id="L4802" class="LineNr"> 4802 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/20"</span>) -<span id="L4803" class="LineNr"> 4803 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/21"</span>) +<span id="L4784" class="LineNr"> 4784 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/2"</span>) +<span id="L4785" class="LineNr"> 4785 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/3"</span>) +<span id="L4786" class="LineNr"> 4786 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/4"</span>) +<span id="L4787" class="LineNr"> 4787 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/5"</span>) +<span id="L4788" class="LineNr"> 4788 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/6"</span>) +<span id="L4789" class="LineNr"> 4789 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/7"</span>) +<span id="L4790" class="LineNr"> 4790 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/8"</span>) +<span id="L4791" class="LineNr"> 4791 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/9"</span>) +<span id="L4792" class="LineNr"> 4792 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $bar:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/10"</span>) +<span id="L4793" class="LineNr"> 4793 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/11"</span>) +<span id="L4794" class="LineNr"> 4794 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/12"</span>) +<span id="L4795" class="LineNr"> 4795 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 83/jump-if-addr>= break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/13"</span>) +<span id="L4796" class="LineNr"> 4796 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $bar:loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/14"</span>) +<span id="L4797" class="LineNr"> 4797 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/15"</span>) +<span id="L4798" class="LineNr"> 4798 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/16"</span>) +<span id="L4799" class="LineNr"> 4799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/17"</span>) +<span id="L4800" class="LineNr"> 4800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/18"</span>) +<span id="L4801" class="LineNr"> 4801 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$bar:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/19"</span>) +<span id="L4802" class="LineNr"> 4802 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/20"</span>) +<span id="L4803" class="LineNr"> 4803 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/21"</span>) <span id="L4804" class="LineNr"> 4804 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/22"</span>) -<span id="L4805" class="LineNr"> 4805 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/23"</span>) -<span id="L4806" class="LineNr"> 4806 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/24"</span>) -<span id="L4807" class="LineNr"> 4807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-branches-in-named-block/25"</span>) +<span id="L4805" class="LineNr"> 4805 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/23"</span>) +<span id="L4806" class="LineNr"> 4806 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/24"</span>) +<span id="L4807" class="LineNr"> 4807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4754'>test-convert-function-with-branches-in-named-block</a>/25"</span>) <span id="L4808" class="LineNr"> 4808 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4809" class="LineNr"> 4809 </span> 89/<- %esp 5/r32/ebp <span id="L4810" class="LineNr"> 4810 </span> 5d/pop-to-ebp @@ -4441,33 +4441,33 @@ if ('onhashchange' in window) { <span id="L4829" class="LineNr"> 4829 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4830" class="LineNr"> 4830 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4831" class="LineNr"> 4831 </span> <span class="subxComment"># convert</span> -<span id="L4832" class="LineNr"> 4832 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4832" class="LineNr"> 4832 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4833" class="LineNr"> 4833 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4834" class="Folded"> 4834 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4840" class="LineNr"> 4840 </span> <span class="subxComment"># check output</span> -<span id="L4841" class="LineNr"> 4841 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/0"</span>) +<span id="L4841" class="LineNr"> 4841 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/0"</span>) <span id="L4842" class="LineNr"> 4842 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/1"</span>) -<span id="L4843" class="LineNr"> 4843 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/2"</span>) -<span id="L4844" class="LineNr"> 4844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/3"</span>) -<span id="L4845" class="LineNr"> 4845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/4"</span>) -<span id="L4846" class="LineNr"> 4846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/5"</span>) -<span id="L4847" class="LineNr"> 4847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/6"</span>) -<span id="L4848" class="LineNr"> 4848 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/7"</span>) -<span id="L4849" class="LineNr"> 4849 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/8"</span>) -<span id="L4850" class="LineNr"> 4850 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/9"</span>) -<span id="L4851" class="LineNr"> 4851 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/10"</span>) -<span id="L4852" class="LineNr"> 4852 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/11"</span>) -<span id="L4853" class="LineNr"> 4853 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/12"</span>) -<span id="L4854" class="LineNr"> 4854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/13"</span>) -<span id="L4855" class="LineNr"> 4855 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/14"</span>) -<span id="L4856" class="LineNr"> 4856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/15"</span>) -<span id="L4857" class="LineNr"> 4857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/16"</span>) -<span id="L4858" class="LineNr"> 4858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/17"</span>) -<span id="L4859" class="LineNr"> 4859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/18"</span>) +<span id="L4843" class="LineNr"> 4843 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/2"</span>) +<span id="L4844" class="LineNr"> 4844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/3"</span>) +<span id="L4845" class="LineNr"> 4845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/4"</span>) +<span id="L4846" class="LineNr"> 4846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/5"</span>) +<span id="L4847" class="LineNr"> 4847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/6"</span>) +<span id="L4848" class="LineNr"> 4848 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/7"</span>) +<span id="L4849" class="LineNr"> 4849 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/8"</span>) +<span id="L4850" class="LineNr"> 4850 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/9"</span>) +<span id="L4851" class="LineNr"> 4851 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/10"</span>) +<span id="L4852" class="LineNr"> 4852 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/11"</span>) +<span id="L4853" class="LineNr"> 4853 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/12"</span>) +<span id="L4854" class="LineNr"> 4854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/13"</span>) +<span id="L4855" class="LineNr"> 4855 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/14"</span>) +<span id="L4856" class="LineNr"> 4856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/15"</span>) +<span id="L4857" class="LineNr"> 4857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/16"</span>) +<span id="L4858" class="LineNr"> 4858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/17"</span>) +<span id="L4859" class="LineNr"> 4859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/18"</span>) <span id="L4860" class="LineNr"> 4860 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/19"</span>) -<span id="L4861" class="LineNr"> 4861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/20"</span>) -<span id="L4862" class="LineNr"> 4862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/21"</span>) -<span id="L4863" class="LineNr"> 4863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-var-in-nested-block/22"</span>) +<span id="L4861" class="LineNr"> 4861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/20"</span>) +<span id="L4862" class="LineNr"> 4862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/21"</span>) +<span id="L4863" class="LineNr"> 4863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4813'>test-convert-function-with-var-in-nested-block</a>/22"</span>) <span id="L4864" class="LineNr"> 4864 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4865" class="LineNr"> 4865 </span> 89/<- %esp 5/r32/ebp <span id="L4866" class="LineNr"> 4866 </span> 5d/pop-to-ebp @@ -4493,36 +4493,36 @@ if ('onhashchange' in window) { <span id="L4886" class="LineNr"> 4886 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4887" class="LineNr"> 4887 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4888" class="LineNr"> 4888 </span> <span class="subxComment"># convert</span> -<span id="L4889" class="LineNr"> 4889 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4889" class="LineNr"> 4889 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4890" class="LineNr"> 4890 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4891" class="Folded"> 4891 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4897" class="LineNr"> 4897 </span> <span class="subxComment"># check output</span> -<span id="L4898" class="LineNr"> 4898 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/0"</span>) +<span id="L4898" class="LineNr"> 4898 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/0"</span>) <span id="L4899" class="LineNr"> 4899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/1"</span>) -<span id="L4900" class="LineNr"> 4900 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/2"</span>) -<span id="L4901" class="LineNr"> 4901 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/3"</span>) -<span id="L4902" class="LineNr"> 4902 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/4"</span>) -<span id="L4903" class="LineNr"> 4903 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/5"</span>) -<span id="L4904" class="LineNr"> 4904 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/6"</span>) -<span id="L4905" class="LineNr"> 4905 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/7"</span>) -<span id="L4906" class="LineNr"> 4906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/8"</span>) -<span id="L4907" class="LineNr"> 4907 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/9"</span>) -<span id="L4908" class="LineNr"> 4908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/10"</span>) -<span id="L4909" class="LineNr"> 4909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/11"</span>) -<span id="L4910" class="LineNr"> 4910 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/12"</span>) -<span id="L4911" class="LineNr"> 4911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 03/add *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/13"</span>) -<span id="L4912" class="LineNr"> 4912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/14"</span>) -<span id="L4913" class="LineNr"> 4913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/15"</span>) -<span id="L4914" class="LineNr"> 4914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/16"</span>) -<span id="L4915" class="LineNr"> 4915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/17"</span>) -<span id="L4916" class="LineNr"> 4916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/18"</span>) -<span id="L4917" class="LineNr"> 4917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/19"</span>) -<span id="L4918" class="LineNr"> 4918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/20"</span>) -<span id="L4919" class="LineNr"> 4919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/21"</span>) +<span id="L4900" class="LineNr"> 4900 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/2"</span>) +<span id="L4901" class="LineNr"> 4901 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/3"</span>) +<span id="L4902" class="LineNr"> 4902 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/4"</span>) +<span id="L4903" class="LineNr"> 4903 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/5"</span>) +<span id="L4904" class="LineNr"> 4904 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/6"</span>) +<span id="L4905" class="LineNr"> 4905 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/7"</span>) +<span id="L4906" class="LineNr"> 4906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/8"</span>) +<span id="L4907" class="LineNr"> 4907 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/9"</span>) +<span id="L4908" class="LineNr"> 4908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/10"</span>) +<span id="L4909" class="LineNr"> 4909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/11"</span>) +<span id="L4910" class="LineNr"> 4910 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/12"</span>) +<span id="L4911" class="LineNr"> 4911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 03/add *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/13"</span>) +<span id="L4912" class="LineNr"> 4912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/14"</span>) +<span id="L4913" class="LineNr"> 4913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/15"</span>) +<span id="L4914" class="LineNr"> 4914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/16"</span>) +<span id="L4915" class="LineNr"> 4915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/17"</span>) +<span id="L4916" class="LineNr"> 4916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/18"</span>) +<span id="L4917" class="LineNr"> 4917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/19"</span>) +<span id="L4918" class="LineNr"> 4918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/20"</span>) +<span id="L4919" class="LineNr"> 4919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/21"</span>) <span id="L4920" class="LineNr"> 4920 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/22"</span>) -<span id="L4921" class="LineNr"> 4921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/23"</span>) -<span id="L4922" class="LineNr"> 4922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/24"</span>) -<span id="L4923" class="LineNr"> 4923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-multiple-vars-in-nested-blocks/25"</span>) +<span id="L4921" class="LineNr"> 4921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/23"</span>) +<span id="L4922" class="LineNr"> 4922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/24"</span>) +<span id="L4923" class="LineNr"> 4923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4869'>test-convert-function-with-multiple-vars-in-nested-blocks</a>/25"</span>) <span id="L4924" class="LineNr"> 4924 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4925" class="LineNr"> 4925 </span> 89/<- %esp 5/r32/ebp <span id="L4926" class="LineNr"> 4926 </span> 5d/pop-to-ebp @@ -4549,34 +4549,34 @@ if ('onhashchange' in window) { <span id="L4947" class="LineNr"> 4947 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L4948" class="LineNr"> 4948 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L4949" class="LineNr"> 4949 </span> <span class="subxComment"># convert</span> -<span id="L4950" class="LineNr"> 4950 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L4950" class="LineNr"> 4950 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L4951" class="LineNr"> 4951 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L4952" class="Folded"> 4952 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L4958" class="LineNr"> 4958 </span> <span class="subxComment"># check output</span> -<span id="L4959" class="LineNr"> 4959 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/0"</span>) +<span id="L4959" class="LineNr"> 4959 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/0"</span>) <span id="L4960" class="LineNr"> 4960 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/1"</span>) -<span id="L4961" class="LineNr"> 4961 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/2"</span>) -<span id="L4962" class="LineNr"> 4962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/3"</span>) -<span id="L4963" class="LineNr"> 4963 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/4"</span>) -<span id="L4964" class="LineNr"> 4964 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/5"</span>) -<span id="L4965" class="LineNr"> 4965 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/6"</span>) -<span id="L4966" class="LineNr"> 4966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/7"</span>) -<span id="L4967" class="LineNr"> 4967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/8"</span>) -<span id="L4968" class="LineNr"> 4968 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/9"</span>) -<span id="L4969" class="LineNr"> 4969 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/10"</span>) -<span id="L4970" class="LineNr"> 4970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/11"</span>) -<span id="L4971" class="LineNr"> 4971 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/12"</span>) -<span id="L4972" class="LineNr"> 4972 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/13"</span>) -<span id="L4973" class="LineNr"> 4973 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/14"</span>) -<span id="L4974" class="LineNr"> 4974 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/15"</span>) -<span id="L4975" class="LineNr"> 4975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/16"</span>) -<span id="L4976" class="LineNr"> 4976 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/17"</span>) -<span id="L4977" class="LineNr"> 4977 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/18"</span>) -<span id="L4978" class="LineNr"> 4978 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/19"</span>) +<span id="L4961" class="LineNr"> 4961 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/2"</span>) +<span id="L4962" class="LineNr"> 4962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/3"</span>) +<span id="L4963" class="LineNr"> 4963 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/4"</span>) +<span id="L4964" class="LineNr"> 4964 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/5"</span>) +<span id="L4965" class="LineNr"> 4965 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/6"</span>) +<span id="L4966" class="LineNr"> 4966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/7"</span>) +<span id="L4967" class="LineNr"> 4967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/8"</span>) +<span id="L4968" class="LineNr"> 4968 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/9"</span>) +<span id="L4969" class="LineNr"> 4969 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/10"</span>) +<span id="L4970" class="LineNr"> 4970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/11"</span>) +<span id="L4971" class="LineNr"> 4971 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/12"</span>) +<span id="L4972" class="LineNr"> 4972 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/13"</span>) +<span id="L4973" class="LineNr"> 4973 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/14"</span>) +<span id="L4974" class="LineNr"> 4974 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/15"</span>) +<span id="L4975" class="LineNr"> 4975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/16"</span>) +<span id="L4976" class="LineNr"> 4976 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/17"</span>) +<span id="L4977" class="LineNr"> 4977 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/18"</span>) +<span id="L4978" class="LineNr"> 4978 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/19"</span>) <span id="L4979" class="LineNr"> 4979 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/20"</span>) -<span id="L4980" class="LineNr"> 4980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/21"</span>) -<span id="L4981" class="LineNr"> 4981 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/22"</span>) -<span id="L4982" class="LineNr"> 4982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-branches-and-local-vars/23"</span>) +<span id="L4980" class="LineNr"> 4980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/21"</span>) +<span id="L4981" class="LineNr"> 4981 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/22"</span>) +<span id="L4982" class="LineNr"> 4982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4929'>test-convert-function-with-branches-and-local-vars</a>/23"</span>) <span id="L4983" class="LineNr"> 4983 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L4984" class="LineNr"> 4984 </span> 89/<- %esp 5/r32/ebp <span id="L4985" class="LineNr"> 4985 </span> 5d/pop-to-ebp @@ -4603,34 +4603,34 @@ if ('onhashchange' in window) { <span id="L5006" class="LineNr"> 5006 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5007" class="LineNr"> 5007 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5008" class="LineNr"> 5008 </span> <span class="subxComment"># convert</span> -<span id="L5009" class="LineNr"> 5009 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5009" class="LineNr"> 5009 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5010" class="LineNr"> 5010 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5011" class="Folded"> 5011 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5017" class="LineNr"> 5017 </span> <span class="subxComment"># check output</span> -<span id="L5018" class="LineNr"> 5018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/0"</span>) +<span id="L5018" class="LineNr"> 5018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/0"</span>) <span id="L5019" class="LineNr"> 5019 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/1"</span>) -<span id="L5020" class="LineNr"> 5020 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/2"</span>) -<span id="L5021" class="LineNr"> 5021 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/3"</span>) -<span id="L5022" class="LineNr"> 5022 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/4"</span>) -<span id="L5023" class="LineNr"> 5023 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/5"</span>) -<span id="L5024" class="LineNr"> 5024 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/6"</span>) -<span id="L5025" class="LineNr"> 5025 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/7"</span>) -<span id="L5026" class="LineNr"> 5026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/8"</span>) -<span id="L5027" class="LineNr"> 5027 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/9"</span>) -<span id="L5028" class="LineNr"> 5028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/10"</span>) -<span id="L5029" class="LineNr"> 5029 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/11"</span>) -<span id="L5030" class="LineNr"> 5030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/12"</span>) -<span id="L5031" class="LineNr"> 5031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/13"</span>) -<span id="L5032" class="LineNr"> 5032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/14"</span>) -<span id="L5033" class="LineNr"> 5033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/15"</span>) -<span id="L5034" class="LineNr"> 5034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/16"</span>) -<span id="L5035" class="LineNr"> 5035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/17"</span>) -<span id="L5036" class="LineNr"> 5036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/18"</span>) -<span id="L5037" class="LineNr"> 5037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/19"</span>) +<span id="L5020" class="LineNr"> 5020 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/2"</span>) +<span id="L5021" class="LineNr"> 5021 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/3"</span>) +<span id="L5022" class="LineNr"> 5022 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/4"</span>) +<span id="L5023" class="LineNr"> 5023 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/5"</span>) +<span id="L5024" class="LineNr"> 5024 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/6"</span>) +<span id="L5025" class="LineNr"> 5025 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/7"</span>) +<span id="L5026" class="LineNr"> 5026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/8"</span>) +<span id="L5027" class="LineNr"> 5027 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/9"</span>) +<span id="L5028" class="LineNr"> 5028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/10"</span>) +<span id="L5029" class="LineNr"> 5029 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/11"</span>) +<span id="L5030" class="LineNr"> 5030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/12"</span>) +<span id="L5031" class="LineNr"> 5031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/13"</span>) +<span id="L5032" class="LineNr"> 5032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/14"</span>) +<span id="L5033" class="LineNr"> 5033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/15"</span>) +<span id="L5034" class="LineNr"> 5034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/16"</span>) +<span id="L5035" class="LineNr"> 5035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/17"</span>) +<span id="L5036" class="LineNr"> 5036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/18"</span>) +<span id="L5037" class="LineNr"> 5037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/19"</span>) <span id="L5038" class="LineNr"> 5038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/20"</span>) -<span id="L5039" class="LineNr"> 5039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/21"</span>) -<span id="L5040" class="LineNr"> 5040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/22"</span>) -<span id="L5041" class="LineNr"> 5041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-conditional-loops-and-local-vars/23"</span>) +<span id="L5039" class="LineNr"> 5039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/21"</span>) +<span id="L5040" class="LineNr"> 5040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/22"</span>) +<span id="L5041" class="LineNr"> 5041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L4988'>test-convert-function-with-conditional-loops-and-local-vars</a>/23"</span>) <span id="L5042" class="LineNr"> 5042 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5043" class="LineNr"> 5043 </span> 89/<- %esp 5/r32/ebp <span id="L5044" class="LineNr"> 5044 </span> 5d/pop-to-ebp @@ -4657,30 +4657,30 @@ if ('onhashchange' in window) { <span id="L5065" class="LineNr"> 5065 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5066" class="LineNr"> 5066 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5067" class="LineNr"> 5067 </span> <span class="subxComment"># convert</span> -<span id="L5068" class="LineNr"> 5068 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5068" class="LineNr"> 5068 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5069" class="LineNr"> 5069 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5070" class="Folded"> 5070 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5076" class="LineNr"> 5076 </span> <span class="subxComment"># check output</span> -<span id="L5077" class="LineNr"> 5077 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/0"</span>) +<span id="L5077" class="LineNr"> 5077 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/0"</span>) <span id="L5078" class="LineNr"> 5078 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/1"</span>) -<span id="L5079" class="LineNr"> 5079 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/2"</span>) -<span id="L5080" class="LineNr"> 5080 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/3"</span>) -<span id="L5081" class="LineNr"> 5081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/4"</span>) -<span id="L5082" class="LineNr"> 5082 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/5"</span>) -<span id="L5083" class="LineNr"> 5083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/6"</span>) -<span id="L5084" class="LineNr"> 5084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/7"</span>) -<span id="L5085" class="LineNr"> 5085 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/8"</span>) -<span id="L5086" class="LineNr"> 5086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/9"</span>) -<span id="L5087" class="LineNr"> 5087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/10"</span>) +<span id="L5079" class="LineNr"> 5079 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/2"</span>) +<span id="L5080" class="LineNr"> 5080 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/3"</span>) +<span id="L5081" class="LineNr"> 5081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/4"</span>) +<span id="L5082" class="LineNr"> 5082 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/5"</span>) +<span id="L5083" class="LineNr"> 5083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/6"</span>) +<span id="L5084" class="LineNr"> 5084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/7"</span>) +<span id="L5085" class="LineNr"> 5085 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/8"</span>) +<span id="L5086" class="LineNr"> 5086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/9"</span>) +<span id="L5087" class="LineNr"> 5087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/10"</span>) <span id="L5088" class="LineNr"> 5088 </span> <span class="subxComment"># not emitted: ff 0/subop/increment *(ebp+0xfffffffc)</span> -<span id="L5089" class="LineNr"> 5089 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/11"</span>) -<span id="L5090" class="LineNr"> 5090 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/12"</span>) -<span id="L5091" class="LineNr"> 5091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/13"</span>) -<span id="L5092" class="LineNr"> 5092 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/14"</span>) +<span id="L5089" class="LineNr"> 5089 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/11"</span>) +<span id="L5090" class="LineNr"> 5090 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/12"</span>) +<span id="L5091" class="LineNr"> 5091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/13"</span>) +<span id="L5092" class="LineNr"> 5092 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/14"</span>) <span id="L5093" class="LineNr"> 5093 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/15"</span>) -<span id="L5094" class="LineNr"> 5094 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/16"</span>) -<span id="L5095" class="LineNr"> 5095 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/17"</span>) -<span id="L5096" class="LineNr"> 5096 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-unconditional-loops-and-local-vars/18"</span>) +<span id="L5094" class="LineNr"> 5094 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/16"</span>) +<span id="L5095" class="LineNr"> 5095 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/17"</span>) +<span id="L5096" class="LineNr"> 5096 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5047'>test-convert-function-with-unconditional-loops-and-local-vars</a>/18"</span>) <span id="L5097" class="LineNr"> 5097 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5098" class="LineNr"> 5098 </span> 89/<- %esp 5/r32/ebp <span id="L5099" class="LineNr"> 5099 </span> 5d/pop-to-ebp @@ -4705,35 +4705,35 @@ if ('onhashchange' in window) { <span id="L5118" class="LineNr"> 5118 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5119" class="LineNr"> 5119 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5120" class="LineNr"> 5120 </span> <span class="subxComment"># convert</span> -<span id="L5121" class="LineNr"> 5121 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5121" class="LineNr"> 5121 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5122" class="LineNr"> 5122 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5123" class="Folded"> 5123 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5129" class="LineNr"> 5129 </span> <span class="subxComment"># check output</span> -<span id="L5130" class="LineNr"> 5130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/0"</span>) +<span id="L5130" class="LineNr"> 5130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/0"</span>) <span id="L5131" class="LineNr"> 5131 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/1"</span>) -<span id="L5132" class="LineNr"> 5132 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/2"</span>) -<span id="L5133" class="LineNr"> 5133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/3"</span>) -<span id="L5134" class="LineNr"> 5134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/4"</span>) -<span id="L5135" class="LineNr"> 5135 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/5"</span>) -<span id="L5136" class="LineNr"> 5136 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/6"</span>) -<span id="L5137" class="LineNr"> 5137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/7"</span>) -<span id="L5138" class="LineNr"> 5138 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/8"</span>) -<span id="L5139" class="LineNr"> 5139 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/9"</span>) -<span id="L5140" class="LineNr"> 5140 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/10"</span>) -<span id="L5141" class="LineNr"> 5141 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/11"</span>) -<span id="L5142" class="LineNr"> 5142 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/12"</span>) -<span id="L5143" class="LineNr"> 5143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/13"</span>) -<span id="L5144" class="LineNr"> 5144 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/14"</span>) -<span id="L5145" class="LineNr"> 5145 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/15"</span>) -<span id="L5146" class="LineNr"> 5146 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/16"</span>) -<span id="L5147" class="LineNr"> 5147 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/17"</span>) -<span id="L5148" class="LineNr"> 5148 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/18"</span>) -<span id="L5149" class="LineNr"> 5149 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/19"</span>) -<span id="L5150" class="LineNr"> 5150 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/20"</span>) +<span id="L5132" class="LineNr"> 5132 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/2"</span>) +<span id="L5133" class="LineNr"> 5133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/3"</span>) +<span id="L5134" class="LineNr"> 5134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/4"</span>) +<span id="L5135" class="LineNr"> 5135 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/5"</span>) +<span id="L5136" class="LineNr"> 5136 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/6"</span>) +<span id="L5137" class="LineNr"> 5137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/7"</span>) +<span id="L5138" class="LineNr"> 5138 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/8"</span>) +<span id="L5139" class="LineNr"> 5139 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/9"</span>) +<span id="L5140" class="LineNr"> 5140 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/10"</span>) +<span id="L5141" class="LineNr"> 5141 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/11"</span>) +<span id="L5142" class="LineNr"> 5142 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000002:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/12"</span>) +<span id="L5143" class="LineNr"> 5143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/13"</span>) +<span id="L5144" class="LineNr"> 5144 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/14"</span>) +<span id="L5145" class="LineNr"> 5145 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/15"</span>) +<span id="L5146" class="LineNr"> 5146 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/16"</span>) +<span id="L5147" class="LineNr"> 5147 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/17"</span>) +<span id="L5148" class="LineNr"> 5148 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/18"</span>) +<span id="L5149" class="LineNr"> 5149 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/19"</span>) +<span id="L5150" class="LineNr"> 5150 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/20"</span>) <span id="L5151" class="LineNr"> 5151 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/21"</span>) -<span id="L5152" class="LineNr"> 5152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/22"</span>) -<span id="L5153" class="LineNr"> 5153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/23"</span>) -<span id="L5154" class="LineNr"> 5154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-branches-and-loops-and-local-vars/24"</span>) +<span id="L5152" class="LineNr"> 5152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/22"</span>) +<span id="L5153" class="LineNr"> 5153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/23"</span>) +<span id="L5154" class="LineNr"> 5154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5102'>test-convert-function-with-branches-and-loops-and-local-vars</a>/24"</span>) <span id="L5155" class="LineNr"> 5155 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5156" class="LineNr"> 5156 </span> 89/<- %esp 5/r32/ebp <span id="L5157" class="LineNr"> 5157 </span> 5d/pop-to-ebp @@ -4761,42 +4761,42 @@ if ('onhashchange' in window) { <span id="L5179" class="LineNr"> 5179 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5180" class="LineNr"> 5180 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5181" class="LineNr"> 5181 </span> <span class="subxComment"># convert</span> -<span id="L5182" class="LineNr"> 5182 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5182" class="LineNr"> 5182 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5183" class="LineNr"> 5183 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5184" class="Folded"> 5184 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5190" class="LineNr"> 5190 </span> <span class="subxComment"># check output</span> -<span id="L5191" class="LineNr"> 5191 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/0"</span>) +<span id="L5191" class="LineNr"> 5191 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/0"</span>) <span id="L5192" class="LineNr"> 5192 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/1"</span>) -<span id="L5193" class="LineNr"> 5193 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/2"</span>) -<span id="L5194" class="LineNr"> 5194 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/3"</span>) -<span id="L5195" class="LineNr"> 5195 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/4"</span>) -<span id="L5196" class="LineNr"> 5196 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/5"</span>) -<span id="L5197" class="LineNr"> 5197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/6"</span>) -<span id="L5198" class="LineNr"> 5198 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/7"</span>) -<span id="L5199" class="LineNr"> 5199 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/8"</span>) -<span id="L5200" class="LineNr"> 5200 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/9"</span>) -<span id="L5201" class="LineNr"> 5201 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/10"</span>) -<span id="L5202" class="LineNr"> 5202 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/11"</span>) -<span id="L5203" class="LineNr"> 5203 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/12"</span>) -<span id="L5204" class="LineNr"> 5204 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/13"</span>) -<span id="L5205" class="LineNr"> 5205 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/14"</span>) -<span id="L5206" class="LineNr"> 5206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/15"</span>) -<span id="L5207" class="LineNr"> 5207 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/16"</span>) -<span id="L5208" class="LineNr"> 5208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/17"</span>) -<span id="L5209" class="LineNr"> 5209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/18"</span>) -<span id="L5210" class="LineNr"> 5210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/19"</span>) -<span id="L5211" class="LineNr"> 5211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/20"</span>) -<span id="L5212" class="LineNr"> 5212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/21"</span>) -<span id="L5213" class="LineNr"> 5213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/22"</span>) -<span id="L5214" class="LineNr"> 5214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/23"</span>) -<span id="L5215" class="LineNr"> 5215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/24"</span>) -<span id="L5216" class="LineNr"> 5216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/25"</span>) -<span id="L5217" class="LineNr"> 5217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/26"</span>) -<span id="L5218" class="LineNr"> 5218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/27"</span>) +<span id="L5193" class="LineNr"> 5193 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/2"</span>) +<span id="L5194" class="LineNr"> 5194 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/3"</span>) +<span id="L5195" class="LineNr"> 5195 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/4"</span>) +<span id="L5196" class="LineNr"> 5196 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/5"</span>) +<span id="L5197" class="LineNr"> 5197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/6"</span>) +<span id="L5198" class="LineNr"> 5198 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/7"</span>) +<span id="L5199" class="LineNr"> 5199 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/8"</span>) +<span id="L5200" class="LineNr"> 5200 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/9"</span>) +<span id="L5201" class="LineNr"> 5201 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/10"</span>) +<span id="L5202" class="LineNr"> 5202 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/11"</span>) +<span id="L5203" class="LineNr"> 5203 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/12"</span>) +<span id="L5204" class="LineNr"> 5204 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/13"</span>) +<span id="L5205" class="LineNr"> 5205 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/14"</span>) +<span id="L5206" class="LineNr"> 5206 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/15"</span>) +<span id="L5207" class="LineNr"> 5207 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/16"</span>) +<span id="L5208" class="LineNr"> 5208 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/17"</span>) +<span id="L5209" class="LineNr"> 5209 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 0/subop/increment *(ebp+0xfffffffc)"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/18"</span>) +<span id="L5210" class="LineNr"> 5210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/19"</span>) +<span id="L5211" class="LineNr"> 5211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/20"</span>) +<span id="L5212" class="LineNr"> 5212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/21"</span>) +<span id="L5213" class="LineNr"> 5213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/22"</span>) +<span id="L5214" class="LineNr"> 5214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/23"</span>) +<span id="L5215" class="LineNr"> 5215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/24"</span>) +<span id="L5216" class="LineNr"> 5216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/25"</span>) +<span id="L5217" class="LineNr"> 5217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/26"</span>) +<span id="L5218" class="LineNr"> 5218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/27"</span>) <span id="L5219" class="LineNr"> 5219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/28"</span>) -<span id="L5220" class="LineNr"> 5220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/29"</span>) -<span id="L5221" class="LineNr"> 5221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/30"</span>) -<span id="L5222" class="LineNr"> 5222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars/31"</span>) +<span id="L5220" class="LineNr"> 5220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/29"</span>) +<span id="L5221" class="LineNr"> 5221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/30"</span>) +<span id="L5222" class="LineNr"> 5222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5160'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars</a>/31"</span>) <span id="L5223" class="LineNr"> 5223 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5224" class="LineNr"> 5224 </span> 89/<- %esp 5/r32/ebp <span id="L5225" class="LineNr"> 5225 </span> 5d/pop-to-ebp @@ -4822,37 +4822,37 @@ if ('onhashchange' in window) { <span id="L5245" class="LineNr"> 5245 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5246" class="LineNr"> 5246 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5247" class="LineNr"> 5247 </span> <span class="subxComment"># convert</span> -<span id="L5248" class="LineNr"> 5248 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5248" class="LineNr"> 5248 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5249" class="LineNr"> 5249 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5250" class="Folded"> 5250 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5256" class="LineNr"> 5256 </span> <span class="subxComment"># check output</span> -<span id="L5257" class="LineNr"> 5257 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/0"</span>) +<span id="L5257" class="LineNr"> 5257 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/0"</span>) <span id="L5258" class="LineNr"> 5258 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/1"</span>) -<span id="L5259" class="LineNr"> 5259 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/2"</span>) -<span id="L5260" class="LineNr"> 5260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/3"</span>) -<span id="L5261" class="LineNr"> 5261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/4"</span>) -<span id="L5262" class="LineNr"> 5262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/5"</span>) -<span id="L5263" class="LineNr"> 5263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/6"</span>) -<span id="L5264" class="LineNr"> 5264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/7"</span>) -<span id="L5265" class="LineNr"> 5265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/8"</span>) -<span id="L5266" class="LineNr"> 5266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/9"</span>) -<span id="L5267" class="LineNr"> 5267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/10"</span>) -<span id="L5268" class="LineNr"> 5268 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/11"</span>) -<span id="L5269" class="LineNr"> 5269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/12"</span>) -<span id="L5270" class="LineNr"> 5270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/13"</span>) -<span id="L5271" class="LineNr"> 5271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/14"</span>) -<span id="L5272" class="LineNr"> 5272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/15"</span>) -<span id="L5273" class="LineNr"> 5273 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/16"</span>) -<span id="L5274" class="LineNr"> 5274 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/17"</span>) -<span id="L5275" class="LineNr"> 5275 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/18"</span>) -<span id="L5276" class="LineNr"> 5276 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/19"</span>) -<span id="L5277" class="LineNr"> 5277 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/20"</span>) -<span id="L5278" class="LineNr"> 5278 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/21"</span>) -<span id="L5279" class="LineNr"> 5279 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/22"</span>) +<span id="L5259" class="LineNr"> 5259 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/2"</span>) +<span id="L5260" class="LineNr"> 5260 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/3"</span>) +<span id="L5261" class="LineNr"> 5261 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/4"</span>) +<span id="L5262" class="LineNr"> 5262 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/5"</span>) +<span id="L5263" class="LineNr"> 5263 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/6"</span>) +<span id="L5264" class="LineNr"> 5264 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/7"</span>) +<span id="L5265" class="LineNr"> 5265 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/8"</span>) +<span id="L5266" class="LineNr"> 5266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/9"</span>) +<span id="L5267" class="LineNr"> 5267 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/10"</span>) +<span id="L5268" class="LineNr"> 5268 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/11"</span>) +<span id="L5269" class="LineNr"> 5269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 8c/jump-if-< break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/12"</span>) +<span id="L5270" class="LineNr"> 5270 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/13"</span>) +<span id="L5271" class="LineNr"> 5271 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/14"</span>) +<span id="L5272" class="LineNr"> 5272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/15"</span>) +<span id="L5273" class="LineNr"> 5273 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/16"</span>) +<span id="L5274" class="LineNr"> 5274 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/17"</span>) +<span id="L5275" class="LineNr"> 5275 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/18"</span>) +<span id="L5276" class="LineNr"> 5276 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/19"</span>) +<span id="L5277" class="LineNr"> 5277 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/20"</span>) +<span id="L5278" class="LineNr"> 5278 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/21"</span>) +<span id="L5279" class="LineNr"> 5279 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/22"</span>) <span id="L5280" class="LineNr"> 5280 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/23"</span>) -<span id="L5281" class="LineNr"> 5281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/24"</span>) -<span id="L5282" class="LineNr"> 5282 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/25"</span>) -<span id="L5283" class="LineNr"> 5283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2/26"</span>) +<span id="L5281" class="LineNr"> 5281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/24"</span>) +<span id="L5282" class="LineNr"> 5282 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/25"</span>) +<span id="L5283" class="LineNr"> 5283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5228'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-2</a>/26"</span>) <span id="L5284" class="LineNr"> 5284 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5285" class="LineNr"> 5285 </span> 89/<- %esp 5/r32/ebp <span id="L5286" class="LineNr"> 5286 </span> 5d/pop-to-ebp @@ -4878,34 +4878,34 @@ if ('onhashchange' in window) { <span id="L5306" class="LineNr"> 5306 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5307" class="LineNr"> 5307 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5308" class="LineNr"> 5308 </span> <span class="subxComment"># convert</span> -<span id="L5309" class="LineNr"> 5309 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5309" class="LineNr"> 5309 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5310" class="LineNr"> 5310 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5311" class="Folded"> 5311 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5317" class="LineNr"> 5317 </span> <span class="subxComment"># check output</span> -<span id="L5318" class="LineNr"> 5318 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/0"</span>) +<span id="L5318" class="LineNr"> 5318 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/0"</span>) <span id="L5319" class="LineNr"> 5319 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/1"</span>) -<span id="L5320" class="LineNr"> 5320 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/2"</span>) -<span id="L5321" class="LineNr"> 5321 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/3"</span>) -<span id="L5322" class="LineNr"> 5322 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/4"</span>) -<span id="L5323" class="LineNr"> 5323 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/5"</span>) -<span id="L5324" class="LineNr"> 5324 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/6"</span>) -<span id="L5325" class="LineNr"> 5325 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/7"</span>) -<span id="L5326" class="LineNr"> 5326 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/8"</span>) -<span id="L5327" class="LineNr"> 5327 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/9"</span>) -<span id="L5328" class="LineNr"> 5328 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/10"</span>) -<span id="L5329" class="LineNr"> 5329 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/11"</span>) -<span id="L5330" class="LineNr"> 5330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/12"</span>) -<span id="L5331" class="LineNr"> 5331 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/14"</span>) -<span id="L5332" class="LineNr"> 5332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/15"</span>) -<span id="L5333" class="LineNr"> 5333 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/16"</span>) -<span id="L5334" class="LineNr"> 5334 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/17"</span>) -<span id="L5335" class="LineNr"> 5335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/18"</span>) -<span id="L5336" class="LineNr"> 5336 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/19"</span>) -<span id="L5337" class="LineNr"> 5337 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/20"</span>) +<span id="L5320" class="LineNr"> 5320 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/2"</span>) +<span id="L5321" class="LineNr"> 5321 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/3"</span>) +<span id="L5322" class="LineNr"> 5322 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/4"</span>) +<span id="L5323" class="LineNr"> 5323 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/5"</span>) +<span id="L5324" class="LineNr"> 5324 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/6"</span>) +<span id="L5325" class="LineNr"> 5325 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/7"</span>) +<span id="L5326" class="LineNr"> 5326 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/8"</span>) +<span id="L5327" class="LineNr"> 5327 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/9"</span>) +<span id="L5328" class="LineNr"> 5328 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/10"</span>) +<span id="L5329" class="LineNr"> 5329 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/11"</span>) +<span id="L5330" class="LineNr"> 5330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/12"</span>) +<span id="L5331" class="LineNr"> 5331 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/14"</span>) +<span id="L5332" class="LineNr"> 5332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/15"</span>) +<span id="L5333" class="LineNr"> 5333 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/16"</span>) +<span id="L5334" class="LineNr"> 5334 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/17"</span>) +<span id="L5335" class="LineNr"> 5335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/18"</span>) +<span id="L5336" class="LineNr"> 5336 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/19"</span>) +<span id="L5337" class="LineNr"> 5337 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/20"</span>) <span id="L5338" class="LineNr"> 5338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/21"</span>) -<span id="L5339" class="LineNr"> 5339 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/22"</span>) -<span id="L5340" class="LineNr"> 5340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/23"</span>) -<span id="L5341" class="LineNr"> 5341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3/24"</span>) +<span id="L5339" class="LineNr"> 5339 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/22"</span>) +<span id="L5340" class="LineNr"> 5340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/23"</span>) +<span id="L5341" class="LineNr"> 5341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5289'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-3</a>/24"</span>) <span id="L5342" class="LineNr"> 5342 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5343" class="LineNr"> 5343 </span> 89/<- %esp 5/r32/ebp <span id="L5344" class="LineNr"> 5344 </span> 5d/pop-to-ebp @@ -4930,35 +4930,35 @@ if ('onhashchange' in window) { <span id="L5363" class="LineNr"> 5363 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5364" class="LineNr"> 5364 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5365" class="LineNr"> 5365 </span> <span class="subxComment"># convert</span> -<span id="L5366" class="LineNr"> 5366 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5366" class="LineNr"> 5366 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5367" class="LineNr"> 5367 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5368" class="Folded"> 5368 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5374" class="LineNr"> 5374 </span> <span class="subxComment"># check output</span> -<span id="L5375" class="LineNr"> 5375 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/0"</span>) +<span id="L5375" class="LineNr"> 5375 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/0"</span>) <span id="L5376" class="LineNr"> 5376 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/1"</span>) -<span id="L5377" class="LineNr"> 5377 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/2"</span>) -<span id="L5378" class="LineNr"> 5378 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/3"</span>) -<span id="L5379" class="LineNr"> 5379 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/4"</span>) -<span id="L5380" class="LineNr"> 5380 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/5"</span>) -<span id="L5381" class="LineNr"> 5381 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/6"</span>) -<span id="L5382" class="LineNr"> 5382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/7"</span>) -<span id="L5383" class="LineNr"> 5383 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/8"</span>) -<span id="L5384" class="LineNr"> 5384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/9"</span>) -<span id="L5385" class="LineNr"> 5385 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/10"</span>) -<span id="L5386" class="LineNr"> 5386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/11"</span>) -<span id="L5387" class="LineNr"> 5387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/12"</span>) -<span id="L5388" class="LineNr"> 5388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/13"</span>) -<span id="L5389" class="LineNr"> 5389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/14"</span>) -<span id="L5390" class="LineNr"> 5390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/15"</span>) -<span id="L5391" class="LineNr"> 5391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/16"</span>) -<span id="L5392" class="LineNr"> 5392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/17"</span>) -<span id="L5393" class="LineNr"> 5393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/18"</span>) -<span id="L5394" class="LineNr"> 5394 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/19"</span>) -<span id="L5395" class="LineNr"> 5395 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/20"</span>) +<span id="L5377" class="LineNr"> 5377 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/2"</span>) +<span id="L5378" class="LineNr"> 5378 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/3"</span>) +<span id="L5379" class="LineNr"> 5379 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/4"</span>) +<span id="L5380" class="LineNr"> 5380 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/5"</span>) +<span id="L5381" class="LineNr"> 5381 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/6"</span>) +<span id="L5382" class="LineNr"> 5382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/7"</span>) +<span id="L5383" class="LineNr"> 5383 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/8"</span>) +<span id="L5384" class="LineNr"> 5384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/9"</span>) +<span id="L5385" class="LineNr"> 5385 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/10"</span>) +<span id="L5386" class="LineNr"> 5386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/11"</span>) +<span id="L5387" class="LineNr"> 5387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/12"</span>) +<span id="L5388" class="LineNr"> 5388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/13"</span>) +<span id="L5389" class="LineNr"> 5389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/14"</span>) +<span id="L5390" class="LineNr"> 5390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/15"</span>) +<span id="L5391" class="LineNr"> 5391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/16"</span>) +<span id="L5392" class="LineNr"> 5392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/17"</span>) +<span id="L5393" class="LineNr"> 5393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/18"</span>) +<span id="L5394" class="LineNr"> 5394 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/19"</span>) +<span id="L5395" class="LineNr"> 5395 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/20"</span>) <span id="L5396" class="LineNr"> 5396 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/21"</span>) -<span id="L5397" class="LineNr"> 5397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/22"</span>) -<span id="L5398" class="LineNr"> 5398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/23"</span>) -<span id="L5399" class="LineNr"> 5399 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4/24"</span>) +<span id="L5397" class="LineNr"> 5397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/22"</span>) +<span id="L5398" class="LineNr"> 5398 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/23"</span>) +<span id="L5399" class="LineNr"> 5399 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5347'>test-convert-function-with-nonlocal-branches-and-loops-and-local-vars-4</a>/24"</span>) <span id="L5400" class="LineNr"> 5400 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5401" class="LineNr"> 5401 </span> 89/<- %esp 5/r32/ebp <span id="L5402" class="LineNr"> 5402 </span> 5d/pop-to-ebp @@ -4985,36 +4985,36 @@ if ('onhashchange' in window) { <span id="L5423" class="LineNr"> 5423 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5424" class="LineNr"> 5424 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5425" class="LineNr"> 5425 </span> <span class="subxComment"># convert</span> -<span id="L5426" class="LineNr"> 5426 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5426" class="LineNr"> 5426 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5427" class="LineNr"> 5427 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5428" class="Folded"> 5428 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5434" class="LineNr"> 5434 </span> <span class="subxComment"># check output</span> -<span id="L5435" class="LineNr"> 5435 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/0"</span>) +<span id="L5435" class="LineNr"> 5435 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/0"</span>) <span id="L5436" class="LineNr"> 5436 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/1"</span>) -<span id="L5437" class="LineNr"> 5437 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/2"</span>) -<span id="L5438" class="LineNr"> 5438 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/3"</span>) -<span id="L5439" class="LineNr"> 5439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/4"</span>) -<span id="L5440" class="LineNr"> 5440 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/5"</span>) -<span id="L5441" class="LineNr"> 5441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/6"</span>) -<span id="L5442" class="LineNr"> 5442 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/7"</span>) -<span id="L5443" class="LineNr"> 5443 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/8"</span>) -<span id="L5444" class="LineNr"> 5444 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/9"</span>) -<span id="L5445" class="LineNr"> 5445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/10"</span>) -<span id="L5446" class="LineNr"> 5446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/11"</span>) -<span id="L5447" class="LineNr"> 5447 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/12"</span>) -<span id="L5448" class="LineNr"> 5448 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/13"</span>) -<span id="L5449" class="LineNr"> 5449 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/14"</span>) -<span id="L5450" class="LineNr"> 5450 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/15"</span>) -<span id="L5451" class="LineNr"> 5451 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/16"</span>) -<span id="L5452" class="LineNr"> 5452 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/17"</span>) -<span id="L5453" class="LineNr"> 5453 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/18"</span>) -<span id="L5454" class="LineNr"> 5454 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/19"</span>) -<span id="L5455" class="LineNr"> 5455 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/20"</span>) -<span id="L5456" class="LineNr"> 5456 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/21"</span>) +<span id="L5437" class="LineNr"> 5437 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/2"</span>) +<span id="L5438" class="LineNr"> 5438 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/3"</span>) +<span id="L5439" class="LineNr"> 5439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/4"</span>) +<span id="L5440" class="LineNr"> 5440 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/5"</span>) +<span id="L5441" class="LineNr"> 5441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/6"</span>) +<span id="L5442" class="LineNr"> 5442 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/7"</span>) +<span id="L5443" class="LineNr"> 5443 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/8"</span>) +<span id="L5444" class="LineNr"> 5444 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/9"</span>) +<span id="L5445" class="LineNr"> 5445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/10"</span>) +<span id="L5446" class="LineNr"> 5446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/11"</span>) +<span id="L5447" class="LineNr"> 5447 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/12"</span>) +<span id="L5448" class="LineNr"> 5448 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/13"</span>) +<span id="L5449" class="LineNr"> 5449 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/14"</span>) +<span id="L5450" class="LineNr"> 5450 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/15"</span>) +<span id="L5451" class="LineNr"> 5451 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/16"</span>) +<span id="L5452" class="LineNr"> 5452 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/17"</span>) +<span id="L5453" class="LineNr"> 5453 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/18"</span>) +<span id="L5454" class="LineNr"> 5454 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/19"</span>) +<span id="L5455" class="LineNr"> 5455 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/20"</span>) +<span id="L5456" class="LineNr"> 5456 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/21"</span>) <span id="L5457" class="LineNr"> 5457 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/22"</span>) -<span id="L5458" class="LineNr"> 5458 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/23"</span>) -<span id="L5459" class="LineNr"> 5459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/24"</span>) -<span id="L5460" class="LineNr"> 5460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-break-and-local-vars/25"</span>) +<span id="L5458" class="LineNr"> 5458 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/23"</span>) +<span id="L5459" class="LineNr"> 5459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/24"</span>) +<span id="L5460" class="LineNr"> 5460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5405'>test-convert-function-with-nonlocal-unconditional-break-and-local-vars</a>/25"</span>) <span id="L5461" class="LineNr"> 5461 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5462" class="LineNr"> 5462 </span> 89/<- %esp 5/r32/ebp <span id="L5463" class="LineNr"> 5463 </span> 5d/pop-to-ebp @@ -5041,34 +5041,34 @@ if ('onhashchange' in window) { <span id="L5484" class="LineNr"> 5484 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5485" class="LineNr"> 5485 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5486" class="LineNr"> 5486 </span> <span class="subxComment"># convert</span> -<span id="L5487" class="LineNr"> 5487 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5487" class="LineNr"> 5487 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5488" class="LineNr"> 5488 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5489" class="Folded"> 5489 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5495" class="LineNr"> 5495 </span> <span class="subxComment"># check output</span> -<span id="L5496" class="LineNr"> 5496 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/0"</span>) +<span id="L5496" class="LineNr"> 5496 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/0"</span>) <span id="L5497" class="LineNr"> 5497 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/1"</span>) -<span id="L5498" class="LineNr"> 5498 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/2"</span>) -<span id="L5499" class="LineNr"> 5499 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/3"</span>) -<span id="L5500" class="LineNr"> 5500 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/4"</span>) -<span id="L5501" class="LineNr"> 5501 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/5"</span>) -<span id="L5502" class="LineNr"> 5502 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/6"</span>) -<span id="L5503" class="LineNr"> 5503 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/7"</span>) -<span id="L5504" class="LineNr"> 5504 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/8"</span>) -<span id="L5505" class="LineNr"> 5505 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/9"</span>) -<span id="L5506" class="LineNr"> 5506 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/10"</span>) -<span id="L5507" class="LineNr"> 5507 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/11"</span>) -<span id="L5508" class="LineNr"> 5508 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/12"</span>) -<span id="L5509" class="LineNr"> 5509 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/13"</span>) -<span id="L5510" class="LineNr"> 5510 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/14"</span>) -<span id="L5511" class="LineNr"> 5511 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/15"</span>) -<span id="L5512" class="LineNr"> 5512 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/16"</span>) -<span id="L5513" class="LineNr"> 5513 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/17"</span>) -<span id="L5514" class="LineNr"> 5514 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/18"</span>) -<span id="L5515" class="LineNr"> 5515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/19"</span>) +<span id="L5498" class="LineNr"> 5498 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/2"</span>) +<span id="L5499" class="LineNr"> 5499 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/3"</span>) +<span id="L5500" class="LineNr"> 5500 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/4"</span>) +<span id="L5501" class="LineNr"> 5501 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/5"</span>) +<span id="L5502" class="LineNr"> 5502 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/6"</span>) +<span id="L5503" class="LineNr"> 5503 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/7"</span>) +<span id="L5504" class="LineNr"> 5504 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/8"</span>) +<span id="L5505" class="LineNr"> 5505 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/9"</span>) +<span id="L5506" class="LineNr"> 5506 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/10"</span>) +<span id="L5507" class="LineNr"> 5507 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/11"</span>) +<span id="L5508" class="LineNr"> 5508 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/12"</span>) +<span id="L5509" class="LineNr"> 5509 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/13"</span>) +<span id="L5510" class="LineNr"> 5510 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/14"</span>) +<span id="L5511" class="LineNr"> 5511 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/15"</span>) +<span id="L5512" class="LineNr"> 5512 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/16"</span>) +<span id="L5513" class="LineNr"> 5513 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/17"</span>) +<span id="L5514" class="LineNr"> 5514 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/18"</span>) +<span id="L5515" class="LineNr"> 5515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/19"</span>) <span id="L5516" class="LineNr"> 5516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/20"</span>) -<span id="L5517" class="LineNr"> 5517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/21"</span>) -<span id="L5518" class="LineNr"> 5518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/22"</span>) -<span id="L5519" class="LineNr"> 5519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-unconditional-break-and-local-vars/23"</span>) +<span id="L5517" class="LineNr"> 5517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/21"</span>) +<span id="L5518" class="LineNr"> 5518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/22"</span>) +<span id="L5519" class="LineNr"> 5519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5466'>test-convert-function-with-unconditional-break-and-local-vars</a>/23"</span>) <span id="L5520" class="LineNr"> 5520 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5521" class="LineNr"> 5521 </span> 89/<- %esp 5/r32/ebp <span id="L5522" class="LineNr"> 5522 </span> 5d/pop-to-ebp @@ -5095,36 +5095,36 @@ if ('onhashchange' in window) { <span id="L5543" class="LineNr"> 5543 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" }\n"</span>) <span id="L5544" class="LineNr"> 5544 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5545" class="LineNr"> 5545 </span> <span class="subxComment"># convert</span> -<span id="L5546" class="LineNr"> 5546 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5546" class="LineNr"> 5546 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5547" class="LineNr"> 5547 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5548" class="Folded"> 5548 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5554" class="LineNr"> 5554 </span> <span class="subxComment"># check output</span> -<span id="L5555" class="LineNr"> 5555 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/0"</span>) +<span id="L5555" class="LineNr"> 5555 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/0"</span>) <span id="L5556" class="LineNr"> 5556 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/1"</span>) -<span id="L5557" class="LineNr"> 5557 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/2"</span>) -<span id="L5558" class="LineNr"> 5558 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/3"</span>) -<span id="L5559" class="LineNr"> 5559 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/4"</span>) -<span id="L5560" class="LineNr"> 5560 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/5"</span>) -<span id="L5561" class="LineNr"> 5561 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/6"</span>) -<span id="L5562" class="LineNr"> 5562 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/7"</span>) -<span id="L5563" class="LineNr"> 5563 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/8"</span>) -<span id="L5564" class="LineNr"> 5564 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/9"</span>) -<span id="L5565" class="LineNr"> 5565 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/10"</span>) -<span id="L5566" class="LineNr"> 5566 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/11"</span>) -<span id="L5567" class="LineNr"> 5567 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/12"</span>) -<span id="L5568" class="LineNr"> 5568 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/13"</span>) -<span id="L5569" class="LineNr"> 5569 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:loop/disp32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/14"</span>) -<span id="L5570" class="LineNr"> 5570 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/15"</span>) -<span id="L5571" class="LineNr"> 5571 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/16"</span>) -<span id="L5572" class="LineNr"> 5572 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/17"</span>) -<span id="L5573" class="LineNr"> 5573 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/18"</span>) -<span id="L5574" class="LineNr"> 5574 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/19"</span>) -<span id="L5575" class="LineNr"> 5575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/20"</span>) -<span id="L5576" class="LineNr"> 5576 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/21"</span>) +<span id="L5557" class="LineNr"> 5557 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/2"</span>) +<span id="L5558" class="LineNr"> 5558 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/3"</span>) +<span id="L5559" class="LineNr"> 5559 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/4"</span>) +<span id="L5560" class="LineNr"> 5560 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/5"</span>) +<span id="L5561" class="LineNr"> 5561 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/6"</span>) +<span id="L5562" class="LineNr"> 5562 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/7"</span>) +<span id="L5563" class="LineNr"> 5563 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/8"</span>) +<span id="L5564" class="LineNr"> 5564 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/9"</span>) +<span id="L5565" class="LineNr"> 5565 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/10"</span>) +<span id="L5566" class="LineNr"> 5566 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/11"</span>) +<span id="L5567" class="LineNr"> 5567 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/12"</span>) +<span id="L5568" class="LineNr"> 5568 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/13"</span>) +<span id="L5569" class="LineNr"> 5569 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump a:loop/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/14"</span>) +<span id="L5570" class="LineNr"> 5570 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/15"</span>) +<span id="L5571" class="LineNr"> 5571 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/16"</span>) +<span id="L5572" class="LineNr"> 5572 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/17"</span>) +<span id="L5573" class="LineNr"> 5573 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/18"</span>) +<span id="L5574" class="LineNr"> 5574 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"a:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/19"</span>) +<span id="L5575" class="LineNr"> 5575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/20"</span>) +<span id="L5576" class="LineNr"> 5576 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/21"</span>) <span id="L5577" class="LineNr"> 5577 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/22"</span>) -<span id="L5578" class="LineNr"> 5578 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/23"</span>) -<span id="L5579" class="LineNr"> 5579 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/24"</span>) -<span id="L5580" class="LineNr"> 5580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-nonlocal-unconditional-loop-and-local-vars/25"</span>) +<span id="L5578" class="LineNr"> 5578 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/23"</span>) +<span id="L5579" class="LineNr"> 5579 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/24"</span>) +<span id="L5580" class="LineNr"> 5580 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5525'>test-convert-function-with-nonlocal-unconditional-loop-and-local-vars</a>/25"</span>) <span id="L5581" class="LineNr"> 5581 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5582" class="LineNr"> 5582 </span> 89/<- %esp 5/r32/ebp <span id="L5583" class="LineNr"> 5583 </span> 5d/pop-to-ebp @@ -5144,28 +5144,28 @@ if ('onhashchange' in window) { <span id="L5597" class="LineNr"> 5597 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x: (array int 3)\n"</span>) <span id="L5598" class="LineNr"> 5598 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5599" class="LineNr"> 5599 </span> <span class="subxComment"># convert</span> -<span id="L5600" class="LineNr"> 5600 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5600" class="LineNr"> 5600 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5601" class="LineNr"> 5601 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5602" class="Folded"> 5602 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5608" class="LineNr"> 5608 </span> <span class="subxComment"># check output</span> -<span id="L5609" class="LineNr"> 5609 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/0"</span>) +<span id="L5609" class="LineNr"> 5609 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/0"</span>) <span id="L5610" class="LineNr"> 5610 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/1"</span>) -<span id="L5611" class="LineNr"> 5611 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/2"</span>) -<span id="L5612" class="LineNr"> 5612 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/3"</span>) -<span id="L5613" class="LineNr"> 5613 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/4"</span>) -<span id="L5614" class="LineNr"> 5614 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/5"</span>) +<span id="L5611" class="LineNr"> 5611 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/2"</span>) +<span id="L5612" class="LineNr"> 5612 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/3"</span>) +<span id="L5613" class="LineNr"> 5613 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/4"</span>) +<span id="L5614" class="LineNr"> 5614 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/5"</span>) <span id="L5615" class="LineNr"> 5615 </span> <span class="subxComment"># define x</span> -<span id="L5616" class="LineNr"> 5616 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/7"</span>) -<span id="L5617" class="LineNr"> 5617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/8"</span>) +<span id="L5616" class="LineNr"> 5616 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/7"</span>) +<span id="L5617" class="LineNr"> 5617 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/8"</span>) <span id="L5618" class="LineNr"> 5618 </span> <span class="subxComment"># reclaim x</span> -<span id="L5619" class="LineNr"> 5619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/9"</span>) +<span id="L5619" class="LineNr"> 5619 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/9"</span>) <span id="L5620" class="LineNr"> 5620 </span> <span class="subxComment">#</span> -<span id="L5621" class="LineNr"> 5621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/10"</span>) -<span id="L5622" class="LineNr"> 5622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/11"</span>) +<span id="L5621" class="LineNr"> 5621 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/10"</span>) +<span id="L5622" class="LineNr"> 5622 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/11"</span>) <span id="L5623" class="LineNr"> 5623 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/12"</span>) -<span id="L5624" class="LineNr"> 5624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/13"</span>) -<span id="L5625" class="LineNr"> 5625 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/14"</span>) -<span id="L5626" class="LineNr"> 5626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-array-var-in-mem/15"</span>) +<span id="L5624" class="LineNr"> 5624 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/13"</span>) +<span id="L5625" class="LineNr"> 5625 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/14"</span>) +<span id="L5626" class="LineNr"> 5626 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5586'>test-convert-function-with-local-array-var-in-mem</a>/15"</span>) <span id="L5627" class="LineNr"> 5627 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5628" class="LineNr"> 5628 </span> 89/<- %esp 5/r32/ebp <span id="L5629" class="LineNr"> 5629 </span> 5d/pop-to-ebp @@ -5192,7 +5192,7 @@ if ('onhashchange' in window) { <span id="L5650" class="LineNr"> 5650 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x: (array int 10)\n"</span>) <span id="L5651" class="LineNr"> 5651 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5652" class="LineNr"> 5652 </span> <span class="subxComment"># convert</span> -<span id="L5653" class="LineNr"> 5653 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L5653" class="LineNr"> 5653 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L5654" class="LineNr"> 5654 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L5655" class="LineNr"> 5655 </span> <span class="subxComment"># restore ed</span> <span id="L5656" class="LineNr"> 5656 </span> 89/<- %edx 4/r32/esp @@ -5200,10 +5200,10 @@ if ('onhashchange' in window) { <span id="L5658" class="LineNr"> 5658 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L5659" class="Folded"> 5659 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5665" class="LineNr"> 5665 </span> <span class="subxComment"># check output</span> -<span id="L5666" class="LineNr"> 5666 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-array-size-in-hex: output should be empty"</span>) -<span id="L5667" class="LineNr"> 5667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"literal integers are always hex in Mu; start '10' with a '0x' to be unambiguous, converting it to hexadecimal as necessary."</span> <span class="Constant">"F - test-array-size-in-hex: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L5666" class="LineNr"> 5666 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L5632'>test-array-size-in-hex</a>: output should be empty"</span>) +<span id="L5667" class="LineNr"> 5667 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"literal integers are always hex in Mu; start '10' with a '0x' to be unambiguous, converting it to hexadecimal as necessary."</span> <span class="Constant">"F - <a href='mu.subx.html#L5632'>test-array-size-in-hex</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L5668" class="LineNr"> 5668 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L5669" class="LineNr"> 5669 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-array-size-in-hex: exit status"</span>) +<span id="L5669" class="LineNr"> 5669 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L5632'>test-array-size-in-hex</a>: exit status"</span>) <span id="L5670" class="LineNr"> 5670 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L5671" class="LineNr"> 5671 </span> 81 0/subop/add %esp 8/imm32 <span id="L5672" class="LineNr"> 5672 </span> <span class="subxS1Comment"># . epilogue</span> @@ -5224,7 +5224,7 @@ if ('onhashchange' in window) { <span id="L5687" class="LineNr"> 5687 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x: (array int 3/bar)\n"</span>) <span id="L5688" class="LineNr"> 5688 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5689" class="LineNr"> 5689 </span> <span class="subxComment"># convert</span> -<span id="L5690" class="LineNr"> 5690 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5690" class="LineNr"> 5690 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5691" class="LineNr"> 5691 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5692" class="Folded"> 5692 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5698" class="LineNr"> 5698 </span> <span class="subxComment"># no errors</span> @@ -5248,26 +5248,26 @@ if ('onhashchange' in window) { <span id="L5716" class="LineNr"> 5716 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate x, 7\n"</span>) <span id="L5717" class="LineNr"> 5717 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5718" class="LineNr"> 5718 </span> <span class="subxComment"># convert</span> -<span id="L5719" class="LineNr"> 5719 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5719" class="LineNr"> 5719 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5720" class="LineNr"> 5720 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5721" class="Folded"> 5721 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5727" class="LineNr"> 5727 </span> <span class="subxComment"># check output</span> -<span id="L5728" class="LineNr"> 5728 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-populate/0"</span>) +<span id="L5728" class="LineNr"> 5728 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/0"</span>) <span id="L5729" class="LineNr"> 5729 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-populate/1"</span>) -<span id="L5730" class="LineNr"> 5730 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-populate/2"</span>) -<span id="L5731" class="LineNr"> 5731 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-populate/3"</span>) -<span id="L5732" class="LineNr"> 5732 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-populate/4"</span>) -<span id="L5733" class="LineNr"> 5733 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-populate/5"</span>) -<span id="L5734" class="LineNr"> 5734 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-populate/6"</span>) -<span id="L5735" class="LineNr"> 5735 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-populate/7"</span>) -<span id="L5736" class="LineNr"> 5736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='308allocate-array.subx.html#L6'>allocate-array2</a> <a href='120allocate.subx.html#L27'>Heap</a> 0x00000004 7 %ecx)"</span> <span class="Constant">"F - test-convert-function-with-populate/8"</span>) <span class="subxComment"># 4 = size-of(int)</span> -<span id="L5737" class="LineNr"> 5737 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-populate/9"</span>) -<span id="L5738" class="LineNr"> 5738 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-populate/10"</span>) -<span id="L5739" class="LineNr"> 5739 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-populate/11"</span>) +<span id="L5730" class="LineNr"> 5730 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/2"</span>) +<span id="L5731" class="LineNr"> 5731 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/3"</span>) +<span id="L5732" class="LineNr"> 5732 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/4"</span>) +<span id="L5733" class="LineNr"> 5733 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/5"</span>) +<span id="L5734" class="LineNr"> 5734 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/6"</span>) +<span id="L5735" class="LineNr"> 5735 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/7"</span>) +<span id="L5736" class="LineNr"> 5736 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='308allocate-array.subx.html#L6'>allocate-array2</a> <a href='120allocate.subx.html#L27'>Heap</a> 0x00000004 7 %ecx)"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/8"</span>) <span class="subxComment"># 4 = size-of(int)</span> +<span id="L5737" class="LineNr"> 5737 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/9"</span>) +<span id="L5738" class="LineNr"> 5738 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/10"</span>) +<span id="L5739" class="LineNr"> 5739 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/11"</span>) <span id="L5740" class="LineNr"> 5740 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-populate/12"</span>) -<span id="L5741" class="LineNr"> 5741 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-populate/13"</span>) -<span id="L5742" class="LineNr"> 5742 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-populate/14"</span>) -<span id="L5743" class="LineNr"> 5743 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-populate/15"</span>) +<span id="L5741" class="LineNr"> 5741 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/13"</span>) +<span id="L5742" class="LineNr"> 5742 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/14"</span>) +<span id="L5743" class="LineNr"> 5743 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5704'>test-convert-function-with-populate</a>/15"</span>) <span id="L5744" class="LineNr"> 5744 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5745" class="LineNr"> 5745 </span> 89/<- %esp 5/r32/ebp <span id="L5746" class="LineNr"> 5746 </span> 5d/pop-to-ebp @@ -5288,28 +5288,28 @@ if ('onhashchange' in window) { <span id="L5761" class="LineNr"> 5761 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x: (array byte 3)\n"</span>) <span id="L5762" class="LineNr"> 5762 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5763" class="LineNr"> 5763 </span> <span class="subxComment"># convert</span> -<span id="L5764" class="LineNr"> 5764 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5764" class="LineNr"> 5764 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5765" class="LineNr"> 5765 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5766" class="Folded"> 5766 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5772" class="LineNr"> 5772 </span> <span class="subxComment"># check output</span> -<span id="L5773" class="LineNr"> 5773 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/0"</span>) +<span id="L5773" class="LineNr"> 5773 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/0"</span>) <span id="L5774" class="LineNr"> 5774 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/1"</span>) -<span id="L5775" class="LineNr"> 5775 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/2"</span>) -<span id="L5776" class="LineNr"> 5776 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/3"</span>) -<span id="L5777" class="LineNr"> 5777 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/4"</span>) -<span id="L5778" class="LineNr"> 5778 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/5"</span>) +<span id="L5775" class="LineNr"> 5775 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/2"</span>) +<span id="L5776" class="LineNr"> 5776 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/3"</span>) +<span id="L5777" class="LineNr"> 5777 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/4"</span>) +<span id="L5778" class="LineNr"> 5778 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/5"</span>) <span id="L5779" class="LineNr"> 5779 </span> <span class="subxComment"># define x</span> -<span id="L5780" class="LineNr"> 5780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x00000003)"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/7"</span>) -<span id="L5781" class="LineNr"> 5781 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x00000003/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/8"</span>) +<span id="L5780" class="LineNr"> 5780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x00000003)"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/7"</span>) +<span id="L5781" class="LineNr"> 5781 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x00000003/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/8"</span>) <span id="L5782" class="LineNr"> 5782 </span> <span class="subxComment"># reclaim x</span> -<span id="L5783" class="LineNr"> 5783 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000007/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/9"</span>) +<span id="L5783" class="LineNr"> 5783 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000007/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/9"</span>) <span id="L5784" class="LineNr"> 5784 </span> <span class="subxComment">#</span> -<span id="L5785" class="LineNr"> 5785 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/10"</span>) -<span id="L5786" class="LineNr"> 5786 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/11"</span>) +<span id="L5785" class="LineNr"> 5785 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/10"</span>) +<span id="L5786" class="LineNr"> 5786 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/11"</span>) <span id="L5787" class="LineNr"> 5787 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/12"</span>) -<span id="L5788" class="LineNr"> 5788 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/13"</span>) -<span id="L5789" class="LineNr"> 5789 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/14"</span>) -<span id="L5790" class="LineNr"> 5790 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-array-of-bytes-in-mem/15"</span>) +<span id="L5788" class="LineNr"> 5788 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/13"</span>) +<span id="L5789" class="LineNr"> 5789 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/14"</span>) +<span id="L5790" class="LineNr"> 5790 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5750'>test-convert-function-with-local-array-of-bytes-in-mem</a>/15"</span>) <span id="L5791" class="LineNr"> 5791 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5792" class="LineNr"> 5792 </span> 89/<- %esp 5/r32/ebp <span id="L5793" class="LineNr"> 5793 </span> 5d/pop-to-ebp @@ -5330,27 +5330,27 @@ if ('onhashchange' in window) { <span id="L5808" class="LineNr"> 5808 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/eax: (addr int) <- address a\n"</span>) <span id="L5809" class="LineNr"> 5809 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5810" class="LineNr"> 5810 </span> <span class="subxComment"># convert</span> -<span id="L5811" class="LineNr"> 5811 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5811" class="LineNr"> 5811 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5812" class="LineNr"> 5812 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5813" class="Folded"> 5813 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5819" class="LineNr"> 5819 </span> <span class="subxComment"># check output</span> -<span id="L5820" class="LineNr"> 5820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-address/0"</span>) +<span id="L5820" class="LineNr"> 5820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/0"</span>) <span id="L5821" class="LineNr"> 5821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-address/1"</span>) -<span id="L5822" class="LineNr"> 5822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-address/2"</span>) -<span id="L5823" class="LineNr"> 5823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-address/3"</span>) -<span id="L5824" class="LineNr"> 5824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-address/4"</span>) -<span id="L5825" class="LineNr"> 5825 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-address/5"</span>) -<span id="L5826" class="LineNr"> 5826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-address/6"</span>) -<span id="L5827" class="LineNr"> 5827 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-address/7"</span>) -<span id="L5828" class="LineNr"> 5828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-address/8"</span>) -<span id="L5829" class="LineNr"> 5829 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-address/9"</span>) -<span id="L5830" class="LineNr"> 5830 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-address/10"</span>) -<span id="L5831" class="LineNr"> 5831 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-address/11"</span>) -<span id="L5832" class="LineNr"> 5832 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-address/12"</span>) +<span id="L5822" class="LineNr"> 5822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/2"</span>) +<span id="L5823" class="LineNr"> 5823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/3"</span>) +<span id="L5824" class="LineNr"> 5824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/4"</span>) +<span id="L5825" class="LineNr"> 5825 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/5"</span>) +<span id="L5826" class="LineNr"> 5826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/6"</span>) +<span id="L5827" class="LineNr"> 5827 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/7"</span>) +<span id="L5828" class="LineNr"> 5828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/8"</span>) +<span id="L5829" class="LineNr"> 5829 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/9"</span>) +<span id="L5830" class="LineNr"> 5830 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/10"</span>) +<span id="L5831" class="LineNr"> 5831 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/11"</span>) +<span id="L5832" class="LineNr"> 5832 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/12"</span>) <span id="L5833" class="LineNr"> 5833 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-address/13"</span>) -<span id="L5834" class="LineNr"> 5834 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-address/14"</span>) -<span id="L5835" class="LineNr"> 5835 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-address/15"</span>) -<span id="L5836" class="LineNr"> 5836 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-address/16"</span>) +<span id="L5834" class="LineNr"> 5834 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/14"</span>) +<span id="L5835" class="LineNr"> 5835 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/15"</span>) +<span id="L5836" class="LineNr"> 5836 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5796'>test-convert-address</a>/16"</span>) <span id="L5837" class="LineNr"> 5837 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5838" class="LineNr"> 5838 </span> 89/<- %esp 5/r32/ebp <span id="L5839" class="LineNr"> 5839 </span> 5d/pop-to-ebp @@ -5371,30 +5371,30 @@ if ('onhashchange' in window) { <span id="L5854" class="LineNr"> 5854 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/xmm1: float <- convert a\n"</span>) <span id="L5855" class="LineNr"> 5855 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5856" class="LineNr"> 5856 </span> <span class="subxComment"># convert</span> -<span id="L5857" class="LineNr"> 5857 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5857" class="LineNr"> 5857 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5858" class="LineNr"> 5858 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5859" class="Folded"> 5859 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5865" class="LineNr"> 5865 </span> <span class="subxComment"># check output</span> -<span id="L5866" class="LineNr"> 5866 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-floating-point-convert/0"</span>) +<span id="L5866" class="LineNr"> 5866 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/0"</span>) <span id="L5867" class="LineNr"> 5867 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-floating-point-convert/1"</span>) -<span id="L5868" class="LineNr"> 5868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert/2"</span>) -<span id="L5869" class="LineNr"> 5869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-floating-point-convert/3"</span>) -<span id="L5870" class="LineNr"> 5870 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-floating-point-convert/4"</span>) -<span id="L5871" class="LineNr"> 5871 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-floating-point-convert/5"</span>) -<span id="L5872" class="LineNr"> 5872 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-floating-point-convert/6"</span>) -<span id="L5873" class="LineNr"> 5873 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-floating-point-convert/7"</span>) -<span id="L5874" class="LineNr"> 5874 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-convert/8"</span>) -<span id="L5875" class="LineNr"> 5875 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert/9"</span>) -<span id="L5876" class="LineNr"> 5876 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert/10"</span>) -<span id="L5877" class="LineNr"> 5877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert/11"</span>) +<span id="L5868" class="LineNr"> 5868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/2"</span>) +<span id="L5869" class="LineNr"> 5869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/3"</span>) +<span id="L5870" class="LineNr"> 5870 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/4"</span>) +<span id="L5871" class="LineNr"> 5871 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/5"</span>) +<span id="L5872" class="LineNr"> 5872 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/6"</span>) +<span id="L5873" class="LineNr"> 5873 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/7"</span>) +<span id="L5874" class="LineNr"> 5874 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/8"</span>) +<span id="L5875" class="LineNr"> 5875 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/9"</span>) +<span id="L5876" class="LineNr"> 5876 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/10"</span>) +<span id="L5877" class="LineNr"> 5877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/11"</span>) <span id="L5878" class="LineNr"> 5878 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-floating-point-convert/12"</span>) -<span id="L5879" class="LineNr"> 5879 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-floating-point-convert/13"</span>) -<span id="L5880" class="LineNr"> 5880 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-floating-point-convert/14"</span>) -<span id="L5881" class="LineNr"> 5881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-floating-point-convert/15"</span>) +<span id="L5879" class="LineNr"> 5879 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/13"</span>) +<span id="L5880" class="LineNr"> 5880 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/14"</span>) +<span id="L5881" class="LineNr"> 5881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/15"</span>) <span id="L5882" class="LineNr"> 5882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-floating-point-convert/16"</span>) -<span id="L5883" class="LineNr"> 5883 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert/17"</span>) -<span id="L5884" class="LineNr"> 5884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert/18"</span>) -<span id="L5885" class="LineNr"> 5885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-floating-point-convert/19"</span>) +<span id="L5883" class="LineNr"> 5883 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/17"</span>) +<span id="L5884" class="LineNr"> 5884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/18"</span>) +<span id="L5885" class="LineNr"> 5885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5842'>test-convert-floating-point-convert</a>/19"</span>) <span id="L5886" class="LineNr"> 5886 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5887" class="LineNr"> 5887 </span> 89/<- %esp 5/r32/ebp <span id="L5888" class="LineNr"> 5888 </span> 5d/pop-to-ebp @@ -5416,31 +5416,31 @@ if ('onhashchange' in window) { <span id="L5904" class="LineNr"> 5904 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" a <- convert b\n"</span>) <span id="L5905" class="LineNr"> 5905 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5906" class="LineNr"> 5906 </span> <span class="subxComment"># convert</span> -<span id="L5907" class="LineNr"> 5907 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5907" class="LineNr"> 5907 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5908" class="LineNr"> 5908 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5909" class="Folded"> 5909 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5915" class="LineNr"> 5915 </span> <span class="subxComment"># check output</span> -<span id="L5916" class="LineNr"> 5916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/0"</span>) +<span id="L5916" class="LineNr"> 5916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/0"</span>) <span id="L5917" class="LineNr"> 5917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/1"</span>) -<span id="L5918" class="LineNr"> 5918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/2"</span>) -<span id="L5919" class="LineNr"> 5919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/3"</span>) -<span id="L5920" class="LineNr"> 5920 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/4"</span>) -<span id="L5921" class="LineNr"> 5921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/5"</span>) -<span id="L5922" class="LineNr"> 5922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/6"</span>) -<span id="L5923" class="LineNr"> 5923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/7"</span>) -<span id="L5924" class="LineNr"> 5924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/8"</span>) -<span id="L5925" class="LineNr"> 5925 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/9"</span>) -<span id="L5926" class="LineNr"> 5926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/10"</span>) -<span id="L5927" class="LineNr"> 5927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2d/convert-to-int %xmm1 0x00000000/r32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/11"</span>) -<span id="L5928" class="LineNr"> 5928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/12"</span>) +<span id="L5918" class="LineNr"> 5918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/2"</span>) +<span id="L5919" class="LineNr"> 5919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/3"</span>) +<span id="L5920" class="LineNr"> 5920 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/4"</span>) +<span id="L5921" class="LineNr"> 5921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/5"</span>) +<span id="L5922" class="LineNr"> 5922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/6"</span>) +<span id="L5923" class="LineNr"> 5923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/7"</span>) +<span id="L5924" class="LineNr"> 5924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/8"</span>) +<span id="L5925" class="LineNr"> 5925 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/9"</span>) +<span id="L5926" class="LineNr"> 5926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/10"</span>) +<span id="L5927" class="LineNr"> 5927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2d/convert-to-int %xmm1 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/11"</span>) +<span id="L5928" class="LineNr"> 5928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/12"</span>) <span id="L5929" class="LineNr"> 5929 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-floating-point-convert-2/13"</span>) -<span id="L5930" class="LineNr"> 5930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/14"</span>) -<span id="L5931" class="LineNr"> 5931 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/15"</span>) -<span id="L5932" class="LineNr"> 5932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/16"</span>) +<span id="L5930" class="LineNr"> 5930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/14"</span>) +<span id="L5931" class="LineNr"> 5931 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/15"</span>) +<span id="L5932" class="LineNr"> 5932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/16"</span>) <span id="L5933" class="LineNr"> 5933 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/17"</span>) -<span id="L5934" class="LineNr"> 5934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/18"</span>) -<span id="L5935" class="LineNr"> 5935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/19"</span>) -<span id="L5936" class="LineNr"> 5936 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-floating-point-convert-2/20"</span>) +<span id="L5934" class="LineNr"> 5934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/18"</span>) +<span id="L5935" class="LineNr"> 5935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/19"</span>) +<span id="L5936" class="LineNr"> 5936 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5891'>test-convert-floating-point-convert-2</a>/20"</span>) <span id="L5937" class="LineNr"> 5937 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L5938" class="LineNr"> 5938 </span> 89/<- %esp 5/r32/ebp <span id="L5939" class="LineNr"> 5939 </span> 5d/pop-to-ebp @@ -5484,56 +5484,56 @@ if ('onhashchange' in window) { <span id="L5977" class="LineNr"> 5977 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, m\n"</span>) <span id="L5978" class="LineNr"> 5978 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L5979" class="LineNr"> 5979 </span> <span class="subxComment"># convert</span> -<span id="L5980" class="LineNr"> 5980 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L5980" class="LineNr"> 5980 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L5981" class="LineNr"> 5981 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L5982" class="Folded"> 5982 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L5988" class="LineNr"> 5988 </span> <span class="subxComment"># check output</span> -<span id="L5989" class="LineNr"> 5989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-floating-point-operation/0"</span>) +<span id="L5989" class="LineNr"> 5989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/0"</span>) <span id="L5990" class="LineNr"> 5990 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-floating-point-operation/1"</span>) -<span id="L5991" class="LineNr"> 5991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-floating-point-operation/2"</span>) -<span id="L5992" class="LineNr"> 5992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-floating-point-operation/3"</span>) -<span id="L5993" class="LineNr"> 5993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-floating-point-operation/4"</span>) -<span id="L5994" class="LineNr"> 5994 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-floating-point-operation/5"</span>) -<span id="L5995" class="LineNr"> 5995 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/6"</span>) -<span id="L5996" class="LineNr"> 5996 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/7"</span>) -<span id="L5997" class="LineNr"> 5997 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/8"</span>) -<span id="L5998" class="LineNr"> 5998 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/9"</span>) -<span id="L5999" class="LineNr"> 5999 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/10"</span>) -<span id="L6000" class="LineNr"> 6000 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 5/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/11"</span>) -<span id="L6001" class="LineNr"> 6001 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000005/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/12"</span>) -<span id="L6002" class="LineNr"> 6002 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/copy %xmm1 0x00000005/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/13"</span>) -<span id="L6003" class="LineNr"> 6003 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/copy *(ebp+0xfffffffc) 0x00000005/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/14"</span>) -<span id="L6004" class="LineNr"> 6004 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 58/add %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/15"</span>) -<span id="L6005" class="LineNr"> 6005 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 58/add *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/16"</span>) -<span id="L6006" class="LineNr"> 6006 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5c/subtract %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/17"</span>) -<span id="L6007" class="LineNr"> 6007 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5c/subtract *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/18"</span>) -<span id="L6008" class="LineNr"> 6008 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/19"</span>) -<span id="L6009" class="LineNr"> 6009 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/20"</span>) -<span id="L6010" class="LineNr"> 6010 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5e/divide %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/21"</span>) -<span id="L6011" class="LineNr"> 6011 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5e/divide *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/22"</span>) -<span id="L6012" class="LineNr"> 6012 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 53/reciprocal %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/23"</span>) -<span id="L6013" class="LineNr"> 6013 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 53/reciprocal *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/24"</span>) -<span id="L6014" class="LineNr"> 6014 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 51/square-root %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/25"</span>) -<span id="L6015" class="LineNr"> 6015 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 51/square-root *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/26"</span>) -<span id="L6016" class="LineNr"> 6016 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 52/inverse-square-root %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/27"</span>) -<span id="L6017" class="LineNr"> 6017 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 52/inverse-square-root *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/28"</span>) -<span id="L6018" class="LineNr"> 6018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5f/max %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/29"</span>) -<span id="L6019" class="LineNr"> 6019 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5f/max *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/30"</span>) -<span id="L6020" class="LineNr"> 6020 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5d/min %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/31"</span>) -<span id="L6021" class="LineNr"> 6021 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5d/min *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/32"</span>) -<span id="L6022" class="LineNr"> 6022 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 2f/compare %xmm5 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/33"</span>) -<span id="L6023" class="LineNr"> 6023 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 2f/compare *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/34"</span>) -<span id="L6024" class="LineNr"> 6024 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 5/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/35"</span>) -<span id="L6025" class="LineNr"> 6025 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/36"</span>) -<span id="L6026" class="LineNr"> 6026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-operation/37"</span>) -<span id="L6027" class="LineNr"> 6027 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/38"</span>) -<span id="L6028" class="LineNr"> 6028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-floating-point-operation/39"</span>) -<span id="L6029" class="LineNr"> 6029 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-floating-point-operation/40"</span>) -<span id="L6030" class="LineNr"> 6030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-floating-point-operation/41"</span>) +<span id="L5991" class="LineNr"> 5991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/2"</span>) +<span id="L5992" class="LineNr"> 5992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/3"</span>) +<span id="L5993" class="LineNr"> 5993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/4"</span>) +<span id="L5994" class="LineNr"> 5994 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/5"</span>) +<span id="L5995" class="LineNr"> 5995 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/6"</span>) +<span id="L5996" class="LineNr"> 5996 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/7"</span>) +<span id="L5997" class="LineNr"> 5997 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/8"</span>) +<span id="L5998" class="LineNr"> 5998 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/9"</span>) +<span id="L5999" class="LineNr"> 5999 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/10"</span>) +<span id="L6000" class="LineNr"> 6000 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 5/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/11"</span>) +<span id="L6001" class="LineNr"> 6001 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000005/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/12"</span>) +<span id="L6002" class="LineNr"> 6002 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/copy %xmm1 0x00000005/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/13"</span>) +<span id="L6003" class="LineNr"> 6003 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/copy *(ebp+0xfffffffc) 0x00000005/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/14"</span>) +<span id="L6004" class="LineNr"> 6004 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 58/add %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/15"</span>) +<span id="L6005" class="LineNr"> 6005 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 58/add *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/16"</span>) +<span id="L6006" class="LineNr"> 6006 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5c/subtract %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/17"</span>) +<span id="L6007" class="LineNr"> 6007 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5c/subtract *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/18"</span>) +<span id="L6008" class="LineNr"> 6008 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/19"</span>) +<span id="L6009" class="LineNr"> 6009 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/20"</span>) +<span id="L6010" class="LineNr"> 6010 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5e/divide %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/21"</span>) +<span id="L6011" class="LineNr"> 6011 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5e/divide *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/22"</span>) +<span id="L6012" class="LineNr"> 6012 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 53/reciprocal %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/23"</span>) +<span id="L6013" class="LineNr"> 6013 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 53/reciprocal *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/24"</span>) +<span id="L6014" class="LineNr"> 6014 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 51/square-root %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/25"</span>) +<span id="L6015" class="LineNr"> 6015 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 51/square-root *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/26"</span>) +<span id="L6016" class="LineNr"> 6016 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 52/inverse-square-root %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/27"</span>) +<span id="L6017" class="LineNr"> 6017 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 52/inverse-square-root *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/28"</span>) +<span id="L6018" class="LineNr"> 6018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5f/max %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/29"</span>) +<span id="L6019" class="LineNr"> 6019 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5f/max *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/30"</span>) +<span id="L6020" class="LineNr"> 6020 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5d/min %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/31"</span>) +<span id="L6021" class="LineNr"> 6021 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 5d/min *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/32"</span>) +<span id="L6022" class="LineNr"> 6022 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 2f/compare %xmm5 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/33"</span>) +<span id="L6023" class="LineNr"> 6023 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 2f/compare *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/34"</span>) +<span id="L6024" class="LineNr"> 6024 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 5/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/35"</span>) +<span id="L6025" class="LineNr"> 6025 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/36"</span>) +<span id="L6026" class="LineNr"> 6026 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/37"</span>) +<span id="L6027" class="LineNr"> 6027 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/38"</span>) +<span id="L6028" class="LineNr"> 6028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/39"</span>) +<span id="L6029" class="LineNr"> 6029 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/40"</span>) +<span id="L6030" class="LineNr"> 6030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/41"</span>) <span id="L6031" class="LineNr"> 6031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-floating-point-operation/42"</span>) -<span id="L6032" class="LineNr"> 6032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-floating-point-operation/43"</span>) -<span id="L6033" class="LineNr"> 6033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-floating-point-operation/44"</span>) -<span id="L6034" class="LineNr"> 6034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-floating-point-operation/45"</span>) +<span id="L6032" class="LineNr"> 6032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/43"</span>) +<span id="L6033" class="LineNr"> 6033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/44"</span>) +<span id="L6034" class="LineNr"> 6034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L5942'>test-convert-floating-point-operation</a>/45"</span>) <span id="L6035" class="LineNr"> 6035 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6036" class="LineNr"> 6036 </span> 89/<- %esp 5/r32/ebp <span id="L6037" class="LineNr"> 6037 </span> 5d/pop-to-ebp @@ -5556,33 +5556,33 @@ if ('onhashchange' in window) { <span id="L6054" class="LineNr"> 6054 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- multiply *y\n"</span>) <span id="L6055" class="LineNr"> 6055 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6056" class="LineNr"> 6056 </span> <span class="subxComment"># convert</span> -<span id="L6057" class="LineNr"> 6057 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6057" class="LineNr"> 6057 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6058" class="LineNr"> 6058 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6059" class="Folded"> 6059 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6065" class="LineNr"> 6065 </span> <span class="subxComment"># check output</span> -<span id="L6066" class="LineNr"> 6066 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/0"</span>) +<span id="L6066" class="LineNr"> 6066 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/0"</span>) <span id="L6067" class="LineNr"> 6067 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/1"</span>) -<span id="L6068" class="LineNr"> 6068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/2"</span>) -<span id="L6069" class="LineNr"> 6069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/3"</span>) -<span id="L6070" class="LineNr"> 6070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/4"</span>) -<span id="L6071" class="LineNr"> 6071 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/5"</span>) -<span id="L6072" class="LineNr"> 6072 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/6"</span>) -<span id="L6073" class="LineNr"> 6073 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/7"</span>) -<span id="L6074" class="LineNr"> 6074 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/8"</span>) -<span id="L6075" class="LineNr"> 6075 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/9"</span>) -<span id="L6076" class="LineNr"> 6076 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/10"</span>) -<span id="L6077" class="LineNr"> 6077 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/11"</span>) -<span id="L6078" class="LineNr"> 6078 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply *eax 0x00000001/x32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/12"</span>) -<span id="L6079" class="LineNr"> 6079 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/13"</span>) -<span id="L6080" class="LineNr"> 6080 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/14"</span>) -<span id="L6081" class="LineNr"> 6081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/15"</span>) -<span id="L6082" class="LineNr"> 6082 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/16"</span>) -<span id="L6083" class="LineNr"> 6083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/17"</span>) -<span id="L6084" class="LineNr"> 6084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/18"</span>) +<span id="L6068" class="LineNr"> 6068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/2"</span>) +<span id="L6069" class="LineNr"> 6069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/3"</span>) +<span id="L6070" class="LineNr"> 6070 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/4"</span>) +<span id="L6071" class="LineNr"> 6071 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/5"</span>) +<span id="L6072" class="LineNr"> 6072 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/6"</span>) +<span id="L6073" class="LineNr"> 6073 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/7"</span>) +<span id="L6074" class="LineNr"> 6074 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/8"</span>) +<span id="L6075" class="LineNr"> 6075 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/copy *(ebp+0xfffffffc) 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/9"</span>) +<span id="L6076" class="LineNr"> 6076 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/10"</span>) +<span id="L6077" class="LineNr"> 6077 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/11"</span>) +<span id="L6078" class="LineNr"> 6078 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 59/multiply *eax 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/12"</span>) +<span id="L6079" class="LineNr"> 6079 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/13"</span>) +<span id="L6080" class="LineNr"> 6080 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/14"</span>) +<span id="L6081" class="LineNr"> 6081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/15"</span>) +<span id="L6082" class="LineNr"> 6082 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/16"</span>) +<span id="L6083" class="LineNr"> 6083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/17"</span>) +<span id="L6084" class="LineNr"> 6084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/18"</span>) <span id="L6085" class="LineNr"> 6085 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/19"</span>) -<span id="L6086" class="LineNr"> 6086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/20"</span>) -<span id="L6087" class="LineNr"> 6087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/21"</span>) -<span id="L6088" class="LineNr"> 6088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/22"</span>) +<span id="L6086" class="LineNr"> 6086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/20"</span>) +<span id="L6087" class="LineNr"> 6087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/21"</span>) +<span id="L6088" class="LineNr"> 6088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/22"</span>) <span id="L6089" class="LineNr"> 6089 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6090" class="LineNr"> 6090 </span> 89/<- %esp 5/r32/ebp <span id="L6091" class="LineNr"> 6091 </span> 5d/pop-to-ebp @@ -5603,27 +5603,27 @@ if ('onhashchange' in window) { <span id="L6106" class="LineNr"> 6106 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/eax: int <- length b\n"</span>) <span id="L6107" class="LineNr"> 6107 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6108" class="LineNr"> 6108 </span> <span class="subxComment"># convert</span> -<span id="L6109" class="LineNr"> 6109 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6109" class="LineNr"> 6109 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6110" class="LineNr"> 6110 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6111" class="Folded"> 6111 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6117" class="LineNr"> 6117 </span> <span class="subxComment"># check output</span> -<span id="L6118" class="LineNr"> 6118 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array/0"</span>) +<span id="L6118" class="LineNr"> 6118 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/0"</span>) <span id="L6119" class="LineNr"> 6119 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array/1"</span>) -<span id="L6120" class="LineNr"> 6120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array/2"</span>) -<span id="L6121" class="LineNr"> 6121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array/3"</span>) -<span id="L6122" class="LineNr"> 6122 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array/4"</span>) -<span id="L6123" class="LineNr"> 6123 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array/5"</span>) -<span id="L6124" class="LineNr"> 6124 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array/6"</span>) -<span id="L6125" class="LineNr"> 6125 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array/7"</span>) -<span id="L6126" class="LineNr"> 6126 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array/8"</span>) -<span id="L6127" class="LineNr"> 6127 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c1/shift 5/subop/>> %eax 0x00000002/imm8"</span> <span class="Constant">"F - test-convert-length-of-array/9"</span>) -<span id="L6128" class="LineNr"> 6128 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array/10"</span>) -<span id="L6129" class="LineNr"> 6129 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array/11"</span>) -<span id="L6130" class="LineNr"> 6130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array/12"</span>) +<span id="L6120" class="LineNr"> 6120 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/2"</span>) +<span id="L6121" class="LineNr"> 6121 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/3"</span>) +<span id="L6122" class="LineNr"> 6122 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/4"</span>) +<span id="L6123" class="LineNr"> 6123 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/5"</span>) +<span id="L6124" class="LineNr"> 6124 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/6"</span>) +<span id="L6125" class="LineNr"> 6125 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/7"</span>) +<span id="L6126" class="LineNr"> 6126 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/8"</span>) +<span id="L6127" class="LineNr"> 6127 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c1/shift 5/subop/>> %eax 0x00000002/imm8"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/9"</span>) +<span id="L6128" class="LineNr"> 6128 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/10"</span>) +<span id="L6129" class="LineNr"> 6129 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/11"</span>) +<span id="L6130" class="LineNr"> 6130 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/12"</span>) <span id="L6131" class="LineNr"> 6131 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array/13"</span>) -<span id="L6132" class="LineNr"> 6132 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array/14"</span>) -<span id="L6133" class="LineNr"> 6133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array/15"</span>) -<span id="L6134" class="LineNr"> 6134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array/16"</span>) +<span id="L6132" class="LineNr"> 6132 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/14"</span>) +<span id="L6133" class="LineNr"> 6133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/15"</span>) +<span id="L6134" class="LineNr"> 6134 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6094'>test-convert-length-of-array</a>/16"</span>) <span id="L6135" class="LineNr"> 6135 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6136" class="LineNr"> 6136 </span> 89/<- %esp 5/r32/ebp <span id="L6137" class="LineNr"> 6137 </span> 5d/pop-to-ebp @@ -5645,26 +5645,26 @@ if ('onhashchange' in window) { <span id="L6153" class="LineNr"> 6153 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/eax: int <- length b\n"</span>) <span id="L6154" class="LineNr"> 6154 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6155" class="LineNr"> 6155 </span> <span class="subxComment"># convert</span> -<span id="L6156" class="LineNr"> 6156 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6156" class="LineNr"> 6156 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6157" class="LineNr"> 6157 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6158" class="Folded"> 6158 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6164" class="LineNr"> 6164 </span> <span class="subxComment"># check output</span> -<span id="L6165" class="LineNr"> 6165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/0"</span>) +<span id="L6165" class="LineNr"> 6165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/0"</span>) <span id="L6166" class="LineNr"> 6166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/1"</span>) -<span id="L6167" class="LineNr"> 6167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/2"</span>) -<span id="L6168" class="LineNr"> 6168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/3"</span>) -<span id="L6169" class="LineNr"> 6169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/4"</span>) -<span id="L6170" class="LineNr"> 6170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/5"</span>) -<span id="L6171" class="LineNr"> 6171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/6"</span>) -<span id="L6172" class="LineNr"> 6172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/7"</span>) -<span id="L6173" class="LineNr"> 6173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/8"</span>) -<span id="L6174" class="LineNr"> 6174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/9"</span>) -<span id="L6175" class="LineNr"> 6175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/10"</span>) -<span id="L6176" class="LineNr"> 6176 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/11"</span>) +<span id="L6167" class="LineNr"> 6167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/2"</span>) +<span id="L6168" class="LineNr"> 6168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/3"</span>) +<span id="L6169" class="LineNr"> 6169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/4"</span>) +<span id="L6170" class="LineNr"> 6170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/5"</span>) +<span id="L6171" class="LineNr"> 6171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/6"</span>) +<span id="L6172" class="LineNr"> 6172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/7"</span>) +<span id="L6173" class="LineNr"> 6173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/8"</span>) +<span id="L6174" class="LineNr"> 6174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/9"</span>) +<span id="L6175" class="LineNr"> 6175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/10"</span>) +<span id="L6176" class="LineNr"> 6176 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/11"</span>) <span id="L6177" class="LineNr"> 6177 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/12"</span>) -<span id="L6178" class="LineNr"> 6178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/13"</span>) -<span id="L6179" class="LineNr"> 6179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/14"</span>) -<span id="L6180" class="LineNr"> 6180 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-of-bytes/15"</span>) +<span id="L6178" class="LineNr"> 6178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/13"</span>) +<span id="L6179" class="LineNr"> 6179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/14"</span>) +<span id="L6180" class="LineNr"> 6180 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6141'>test-convert-length-of-array-of-bytes</a>/15"</span>) <span id="L6181" class="LineNr"> 6181 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6182" class="LineNr"> 6182 </span> 89/<- %esp 5/r32/ebp <span id="L6183" class="LineNr"> 6183 </span> 5d/pop-to-ebp @@ -5685,30 +5685,30 @@ if ('onhashchange' in window) { <span id="L6198" class="LineNr"> 6198 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/eax: int <- length a\n"</span>) <span id="L6199" class="LineNr"> 6199 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6200" class="LineNr"> 6200 </span> <span class="subxComment"># convert</span> -<span id="L6201" class="LineNr"> 6201 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6201" class="LineNr"> 6201 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6202" class="LineNr"> 6202 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6203" class="Folded"> 6203 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6209" class="LineNr"> 6209 </span> <span class="subxComment"># check output</span> -<span id="L6210" class="LineNr"> 6210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/0"</span>) +<span id="L6210" class="LineNr"> 6210 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/0"</span>) <span id="L6211" class="LineNr"> 6211 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/1"</span>) -<span id="L6212" class="LineNr"> 6212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/2"</span>) -<span id="L6213" class="LineNr"> 6213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/3"</span>) -<span id="L6214" class="LineNr"> 6214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/4"</span>) -<span id="L6215" class="LineNr"> 6215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/5"</span>) +<span id="L6212" class="LineNr"> 6212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/2"</span>) +<span id="L6213" class="LineNr"> 6213 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/3"</span>) +<span id="L6214" class="LineNr"> 6214 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/4"</span>) +<span id="L6215" class="LineNr"> 6215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/5"</span>) <span id="L6216" class="LineNr"> 6216 </span> <span class="subxComment"># define x</span> -<span id="L6217" class="LineNr"> 6217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/6"</span>) -<span id="L6218" class="LineNr"> 6218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/7"</span>) -<span id="L6219" class="LineNr"> 6219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/8"</span>) -<span id="L6220" class="LineNr"> 6220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffff0) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/9"</span>) -<span id="L6221" class="LineNr"> 6221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c1/shift 5/subop/>> %eax 0x00000002/imm8"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/10"</span>) -<span id="L6222" class="LineNr"> 6222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/11"</span>) -<span id="L6223" class="LineNr"> 6223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/12"</span>) -<span id="L6224" class="LineNr"> 6224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/13"</span>) -<span id="L6225" class="LineNr"> 6225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/14"</span>) +<span id="L6217" class="LineNr"> 6217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/6"</span>) +<span id="L6218" class="LineNr"> 6218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/7"</span>) +<span id="L6219" class="LineNr"> 6219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/8"</span>) +<span id="L6220" class="LineNr"> 6220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffff0) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/9"</span>) +<span id="L6221" class="LineNr"> 6221 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c1/shift 5/subop/>> %eax 0x00000002/imm8"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/10"</span>) +<span id="L6222" class="LineNr"> 6222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/11"</span>) +<span id="L6223" class="LineNr"> 6223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/12"</span>) +<span id="L6224" class="LineNr"> 6224 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/13"</span>) +<span id="L6225" class="LineNr"> 6225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/14"</span>) <span id="L6226" class="LineNr"> 6226 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/15"</span>) -<span id="L6227" class="LineNr"> 6227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/16"</span>) -<span id="L6228" class="LineNr"> 6228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/17"</span>) -<span id="L6229" class="LineNr"> 6229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-on-stack/18"</span>) +<span id="L6227" class="LineNr"> 6227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/16"</span>) +<span id="L6228" class="LineNr"> 6228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/17"</span>) +<span id="L6229" class="LineNr"> 6229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6186'>test-convert-length-of-array-on-stack</a>/18"</span>) <span id="L6230" class="LineNr"> 6230 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6231" class="LineNr"> 6231 </span> 89/<- %esp 5/r32/ebp <span id="L6232" class="LineNr"> 6232 </span> 5d/pop-to-ebp @@ -5736,7 +5736,7 @@ if ('onhashchange' in window) { <span id="L6254" class="LineNr"> 6254 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: int <- add x\n"</span>) <span id="L6255" class="LineNr"> 6255 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6256" class="LineNr"> 6256 </span> <span class="subxComment"># convert</span> -<span id="L6257" class="LineNr"> 6257 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L6257" class="LineNr"> 6257 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L6258" class="LineNr"> 6258 </span> <span class="subxComment"># registers except esp could be clobbered at this point (though they shouldn't be)</span> <span id="L6259" class="LineNr"> 6259 </span> <span class="subxComment"># restore ed</span> <span id="L6260" class="LineNr"> 6260 </span> 89/<- %edx 4/r32/esp @@ -5744,24 +5744,24 @@ if ('onhashchange' in window) { <span id="L6262" class="LineNr"> 6262 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L6263" class="Folded"> 6263 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6269" class="Folded"> 6269 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> -<span id="L6275" class="LineNr"> 6275 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) +<span id="L6275" class="LineNr"> 6275 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>: <a href='114error.subx.html#L9'>error</a> stream should be empty"</span>) <span id="L6276" class="LineNr"> 6276 </span> <span class="subxComment"># check output</span> -<span id="L6277" class="LineNr"> 6277 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/0"</span>) +<span id="L6277" class="LineNr"> 6277 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/0"</span>) <span id="L6278" class="LineNr"> 6278 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/1"</span>) -<span id="L6279" class="LineNr"> 6279 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/2"</span>) -<span id="L6280" class="LineNr"> 6280 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/3"</span>) -<span id="L6281" class="LineNr"> 6281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/4"</span>) -<span id="L6282" class="LineNr"> 6282 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/5"</span>) -<span id="L6283" class="LineNr"> 6283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/6"</span>) -<span id="L6284" class="LineNr"> 6284 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/7"</span>) -<span id="L6285" class="LineNr"> 6285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 01/add-to %eax 0x00000000/r32"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/8"</span>) -<span id="L6286" class="LineNr"> 6286 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/9"</span>) -<span id="L6287" class="LineNr"> 6287 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/10"</span>) -<span id="L6288" class="LineNr"> 6288 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/11"</span>) +<span id="L6279" class="LineNr"> 6279 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/2"</span>) +<span id="L6280" class="LineNr"> 6280 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/3"</span>) +<span id="L6281" class="LineNr"> 6281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/4"</span>) +<span id="L6282" class="LineNr"> 6282 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/5"</span>) +<span id="L6283" class="LineNr"> 6283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/6"</span>) +<span id="L6284" class="LineNr"> 6284 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/7"</span>) +<span id="L6285" class="LineNr"> 6285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 01/add-to %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/8"</span>) +<span id="L6286" class="LineNr"> 6286 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/9"</span>) +<span id="L6287" class="LineNr"> 6287 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/10"</span>) +<span id="L6288" class="LineNr"> 6288 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/11"</span>) <span id="L6289" class="LineNr"> 6289 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/12"</span>) -<span id="L6290" class="LineNr"> 6290 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/13"</span>) -<span id="L6291" class="LineNr"> 6291 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/14"</span>) -<span id="L6292" class="LineNr"> 6292 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-reg-var-def-with-read-of-same-register/15"</span>) +<span id="L6290" class="LineNr"> 6290 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/13"</span>) +<span id="L6291" class="LineNr"> 6291 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/14"</span>) +<span id="L6292" class="LineNr"> 6292 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6235'>test-reg-var-def-with-read-of-same-register</a>/15"</span>) <span id="L6293" class="LineNr"> 6293 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L6294" class="LineNr"> 6294 </span> 81 0/subop/add %esp 8/imm32 <span id="L6295" class="LineNr"> 6295 </span> <span class="subxS1Comment"># . epilogue</span> @@ -5784,32 +5784,32 @@ if ('onhashchange' in window) { <span id="L6312" class="LineNr"> 6312 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, idx\n"</span>) <span id="L6313" class="LineNr"> 6313 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6314" class="LineNr"> 6314 </span> <span class="subxComment"># convert</span> -<span id="L6315" class="LineNr"> 6315 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6315" class="LineNr"> 6315 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6316" class="LineNr"> 6316 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6317" class="Folded"> 6317 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6323" class="LineNr"> 6323 </span> <span class="subxComment"># check output</span> -<span id="L6324" class="LineNr"> 6324 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array/0"</span>) +<span id="L6324" class="LineNr"> 6324 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/0"</span>) <span id="L6325" class="LineNr"> 6325 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array/1"</span>) -<span id="L6326" class="LineNr"> 6326 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array/2"</span>) -<span id="L6327" class="LineNr"> 6327 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array/3"</span>) -<span id="L6328" class="LineNr"> 6328 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array/4"</span>) -<span id="L6329" class="LineNr"> 6329 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array/5"</span>) -<span id="L6330" class="LineNr"> 6330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array/6"</span>) -<span id="L6331" class="LineNr"> 6331 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array/7"</span>) -<span id="L6332" class="LineNr"> 6332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array/8"</span>) -<span id="L6333" class="LineNr"> 6333 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-index-into-array/9"</span>) -<span id="L6334" class="LineNr"> 6334 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000004 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array/10"</span>) -<span id="L6335" class="LineNr"> 6335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array/11"</span>) -<span id="L6336" class="LineNr"> 6336 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array/12"</span>) -<span id="L6337" class="LineNr"> 6337 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000002 + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array/13"</span>) -<span id="L6338" class="LineNr"> 6338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array/14"</span>) -<span id="L6339" class="LineNr"> 6339 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array/15"</span>) -<span id="L6340" class="LineNr"> 6340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array/16"</span>) -<span id="L6341" class="LineNr"> 6341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array/17"</span>) +<span id="L6326" class="LineNr"> 6326 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/2"</span>) +<span id="L6327" class="LineNr"> 6327 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/3"</span>) +<span id="L6328" class="LineNr"> 6328 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/4"</span>) +<span id="L6329" class="LineNr"> 6329 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/5"</span>) +<span id="L6330" class="LineNr"> 6330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/6"</span>) +<span id="L6331" class="LineNr"> 6331 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/7"</span>) +<span id="L6332" class="LineNr"> 6332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/8"</span>) +<span id="L6333" class="LineNr"> 6333 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/9"</span>) +<span id="L6334" class="LineNr"> 6334 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000004 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/10"</span>) +<span id="L6335" class="LineNr"> 6335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/11"</span>) +<span id="L6336" class="LineNr"> 6336 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/12"</span>) +<span id="L6337" class="LineNr"> 6337 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000002 + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/13"</span>) +<span id="L6338" class="LineNr"> 6338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/14"</span>) +<span id="L6339" class="LineNr"> 6339 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/15"</span>) +<span id="L6340" class="LineNr"> 6340 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/16"</span>) +<span id="L6341" class="LineNr"> 6341 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/17"</span>) <span id="L6342" class="LineNr"> 6342 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array/18"</span>) -<span id="L6343" class="LineNr"> 6343 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array/19"</span>) -<span id="L6344" class="LineNr"> 6344 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array/20"</span>) -<span id="L6345" class="LineNr"> 6345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array/21"</span>) +<span id="L6343" class="LineNr"> 6343 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/19"</span>) +<span id="L6344" class="LineNr"> 6344 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/20"</span>) +<span id="L6345" class="LineNr"> 6345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6299'>test-convert-index-into-array</a>/21"</span>) <span id="L6346" class="LineNr"> 6346 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6347" class="LineNr"> 6347 </span> 89/<- %esp 5/r32/ebp <span id="L6348" class="LineNr"> 6348 </span> 5d/pop-to-ebp @@ -5831,32 +5831,32 @@ if ('onhashchange' in window) { <span id="L6364" class="LineNr"> 6364 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr byte) <- index arr, idx\n"</span>) <span id="L6365" class="LineNr"> 6365 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6366" class="LineNr"> 6366 </span> <span class="subxComment"># convert</span> -<span id="L6367" class="LineNr"> 6367 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6367" class="LineNr"> 6367 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6368" class="LineNr"> 6368 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6369" class="Folded"> 6369 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6375" class="LineNr"> 6375 </span> <span class="subxComment"># check output</span> -<span id="L6376" class="LineNr"> 6376 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/0"</span>) +<span id="L6376" class="LineNr"> 6376 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/0"</span>) <span id="L6377" class="LineNr"> 6377 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/1"</span>) -<span id="L6378" class="LineNr"> 6378 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/2"</span>) -<span id="L6379" class="LineNr"> 6379 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/3"</span>) -<span id="L6380" class="LineNr"> 6380 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/4"</span>) -<span id="L6381" class="LineNr"> 6381 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/5"</span>) -<span id="L6382" class="LineNr"> 6382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/6"</span>) -<span id="L6383" class="LineNr"> 6383 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/7"</span>) -<span id="L6384" class="LineNr"> 6384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/8"</span>) -<span id="L6385" class="LineNr"> 6385 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/9"</span>) -<span id="L6386" class="LineNr"> 6386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000001 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/10"</span>) -<span id="L6387" class="LineNr"> 6387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/11"</span>) -<span id="L6388" class="LineNr"> 6388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/12"</span>) -<span id="L6389" class="LineNr"> 6389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000000 + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/13"</span>) -<span id="L6390" class="LineNr"> 6390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/14"</span>) -<span id="L6391" class="LineNr"> 6391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/15"</span>) -<span id="L6392" class="LineNr"> 6392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/16"</span>) -<span id="L6393" class="LineNr"> 6393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/17"</span>) +<span id="L6378" class="LineNr"> 6378 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/2"</span>) +<span id="L6379" class="LineNr"> 6379 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/3"</span>) +<span id="L6380" class="LineNr"> 6380 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/4"</span>) +<span id="L6381" class="LineNr"> 6381 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/5"</span>) +<span id="L6382" class="LineNr"> 6382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/6"</span>) +<span id="L6383" class="LineNr"> 6383 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/7"</span>) +<span id="L6384" class="LineNr"> 6384 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/8"</span>) +<span id="L6385" class="LineNr"> 6385 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/9"</span>) +<span id="L6386" class="LineNr"> 6386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000001 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/10"</span>) +<span id="L6387" class="LineNr"> 6387 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/11"</span>) +<span id="L6388" class="LineNr"> 6388 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/12"</span>) +<span id="L6389" class="LineNr"> 6389 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000000 + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/13"</span>) +<span id="L6390" class="LineNr"> 6390 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/14"</span>) +<span id="L6391" class="LineNr"> 6391 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/15"</span>) +<span id="L6392" class="LineNr"> 6392 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/16"</span>) +<span id="L6393" class="LineNr"> 6393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/17"</span>) <span id="L6394" class="LineNr"> 6394 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/18"</span>) -<span id="L6395" class="LineNr"> 6395 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/19"</span>) -<span id="L6396" class="LineNr"> 6396 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/20"</span>) -<span id="L6397" class="LineNr"> 6397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes/21"</span>) +<span id="L6395" class="LineNr"> 6395 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/19"</span>) +<span id="L6396" class="LineNr"> 6396 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/20"</span>) +<span id="L6397" class="LineNr"> 6397 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6351'>test-convert-index-into-array-of-bytes</a>/21"</span>) <span id="L6398" class="LineNr"> 6398 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6399" class="LineNr"> 6399 </span> 89/<- %esp 5/r32/ebp <span id="L6400" class="LineNr"> 6400 </span> 5d/pop-to-ebp @@ -5877,30 +5877,30 @@ if ('onhashchange' in window) { <span id="L6415" class="LineNr"> 6415 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, 2\n"</span>) <span id="L6416" class="LineNr"> 6416 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6417" class="LineNr"> 6417 </span> <span class="subxComment"># convert</span> -<span id="L6418" class="LineNr"> 6418 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6418" class="LineNr"> 6418 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6419" class="LineNr"> 6419 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6420" class="Folded"> 6420 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6426" class="LineNr"> 6426 </span> <span class="subxComment"># check output</span> -<span id="L6427" class="LineNr"> 6427 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/0"</span>) +<span id="L6427" class="LineNr"> 6427 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/0"</span>) <span id="L6428" class="LineNr"> 6428 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/1"</span>) -<span id="L6429" class="LineNr"> 6429 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/2"</span>) -<span id="L6430" class="LineNr"> 6430 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/3"</span>) -<span id="L6431" class="LineNr"> 6431 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/4"</span>) -<span id="L6432" class="LineNr"> 6432 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/5"</span>) -<span id="L6433" class="LineNr"> 6433 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/6"</span>) -<span id="L6434" class="LineNr"> 6434 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/7"</span>) -<span id="L6435" class="LineNr"> 6435 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000004 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/8"</span>) -<span id="L6436" class="LineNr"> 6436 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/9"</span>) -<span id="L6437" class="LineNr"> 6437 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/10"</span>) +<span id="L6429" class="LineNr"> 6429 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/2"</span>) +<span id="L6430" class="LineNr"> 6430 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/3"</span>) +<span id="L6431" class="LineNr"> 6431 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/4"</span>) +<span id="L6432" class="LineNr"> 6432 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/5"</span>) +<span id="L6433" class="LineNr"> 6433 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/6"</span>) +<span id="L6434" class="LineNr"> 6434 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/7"</span>) +<span id="L6435" class="LineNr"> 6435 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000004 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/8"</span>) +<span id="L6436" class="LineNr"> 6436 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/9"</span>) +<span id="L6437" class="LineNr"> 6437 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/10"</span>) <span id="L6438" class="LineNr"> 6438 </span> <span class="subxComment"># 2 * 4 bytes/elem + 4 bytes for size = offset 12</span> -<span id="L6439" class="LineNr"> 6439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x0000000c) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/11"</span>) -<span id="L6440" class="LineNr"> 6440 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/12"</span>) -<span id="L6441" class="LineNr"> 6441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/13"</span>) -<span id="L6442" class="LineNr"> 6442 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/14"</span>) +<span id="L6439" class="LineNr"> 6439 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x0000000c) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/11"</span>) +<span id="L6440" class="LineNr"> 6440 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/12"</span>) +<span id="L6441" class="LineNr"> 6441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/13"</span>) +<span id="L6442" class="LineNr"> 6442 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/14"</span>) <span id="L6443" class="LineNr"> 6443 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/15"</span>) -<span id="L6444" class="LineNr"> 6444 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/16"</span>) -<span id="L6445" class="LineNr"> 6445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/17"</span>) -<span id="L6446" class="LineNr"> 6446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-with-literal/18"</span>) +<span id="L6444" class="LineNr"> 6444 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/16"</span>) +<span id="L6445" class="LineNr"> 6445 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/17"</span>) +<span id="L6446" class="LineNr"> 6446 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6403'>test-convert-index-into-array-with-literal</a>/18"</span>) <span id="L6447" class="LineNr"> 6447 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6448" class="LineNr"> 6448 </span> 89/<- %esp 5/r32/ebp <span id="L6449" class="LineNr"> 6449 </span> 5d/pop-to-ebp @@ -5921,30 +5921,30 @@ if ('onhashchange' in window) { <span id="L6464" class="LineNr"> 6464 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr byte) <- index arr, 2\n"</span>) <span id="L6465" class="LineNr"> 6465 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6466" class="LineNr"> 6466 </span> <span class="subxComment"># convert</span> -<span id="L6467" class="LineNr"> 6467 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6467" class="LineNr"> 6467 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6468" class="LineNr"> 6468 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6469" class="Folded"> 6469 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6475" class="LineNr"> 6475 </span> <span class="subxComment"># check output</span> -<span id="L6476" class="LineNr"> 6476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/0"</span>) +<span id="L6476" class="LineNr"> 6476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/0"</span>) <span id="L6477" class="LineNr"> 6477 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/1"</span>) -<span id="L6478" class="LineNr"> 6478 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/2"</span>) -<span id="L6479" class="LineNr"> 6479 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/3"</span>) -<span id="L6480" class="LineNr"> 6480 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/4"</span>) -<span id="L6481" class="LineNr"> 6481 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/5"</span>) -<span id="L6482" class="LineNr"> 6482 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/6"</span>) -<span id="L6483" class="LineNr"> 6483 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/7"</span>) -<span id="L6484" class="LineNr"> 6484 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000001 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/8"</span>) -<span id="L6485" class="LineNr"> 6485 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/9"</span>) -<span id="L6486" class="LineNr"> 6486 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/10"</span>) +<span id="L6478" class="LineNr"> 6478 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/2"</span>) +<span id="L6479" class="LineNr"> 6479 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/3"</span>) +<span id="L6480" class="LineNr"> 6480 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/4"</span>) +<span id="L6481" class="LineNr"> 6481 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/5"</span>) +<span id="L6482" class="LineNr"> 6482 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/6"</span>) +<span id="L6483" class="LineNr"> 6483 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/7"</span>) +<span id="L6484" class="LineNr"> 6484 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000001 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/8"</span>) +<span id="L6485" class="LineNr"> 6485 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/9"</span>) +<span id="L6486" class="LineNr"> 6486 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/10"</span>) <span id="L6487" class="LineNr"> 6487 </span> <span class="subxComment"># 2 * 1 byte/elem + 4 bytes for size = offset 6</span> -<span id="L6488" class="LineNr"> 6488 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000006) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/11"</span>) -<span id="L6489" class="LineNr"> 6489 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/12"</span>) -<span id="L6490" class="LineNr"> 6490 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/13"</span>) -<span id="L6491" class="LineNr"> 6491 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/14"</span>) +<span id="L6488" class="LineNr"> 6488 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000006) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/11"</span>) +<span id="L6489" class="LineNr"> 6489 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/12"</span>) +<span id="L6490" class="LineNr"> 6490 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/13"</span>) +<span id="L6491" class="LineNr"> 6491 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/14"</span>) <span id="L6492" class="LineNr"> 6492 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/15"</span>) -<span id="L6493" class="LineNr"> 6493 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/16"</span>) -<span id="L6494" class="LineNr"> 6494 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/17"</span>) -<span id="L6495" class="LineNr"> 6495 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-with-literal/18"</span>) +<span id="L6493" class="LineNr"> 6493 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/16"</span>) +<span id="L6494" class="LineNr"> 6494 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/17"</span>) +<span id="L6495" class="LineNr"> 6495 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6452'>test-convert-index-into-array-of-bytes-with-literal</a>/18"</span>) <span id="L6496" class="LineNr"> 6496 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6497" class="LineNr"> 6497 </span> 89/<- %esp 5/r32/ebp <span id="L6498" class="LineNr"> 6498 </span> 5d/pop-to-ebp @@ -5966,36 +5966,36 @@ if ('onhashchange' in window) { <span id="L6514" class="LineNr"> 6514 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, idx\n"</span>) <span id="L6515" class="LineNr"> 6515 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6516" class="LineNr"> 6516 </span> <span class="subxComment"># convert</span> -<span id="L6517" class="LineNr"> 6517 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6517" class="LineNr"> 6517 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6518" class="LineNr"> 6518 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6519" class="Folded"> 6519 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6525" class="LineNr"> 6525 </span> <span class="subxComment"># check output</span> -<span id="L6526" class="LineNr"> 6526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/0"</span>) +<span id="L6526" class="LineNr"> 6526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/0"</span>) <span id="L6527" class="LineNr"> 6527 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/1"</span>) -<span id="L6528" class="LineNr"> 6528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/2"</span>) -<span id="L6529" class="LineNr"> 6529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/3"</span>) -<span id="L6530" class="LineNr"> 6530 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/4"</span>) -<span id="L6531" class="LineNr"> 6531 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/5"</span>) +<span id="L6528" class="LineNr"> 6528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/2"</span>) +<span id="L6529" class="LineNr"> 6529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/3"</span>) +<span id="L6530" class="LineNr"> 6530 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/4"</span>) +<span id="L6531" class="LineNr"> 6531 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/5"</span>) <span id="L6532" class="LineNr"> 6532 </span> <span class="subxComment"># var arr</span> -<span id="L6533" class="LineNr"> 6533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/6"</span>) -<span id="L6534" class="LineNr"> 6534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/7"</span>) +<span id="L6533" class="LineNr"> 6533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/6"</span>) +<span id="L6534" class="LineNr"> 6534 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/7"</span>) <span id="L6535" class="LineNr"> 6535 </span> <span class="subxComment"># var idx</span> -<span id="L6536" class="LineNr"> 6536 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/8"</span>) -<span id="L6537" class="LineNr"> 6537 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 2/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/9"</span>) -<span id="L6538" class="LineNr"> 6538 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %eax 0x00000004 *(ebp+0xfffffff0) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/10"</span>) +<span id="L6536" class="LineNr"> 6536 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/8"</span>) +<span id="L6537" class="LineNr"> 6537 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 2/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/9"</span>) +<span id="L6538" class="LineNr"> 6538 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %eax 0x00000004 *(ebp+0xfffffff0) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/10"</span>) <span id="L6539" class="LineNr"> 6539 </span> <span class="subxComment"># var x is at (ebp-0x10) + idx<<2 + 4 = ebp + idx<<2 - 0xc</span> -<span id="L6540" class="LineNr"> 6540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + eax<<0x00000002 + 0xfffffff4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/11"</span>) +<span id="L6540" class="LineNr"> 6540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + eax<<0x00000002 + 0xfffffff4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/11"</span>) <span id="L6541" class="LineNr"> 6541 </span> <span class="subxComment"># reclaim idx</span> -<span id="L6542" class="LineNr"> 6542 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/12"</span>) +<span id="L6542" class="LineNr"> 6542 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/12"</span>) <span id="L6543" class="LineNr"> 6543 </span> <span class="subxComment"># reclaim arr</span> -<span id="L6544" class="LineNr"> 6544 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/13"</span>) +<span id="L6544" class="LineNr"> 6544 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/13"</span>) <span id="L6545" class="LineNr"> 6545 </span> <span class="subxComment">#</span> -<span id="L6546" class="LineNr"> 6546 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/14"</span>) -<span id="L6547" class="LineNr"> 6547 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/15"</span>) +<span id="L6546" class="LineNr"> 6546 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/14"</span>) +<span id="L6547" class="LineNr"> 6547 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/15"</span>) <span id="L6548" class="LineNr"> 6548 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/16"</span>) -<span id="L6549" class="LineNr"> 6549 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/17"</span>) -<span id="L6550" class="LineNr"> 6550 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/18"</span>) -<span id="L6551" class="LineNr"> 6551 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack/19"</span>) +<span id="L6549" class="LineNr"> 6549 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/17"</span>) +<span id="L6550" class="LineNr"> 6550 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/18"</span>) +<span id="L6551" class="LineNr"> 6551 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6501'>test-convert-index-into-array-on-stack</a>/19"</span>) <span id="L6552" class="LineNr"> 6552 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6553" class="LineNr"> 6553 </span> 89/<- %esp 5/r32/ebp <span id="L6554" class="LineNr"> 6554 </span> 5d/pop-to-ebp @@ -6016,35 +6016,35 @@ if ('onhashchange' in window) { <span id="L6569" class="LineNr"> 6569 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, 2\n"</span>) <span id="L6570" class="LineNr"> 6570 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6571" class="LineNr"> 6571 </span> <span class="subxComment"># convert</span> -<span id="L6572" class="LineNr"> 6572 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6572" class="LineNr"> 6572 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6573" class="LineNr"> 6573 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6574" class="Folded"> 6574 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6580" class="LineNr"> 6580 </span> <span class="subxComment"># check output</span> -<span id="L6581" class="LineNr"> 6581 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/0"</span>) +<span id="L6581" class="LineNr"> 6581 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/0"</span>) <span id="L6582" class="LineNr"> 6582 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/1"</span>) -<span id="L6583" class="LineNr"> 6583 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/2"</span>) -<span id="L6584" class="LineNr"> 6584 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/3"</span>) -<span id="L6585" class="LineNr"> 6585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/4"</span>) -<span id="L6586" class="LineNr"> 6586 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/5"</span>) +<span id="L6583" class="LineNr"> 6583 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/2"</span>) +<span id="L6584" class="LineNr"> 6584 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/3"</span>) +<span id="L6585" class="LineNr"> 6585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/4"</span>) +<span id="L6586" class="LineNr"> 6586 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/5"</span>) <span id="L6587" class="LineNr"> 6587 </span> <span class="subxComment"># var arr</span> -<span id="L6588" class="LineNr"> 6588 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/6"</span>) -<span id="L6589" class="LineNr"> 6589 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/7"</span>) +<span id="L6588" class="LineNr"> 6588 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x0000000c)"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/6"</span>) +<span id="L6589" class="LineNr"> 6589 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/7"</span>) <span id="L6590" class="LineNr"> 6590 </span> <span class="subxComment"># var x</span> -<span id="L6591" class="LineNr"> 6591 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/8"</span>) -<span id="L6592" class="LineNr"> 6592 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000004 *(ebp+0xfffffff0) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/9"</span>) +<span id="L6591" class="LineNr"> 6591 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/8"</span>) +<span id="L6592" class="LineNr"> 6592 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000004 *(ebp+0xfffffff0) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/9"</span>) <span id="L6593" class="LineNr"> 6593 </span> <span class="subxComment"># x is at (ebp-0x10) + 4 + 2*4 = ebp-4</span> -<span id="L6594" class="LineNr"> 6594 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + 0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/10"</span>) +<span id="L6594" class="LineNr"> 6594 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + 0xfffffffc) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/10"</span>) <span id="L6595" class="LineNr"> 6595 </span> <span class="subxComment"># reclaim x</span> -<span id="L6596" class="LineNr"> 6596 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/11"</span>) +<span id="L6596" class="LineNr"> 6596 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/11"</span>) <span id="L6597" class="LineNr"> 6597 </span> <span class="subxComment"># reclaim arr</span> -<span id="L6598" class="LineNr"> 6598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/12"</span>) +<span id="L6598" class="LineNr"> 6598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000010/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/12"</span>) <span id="L6599" class="LineNr"> 6599 </span> <span class="subxComment">#</span> -<span id="L6600" class="LineNr"> 6600 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/13"</span>) -<span id="L6601" class="LineNr"> 6601 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/14"</span>) +<span id="L6600" class="LineNr"> 6600 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/13"</span>) +<span id="L6601" class="LineNr"> 6601 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/14"</span>) <span id="L6602" class="LineNr"> 6602 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/15"</span>) -<span id="L6603" class="LineNr"> 6603 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/16"</span>) -<span id="L6604" class="LineNr"> 6604 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/17"</span>) -<span id="L6605" class="LineNr"> 6605 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-on-stack-with-literal/18"</span>) +<span id="L6603" class="LineNr"> 6603 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/16"</span>) +<span id="L6604" class="LineNr"> 6604 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/17"</span>) +<span id="L6605" class="LineNr"> 6605 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6557'>test-convert-index-into-array-on-stack-with-literal</a>/18"</span>) <span id="L6606" class="LineNr"> 6606 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6607" class="LineNr"> 6607 </span> 89/<- %esp 5/r32/ebp <span id="L6608" class="LineNr"> 6608 </span> 5d/pop-to-ebp @@ -6065,35 +6065,35 @@ if ('onhashchange' in window) { <span id="L6623" class="LineNr"> 6623 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr byte) <- index arr, 2\n"</span>) <span id="L6624" class="LineNr"> 6624 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6625" class="LineNr"> 6625 </span> <span class="subxComment"># convert</span> -<span id="L6626" class="LineNr"> 6626 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6626" class="LineNr"> 6626 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6627" class="LineNr"> 6627 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6628" class="Folded"> 6628 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6634" class="LineNr"> 6634 </span> <span class="subxComment"># check output</span> -<span id="L6635" class="LineNr"> 6635 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/0"</span>) +<span id="L6635" class="LineNr"> 6635 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/0"</span>) <span id="L6636" class="LineNr"> 6636 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/1"</span>) -<span id="L6637" class="LineNr"> 6637 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/2"</span>) -<span id="L6638" class="LineNr"> 6638 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/3"</span>) -<span id="L6639" class="LineNr"> 6639 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/4"</span>) -<span id="L6640" class="LineNr"> 6640 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/5"</span>) +<span id="L6637" class="LineNr"> 6637 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/2"</span>) +<span id="L6638" class="LineNr"> 6638 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/3"</span>) +<span id="L6639" class="LineNr"> 6639 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/4"</span>) +<span id="L6640" class="LineNr"> 6640 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/5"</span>) <span id="L6641" class="LineNr"> 6641 </span> <span class="subxComment"># var arr</span> -<span id="L6642" class="LineNr"> 6642 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x00000003)"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/6"</span>) -<span id="L6643" class="LineNr"> 6643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x00000003/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/7"</span>) +<span id="L6642" class="LineNr"> 6642 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> 0x00000003)"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/6"</span>) +<span id="L6643" class="LineNr"> 6643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0x00000003/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/7"</span>) <span id="L6644" class="LineNr"> 6644 </span> <span class="subxComment"># var x</span> -<span id="L6645" class="LineNr"> 6645 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/8"</span>) -<span id="L6646" class="LineNr"> 6646 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000001 *(ebp+0xfffffff9) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/9"</span>) +<span id="L6645" class="LineNr"> 6645 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/8"</span>) +<span id="L6646" class="LineNr"> 6646 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> 2 0x00000001 *(ebp+0xfffffff9) \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/9"</span>) <span id="L6647" class="LineNr"> 6647 </span> <span class="subxComment"># x is at (ebp-7) + 4 + 2 = ebp-1</span> -<span id="L6648" class="LineNr"> 6648 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + 0xffffffff) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/10"</span>) +<span id="L6648" class="LineNr"> 6648 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp + 0xffffffff) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/10"</span>) <span id="L6649" class="LineNr"> 6649 </span> <span class="subxComment"># reclaim x</span> -<span id="L6650" class="LineNr"> 6650 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/11"</span>) +<span id="L6650" class="LineNr"> 6650 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/11"</span>) <span id="L6651" class="LineNr"> 6651 </span> <span class="subxComment"># reclaim arr</span> -<span id="L6652" class="LineNr"> 6652 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000007/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/12"</span>) +<span id="L6652" class="LineNr"> 6652 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000007/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/12"</span>) <span id="L6653" class="LineNr"> 6653 </span> <span class="subxComment">#</span> -<span id="L6654" class="LineNr"> 6654 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/13"</span>) -<span id="L6655" class="LineNr"> 6655 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/14"</span>) +<span id="L6654" class="LineNr"> 6654 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/13"</span>) +<span id="L6655" class="LineNr"> 6655 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/14"</span>) <span id="L6656" class="LineNr"> 6656 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/15"</span>) -<span id="L6657" class="LineNr"> 6657 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/16"</span>) -<span id="L6658" class="LineNr"> 6658 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/17"</span>) -<span id="L6659" class="LineNr"> 6659 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-on-stack-with-literal/18"</span>) +<span id="L6657" class="LineNr"> 6657 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/16"</span>) +<span id="L6658" class="LineNr"> 6658 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/17"</span>) +<span id="L6659" class="LineNr"> 6659 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6611'>test-convert-index-into-array-of-bytes-on-stack-with-literal</a>/18"</span>) <span id="L6660" class="LineNr"> 6660 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6661" class="LineNr"> 6661 </span> 89/<- %esp 5/r32/ebp <span id="L6662" class="LineNr"> 6662 </span> 5d/pop-to-ebp @@ -6116,33 +6116,33 @@ if ('onhashchange' in window) { <span id="L6679" class="LineNr"> 6679 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, off\n"</span>) <span id="L6680" class="LineNr"> 6680 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6681" class="LineNr"> 6681 </span> <span class="subxComment"># convert</span> -<span id="L6682" class="LineNr"> 6682 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6682" class="LineNr"> 6682 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6683" class="LineNr"> 6683 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6684" class="Folded"> 6684 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6690" class="LineNr"> 6690 </span> <span class="subxComment"># check output</span> -<span id="L6691" class="LineNr"> 6691 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/0"</span>) +<span id="L6691" class="LineNr"> 6691 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/0"</span>) <span id="L6692" class="LineNr"> 6692 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/1"</span>) -<span id="L6693" class="LineNr"> 6693 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/2"</span>) -<span id="L6694" class="LineNr"> 6694 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/3"</span>) -<span id="L6695" class="LineNr"> 6695 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/4"</span>) -<span id="L6696" class="LineNr"> 6696 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/5"</span>) -<span id="L6697" class="LineNr"> 6697 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/6"</span>) -<span id="L6698" class="LineNr"> 6698 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/7"</span>) -<span id="L6699" class="LineNr"> 6699 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/8"</span>) -<span id="L6700" class="LineNr"> 6700 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/9"</span>) -<span id="L6701" class="LineNr"> 6701 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply %ecx 0x00000004/imm32 0x00000001/r32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/10"</span>) -<span id="L6702" class="LineNr"> 6702 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/11"</span>) -<span id="L6703" class="LineNr"> 6703 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/12"</span>) -<span id="L6704" class="LineNr"> 6704 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/13"</span>) -<span id="L6705" class="LineNr"> 6705 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/15"</span>) -<span id="L6706" class="LineNr"> 6706 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/16"</span>) -<span id="L6707" class="LineNr"> 6707 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/17"</span>) -<span id="L6708" class="LineNr"> 6708 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/18"</span>) -<span id="L6709" class="LineNr"> 6709 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/19"</span>) +<span id="L6693" class="LineNr"> 6693 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/2"</span>) +<span id="L6694" class="LineNr"> 6694 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/3"</span>) +<span id="L6695" class="LineNr"> 6695 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/4"</span>) +<span id="L6696" class="LineNr"> 6696 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/5"</span>) +<span id="L6697" class="LineNr"> 6697 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/6"</span>) +<span id="L6698" class="LineNr"> 6698 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/7"</span>) +<span id="L6699" class="LineNr"> 6699 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/8"</span>) +<span id="L6700" class="LineNr"> 6700 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/9"</span>) +<span id="L6701" class="LineNr"> 6701 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply %ecx 0x00000004/imm32 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/10"</span>) +<span id="L6702" class="LineNr"> 6702 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/11"</span>) +<span id="L6703" class="LineNr"> 6703 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/12"</span>) +<span id="L6704" class="LineNr"> 6704 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/13"</span>) +<span id="L6705" class="LineNr"> 6705 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/15"</span>) +<span id="L6706" class="LineNr"> 6706 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/16"</span>) +<span id="L6707" class="LineNr"> 6707 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/17"</span>) +<span id="L6708" class="LineNr"> 6708 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/18"</span>) +<span id="L6709" class="LineNr"> 6709 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/19"</span>) <span id="L6710" class="LineNr"> 6710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/20"</span>) -<span id="L6711" class="LineNr"> 6711 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/21"</span>) -<span id="L6712" class="LineNr"> 6712 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/22"</span>) -<span id="L6713" class="LineNr"> 6713 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset/23"</span>) +<span id="L6711" class="LineNr"> 6711 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/21"</span>) +<span id="L6712" class="LineNr"> 6712 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/22"</span>) +<span id="L6713" class="LineNr"> 6713 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6665'>test-convert-index-into-array-using-offset</a>/23"</span>) <span id="L6714" class="LineNr"> 6714 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6715" class="LineNr"> 6715 </span> 89/<- %esp 5/r32/ebp <span id="L6716" class="LineNr"> 6716 </span> 5d/pop-to-ebp @@ -6165,33 +6165,33 @@ if ('onhashchange' in window) { <span id="L6733" class="LineNr"> 6733 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr byte) <- index arr, off\n"</span>) <span id="L6734" class="LineNr"> 6734 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6735" class="LineNr"> 6735 </span> <span class="subxComment"># convert</span> -<span id="L6736" class="LineNr"> 6736 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6736" class="LineNr"> 6736 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6737" class="LineNr"> 6737 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6738" class="Folded"> 6738 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6744" class="LineNr"> 6744 </span> <span class="subxComment"># check output</span> -<span id="L6745" class="LineNr"> 6745 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/0"</span>) +<span id="L6745" class="LineNr"> 6745 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/0"</span>) <span id="L6746" class="LineNr"> 6746 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/1"</span>) -<span id="L6747" class="LineNr"> 6747 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/2"</span>) -<span id="L6748" class="LineNr"> 6748 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/3"</span>) -<span id="L6749" class="LineNr"> 6749 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/4"</span>) -<span id="L6750" class="LineNr"> 6750 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/5"</span>) -<span id="L6751" class="LineNr"> 6751 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/6"</span>) -<span id="L6752" class="LineNr"> 6752 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/7"</span>) -<span id="L6753" class="LineNr"> 6753 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/8"</span>) -<span id="L6754" class="LineNr"> 6754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/9"</span>) -<span id="L6755" class="LineNr"> 6755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply %ecx 0x00000001/imm32 0x00000001/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/10"</span>) -<span id="L6756" class="LineNr"> 6756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/11"</span>) -<span id="L6757" class="LineNr"> 6757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/12"</span>) -<span id="L6758" class="LineNr"> 6758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/13"</span>) -<span id="L6759" class="LineNr"> 6759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/14"</span>) -<span id="L6760" class="LineNr"> 6760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/15"</span>) -<span id="L6761" class="LineNr"> 6761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/16"</span>) -<span id="L6762" class="LineNr"> 6762 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/17"</span>) -<span id="L6763" class="LineNr"> 6763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/18"</span>) +<span id="L6747" class="LineNr"> 6747 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/2"</span>) +<span id="L6748" class="LineNr"> 6748 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/3"</span>) +<span id="L6749" class="LineNr"> 6749 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/4"</span>) +<span id="L6750" class="LineNr"> 6750 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/5"</span>) +<span id="L6751" class="LineNr"> 6751 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/6"</span>) +<span id="L6752" class="LineNr"> 6752 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/7"</span>) +<span id="L6753" class="LineNr"> 6753 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/8"</span>) +<span id="L6754" class="LineNr"> 6754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/9"</span>) +<span id="L6755" class="LineNr"> 6755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply %ecx 0x00000001/imm32 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/10"</span>) +<span id="L6756" class="LineNr"> 6756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/11"</span>) +<span id="L6757" class="LineNr"> 6757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/12"</span>) +<span id="L6758" class="LineNr"> 6758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/13"</span>) +<span id="L6759" class="LineNr"> 6759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/14"</span>) +<span id="L6760" class="LineNr"> 6760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/15"</span>) +<span id="L6761" class="LineNr"> 6761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/16"</span>) +<span id="L6762" class="LineNr"> 6762 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/17"</span>) +<span id="L6763" class="LineNr"> 6763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/18"</span>) <span id="L6764" class="LineNr"> 6764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/19"</span>) -<span id="L6765" class="LineNr"> 6765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/20"</span>) -<span id="L6766" class="LineNr"> 6766 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/21"</span>) -<span id="L6767" class="LineNr"> 6767 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset/22"</span>) +<span id="L6765" class="LineNr"> 6765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/20"</span>) +<span id="L6766" class="LineNr"> 6766 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/21"</span>) +<span id="L6767" class="LineNr"> 6767 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6719'>test-convert-index-into-array-of-bytes-using-offset</a>/22"</span>) <span id="L6768" class="LineNr"> 6768 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6769" class="LineNr"> 6769 </span> 89/<- %esp 5/r32/ebp <span id="L6770" class="LineNr"> 6770 </span> 5d/pop-to-ebp @@ -6214,34 +6214,34 @@ if ('onhashchange' in window) { <span id="L6787" class="LineNr"> 6787 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr int) <- index arr, off\n"</span>) <span id="L6788" class="LineNr"> 6788 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6789" class="LineNr"> 6789 </span> <span class="subxComment"># convert</span> -<span id="L6790" class="LineNr"> 6790 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6790" class="LineNr"> 6790 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6791" class="LineNr"> 6791 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6792" class="Folded"> 6792 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6798" class="LineNr"> 6798 </span> <span class="subxComment"># check output</span> -<span id="L6799" class="LineNr"> 6799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/0"</span>) +<span id="L6799" class="LineNr"> 6799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/0"</span>) <span id="L6800" class="LineNr"> 6800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/1"</span>) -<span id="L6801" class="LineNr"> 6801 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/2"</span>) -<span id="L6802" class="LineNr"> 6802 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/3"</span>) -<span id="L6803" class="LineNr"> 6803 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/4"</span>) -<span id="L6804" class="LineNr"> 6804 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/5"</span>) -<span id="L6805" class="LineNr"> 6805 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/6"</span>) -<span id="L6806" class="LineNr"> 6806 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/7"</span>) -<span id="L6807" class="LineNr"> 6807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/8"</span>) -<span id="L6808" class="LineNr"> 6808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/9"</span>) -<span id="L6809" class="LineNr"> 6809 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply *(ebp+0xfffffff8) 0x00000004/imm32 0x00000001/r32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/10"</span>) -<span id="L6810" class="LineNr"> 6810 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/11"</span>) -<span id="L6811" class="LineNr"> 6811 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/12"</span>) -<span id="L6812" class="LineNr"> 6812 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/13"</span>) -<span id="L6813" class="LineNr"> 6813 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/14"</span>) -<span id="L6814" class="LineNr"> 6814 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/15"</span>) -<span id="L6815" class="LineNr"> 6815 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/16"</span>) -<span id="L6816" class="LineNr"> 6816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/17"</span>) -<span id="L6817" class="LineNr"> 6817 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/18"</span>) -<span id="L6818" class="LineNr"> 6818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/19"</span>) +<span id="L6801" class="LineNr"> 6801 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/2"</span>) +<span id="L6802" class="LineNr"> 6802 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/3"</span>) +<span id="L6803" class="LineNr"> 6803 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/4"</span>) +<span id="L6804" class="LineNr"> 6804 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/5"</span>) +<span id="L6805" class="LineNr"> 6805 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/6"</span>) +<span id="L6806" class="LineNr"> 6806 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/7"</span>) +<span id="L6807" class="LineNr"> 6807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/8"</span>) +<span id="L6808" class="LineNr"> 6808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/9"</span>) +<span id="L6809" class="LineNr"> 6809 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply *(ebp+0xfffffff8) 0x00000004/imm32 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/10"</span>) +<span id="L6810" class="LineNr"> 6810 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/11"</span>) +<span id="L6811" class="LineNr"> 6811 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/12"</span>) +<span id="L6812" class="LineNr"> 6812 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/13"</span>) +<span id="L6813" class="LineNr"> 6813 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/14"</span>) +<span id="L6814" class="LineNr"> 6814 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/15"</span>) +<span id="L6815" class="LineNr"> 6815 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/16"</span>) +<span id="L6816" class="LineNr"> 6816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/17"</span>) +<span id="L6817" class="LineNr"> 6817 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/18"</span>) +<span id="L6818" class="LineNr"> 6818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/19"</span>) <span id="L6819" class="LineNr"> 6819 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/20"</span>) -<span id="L6820" class="LineNr"> 6820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/21"</span>) -<span id="L6821" class="LineNr"> 6821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/22"</span>) -<span id="L6822" class="LineNr"> 6822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-using-offset-on-stack/23"</span>) +<span id="L6820" class="LineNr"> 6820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/21"</span>) +<span id="L6821" class="LineNr"> 6821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/22"</span>) +<span id="L6822" class="LineNr"> 6822 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6773'>test-convert-index-into-array-using-offset-on-stack</a>/23"</span>) <span id="L6823" class="LineNr"> 6823 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6824" class="LineNr"> 6824 </span> 89/<- %esp 5/r32/ebp <span id="L6825" class="LineNr"> 6825 </span> 5d/pop-to-ebp @@ -6264,34 +6264,34 @@ if ('onhashchange' in window) { <span id="L6842" class="LineNr"> 6842 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr byte) <- index arr, off\n"</span>) <span id="L6843" class="LineNr"> 6843 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6844" class="LineNr"> 6844 </span> <span class="subxComment"># convert</span> -<span id="L6845" class="LineNr"> 6845 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6845" class="LineNr"> 6845 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6846" class="LineNr"> 6846 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6847" class="Folded"> 6847 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6853" class="LineNr"> 6853 </span> <span class="subxComment"># check output</span> -<span id="L6854" class="LineNr"> 6854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/0"</span>) +<span id="L6854" class="LineNr"> 6854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/0"</span>) <span id="L6855" class="LineNr"> 6855 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/1"</span>) -<span id="L6856" class="LineNr"> 6856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/2"</span>) -<span id="L6857" class="LineNr"> 6857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/3"</span>) -<span id="L6858" class="LineNr"> 6858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/4"</span>) -<span id="L6859" class="LineNr"> 6859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/5"</span>) -<span id="L6860" class="LineNr"> 6860 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/6"</span>) -<span id="L6861" class="LineNr"> 6861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/7"</span>) -<span id="L6862" class="LineNr"> 6862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/8"</span>) -<span id="L6863" class="LineNr"> 6863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/9"</span>) -<span id="L6864" class="LineNr"> 6864 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply *(ebp+0xfffffff8) 0x00000001/imm32 0x00000001/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/10"</span>) -<span id="L6865" class="LineNr"> 6865 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/11"</span>) -<span id="L6866" class="LineNr"> 6866 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/12"</span>) -<span id="L6867" class="LineNr"> 6867 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/13"</span>) -<span id="L6868" class="LineNr"> 6868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/14"</span>) -<span id="L6869" class="LineNr"> 6869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/15"</span>) -<span id="L6870" class="LineNr"> 6870 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/16"</span>) -<span id="L6871" class="LineNr"> 6871 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/17"</span>) -<span id="L6872" class="LineNr"> 6872 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/18"</span>) -<span id="L6873" class="LineNr"> 6873 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/19"</span>) +<span id="L6856" class="LineNr"> 6856 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/2"</span>) +<span id="L6857" class="LineNr"> 6857 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/3"</span>) +<span id="L6858" class="LineNr"> 6858 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/4"</span>) +<span id="L6859" class="LineNr"> 6859 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/5"</span>) +<span id="L6860" class="LineNr"> 6860 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/6"</span>) +<span id="L6861" class="LineNr"> 6861 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/7"</span>) +<span id="L6862" class="LineNr"> 6862 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/8"</span>) +<span id="L6863" class="LineNr"> 6863 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/9"</span>) +<span id="L6864" class="LineNr"> 6864 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 69/multiply *(ebp+0xfffffff8) 0x00000001/imm32 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/10"</span>) +<span id="L6865" class="LineNr"> 6865 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 1 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/11"</span>) +<span id="L6866" class="LineNr"> 6866 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/12"</span>) +<span id="L6867" class="LineNr"> 6867 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/13"</span>) +<span id="L6868" class="LineNr"> 6868 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/14"</span>) +<span id="L6869" class="LineNr"> 6869 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/15"</span>) +<span id="L6870" class="LineNr"> 6870 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/16"</span>) +<span id="L6871" class="LineNr"> 6871 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/17"</span>) +<span id="L6872" class="LineNr"> 6872 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/18"</span>) +<span id="L6873" class="LineNr"> 6873 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/19"</span>) <span id="L6874" class="LineNr"> 6874 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/20"</span>) -<span id="L6875" class="LineNr"> 6875 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/21"</span>) -<span id="L6876" class="LineNr"> 6876 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/22"</span>) -<span id="L6877" class="LineNr"> 6877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-index-into-array-of-bytes-using-offset-on-stack/23"</span>) +<span id="L6875" class="LineNr"> 6875 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/21"</span>) +<span id="L6876" class="LineNr"> 6876 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/22"</span>) +<span id="L6877" class="LineNr"> 6877 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6828'>test-convert-index-into-array-of-bytes-using-offset-on-stack</a>/23"</span>) <span id="L6878" class="LineNr"> 6878 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6879" class="LineNr"> 6879 </span> 89/<- %esp 5/r32/ebp <span id="L6880" class="LineNr"> 6880 </span> 5d/pop-to-ebp @@ -6317,33 +6317,33 @@ if ('onhashchange' in window) { <span id="L6900" class="LineNr"> 6900 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L6901" class="LineNr"> 6901 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6902" class="LineNr"> 6902 </span> <span class="subxComment"># convert</span> -<span id="L6903" class="LineNr"> 6903 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L6903" class="LineNr"> 6903 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L6904" class="LineNr"> 6904 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L6905" class="Folded"> 6905 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6911" class="LineNr"> 6911 </span> <span class="subxComment"># check output</span> -<span id="L6912" class="LineNr"> 6912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-and-type-definition/0"</span>) +<span id="L6912" class="LineNr"> 6912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/0"</span>) <span id="L6913" class="LineNr"> 6913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-and-type-definition/1"</span>) -<span id="L6914" class="LineNr"> 6914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-and-type-definition/2"</span>) -<span id="L6915" class="LineNr"> 6915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-and-type-definition/3"</span>) -<span id="L6916" class="LineNr"> 6916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-and-type-definition/4"</span>) -<span id="L6917" class="LineNr"> 6917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-and-type-definition/5"</span>) -<span id="L6918" class="LineNr"> 6918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-and-type-definition/6"</span>) -<span id="L6919" class="LineNr"> 6919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/7"</span>) -<span id="L6920" class="LineNr"> 6920 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-and-type-definition/8"</span>) -<span id="L6921" class="LineNr"> 6921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/9"</span>) -<span id="L6922" class="LineNr"> 6922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L96'>__mu-abort-null-get-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/10"</span>) -<span id="L6923" class="LineNr"> 6923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000000) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/11"</span>) -<span id="L6924" class="LineNr"> 6924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/12"</span>) -<span id="L6925" class="LineNr"> 6925 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L96'>__mu-abort-null-get-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/13"</span>) -<span id="L6926" class="LineNr"> 6926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000004) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-and-type-definition/14"</span>) -<span id="L6927" class="LineNr"> 6927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-and-type-definition/15"</span>) -<span id="L6928" class="LineNr"> 6928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-and-type-definition/16"</span>) -<span id="L6929" class="LineNr"> 6929 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-and-type-definition/17"</span>) -<span id="L6930" class="LineNr"> 6930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-and-type-definition/18"</span>) +<span id="L6914" class="LineNr"> 6914 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/2"</span>) +<span id="L6915" class="LineNr"> 6915 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/3"</span>) +<span id="L6916" class="LineNr"> 6916 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/4"</span>) +<span id="L6917" class="LineNr"> 6917 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/5"</span>) +<span id="L6918" class="LineNr"> 6918 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/6"</span>) +<span id="L6919" class="LineNr"> 6919 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/7"</span>) +<span id="L6920" class="LineNr"> 6920 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/8"</span>) +<span id="L6921" class="LineNr"> 6921 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/9"</span>) +<span id="L6922" class="LineNr"> 6922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L96'>__mu-abort-null-get-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/10"</span>) +<span id="L6923" class="LineNr"> 6923 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000000) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/11"</span>) +<span id="L6924" class="LineNr"> 6924 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/12"</span>) +<span id="L6925" class="LineNr"> 6925 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L96'>__mu-abort-null-get-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/13"</span>) +<span id="L6926" class="LineNr"> 6926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + 0x00000004) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/14"</span>) +<span id="L6927" class="LineNr"> 6927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/15"</span>) +<span id="L6928" class="LineNr"> 6928 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/16"</span>) +<span id="L6929" class="LineNr"> 6929 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/17"</span>) +<span id="L6930" class="LineNr"> 6930 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/18"</span>) <span id="L6931" class="LineNr"> 6931 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-and-type-definition/19"</span>) -<span id="L6932" class="LineNr"> 6932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-and-type-definition/20"</span>) -<span id="L6933" class="LineNr"> 6933 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-and-type-definition/21"</span>) -<span id="L6934" class="LineNr"> 6934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-and-type-definition/22"</span>) +<span id="L6932" class="LineNr"> 6932 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/20"</span>) +<span id="L6933" class="LineNr"> 6933 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/21"</span>) +<span id="L6934" class="LineNr"> 6934 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L6883'>test-convert-function-and-type-definition</a>/22"</span>) <span id="L6935" class="LineNr"> 6935 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L6936" class="LineNr"> 6936 </span> 89/<- %esp 5/r32/ebp <span id="L6937" class="LineNr"> 6937 </span> 5d/pop-to-ebp @@ -6370,7 +6370,7 @@ if ('onhashchange' in window) { <span id="L6958" class="LineNr"> 6958 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" a: (array int 3)\n"</span>) <span id="L6959" class="LineNr"> 6959 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L6960" class="LineNr"> 6960 </span> <span class="subxComment"># convert</span> -<span id="L6961" class="LineNr"> 6961 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L6961" class="LineNr"> 6961 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L6962" class="LineNr"> 6962 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L6963" class="LineNr"> 6963 </span> <span class="subxComment"># restore ed</span> <span id="L6964" class="LineNr"> 6964 </span> 89/<- %edx 4/r32/esp @@ -6378,10 +6378,10 @@ if ('onhashchange' in window) { <span id="L6966" class="LineNr"> 6966 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L6967" class="Folded"> 6967 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L6973" class="LineNr"> 6973 </span> <span class="subxComment"># check output</span> -<span id="L6974" class="LineNr"> 6974 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-type-definition-with-array: output should be empty"</span>) -<span id="L6975" class="LineNr"> 6975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"type t: 'array' elements not allowed for now"</span> <span class="Constant">"F - test-type-definition-with-array: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L6974" class="LineNr"> 6974 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L6940'>test-type-definition-with-array</a>: output should be empty"</span>) +<span id="L6975" class="LineNr"> 6975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"type t: 'array' elements not allowed for now"</span> <span class="Constant">"F - <a href='mu.subx.html#L6940'>test-type-definition-with-array</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L6976" class="LineNr"> 6976 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L6977" class="LineNr"> 6977 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-type-definition-with-array: exit status"</span>) +<span id="L6977" class="LineNr"> 6977 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L6940'>test-type-definition-with-array</a>: exit status"</span>) <span id="L6978" class="LineNr"> 6978 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L6979" class="LineNr"> 6979 </span> 81 0/subop/add %esp 8/imm32 <span id="L6980" class="LineNr"> 6980 </span> <span class="subxS1Comment"># . epilogue</span> @@ -6409,7 +6409,7 @@ if ('onhashchange' in window) { <span id="L7002" class="LineNr"> 7002 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" a: (addr int)\n"</span>) <span id="L7003" class="LineNr"> 7003 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7004" class="LineNr"> 7004 </span> <span class="subxComment"># convert</span> -<span id="L7005" class="LineNr"> 7005 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7005" class="LineNr"> 7005 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7006" class="LineNr"> 7006 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7007" class="LineNr"> 7007 </span> <span class="subxComment"># restore ed</span> <span id="L7008" class="LineNr"> 7008 </span> 89/<- %edx 4/r32/esp @@ -6417,10 +6417,10 @@ if ('onhashchange' in window) { <span id="L7010" class="LineNr"> 7010 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7011" class="Folded"> 7011 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7017" class="LineNr"> 7017 </span> <span class="subxComment"># check output</span> -<span id="L7018" class="LineNr"> 7018 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-type-definition-with-addr: output should be empty"</span>) -<span id="L7019" class="LineNr"> 7019 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"type t: 'addr' elements not allowed"</span> <span class="Constant">"F - test-type-definition-with-addr: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7018" class="LineNr"> 7018 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L6984'>test-type-definition-with-addr</a>: output should be empty"</span>) +<span id="L7019" class="LineNr"> 7019 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"type t: 'addr' elements not allowed"</span> <span class="Constant">"F - <a href='mu.subx.html#L6984'>test-type-definition-with-addr</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7020" class="LineNr"> 7020 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7021" class="LineNr"> 7021 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-type-definition-with-addr: exit status"</span>) +<span id="L7021" class="LineNr"> 7021 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L6984'>test-type-definition-with-addr</a>: exit status"</span>) <span id="L7022" class="LineNr"> 7022 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7023" class="LineNr"> 7023 </span> 81 0/subop/add %esp 8/imm32 <span id="L7024" class="LineNr"> 7024 </span> <span class="subxS1Comment"># . epilogue</span> @@ -6445,25 +6445,25 @@ if ('onhashchange' in window) { <span id="L7043" class="LineNr"> 7043 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7044" class="LineNr"> 7044 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7045" class="LineNr"> 7045 </span> <span class="subxComment"># convert</span> -<span id="L7046" class="LineNr"> 7046 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7046" class="LineNr"> 7046 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7047" class="LineNr"> 7047 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7048" class="Folded"> 7048 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7054" class="LineNr"> 7054 </span> <span class="subxComment"># check output</span> -<span id="L7055" class="LineNr"> 7055 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/0"</span>) +<span id="L7055" class="LineNr"> 7055 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/0"</span>) <span id="L7056" class="LineNr"> 7056 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/1"</span>) -<span id="L7057" class="LineNr"> 7057 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/2"</span>) -<span id="L7058" class="LineNr"> 7058 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/3"</span>) -<span id="L7059" class="LineNr"> 7059 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/4"</span>) -<span id="L7060" class="LineNr"> 7060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/5"</span>) -<span id="L7061" class="LineNr"> 7061 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/6"</span>) -<span id="L7062" class="LineNr"> 7062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/7"</span>) -<span id="L7063" class="LineNr"> 7063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/8"</span>) -<span id="L7064" class="LineNr"> 7064 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/9"</span>) -<span id="L7065" class="LineNr"> 7065 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/10"</span>) +<span id="L7057" class="LineNr"> 7057 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/2"</span>) +<span id="L7058" class="LineNr"> 7058 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/3"</span>) +<span id="L7059" class="LineNr"> 7059 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/4"</span>) +<span id="L7060" class="LineNr"> 7060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/5"</span>) +<span id="L7061" class="LineNr"> 7061 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/6"</span>) +<span id="L7062" class="LineNr"> 7062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/7"</span>) +<span id="L7063" class="LineNr"> 7063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/8"</span>) +<span id="L7064" class="LineNr"> 7064 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/9"</span>) +<span id="L7065" class="LineNr"> 7065 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/10"</span>) <span id="L7066" class="LineNr"> 7066 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/11"</span>) -<span id="L7067" class="LineNr"> 7067 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/12"</span>) -<span id="L7068" class="LineNr"> 7068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/13"</span>) -<span id="L7069" class="LineNr"> 7069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type/14"</span>) +<span id="L7067" class="LineNr"> 7067 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/12"</span>) +<span id="L7068" class="LineNr"> 7068 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/13"</span>) +<span id="L7069" class="LineNr"> 7069 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7028'>test-convert-function-with-local-var-with-user-defined-type</a>/14"</span>) <span id="L7070" class="LineNr"> 7070 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7071" class="LineNr"> 7071 </span> 89/<- %esp 5/r32/ebp <span id="L7072" class="LineNr"> 7072 </span> 5d/pop-to-ebp @@ -6489,24 +6489,24 @@ if ('onhashchange' in window) { <span id="L7092" class="LineNr"> 7092 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" z: int\n"</span>) <span id="L7093" class="LineNr"> 7093 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7094" class="LineNr"> 7094 </span> <span class="subxComment"># convert</span> -<span id="L7095" class="LineNr"> 7095 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7095" class="LineNr"> 7095 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7096" class="LineNr"> 7096 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7097" class="Folded"> 7097 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7103" class="LineNr"> 7103 </span> <span class="subxComment"># check output</span> -<span id="L7104" class="LineNr"> 7104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/0"</span>) +<span id="L7104" class="LineNr"> 7104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/0"</span>) <span id="L7105" class="LineNr"> 7105 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/1"</span>) -<span id="L7106" class="LineNr"> 7106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/2"</span>) -<span id="L7107" class="LineNr"> 7107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/3"</span>) -<span id="L7108" class="LineNr"> 7108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/4"</span>) -<span id="L7109" class="LineNr"> 7109 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/5"</span>) -<span id="L7110" class="LineNr"> 7110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/7"</span>) -<span id="L7111" class="LineNr"> 7111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/8"</span>) -<span id="L7112" class="LineNr"> 7112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/9"</span>) -<span id="L7113" class="LineNr"> 7113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/10"</span>) +<span id="L7106" class="LineNr"> 7106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/2"</span>) +<span id="L7107" class="LineNr"> 7107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/3"</span>) +<span id="L7108" class="LineNr"> 7108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/4"</span>) +<span id="L7109" class="LineNr"> 7109 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/5"</span>) +<span id="L7110" class="LineNr"> 7110 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/7"</span>) +<span id="L7111" class="LineNr"> 7111 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/8"</span>) +<span id="L7112" class="LineNr"> 7112 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/9"</span>) +<span id="L7113" class="LineNr"> 7113 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/10"</span>) <span id="L7114" class="LineNr"> 7114 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/11"</span>) -<span id="L7115" class="LineNr"> 7115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/12"</span>) -<span id="L7116" class="LineNr"> 7116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/13"</span>) -<span id="L7117" class="LineNr"> 7117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type/14"</span>) +<span id="L7115" class="LineNr"> 7115 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/12"</span>) +<span id="L7116" class="LineNr"> 7116 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/13"</span>) +<span id="L7117" class="LineNr"> 7117 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7075'>test-convert-function-with-local-var-with-user-defined-type-containing-user-defined-type</a>/14"</span>) <span id="L7118" class="LineNr"> 7118 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7119" class="LineNr"> 7119 </span> 89/<- %esp 5/r32/ebp <span id="L7120" class="LineNr"> 7120 </span> 5d/pop-to-ebp @@ -6533,37 +6533,37 @@ if ('onhashchange' in window) { <span id="L7141" class="LineNr"> 7141 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7142" class="LineNr"> 7142 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7143" class="LineNr"> 7143 </span> <span class="subxComment"># convert</span> -<span id="L7144" class="LineNr"> 7144 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7144" class="LineNr"> 7144 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7145" class="LineNr"> 7145 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7146" class="Folded"> 7146 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7152" class="LineNr"> 7152 </span> <span class="subxComment"># check output</span> -<span id="L7153" class="LineNr"> 7153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/0"</span>) +<span id="L7153" class="LineNr"> 7153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/0"</span>) <span id="L7154" class="LineNr"> 7154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/1"</span>) -<span id="L7155" class="LineNr"> 7155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/2"</span>) -<span id="L7156" class="LineNr"> 7156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/3"</span>) -<span id="L7157" class="LineNr"> 7157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/4"</span>) -<span id="L7158" class="LineNr"> 7158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/5"</span>) +<span id="L7155" class="LineNr"> 7155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/2"</span>) +<span id="L7156" class="LineNr"> 7156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/3"</span>) +<span id="L7157" class="LineNr"> 7157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/4"</span>) +<span id="L7158" class="LineNr"> 7158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/5"</span>) <span id="L7159" class="LineNr"> 7159 </span> <span class="subxComment"># var a: t</span> -<span id="L7160" class="LineNr"> 7160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/6"</span>) -<span id="L7161" class="LineNr"> 7161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/7"</span>) +<span id="L7160" class="LineNr"> 7160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/6"</span>) +<span id="L7161" class="LineNr"> 7161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/7"</span>) <span id="L7162" class="LineNr"> 7162 </span> <span class="subxComment"># foo a</span> -<span id="L7163" class="LineNr"> 7163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo *(ebp+0xfffffff8) *(ebp+0xfffffffc))"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/8"</span>) +<span id="L7163" class="LineNr"> 7163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo *(ebp+0xfffffff8) *(ebp+0xfffffffc))"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/8"</span>) <span id="L7164" class="LineNr"> 7164 </span> <span class="subxComment">#</span> -<span id="L7165" class="LineNr"> 7165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/9"</span>) -<span id="L7166" class="LineNr"> 7166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/10"</span>) -<span id="L7167" class="LineNr"> 7167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/11"</span>) +<span id="L7165" class="LineNr"> 7165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/9"</span>) +<span id="L7166" class="LineNr"> 7166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/10"</span>) +<span id="L7167" class="LineNr"> 7167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/11"</span>) <span id="L7168" class="LineNr"> 7168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/12"</span>) -<span id="L7169" class="LineNr"> 7169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/13"</span>) -<span id="L7170" class="LineNr"> 7170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/14"</span>) -<span id="L7171" class="LineNr"> 7171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/15"</span>) -<span id="L7172" class="LineNr"> 7172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/16"</span>) +<span id="L7169" class="LineNr"> 7169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/13"</span>) +<span id="L7170" class="LineNr"> 7170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/14"</span>) +<span id="L7171" class="LineNr"> 7171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/15"</span>) +<span id="L7172" class="LineNr"> 7172 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/16"</span>) <span id="L7173" class="LineNr"> 7173 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/17"</span>) -<span id="L7174" class="LineNr"> 7174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/18"</span>) -<span id="L7175" class="LineNr"> 7175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/19"</span>) +<span id="L7174" class="LineNr"> 7174 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/18"</span>) +<span id="L7175" class="LineNr"> 7175 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/19"</span>) <span id="L7176" class="LineNr"> 7176 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/20"</span>) -<span id="L7177" class="LineNr"> 7177 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/21"</span>) -<span id="L7178" class="LineNr"> 7178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/22"</span>) -<span id="L7179" class="LineNr"> 7179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/23"</span>) +<span id="L7177" class="LineNr"> 7177 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/21"</span>) +<span id="L7178" class="LineNr"> 7178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/22"</span>) +<span id="L7179" class="LineNr"> 7179 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/23"</span>) <span id="L7180" class="LineNr"> 7180 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7181" class="LineNr"> 7181 </span> 89/<- %esp 5/r32/ebp <span id="L7182" class="LineNr"> 7182 </span> 5d/pop-to-ebp @@ -6590,37 +6590,37 @@ if ('onhashchange' in window) { <span id="L7203" class="LineNr"> 7203 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7204" class="LineNr"> 7204 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7205" class="LineNr"> 7205 </span> <span class="subxComment"># convert</span> -<span id="L7206" class="LineNr"> 7206 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7206" class="LineNr"> 7206 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7207" class="LineNr"> 7207 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7208" class="Folded"> 7208 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7214" class="LineNr"> 7214 </span> <span class="subxComment"># check output</span> -<span id="L7215" class="LineNr"> 7215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/0"</span>) +<span id="L7215" class="LineNr"> 7215 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/0"</span>) <span id="L7216" class="LineNr"> 7216 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/1"</span>) -<span id="L7217" class="LineNr"> 7217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/2"</span>) -<span id="L7218" class="LineNr"> 7218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/3"</span>) -<span id="L7219" class="LineNr"> 7219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/4"</span>) -<span id="L7220" class="LineNr"> 7220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/5"</span>) +<span id="L7217" class="LineNr"> 7217 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/2"</span>) +<span id="L7218" class="LineNr"> 7218 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/3"</span>) +<span id="L7219" class="LineNr"> 7219 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/4"</span>) +<span id="L7220" class="LineNr"> 7220 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/5"</span>) <span id="L7221" class="LineNr"> 7221 </span> <span class="subxComment"># var a</span> -<span id="L7222" class="LineNr"> 7222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/6"</span>) -<span id="L7223" class="LineNr"> 7223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/7"</span>) +<span id="L7222" class="LineNr"> 7222 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/6"</span>) +<span id="L7223" class="LineNr"> 7223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/7"</span>) <span id="L7224" class="LineNr"> 7224 </span> <span class="subxComment"># foo a</span> -<span id="L7225" class="LineNr"> 7225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo *(eax+0x00000000) *(eax+0x00000004))"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/8"</span>) +<span id="L7225" class="LineNr"> 7225 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo *(eax+0x00000000) *(eax+0x00000004))"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/8"</span>) <span id="L7226" class="LineNr"> 7226 </span> <span class="subxComment">#</span> -<span id="L7227" class="LineNr"> 7227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/9"</span>) -<span id="L7228" class="LineNr"> 7228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/10"</span>) -<span id="L7229" class="LineNr"> 7229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/11"</span>) +<span id="L7227" class="LineNr"> 7227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/9"</span>) +<span id="L7228" class="LineNr"> 7228 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/10"</span>) +<span id="L7229" class="LineNr"> 7229 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/11"</span>) <span id="L7230" class="LineNr"> 7230 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/12"</span>) -<span id="L7231" class="LineNr"> 7231 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/13"</span>) -<span id="L7232" class="LineNr"> 7232 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/14"</span>) -<span id="L7233" class="LineNr"> 7233 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/15"</span>) -<span id="L7234" class="LineNr"> 7234 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/16"</span>) +<span id="L7231" class="LineNr"> 7231 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/13"</span>) +<span id="L7232" class="LineNr"> 7232 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/14"</span>) +<span id="L7233" class="LineNr"> 7233 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/15"</span>) +<span id="L7234" class="LineNr"> 7234 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/16"</span>) <span id="L7235" class="LineNr"> 7235 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/17"</span>) -<span id="L7236" class="LineNr"> 7236 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/18"</span>) -<span id="L7237" class="LineNr"> 7237 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/19"</span>) +<span id="L7236" class="LineNr"> 7236 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/18"</span>) +<span id="L7237" class="LineNr"> 7237 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/19"</span>) <span id="L7238" class="LineNr"> 7238 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/20"</span>) -<span id="L7239" class="LineNr"> 7239 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/21"</span>) -<span id="L7240" class="LineNr"> 7240 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/22"</span>) -<span id="L7241" class="LineNr"> 7241 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type/23"</span>) +<span id="L7239" class="LineNr"> 7239 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/21"</span>) +<span id="L7240" class="LineNr"> 7240 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/22"</span>) +<span id="L7241" class="LineNr"> 7241 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7123'>test-convert-function-call-with-arg-of-user-defined-type</a>/23"</span>) <span id="L7242" class="LineNr"> 7242 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7243" class="LineNr"> 7243 </span> 89/<- %esp 5/r32/ebp <span id="L7244" class="LineNr"> 7244 </span> 5d/pop-to-ebp @@ -6651,48 +6651,48 @@ if ('onhashchange' in window) { <span id="L7269" class="LineNr"> 7269 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7270" class="LineNr"> 7270 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7271" class="LineNr"> 7271 </span> <span class="subxComment"># convert</span> -<span id="L7272" class="LineNr"> 7272 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7272" class="LineNr"> 7272 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7273" class="LineNr"> 7273 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7274" class="Folded"> 7274 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7280" class="LineNr"> 7280 </span> <span class="subxComment"># check output</span> -<span id="L7281" class="LineNr"> 7281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/0"</span>) +<span id="L7281" class="LineNr"> 7281 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"f:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/0"</span>) <span id="L7282" class="LineNr"> 7282 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/1"</span>) -<span id="L7283" class="LineNr"> 7283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/2"</span>) -<span id="L7284" class="LineNr"> 7284 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/3"</span>) -<span id="L7285" class="LineNr"> 7285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/4"</span>) -<span id="L7286" class="LineNr"> 7286 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/5"</span>) +<span id="L7283" class="LineNr"> 7283 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/2"</span>) +<span id="L7284" class="LineNr"> 7284 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/3"</span>) +<span id="L7285" class="LineNr"> 7285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/4"</span>) +<span id="L7286" class="LineNr"> 7286 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/5"</span>) <span id="L7287" class="LineNr"> 7287 </span> <span class="subxComment"># var a: t</span> -<span id="L7288" class="LineNr"> 7288 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/6"</span>) -<span id="L7289" class="LineNr"> 7289 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/7"</span>) +<span id="L7288" class="LineNr"> 7288 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/6"</span>) +<span id="L7289" class="LineNr"> 7289 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/7"</span>) <span id="L7290" class="LineNr"> 7290 </span> <span class="subxComment"># var b/eax: (addr t)</span> -<span id="L7291" class="LineNr"> 7291 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/8"</span>) -<span id="L7292" class="LineNr"> 7292 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/9"</span>) +<span id="L7291" class="LineNr"> 7291 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/8"</span>) +<span id="L7292" class="LineNr"> 7292 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/9"</span>) <span id="L7293" class="LineNr"> 7293 </span> <span class="subxComment"># foo a</span> -<span id="L7294" class="LineNr"> 7294 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo %eax)"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/10"</span>) +<span id="L7294" class="LineNr"> 7294 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (foo %eax)"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/10"</span>) <span id="L7295" class="LineNr"> 7295 </span> <span class="subxComment">#</span> -<span id="L7296" class="LineNr"> 7296 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/11"</span>) -<span id="L7297" class="LineNr"> 7297 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/12"</span>) -<span id="L7298" class="LineNr"> 7298 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/13"</span>) -<span id="L7299" class="LineNr"> 7299 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/14"</span>) +<span id="L7296" class="LineNr"> 7296 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/11"</span>) +<span id="L7297" class="LineNr"> 7297 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/12"</span>) +<span id="L7298" class="LineNr"> 7298 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/13"</span>) +<span id="L7299" class="LineNr"> 7299 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$f:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/14"</span>) <span id="L7300" class="LineNr"> 7300 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/15"</span>) -<span id="L7301" class="LineNr"> 7301 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/16"</span>) -<span id="L7302" class="LineNr"> 7302 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/17"</span>) -<span id="L7303" class="LineNr"> 7303 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/18"</span>) -<span id="L7304" class="LineNr"> 7304 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/19"</span>) +<span id="L7301" class="LineNr"> 7301 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/16"</span>) +<span id="L7302" class="LineNr"> 7302 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/17"</span>) +<span id="L7303" class="LineNr"> 7303 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/18"</span>) +<span id="L7304" class="LineNr"> 7304 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/19"</span>) <span id="L7305" class="LineNr"> 7305 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/20"</span>) -<span id="L7306" class="LineNr"> 7306 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/21"</span>) -<span id="L7307" class="LineNr"> 7307 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/22"</span>) -<span id="L7308" class="LineNr"> 7308 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/23"</span>) -<span id="L7309" class="LineNr"> 7309 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/24"</span>) -<span id="L7310" class="LineNr"> 7310 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/25"</span>) -<span id="L7311" class="LineNr"> 7311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/26"</span>) -<span id="L7312" class="LineNr"> 7312 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/27"</span>) -<span id="L7313" class="LineNr"> 7313 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/28"</span>) -<span id="L7314" class="LineNr"> 7314 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/29"</span>) +<span id="L7306" class="LineNr"> 7306 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/21"</span>) +<span id="L7307" class="LineNr"> 7307 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/22"</span>) +<span id="L7308" class="LineNr"> 7308 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/23"</span>) +<span id="L7309" class="LineNr"> 7309 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/24"</span>) +<span id="L7310" class="LineNr"> 7310 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/25"</span>) +<span id="L7311" class="LineNr"> 7311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0x00000008) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/26"</span>) +<span id="L7312" class="LineNr"> 7312 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/27"</span>) +<span id="L7313" class="LineNr"> 7313 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/28"</span>) +<span id="L7314" class="LineNr"> 7314 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/29"</span>) <span id="L7315" class="LineNr"> 7315 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/30"</span>) -<span id="L7316" class="LineNr"> 7316 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/31"</span>) -<span id="L7317" class="LineNr"> 7317 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/32"</span>) -<span id="L7318" class="LineNr"> 7318 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-call-with-arg-of-user-defined-type-by-reference/33"</span>) +<span id="L7316" class="LineNr"> 7316 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/31"</span>) +<span id="L7317" class="LineNr"> 7317 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/32"</span>) +<span id="L7318" class="LineNr"> 7318 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7249'>test-convert-function-call-with-arg-of-user-defined-type-by-reference</a>/33"</span>) <span id="L7319" class="LineNr"> 7319 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7320" class="LineNr"> 7320 </span> 89/<- %esp 5/r32/ebp <span id="L7321" class="LineNr"> 7321 </span> 5d/pop-to-ebp @@ -6717,33 +6717,33 @@ if ('onhashchange' in window) { <span id="L7340" class="LineNr"> 7340 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7341" class="LineNr"> 7341 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7342" class="LineNr"> 7342 </span> <span class="subxComment"># convert</span> -<span id="L7343" class="LineNr"> 7343 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7343" class="LineNr"> 7343 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7344" class="LineNr"> 7344 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7345" class="Folded"> 7345 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7351" class="LineNr"> 7351 </span> <span class="subxComment"># check output</span> -<span id="L7352" class="LineNr"> 7352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-get-on-local-variable/0"</span>) +<span id="L7352" class="LineNr"> 7352 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/0"</span>) <span id="L7353" class="LineNr"> 7353 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-get-on-local-variable/1"</span>) -<span id="L7354" class="LineNr"> 7354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-get-on-local-variable/2"</span>) -<span id="L7355" class="LineNr"> 7355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-get-on-local-variable/3"</span>) -<span id="L7356" class="LineNr"> 7356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-get-on-local-variable/4"</span>) -<span id="L7357" class="LineNr"> 7357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-get-on-local-variable/5"</span>) +<span id="L7354" class="LineNr"> 7354 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/2"</span>) +<span id="L7355" class="LineNr"> 7355 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/3"</span>) +<span id="L7356" class="LineNr"> 7356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/4"</span>) +<span id="L7357" class="LineNr"> 7357 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/5"</span>) <span id="L7358" class="LineNr"> 7358 </span> <span class="subxComment"># var a</span> -<span id="L7359" class="LineNr"> 7359 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-get-on-local-variable/6"</span>) -<span id="L7360" class="LineNr"> 7360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-get-on-local-variable/7"</span>) +<span id="L7359" class="LineNr"> 7359 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/6"</span>) +<span id="L7360" class="LineNr"> 7360 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/7"</span>) <span id="L7361" class="LineNr"> 7361 </span> <span class="subxComment"># var c</span> -<span id="L7362" class="LineNr"> 7362 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-get-on-local-variable/8"</span>) +<span id="L7362" class="LineNr"> 7362 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/8"</span>) <span id="L7363" class="LineNr"> 7363 </span> <span class="subxComment"># get</span> -<span id="L7364" class="LineNr"> 7364 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffffc) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-get-on-local-variable/9"</span>) +<span id="L7364" class="LineNr"> 7364 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0xfffffffc) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/9"</span>) <span id="L7365" class="LineNr"> 7365 </span> <span class="subxComment"># reclaim c</span> -<span id="L7366" class="LineNr"> 7366 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-get-on-local-variable/10"</span>) +<span id="L7366" class="LineNr"> 7366 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/10"</span>) <span id="L7367" class="LineNr"> 7367 </span> <span class="subxComment"># reclaim a</span> -<span id="L7368" class="LineNr"> 7368 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - test-convert-get-on-local-variable/11"</span>) -<span id="L7369" class="LineNr"> 7369 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-get-on-local-variable/12"</span>) -<span id="L7370" class="LineNr"> 7370 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-get-on-local-variable/13"</span>) +<span id="L7368" class="LineNr"> 7368 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000008/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/11"</span>) +<span id="L7369" class="LineNr"> 7369 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/12"</span>) +<span id="L7370" class="LineNr"> 7370 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/13"</span>) <span id="L7371" class="LineNr"> 7371 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-get-on-local-variable/14"</span>) -<span id="L7372" class="LineNr"> 7372 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-get-on-local-variable/15"</span>) -<span id="L7373" class="LineNr"> 7373 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-get-on-local-variable/16"</span>) -<span id="L7374" class="LineNr"> 7374 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-get-on-local-variable/17"</span>) +<span id="L7372" class="LineNr"> 7372 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/15"</span>) +<span id="L7373" class="LineNr"> 7373 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/16"</span>) +<span id="L7374" class="LineNr"> 7374 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7324'>test-convert-get-on-local-variable</a>/17"</span>) <span id="L7375" class="LineNr"> 7375 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7376" class="LineNr"> 7376 </span> 89/<- %esp 5/r32/ebp <span id="L7377" class="LineNr"> 7377 </span> 5d/pop-to-ebp @@ -6767,28 +6767,28 @@ if ('onhashchange' in window) { <span id="L7395" class="LineNr"> 7395 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" y: int\n"</span>) <span id="L7396" class="LineNr"> 7396 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7397" class="LineNr"> 7397 </span> <span class="subxComment"># convert</span> -<span id="L7398" class="LineNr"> 7398 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7398" class="LineNr"> 7398 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7399" class="LineNr"> 7399 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7400" class="Folded"> 7400 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7406" class="LineNr"> 7406 </span> <span class="subxComment"># check output</span> -<span id="L7407" class="LineNr"> 7407 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-get-on-function-argument/0"</span>) +<span id="L7407" class="LineNr"> 7407 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/0"</span>) <span id="L7408" class="LineNr"> 7408 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-get-on-function-argument/1"</span>) -<span id="L7409" class="LineNr"> 7409 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument/2"</span>) -<span id="L7410" class="LineNr"> 7410 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-get-on-function-argument/3"</span>) -<span id="L7411" class="LineNr"> 7411 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-get-on-function-argument/4"</span>) -<span id="L7412" class="LineNr"> 7412 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-get-on-function-argument/5"</span>) +<span id="L7409" class="LineNr"> 7409 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/2"</span>) +<span id="L7410" class="LineNr"> 7410 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/3"</span>) +<span id="L7411" class="LineNr"> 7411 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/4"</span>) +<span id="L7412" class="LineNr"> 7412 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/5"</span>) <span id="L7413" class="LineNr"> 7413 </span> <span class="subxComment"># var c</span> -<span id="L7414" class="LineNr"> 7414 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-get-on-function-argument/6"</span>) +<span id="L7414" class="LineNr"> 7414 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/6"</span>) <span id="L7415" class="LineNr"> 7415 </span> <span class="subxComment"># get</span> -<span id="L7416" class="LineNr"> 7416 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0x0000000c) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-get-on-function-argument/7"</span>) +<span id="L7416" class="LineNr"> 7416 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0x0000000c) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/7"</span>) <span id="L7417" class="LineNr"> 7417 </span> <span class="subxComment"># reclaim c</span> -<span id="L7418" class="LineNr"> 7418 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-get-on-function-argument/8"</span>) -<span id="L7419" class="LineNr"> 7419 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-get-on-function-argument/9"</span>) -<span id="L7420" class="LineNr"> 7420 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-get-on-function-argument/10"</span>) +<span id="L7418" class="LineNr"> 7418 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/8"</span>) +<span id="L7419" class="LineNr"> 7419 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/9"</span>) +<span id="L7420" class="LineNr"> 7420 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/10"</span>) <span id="L7421" class="LineNr"> 7421 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-get-on-function-argument/11"</span>) -<span id="L7422" class="LineNr"> 7422 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument/12"</span>) -<span id="L7423" class="LineNr"> 7423 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument/13"</span>) -<span id="L7424" class="LineNr"> 7424 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-get-on-function-argument/14"</span>) +<span id="L7422" class="LineNr"> 7422 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/12"</span>) +<span id="L7423" class="LineNr"> 7423 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/13"</span>) +<span id="L7424" class="LineNr"> 7424 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7380'>test-convert-get-on-function-argument</a>/14"</span>) <span id="L7425" class="LineNr"> 7425 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7426" class="LineNr"> 7426 </span> 89/<- %esp 5/r32/ebp <span id="L7427" class="LineNr"> 7427 </span> 5d/pop-to-ebp @@ -6812,28 +6812,28 @@ if ('onhashchange' in window) { <span id="L7445" class="LineNr"> 7445 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- <a href='131table.subx.html#L26'>get</a> a, y\n"</span>) <span id="L7446" class="LineNr"> 7446 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7447" class="LineNr"> 7447 </span> <span class="subxComment"># convert</span> -<span id="L7448" class="LineNr"> 7448 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7448" class="LineNr"> 7448 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7449" class="LineNr"> 7449 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7450" class="Folded"> 7450 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7456" class="LineNr"> 7456 </span> <span class="subxComment"># check output</span> -<span id="L7457" class="LineNr"> 7457 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/0"</span>) +<span id="L7457" class="LineNr"> 7457 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/0"</span>) <span id="L7458" class="LineNr"> 7458 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/1"</span>) -<span id="L7459" class="LineNr"> 7459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/2"</span>) -<span id="L7460" class="LineNr"> 7460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/3"</span>) -<span id="L7461" class="LineNr"> 7461 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/4"</span>) -<span id="L7462" class="LineNr"> 7462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/5"</span>) +<span id="L7459" class="LineNr"> 7459 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/2"</span>) +<span id="L7460" class="LineNr"> 7460 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/3"</span>) +<span id="L7461" class="LineNr"> 7461 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/4"</span>) +<span id="L7462" class="LineNr"> 7462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/5"</span>) <span id="L7463" class="LineNr"> 7463 </span> <span class="subxComment"># var c</span> -<span id="L7464" class="LineNr"> 7464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/6"</span>) +<span id="L7464" class="LineNr"> 7464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/6"</span>) <span id="L7465" class="LineNr"> 7465 </span> <span class="subxComment"># get</span> -<span id="L7466" class="LineNr"> 7466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0x0000000c) 0x00000001/r32"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/7"</span>) +<span id="L7466" class="LineNr"> 7466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(ebp+0x0000000c) 0x00000001/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/7"</span>) <span id="L7467" class="LineNr"> 7467 </span> <span class="subxComment"># reclaim c</span> -<span id="L7468" class="LineNr"> 7468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/8"</span>) -<span id="L7469" class="LineNr"> 7469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/9"</span>) -<span id="L7470" class="LineNr"> 7470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/10"</span>) +<span id="L7468" class="LineNr"> 7468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/8"</span>) +<span id="L7469" class="LineNr"> 7469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/9"</span>) +<span id="L7470" class="LineNr"> 7470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/10"</span>) <span id="L7471" class="LineNr"> 7471 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/11"</span>) -<span id="L7472" class="LineNr"> 7472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/12"</span>) -<span id="L7473" class="LineNr"> 7473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/13"</span>) -<span id="L7474" class="LineNr"> 7474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-get-on-function-argument-with-known-type/14"</span>) +<span id="L7472" class="LineNr"> 7472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/12"</span>) +<span id="L7473" class="LineNr"> 7473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/13"</span>) +<span id="L7474" class="LineNr"> 7474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L7430'>test-convert-get-on-function-argument-with-known-type</a>/14"</span>) <span id="L7475" class="LineNr"> 7475 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L7476" class="LineNr"> 7476 </span> 89/<- %esp 5/r32/ebp <span id="L7477" class="LineNr"> 7477 </span> 5d/pop-to-ebp @@ -6861,7 +6861,7 @@ if ('onhashchange' in window) { <span id="L7499" class="LineNr"> 7499 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/ecx: int <- add a, 0\n"</span>) <span id="L7500" class="LineNr"> 7500 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7501" class="LineNr"> 7501 </span> <span class="subxComment"># convert</span> -<span id="L7502" class="LineNr"> 7502 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7502" class="LineNr"> 7502 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7503" class="LineNr"> 7503 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7504" class="LineNr"> 7504 </span> <span class="subxComment"># restore ed</span> <span id="L7505" class="LineNr"> 7505 </span> 89/<- %edx 4/r32/esp @@ -6869,10 +6869,10 @@ if ('onhashchange' in window) { <span id="L7507" class="LineNr"> 7507 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7508" class="Folded"> 7508 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7514" class="LineNr"> 7514 </span> <span class="subxComment"># check output</span> -<span id="L7515" class="LineNr"> 7515 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-add-with-too-many-inouts: output should be empty"</span>) -<span id="L7516" class="LineNr"> 7516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: too many inouts; most primitives support at most two arguments, across inouts and outputs"</span> <span class="Constant">"F - test-add-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7515" class="LineNr"> 7515 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7480'>test-add-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L7516" class="LineNr"> 7516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: too many inouts; most primitives support at most two arguments, across inouts and outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L7480'>test-add-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7517" class="LineNr"> 7517 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7518" class="LineNr"> 7518 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-add-with-too-many-inouts: exit status"</span>) +<span id="L7518" class="LineNr"> 7518 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7480'>test-add-with-too-many-inouts</a>: exit status"</span>) <span id="L7519" class="LineNr"> 7519 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7520" class="LineNr"> 7520 </span> 81 0/subop/add %esp 8/imm32 <span id="L7521" class="LineNr"> 7521 </span> <span class="subxS1Comment"># . epilogue</span> @@ -6901,7 +6901,7 @@ if ('onhashchange' in window) { <span id="L7544" class="LineNr"> 7544 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" add-to a, 0, 1\n"</span>) <span id="L7545" class="LineNr"> 7545 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7546" class="LineNr"> 7546 </span> <span class="subxComment"># convert</span> -<span id="L7547" class="LineNr"> 7547 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7547" class="LineNr"> 7547 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7548" class="LineNr"> 7548 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7549" class="LineNr"> 7549 </span> <span class="subxComment"># restore ed</span> <span id="L7550" class="LineNr"> 7550 </span> 89/<- %edx 4/r32/esp @@ -6909,10 +6909,10 @@ if ('onhashchange' in window) { <span id="L7552" class="LineNr"> 7552 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7553" class="Folded"> 7553 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7559" class="LineNr"> 7559 </span> <span class="subxComment"># check output</span> -<span id="L7560" class="LineNr"> 7560 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-add-with-too-many-inouts-2: output should be empty"</span>) -<span id="L7561" class="LineNr"> 7561 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add-to: too many inouts; most primitives support at most two arguments, across inouts and outputs"</span> <span class="Constant">"F - test-add-with-too-many-inouts-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7560" class="LineNr"> 7560 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7525'>test-add-with-too-many-inouts-2</a>: output should be empty"</span>) +<span id="L7561" class="LineNr"> 7561 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add-to: too many inouts; most primitives support at most two arguments, across inouts and outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L7525'>test-add-with-too-many-inouts-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7562" class="LineNr"> 7562 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7563" class="LineNr"> 7563 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-add-with-too-many-inouts-2: exit status"</span>) +<span id="L7563" class="LineNr"> 7563 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7525'>test-add-with-too-many-inouts-2</a>: exit status"</span>) <span id="L7564" class="LineNr"> 7564 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7565" class="LineNr"> 7565 </span> 81 0/subop/add %esp 8/imm32 <span id="L7566" class="LineNr"> 7566 </span> <span class="subxS1Comment"># . epilogue</span> @@ -6943,7 +6943,7 @@ if ('onhashchange' in window) { <span id="L7591" class="LineNr"> 7591 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" c, b <- add a\n"</span>) <span id="L7592" class="LineNr"> 7592 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7593" class="LineNr"> 7593 </span> <span class="subxComment"># convert</span> -<span id="L7594" class="LineNr"> 7594 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7594" class="LineNr"> 7594 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7595" class="LineNr"> 7595 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7596" class="LineNr"> 7596 </span> <span class="subxComment"># restore ed</span> <span id="L7597" class="LineNr"> 7597 </span> 89/<- %edx 4/r32/esp @@ -6951,10 +6951,10 @@ if ('onhashchange' in window) { <span id="L7599" class="LineNr"> 7599 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7600" class="Folded"> 7600 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7606" class="LineNr"> 7606 </span> <span class="subxComment"># check output</span> -<span id="L7607" class="LineNr"> 7607 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-add-with-too-many-outputs: output should be empty"</span>) -<span id="L7608" class="LineNr"> 7608 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: too many outputs; most primitives support at most one output"</span> <span class="Constant">"F - test-add-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7607" class="LineNr"> 7607 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7570'>test-add-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L7608" class="LineNr"> 7608 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: too many outputs; most primitives support at most one output"</span> <span class="Constant">"F - <a href='mu.subx.html#L7570'>test-add-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7609" class="LineNr"> 7609 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7610" class="LineNr"> 7610 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-add-with-too-many-outputs: exit status"</span>) +<span id="L7610" class="LineNr"> 7610 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7570'>test-add-with-too-many-outputs</a>: exit status"</span>) <span id="L7611" class="LineNr"> 7611 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7612" class="LineNr"> 7612 </span> 81 0/subop/add %esp 8/imm32 <span id="L7613" class="LineNr"> 7613 </span> <span class="subxS1Comment"># . epilogue</span> @@ -6983,7 +6983,7 @@ if ('onhashchange' in window) { <span id="L7636" class="LineNr"> 7636 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var b/ecx: (addr int) <- add a\n"</span>) <span id="L7637" class="LineNr"> 7637 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7638" class="LineNr"> 7638 </span> <span class="subxComment"># convert</span> -<span id="L7639" class="LineNr"> 7639 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7639" class="LineNr"> 7639 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7640" class="LineNr"> 7640 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7641" class="LineNr"> 7641 </span> <span class="subxComment"># restore ed</span> <span id="L7642" class="LineNr"> 7642 </span> 89/<- %edx 4/r32/esp @@ -6991,10 +6991,10 @@ if ('onhashchange' in window) { <span id="L7644" class="LineNr"> 7644 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7645" class="Folded"> 7645 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7651" class="LineNr"> 7651 </span> <span class="subxComment"># check output</span> -<span id="L7652" class="LineNr"> 7652 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-add-with-non-number: output should be empty"</span>) -<span id="L7653" class="LineNr"> 7653 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: 'b' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-add-with-non-number: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7652" class="LineNr"> 7652 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7617'>test-add-with-non-number</a>: output should be empty"</span>) +<span id="L7653" class="LineNr"> 7653 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt add: 'b' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L7617'>test-add-with-non-number</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7654" class="LineNr"> 7654 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7655" class="LineNr"> 7655 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-add-with-non-number: exit status"</span>) +<span id="L7655" class="LineNr"> 7655 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7617'>test-add-with-non-number</a>: exit status"</span>) <span id="L7656" class="LineNr"> 7656 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7657" class="LineNr"> 7657 </span> 81 0/subop/add %esp 8/imm32 <span id="L7658" class="LineNr"> 7658 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7016,7 +7016,7 @@ if ('onhashchange' in window) { <span id="L7674" class="LineNr"> 7674 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" add-to *a, 1\n"</span>) <span id="L7675" class="LineNr"> 7675 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7676" class="LineNr"> 7676 </span> <span class="subxComment"># convert</span> -<span id="L7677" class="LineNr"> 7677 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7677" class="LineNr"> 7677 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7678" class="LineNr"> 7678 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7679" class="LineNr"> 7679 </span> <span class="subxComment"># no error</span> <span id="L7680" class="LineNr"> 7680 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7045,7 +7045,7 @@ if ('onhashchange' in window) { <span id="L7703" class="LineNr"> 7703 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: boolean <- copy\n"</span>) <span id="L7704" class="LineNr"> 7704 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7705" class="LineNr"> 7705 </span> <span class="subxComment"># convert</span> -<span id="L7706" class="LineNr"> 7706 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7706" class="LineNr"> 7706 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7707" class="LineNr"> 7707 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7708" class="LineNr"> 7708 </span> <span class="subxComment"># restore ed</span> <span id="L7709" class="LineNr"> 7709 </span> 89/<- %edx 4/r32/esp @@ -7053,10 +7053,10 @@ if ('onhashchange' in window) { <span id="L7711" class="LineNr"> 7711 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7712" class="Folded"> 7712 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7718" class="LineNr"> 7718 </span> <span class="subxComment"># check output</span> -<span id="L7719" class="LineNr"> 7719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-with-no-inout: output should be empty"</span>) -<span id="L7720" class="LineNr"> 7720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' expects an inout"</span> <span class="Constant">"F - test-copy-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7719" class="LineNr"> 7719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7685'>test-copy-with-no-inout</a>: output should be empty"</span>) +<span id="L7720" class="LineNr"> 7720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' expects an inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L7685'>test-copy-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7721" class="LineNr"> 7721 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7722" class="LineNr"> 7722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-with-no-inout: exit status"</span>) +<span id="L7722" class="LineNr"> 7722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7685'>test-copy-with-no-inout</a>: exit status"</span>) <span id="L7723" class="LineNr"> 7723 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7724" class="LineNr"> 7724 </span> 81 0/subop/add %esp 8/imm32 <span id="L7725" class="LineNr"> 7725 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7084,7 +7084,7 @@ if ('onhashchange' in window) { <span id="L7747" class="LineNr"> 7747 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: boolean <- copy 0, 0\n"</span>) <span id="L7748" class="LineNr"> 7748 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7749" class="LineNr"> 7749 </span> <span class="subxComment"># convert</span> -<span id="L7750" class="LineNr"> 7750 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7750" class="LineNr"> 7750 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7751" class="LineNr"> 7751 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7752" class="LineNr"> 7752 </span> <span class="subxComment"># restore ed</span> <span id="L7753" class="LineNr"> 7753 </span> 89/<- %edx 4/r32/esp @@ -7092,10 +7092,10 @@ if ('onhashchange' in window) { <span id="L7755" class="LineNr"> 7755 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7756" class="Folded"> 7756 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7762" class="LineNr"> 7762 </span> <span class="subxComment"># check output</span> -<span id="L7763" class="LineNr"> 7763 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-with-multiple-inouts: output should be empty"</span>) -<span id="L7764" class="LineNr"> 7764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' must have just one inout"</span> <span class="Constant">"F - test-copy-with-multiple-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7763" class="LineNr"> 7763 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7729'>test-copy-with-multiple-inouts</a>: output should be empty"</span>) +<span id="L7764" class="LineNr"> 7764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' must have just one inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L7729'>test-copy-with-multiple-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7765" class="LineNr"> 7765 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7766" class="LineNr"> 7766 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-with-multiple-inouts: exit status"</span>) +<span id="L7766" class="LineNr"> 7766 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7729'>test-copy-with-multiple-inouts</a>: exit status"</span>) <span id="L7767" class="LineNr"> 7767 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7768" class="LineNr"> 7768 </span> 81 0/subop/add %esp 8/imm32 <span id="L7769" class="LineNr"> 7769 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7123,7 +7123,7 @@ if ('onhashchange' in window) { <span id="L7791" class="LineNr"> 7791 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy 0\n"</span>) <span id="L7792" class="LineNr"> 7792 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7793" class="LineNr"> 7793 </span> <span class="subxComment"># convert</span> -<span id="L7794" class="LineNr"> 7794 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7794" class="LineNr"> 7794 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7795" class="LineNr"> 7795 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7796" class="LineNr"> 7796 </span> <span class="subxComment"># restore ed</span> <span id="L7797" class="LineNr"> 7797 </span> 89/<- %edx 4/r32/esp @@ -7131,10 +7131,10 @@ if ('onhashchange' in window) { <span id="L7799" class="LineNr"> 7799 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7800" class="Folded"> 7800 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7806" class="LineNr"> 7806 </span> <span class="subxComment"># check output</span> -<span id="L7807" class="LineNr"> 7807 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-with-no-output: output should be empty"</span>) -<span id="L7808" class="LineNr"> 7808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' expects an output"</span> <span class="Constant">"F - test-copy-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7807" class="LineNr"> 7807 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7773'>test-copy-with-no-output</a>: output should be empty"</span>) +<span id="L7808" class="LineNr"> 7808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' expects an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L7773'>test-copy-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7809" class="LineNr"> 7809 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7810" class="LineNr"> 7810 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-with-no-output: exit status"</span>) +<span id="L7810" class="LineNr"> 7810 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7773'>test-copy-with-no-output</a>: exit status"</span>) <span id="L7811" class="LineNr"> 7811 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7812" class="LineNr"> 7812 </span> 81 0/subop/add %esp 8/imm32 <span id="L7813" class="LineNr"> 7813 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7164,7 +7164,7 @@ if ('onhashchange' in window) { <span id="L7837" class="LineNr"> 7837 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x, y <- copy 0\n"</span>) <span id="L7838" class="LineNr"> 7838 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7839" class="LineNr"> 7839 </span> <span class="subxComment"># convert</span> -<span id="L7840" class="LineNr"> 7840 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7840" class="LineNr"> 7840 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7841" class="LineNr"> 7841 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7842" class="LineNr"> 7842 </span> <span class="subxComment"># restore ed</span> <span id="L7843" class="LineNr"> 7843 </span> 89/<- %edx 4/r32/esp @@ -7172,10 +7172,10 @@ if ('onhashchange' in window) { <span id="L7845" class="LineNr"> 7845 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7846" class="Folded"> 7846 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7852" class="LineNr"> 7852 </span> <span class="subxComment"># check output</span> -<span id="L7853" class="LineNr"> 7853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-with-multiple-outputs: output should be empty"</span>) -<span id="L7854" class="LineNr"> 7854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' must have just one output"</span> <span class="Constant">"F - test-copy-with-multiple-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7853" class="LineNr"> 7853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7817'>test-copy-with-multiple-outputs</a>: output should be empty"</span>) +<span id="L7854" class="LineNr"> 7854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy' must have just one output"</span> <span class="Constant">"F - <a href='mu.subx.html#L7817'>test-copy-with-multiple-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7855" class="LineNr"> 7855 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7856" class="LineNr"> 7856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-with-multiple-outputs: exit status"</span>) +<span id="L7856" class="LineNr"> 7856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7817'>test-copy-with-multiple-outputs</a>: exit status"</span>) <span id="L7857" class="LineNr"> 7857 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7858" class="LineNr"> 7858 </span> 81 0/subop/add %esp 8/imm32 <span id="L7859" class="LineNr"> 7859 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7204,7 +7204,7 @@ if ('onhashchange' in window) { <span id="L7882" class="LineNr"> 7882 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (addr int) <- copy x\n"</span>) <span id="L7883" class="LineNr"> 7883 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7884" class="LineNr"> 7884 </span> <span class="subxComment"># convert</span> -<span id="L7885" class="LineNr"> 7885 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7885" class="LineNr"> 7885 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7886" class="LineNr"> 7886 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7887" class="LineNr"> 7887 </span> <span class="subxComment"># restore ed</span> <span id="L7888" class="LineNr"> 7888 </span> 89/<- %edx 4/r32/esp @@ -7212,10 +7212,10 @@ if ('onhashchange' in window) { <span id="L7890" class="LineNr"> 7890 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7891" class="Folded"> 7891 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7897" class="LineNr"> 7897 </span> <span class="subxComment"># check output</span> -<span id="L7898" class="LineNr"> 7898 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-invalid-value-to-address: output should be empty"</span>) -<span id="L7899" class="LineNr"> 7899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-copy-invalid-value-to-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7898" class="LineNr"> 7898 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7863'>test-copy-invalid-value-to-address</a>: output should be empty"</span>) +<span id="L7899" class="LineNr"> 7899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L7863'>test-copy-invalid-value-to-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7900" class="LineNr"> 7900 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7901" class="LineNr"> 7901 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-invalid-value-to-address: exit status"</span>) +<span id="L7901" class="LineNr"> 7901 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7863'>test-copy-invalid-value-to-address</a>: exit status"</span>) <span id="L7902" class="LineNr"> 7902 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7903" class="LineNr"> 7903 </span> 81 0/subop/add %esp 8/imm32 <span id="L7904" class="LineNr"> 7904 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7236,7 +7236,7 @@ if ('onhashchange' in window) { <span id="L7919" class="LineNr"> 7919 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (addr int) <- copy 0\n"</span>) <span id="L7920" class="LineNr"> 7920 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7921" class="LineNr"> 7921 </span> <span class="subxComment"># convert</span> -<span id="L7922" class="LineNr"> 7922 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7922" class="LineNr"> 7922 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7923" class="LineNr"> 7923 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7924" class="LineNr"> 7924 </span> <span class="subxComment"># no errors</span> <span id="L7925" class="LineNr"> 7925 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7266,7 +7266,7 @@ if ('onhashchange' in window) { <span id="L7949" class="LineNr"> 7949 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (offset int) <- copy x\n"</span>) <span id="L7950" class="LineNr"> 7950 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7951" class="LineNr"> 7951 </span> <span class="subxComment"># convert</span> -<span id="L7952" class="LineNr"> 7952 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L7952" class="LineNr"> 7952 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L7953" class="LineNr"> 7953 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L7954" class="LineNr"> 7954 </span> <span class="subxComment"># restore ed</span> <span id="L7955" class="LineNr"> 7955 </span> 89/<- %edx 4/r32/esp @@ -7274,10 +7274,10 @@ if ('onhashchange' in window) { <span id="L7957" class="LineNr"> 7957 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L7958" class="Folded"> 7958 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7964" class="LineNr"> 7964 </span> <span class="subxComment"># check output</span> -<span id="L7965" class="LineNr"> 7965 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-invalid-value-to-address: output should be empty"</span>) -<span id="L7966" class="LineNr"> 7966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-copy-invalid-value-to-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L7965" class="LineNr"> 7965 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L7863'>test-copy-invalid-value-to-address</a>: output should be empty"</span>) +<span id="L7966" class="LineNr"> 7966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L7863'>test-copy-invalid-value-to-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L7967" class="LineNr"> 7967 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L7968" class="LineNr"> 7968 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-invalid-value-to-offset: exit status"</span>) +<span id="L7968" class="LineNr"> 7968 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L7930'>test-copy-invalid-value-to-offset</a>: exit status"</span>) <span id="L7969" class="LineNr"> 7969 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L7970" class="LineNr"> 7970 </span> 81 0/subop/add %esp 8/imm32 <span id="L7971" class="LineNr"> 7971 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7298,7 +7298,7 @@ if ('onhashchange' in window) { <span id="L7986" class="LineNr"> 7986 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (offset int) <- copy 0\n"</span>) <span id="L7987" class="LineNr"> 7987 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L7988" class="LineNr"> 7988 </span> <span class="subxComment"># convert</span> -<span id="L7989" class="LineNr"> 7989 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L7989" class="LineNr"> 7989 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L7990" class="LineNr"> 7990 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L7991" class="Folded"> 7991 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L7997" class="LineNr"> 7997 </span> <span class="subxComment"># no errors</span> @@ -7329,7 +7329,7 @@ if ('onhashchange' in window) { <span id="L8022" class="LineNr"> 8022 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: byte <- copy x\n"</span>) <span id="L8023" class="LineNr"> 8023 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8024" class="LineNr"> 8024 </span> <span class="subxComment"># convert</span> -<span id="L8025" class="LineNr"> 8025 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8025" class="LineNr"> 8025 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8026" class="LineNr"> 8026 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8027" class="LineNr"> 8027 </span> <span class="subxComment"># restore ed</span> <span id="L8028" class="LineNr"> 8028 </span> 89/<- %edx 4/r32/esp @@ -7337,10 +7337,10 @@ if ('onhashchange' in window) { <span id="L8030" class="LineNr"> 8030 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8031" class="Folded"> 8031 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8037" class="LineNr"> 8037 </span> <span class="subxComment"># check output</span> -<span id="L8038" class="LineNr"> 8038 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-non-literal-to-byte: output should be empty"</span>) -<span id="L8039" class="LineNr"> 8039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: cannot copy non-literal to 'y' of type byte; use copy-byte"</span> <span class="Constant">"F - test-copy-non-literal-to-byte: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8038" class="LineNr"> 8038 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8003'>test-copy-non-literal-to-byte</a>: output should be empty"</span>) +<span id="L8039" class="LineNr"> 8039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: cannot copy non-literal to 'y' of type byte; use copy-byte"</span> <span class="Constant">"F - <a href='mu.subx.html#L8003'>test-copy-non-literal-to-byte</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8040" class="LineNr"> 8040 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8041" class="LineNr"> 8041 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-non-literal-to-byte: exit status"</span>) +<span id="L8041" class="LineNr"> 8041 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8003'>test-copy-non-literal-to-byte</a>: exit status"</span>) <span id="L8042" class="LineNr"> 8042 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8043" class="LineNr"> 8043 </span> 81 0/subop/add %esp 8/imm32 <span id="L8044" class="LineNr"> 8044 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7362,7 +7362,7 @@ if ('onhashchange' in window) { <span id="L8060" class="LineNr"> 8060 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (addr int) <- copy *x\n"</span>) <span id="L8061" class="LineNr"> 8061 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8062" class="LineNr"> 8062 </span> <span class="subxComment"># convert</span> -<span id="L8063" class="LineNr"> 8063 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L8063" class="LineNr"> 8063 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L8064" class="LineNr"> 8064 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L8065" class="LineNr"> 8065 </span> <span class="subxComment"># no errors</span> <span id="L8066" class="LineNr"> 8066 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7391,7 +7391,7 @@ if ('onhashchange' in window) { <span id="L8089" class="LineNr"> 8089 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- copy 0\n"</span>) <span id="L8090" class="LineNr"> 8090 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8091" class="LineNr"> 8091 </span> <span class="subxComment"># convert</span> -<span id="L8092" class="LineNr"> 8092 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8092" class="LineNr"> 8092 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8093" class="LineNr"> 8093 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8094" class="LineNr"> 8094 </span> <span class="subxComment"># restore ed</span> <span id="L8095" class="LineNr"> 8095 </span> 89/<- %edx 4/r32/esp @@ -7399,10 +7399,10 @@ if ('onhashchange' in window) { <span id="L8097" class="LineNr"> 8097 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8098" class="Folded"> 8098 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8104" class="LineNr"> 8104 </span> <span class="subxComment"># check output</span> -<span id="L8105" class="LineNr"> 8105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-non-register: output should be empty"</span>) -<span id="L8106" class="LineNr"> 8106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: output 'x' not in a register"</span> <span class="Constant">"F - test-copy-to-non-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8105" class="LineNr"> 8105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8070'>test-copy-to-non-register</a>: output should be empty"</span>) +<span id="L8106" class="LineNr"> 8106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: output 'x' not in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L8070'>test-copy-to-non-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8107" class="LineNr"> 8107 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8108" class="LineNr"> 8108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-non-register: exit status"</span>) +<span id="L8108" class="LineNr"> 8108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8070'>test-copy-to-non-register</a>: exit status"</span>) <span id="L8109" class="LineNr"> 8109 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8110" class="LineNr"> 8110 </span> 81 0/subop/add %esp 8/imm32 <span id="L8111" class="LineNr"> 8111 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7431,7 +7431,7 @@ if ('onhashchange' in window) { <span id="L8134" class="LineNr"> 8134 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: int <- copy x\n"</span>) <span id="L8135" class="LineNr"> 8135 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8136" class="LineNr"> 8136 </span> <span class="subxComment"># convert</span> -<span id="L8137" class="LineNr"> 8137 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8137" class="LineNr"> 8137 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8138" class="LineNr"> 8138 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8139" class="LineNr"> 8139 </span> <span class="subxComment"># restore ed</span> <span id="L8140" class="LineNr"> 8140 </span> 89/<- %edx 4/r32/esp @@ -7439,10 +7439,10 @@ if ('onhashchange' in window) { <span id="L8142" class="LineNr"> 8142 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8143" class="Folded"> 8143 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8149" class="LineNr"> 8149 </span> <span class="subxComment"># check output</span> -<span id="L8150" class="LineNr"> 8150 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-from-non-scalar-inout: output should be empty"</span>) -<span id="L8151" class="LineNr"> 8151 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'x' is too large to fit in a register"</span> <span class="Constant">"F - test-copy-from-non-scalar-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8150" class="LineNr"> 8150 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8115'>test-copy-from-non-scalar-inout</a>: output should be empty"</span>) +<span id="L8151" class="LineNr"> 8151 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy: 'x' is too large to fit in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L8115'>test-copy-from-non-scalar-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8152" class="LineNr"> 8152 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8153" class="LineNr"> 8153 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-from-non-scalar-inout: exit status"</span>) +<span id="L8153" class="LineNr"> 8153 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8115'>test-copy-from-non-scalar-inout</a>: exit status"</span>) <span id="L8154" class="LineNr"> 8154 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8155" class="LineNr"> 8155 </span> 81 0/subop/add %esp 8/imm32 <span id="L8156" class="LineNr"> 8156 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7470,7 +7470,7 @@ if ('onhashchange' in window) { <span id="L8178" class="LineNr"> 8178 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to\n"</span>) <span id="L8179" class="LineNr"> 8179 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8180" class="LineNr"> 8180 </span> <span class="subxComment"># convert</span> -<span id="L8181" class="LineNr"> 8181 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8181" class="LineNr"> 8181 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8182" class="LineNr"> 8182 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8183" class="LineNr"> 8183 </span> <span class="subxComment"># restore ed</span> <span id="L8184" class="LineNr"> 8184 </span> 89/<- %edx 4/r32/esp @@ -7478,10 +7478,10 @@ if ('onhashchange' in window) { <span id="L8186" class="LineNr"> 8186 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8187" class="Folded"> 8187 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8193" class="LineNr"> 8193 </span> <span class="subxComment"># check output</span> -<span id="L8194" class="LineNr"> 8194 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-with-no-inout: output should be empty"</span>) -<span id="L8195" class="LineNr"> 8195 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - test-copy-to-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8194" class="LineNr"> 8194 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8160'>test-copy-to-with-no-inout</a>: output should be empty"</span>) +<span id="L8195" class="LineNr"> 8195 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L8160'>test-copy-to-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8196" class="LineNr"> 8196 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8197" class="LineNr"> 8197 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-with-no-inout: exit status"</span>) +<span id="L8197" class="LineNr"> 8197 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8160'>test-copy-to-with-no-inout</a>: exit status"</span>) <span id="L8198" class="LineNr"> 8198 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8199" class="LineNr"> 8199 </span> 81 0/subop/add %esp 8/imm32 <span id="L8200" class="LineNr"> 8200 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7510,7 +7510,7 @@ if ('onhashchange' in window) { <span id="L8223" class="LineNr"> 8223 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to x\n"</span>) <span id="L8224" class="LineNr"> 8224 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8225" class="LineNr"> 8225 </span> <span class="subxComment"># convert</span> -<span id="L8226" class="LineNr"> 8226 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8226" class="LineNr"> 8226 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8227" class="LineNr"> 8227 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8228" class="LineNr"> 8228 </span> <span class="subxComment"># restore ed</span> <span id="L8229" class="LineNr"> 8229 </span> 89/<- %edx 4/r32/esp @@ -7518,10 +7518,10 @@ if ('onhashchange' in window) { <span id="L8231" class="LineNr"> 8231 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8232" class="Folded"> 8232 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8238" class="LineNr"> 8238 </span> <span class="subxComment"># check output</span> -<span id="L8239" class="LineNr"> 8239 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-with-no-source: output should be empty"</span>) -<span id="L8240" class="LineNr"> 8240 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - test-copy-to-with-no-source: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8239" class="LineNr"> 8239 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8204'>test-copy-to-with-no-source</a>: output should be empty"</span>) +<span id="L8240" class="LineNr"> 8240 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L8204'>test-copy-to-with-no-source</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8241" class="LineNr"> 8241 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8242" class="LineNr"> 8242 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-with-no-source: exit status"</span>) +<span id="L8242" class="LineNr"> 8242 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8204'>test-copy-to-with-no-source</a>: exit status"</span>) <span id="L8243" class="LineNr"> 8243 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8244" class="LineNr"> 8244 </span> 81 0/subop/add %esp 8/imm32 <span id="L8245" class="LineNr"> 8245 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7550,7 +7550,7 @@ if ('onhashchange' in window) { <span id="L8268" class="LineNr"> 8268 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to x, x\n"</span>) <span id="L8269" class="LineNr"> 8269 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8270" class="LineNr"> 8270 </span> <span class="subxComment"># convert</span> -<span id="L8271" class="LineNr"> 8271 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8271" class="LineNr"> 8271 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8272" class="LineNr"> 8272 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8273" class="LineNr"> 8273 </span> <span class="subxComment"># restore ed</span> <span id="L8274" class="LineNr"> 8274 </span> 89/<- %edx 4/r32/esp @@ -7558,10 +7558,10 @@ if ('onhashchange' in window) { <span id="L8276" class="LineNr"> 8276 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8277" class="Folded"> 8277 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8283" class="LineNr"> 8283 </span> <span class="subxComment"># check output</span> -<span id="L8284" class="LineNr"> 8284 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-with-no-register: output should be empty"</span>) -<span id="L8285" class="LineNr"> 8285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: source (second inout) is in memory"</span> <span class="Constant">"F - test-copy-to-with-no-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8284" class="LineNr"> 8284 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8249'>test-copy-to-with-no-register</a>: output should be empty"</span>) +<span id="L8285" class="LineNr"> 8285 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: source (second inout) is in memory"</span> <span class="Constant">"F - <a href='mu.subx.html#L8249'>test-copy-to-with-no-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8286" class="LineNr"> 8286 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8287" class="LineNr"> 8287 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-with-no-register: exit status"</span>) +<span id="L8287" class="LineNr"> 8287 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8249'>test-copy-to-with-no-register</a>: exit status"</span>) <span id="L8288" class="LineNr"> 8288 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8289" class="LineNr"> 8289 </span> 81 0/subop/add %esp 8/imm32 <span id="L8290" class="LineNr"> 8290 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7590,7 +7590,7 @@ if ('onhashchange' in window) { <span id="L8313" class="LineNr"> 8313 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to x, 0, 0\n"</span>) <span id="L8314" class="LineNr"> 8314 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8315" class="LineNr"> 8315 </span> <span class="subxComment"># convert</span> -<span id="L8316" class="LineNr"> 8316 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8316" class="LineNr"> 8316 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8317" class="LineNr"> 8317 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8318" class="LineNr"> 8318 </span> <span class="subxComment"># restore ed</span> <span id="L8319" class="LineNr"> 8319 </span> 89/<- %edx 4/r32/esp @@ -7598,10 +7598,10 @@ if ('onhashchange' in window) { <span id="L8321" class="LineNr"> 8321 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8322" class="Folded"> 8322 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8328" class="LineNr"> 8328 </span> <span class="subxComment"># check output</span> -<span id="L8329" class="LineNr"> 8329 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-with-too-many-inouts: output should be empty"</span>) -<span id="L8330" class="LineNr"> 8330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - test-copy-to-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8329" class="LineNr"> 8329 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8294'>test-copy-to-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L8330" class="LineNr"> 8330 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L8294'>test-copy-to-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8331" class="LineNr"> 8331 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8332" class="LineNr"> 8332 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-with-too-many-inouts: exit status"</span>) +<span id="L8332" class="LineNr"> 8332 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8294'>test-copy-to-with-too-many-inouts</a>: exit status"</span>) <span id="L8333" class="LineNr"> 8333 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8334" class="LineNr"> 8334 </span> 81 0/subop/add %esp 8/imm32 <span id="L8335" class="LineNr"> 8335 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7631,7 +7631,7 @@ if ('onhashchange' in window) { <span id="L8359" class="LineNr"> 8359 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- copy-to y, 0\n"</span>) <span id="L8360" class="LineNr"> 8360 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8361" class="LineNr"> 8361 </span> <span class="subxComment"># convert</span> -<span id="L8362" class="LineNr"> 8362 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8362" class="LineNr"> 8362 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8363" class="LineNr"> 8363 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8364" class="LineNr"> 8364 </span> <span class="subxComment"># restore ed</span> <span id="L8365" class="LineNr"> 8365 </span> 89/<- %edx 4/r32/esp @@ -7639,10 +7639,10 @@ if ('onhashchange' in window) { <span id="L8367" class="LineNr"> 8367 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8368" class="Folded"> 8368 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8374" class="LineNr"> 8374 </span> <span class="subxComment"># check output</span> -<span id="L8375" class="LineNr"> 8375 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-with-output: output should be empty"</span>) -<span id="L8376" class="LineNr"> 8376 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must not have any outputs"</span> <span class="Constant">"F - test-copy-to-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8375" class="LineNr"> 8375 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8339'>test-copy-to-with-output</a>: output should be empty"</span>) +<span id="L8376" class="LineNr"> 8376 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-to' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L8339'>test-copy-to-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8377" class="LineNr"> 8377 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8378" class="LineNr"> 8378 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-with-output: exit status"</span>) +<span id="L8378" class="LineNr"> 8378 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8339'>test-copy-to-with-output</a>: exit status"</span>) <span id="L8379" class="LineNr"> 8379 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8380" class="LineNr"> 8380 </span> 81 0/subop/add %esp 8/imm32 <span id="L8381" class="LineNr"> 8381 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7672,7 +7672,7 @@ if ('onhashchange' in window) { <span id="L8405" class="LineNr"> 8405 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to y, x\n"</span>) <span id="L8406" class="LineNr"> 8406 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8407" class="LineNr"> 8407 </span> <span class="subxComment"># convert</span> -<span id="L8408" class="LineNr"> 8408 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8408" class="LineNr"> 8408 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8409" class="LineNr"> 8409 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8410" class="LineNr"> 8410 </span> <span class="subxComment"># restore ed</span> <span id="L8411" class="LineNr"> 8411 </span> 89/<- %edx 4/r32/esp @@ -7680,10 +7680,10 @@ if ('onhashchange' in window) { <span id="L8413" class="LineNr"> 8413 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8414" class="Folded"> 8414 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8420" class="LineNr"> 8420 </span> <span class="subxComment"># check output</span> -<span id="L8421" class="LineNr"> 8421 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-invalid-value-to-address: output should be empty"</span>) -<span id="L8422" class="LineNr"> 8422 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-copy-to-invalid-value-to-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8421" class="LineNr"> 8421 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8385'>test-copy-to-invalid-value-to-address</a>: output should be empty"</span>) +<span id="L8422" class="LineNr"> 8422 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L8385'>test-copy-to-invalid-value-to-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8423" class="LineNr"> 8423 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8424" class="LineNr"> 8424 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-invalid-value-to-address: exit status"</span>) +<span id="L8424" class="LineNr"> 8424 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8385'>test-copy-to-invalid-value-to-address</a>: exit status"</span>) <span id="L8425" class="LineNr"> 8425 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8426" class="LineNr"> 8426 </span> 81 0/subop/add %esp 8/imm32 <span id="L8427" class="LineNr"> 8427 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7705,7 +7705,7 @@ if ('onhashchange' in window) { <span id="L8443" class="LineNr"> 8443 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to y, 0\n"</span>) <span id="L8444" class="LineNr"> 8444 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8445" class="LineNr"> 8445 </span> <span class="subxComment"># convert</span> -<span id="L8446" class="LineNr"> 8446 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L8446" class="LineNr"> 8446 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L8447" class="LineNr"> 8447 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L8448" class="LineNr"> 8448 </span> <span class="subxComment"># no errors</span> <span id="L8449" class="LineNr"> 8449 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7736,7 +7736,7 @@ if ('onhashchange' in window) { <span id="L8474" class="LineNr"> 8474 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to y, x\n"</span>) <span id="L8475" class="LineNr"> 8475 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8476" class="LineNr"> 8476 </span> <span class="subxComment"># convert</span> -<span id="L8477" class="LineNr"> 8477 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8477" class="LineNr"> 8477 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8478" class="LineNr"> 8478 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8479" class="LineNr"> 8479 </span> <span class="subxComment"># restore ed</span> <span id="L8480" class="LineNr"> 8480 </span> 89/<- %edx 4/r32/esp @@ -7744,10 +7744,10 @@ if ('onhashchange' in window) { <span id="L8482" class="LineNr"> 8482 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8483" class="Folded"> 8483 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8489" class="LineNr"> 8489 </span> <span class="subxComment"># check output</span> -<span id="L8490" class="LineNr"> 8490 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-invalid-value-to-offset: output should be empty"</span>) -<span id="L8491" class="LineNr"> 8491 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-copy-to-invalid-value-to-offset: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8490" class="LineNr"> 8490 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8454'>test-copy-to-invalid-value-to-offset</a>: output should be empty"</span>) +<span id="L8491" class="LineNr"> 8491 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L8454'>test-copy-to-invalid-value-to-offset</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8492" class="LineNr"> 8492 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8493" class="LineNr"> 8493 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-invalid-value-to-offset: exit status"</span>) +<span id="L8493" class="LineNr"> 8493 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8454'>test-copy-to-invalid-value-to-offset</a>: exit status"</span>) <span id="L8494" class="LineNr"> 8494 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8495" class="LineNr"> 8495 </span> 81 0/subop/add %esp 8/imm32 <span id="L8496" class="LineNr"> 8496 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7769,7 +7769,7 @@ if ('onhashchange' in window) { <span id="L8512" class="LineNr"> 8512 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to y, 0\n"</span>) <span id="L8513" class="LineNr"> 8513 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8514" class="LineNr"> 8514 </span> <span class="subxComment"># convert</span> -<span id="L8515" class="LineNr"> 8515 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L8515" class="LineNr"> 8515 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L8516" class="LineNr"> 8516 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L8517" class="LineNr"> 8517 </span> <span class="subxComment"># no errors</span> <span id="L8518" class="LineNr"> 8518 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7800,7 +7800,7 @@ if ('onhashchange' in window) { <span id="L8543" class="LineNr"> 8543 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to *y, x\n"</span>) <span id="L8544" class="LineNr"> 8544 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8545" class="LineNr"> 8545 </span> <span class="subxComment"># convert</span> -<span id="L8546" class="LineNr"> 8546 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8546" class="LineNr"> 8546 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8547" class="LineNr"> 8547 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8548" class="LineNr"> 8548 </span> <span class="subxComment"># restore ed</span> <span id="L8549" class="LineNr"> 8549 </span> 89/<- %edx 4/r32/esp @@ -7808,10 +7808,10 @@ if ('onhashchange' in window) { <span id="L8551" class="LineNr"> 8551 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8552" class="Folded"> 8552 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8558" class="LineNr"> 8558 </span> <span class="subxComment"># check output</span> -<span id="L8559" class="LineNr"> 8559 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-non-literal-to-byte: output should be empty"</span>) -<span id="L8560" class="LineNr"> 8560 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: cannot copy non-literal to type byte; use copy-byte-to"</span> <span class="Constant">"F - test-copy-to-non-literal-to-byte: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8559" class="LineNr"> 8559 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8523'>test-copy-to-non-literal-to-byte</a>: output should be empty"</span>) +<span id="L8560" class="LineNr"> 8560 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: cannot copy non-literal to type byte; use copy-byte-to"</span> <span class="Constant">"F - <a href='mu.subx.html#L8523'>test-copy-to-non-literal-to-byte</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8561" class="LineNr"> 8561 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8562" class="LineNr"> 8562 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-non-literal-to-byte: exit status"</span>) +<span id="L8562" class="LineNr"> 8562 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8523'>test-copy-to-non-literal-to-byte</a>: exit status"</span>) <span id="L8563" class="LineNr"> 8563 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8564" class="LineNr"> 8564 </span> 81 0/subop/add %esp 8/imm32 <span id="L8565" class="LineNr"> 8565 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7834,7 +7834,7 @@ if ('onhashchange' in window) { <span id="L8582" class="LineNr"> 8582 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to *y, x\n"</span>) <span id="L8583" class="LineNr"> 8583 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8584" class="LineNr"> 8584 </span> <span class="subxComment"># convert</span> -<span id="L8585" class="LineNr"> 8585 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L8585" class="LineNr"> 8585 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L8586" class="LineNr"> 8586 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L8587" class="LineNr"> 8587 </span> <span class="subxComment"># no errors</span> <span id="L8588" class="LineNr"> 8588 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7864,7 +7864,7 @@ if ('onhashchange' in window) { <span id="L8612" class="LineNr"> 8612 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-to y, x\n"</span>) <span id="L8613" class="LineNr"> 8613 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8614" class="LineNr"> 8614 </span> <span class="subxComment"># convert</span> -<span id="L8615" class="LineNr"> 8615 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8615" class="LineNr"> 8615 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8616" class="LineNr"> 8616 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8617" class="LineNr"> 8617 </span> <span class="subxComment"># restore ed</span> <span id="L8618" class="LineNr"> 8618 </span> 89/<- %edx 4/r32/esp @@ -7872,10 +7872,10 @@ if ('onhashchange' in window) { <span id="L8620" class="LineNr"> 8620 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8621" class="Folded"> 8621 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8627" class="LineNr"> 8627 </span> <span class="subxComment"># check output</span> -<span id="L8628" class="LineNr"> 8628 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-to-from-non-scalar-inout: output should be empty"</span>) -<span id="L8629" class="LineNr"> 8629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'x' is too large to copy"</span> <span class="Constant">"F - test-copy-to-from-non-scalar-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8628" class="LineNr"> 8628 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8592'>test-copy-to-from-non-scalar-inout</a>: output should be empty"</span>) +<span id="L8629" class="LineNr"> 8629 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-to: 'x' is too large to copy"</span> <span class="Constant">"F - <a href='mu.subx.html#L8592'>test-copy-to-from-non-scalar-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8630" class="LineNr"> 8630 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8631" class="LineNr"> 8631 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-to-from-non-scalar-inout: exit status"</span>) +<span id="L8631" class="LineNr"> 8631 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8592'>test-copy-to-from-non-scalar-inout</a>: exit status"</span>) <span id="L8632" class="LineNr"> 8632 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8633" class="LineNr"> 8633 </span> 81 0/subop/add %esp 8/imm32 <span id="L8634" class="LineNr"> 8634 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7903,7 +7903,7 @@ if ('onhashchange' in window) { <span id="L8656" class="LineNr"> 8656 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: byte <- copy-byte\n"</span>) <span id="L8657" class="LineNr"> 8657 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8658" class="LineNr"> 8658 </span> <span class="subxComment"># convert</span> -<span id="L8659" class="LineNr"> 8659 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8659" class="LineNr"> 8659 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8660" class="LineNr"> 8660 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8661" class="LineNr"> 8661 </span> <span class="subxComment"># restore ed</span> <span id="L8662" class="LineNr"> 8662 </span> 89/<- %edx 4/r32/esp @@ -7911,10 +7911,10 @@ if ('onhashchange' in window) { <span id="L8664" class="LineNr"> 8664 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8665" class="Folded"> 8665 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8671" class="LineNr"> 8671 </span> <span class="subxComment"># check output</span> -<span id="L8672" class="LineNr"> 8672 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-with-no-inout: output should be empty"</span>) -<span id="L8673" class="LineNr"> 8673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' expects an inout"</span> <span class="Constant">"F - test-copy-byte-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8672" class="LineNr"> 8672 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8638'>test-copy-byte-with-no-inout</a>: output should be empty"</span>) +<span id="L8673" class="LineNr"> 8673 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' expects an inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L8638'>test-copy-byte-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8674" class="LineNr"> 8674 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8675" class="LineNr"> 8675 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-with-no-inout: exit status"</span>) +<span id="L8675" class="LineNr"> 8675 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8638'>test-copy-byte-with-no-inout</a>: exit status"</span>) <span id="L8676" class="LineNr"> 8676 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8677" class="LineNr"> 8677 </span> 81 0/subop/add %esp 8/imm32 <span id="L8678" class="LineNr"> 8678 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7942,7 +7942,7 @@ if ('onhashchange' in window) { <span id="L8700" class="LineNr"> 8700 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: byte <- copy-byte 0, 0\n"</span>) <span id="L8701" class="LineNr"> 8701 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8702" class="LineNr"> 8702 </span> <span class="subxComment"># convert</span> -<span id="L8703" class="LineNr"> 8703 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8703" class="LineNr"> 8703 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8704" class="LineNr"> 8704 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8705" class="LineNr"> 8705 </span> <span class="subxComment"># restore ed</span> <span id="L8706" class="LineNr"> 8706 </span> 89/<- %edx 4/r32/esp @@ -7950,10 +7950,10 @@ if ('onhashchange' in window) { <span id="L8708" class="LineNr"> 8708 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8709" class="Folded"> 8709 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8715" class="LineNr"> 8715 </span> <span class="subxComment"># check output</span> -<span id="L8716" class="LineNr"> 8716 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-with-multiple-inouts: output should be empty"</span>) -<span id="L8717" class="LineNr"> 8717 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must have just one inout"</span> <span class="Constant">"F - test-copy-byte-with-multiple-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8716" class="LineNr"> 8716 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8682'>test-copy-byte-with-multiple-inouts</a>: output should be empty"</span>) +<span id="L8717" class="LineNr"> 8717 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must have just one inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L8682'>test-copy-byte-with-multiple-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8718" class="LineNr"> 8718 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8719" class="LineNr"> 8719 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-with-multiple-inouts: exit status"</span>) +<span id="L8719" class="LineNr"> 8719 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8682'>test-copy-byte-with-multiple-inouts</a>: exit status"</span>) <span id="L8720" class="LineNr"> 8720 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8721" class="LineNr"> 8721 </span> 81 0/subop/add %esp 8/imm32 <span id="L8722" class="LineNr"> 8722 </span> <span class="subxS1Comment"># . epilogue</span> @@ -7981,7 +7981,7 @@ if ('onhashchange' in window) { <span id="L8744" class="LineNr"> 8744 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte 0\n"</span>) <span id="L8745" class="LineNr"> 8745 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8746" class="LineNr"> 8746 </span> <span class="subxComment"># convert</span> -<span id="L8747" class="LineNr"> 8747 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8747" class="LineNr"> 8747 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8748" class="LineNr"> 8748 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8749" class="LineNr"> 8749 </span> <span class="subxComment"># restore ed</span> <span id="L8750" class="LineNr"> 8750 </span> 89/<- %edx 4/r32/esp @@ -7989,10 +7989,10 @@ if ('onhashchange' in window) { <span id="L8752" class="LineNr"> 8752 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8753" class="Folded"> 8753 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8759" class="LineNr"> 8759 </span> <span class="subxComment"># check output</span> -<span id="L8760" class="LineNr"> 8760 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-with-no-output: output should be empty"</span>) -<span id="L8761" class="LineNr"> 8761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' expects an output"</span> <span class="Constant">"F - test-copy-byte-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8760" class="LineNr"> 8760 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8726'>test-copy-byte-with-no-output</a>: output should be empty"</span>) +<span id="L8761" class="LineNr"> 8761 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' expects an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L8726'>test-copy-byte-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8762" class="LineNr"> 8762 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8763" class="LineNr"> 8763 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-with-no-output: exit status"</span>) +<span id="L8763" class="LineNr"> 8763 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8726'>test-copy-byte-with-no-output</a>: exit status"</span>) <span id="L8764" class="LineNr"> 8764 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8765" class="LineNr"> 8765 </span> 81 0/subop/add %esp 8/imm32 <span id="L8766" class="LineNr"> 8766 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8022,7 +8022,7 @@ if ('onhashchange' in window) { <span id="L8790" class="LineNr"> 8790 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x, y <- copy-byte 0\n"</span>) <span id="L8791" class="LineNr"> 8791 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8792" class="LineNr"> 8792 </span> <span class="subxComment"># convert</span> -<span id="L8793" class="LineNr"> 8793 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8793" class="LineNr"> 8793 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8794" class="LineNr"> 8794 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8795" class="LineNr"> 8795 </span> <span class="subxComment"># restore ed</span> <span id="L8796" class="LineNr"> 8796 </span> 89/<- %edx 4/r32/esp @@ -8030,10 +8030,10 @@ if ('onhashchange' in window) { <span id="L8798" class="LineNr"> 8798 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8799" class="Folded"> 8799 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8805" class="LineNr"> 8805 </span> <span class="subxComment"># check output</span> -<span id="L8806" class="LineNr"> 8806 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-with-multiple-outputs: output should be empty"</span>) -<span id="L8807" class="LineNr"> 8807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must have just one output"</span> <span class="Constant">"F - test-copy-byte-with-multiple-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8806" class="LineNr"> 8806 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8770'>test-copy-byte-with-multiple-outputs</a>: output should be empty"</span>) +<span id="L8807" class="LineNr"> 8807 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must have just one output"</span> <span class="Constant">"F - <a href='mu.subx.html#L8770'>test-copy-byte-with-multiple-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8808" class="LineNr"> 8808 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8809" class="LineNr"> 8809 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-with-multiple-outputs: exit status"</span>) +<span id="L8809" class="LineNr"> 8809 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8770'>test-copy-byte-with-multiple-outputs</a>: exit status"</span>) <span id="L8810" class="LineNr"> 8810 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8811" class="LineNr"> 8811 </span> 81 0/subop/add %esp 8/imm32 <span id="L8812" class="LineNr"> 8812 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8055,11 +8055,11 @@ if ('onhashchange' in window) { <span id="L8828" class="LineNr"> 8828 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: byte <- copy-byte *x\n"</span>) <span id="L8829" class="LineNr"> 8829 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8830" class="LineNr"> 8830 </span> <span class="subxComment"># convert</span> -<span id="L8831" class="LineNr"> 8831 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L8831" class="LineNr"> 8831 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L8832" class="LineNr"> 8832 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L8833" class="Folded"> 8833 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8839" class="LineNr"> 8839 </span> <span class="subxComment"># not bothering checking output</span> -<span id="L8840" class="LineNr"> 8840 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-deref-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8840" class="LineNr"> 8840 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8816'>test-copy-byte-deref-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8841" class="LineNr"> 8841 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L8842" class="LineNr"> 8842 </span> 5d/pop-to-ebp <span id="L8843" class="LineNr"> 8843 </span> c3/return @@ -8086,7 +8086,7 @@ if ('onhashchange' in window) { <span id="L8864" class="LineNr"> 8864 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: int <- copy-byte *x\n"</span>) <span id="L8865" class="LineNr"> 8865 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8866" class="LineNr"> 8866 </span> <span class="subxComment"># convert</span> -<span id="L8867" class="LineNr"> 8867 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8867" class="LineNr"> 8867 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8868" class="LineNr"> 8868 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8869" class="LineNr"> 8869 </span> <span class="subxComment"># restore ed</span> <span id="L8870" class="LineNr"> 8870 </span> 89/<- %edx 4/r32/esp @@ -8094,10 +8094,10 @@ if ('onhashchange' in window) { <span id="L8872" class="LineNr"> 8872 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8873" class="Folded"> 8873 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8879" class="LineNr"> 8879 </span> <span class="subxComment"># check output</span> -<span id="L8880" class="LineNr"> 8880 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-with-invalid-output-type: output should be empty"</span>) -<span id="L8881" class="LineNr"> 8881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must <a href='108write.subx.html#L24'>write</a> to output of type byte"</span> <span class="Constant">"F - test-copy-byte-with-invalid-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8880" class="LineNr"> 8880 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8845'>test-copy-byte-with-invalid-output-type</a>: output should be empty"</span>) +<span id="L8881" class="LineNr"> 8881 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte' must <a href='108write.subx.html#L24'>write</a> to output of type byte"</span> <span class="Constant">"F - <a href='mu.subx.html#L8845'>test-copy-byte-with-invalid-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8882" class="LineNr"> 8882 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8883" class="LineNr"> 8883 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-with-invalid-output-type: exit status"</span>) +<span id="L8883" class="LineNr"> 8883 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8845'>test-copy-byte-with-invalid-output-type</a>: exit status"</span>) <span id="L8884" class="LineNr"> 8884 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8885" class="LineNr"> 8885 </span> 81 0/subop/add %esp 8/imm32 <span id="L8886" class="LineNr"> 8886 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8126,7 +8126,7 @@ if ('onhashchange' in window) { <span id="L8909" class="LineNr"> 8909 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: byte <- copy-byte x\n"</span>) <span id="L8910" class="LineNr"> 8910 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8911" class="LineNr"> 8911 </span> <span class="subxComment"># convert</span> -<span id="L8912" class="LineNr"> 8912 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8912" class="LineNr"> 8912 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8913" class="LineNr"> 8913 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8914" class="LineNr"> 8914 </span> <span class="subxComment"># restore ed</span> <span id="L8915" class="LineNr"> 8915 </span> 89/<- %edx 4/r32/esp @@ -8134,10 +8134,10 @@ if ('onhashchange' in window) { <span id="L8917" class="LineNr"> 8917 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8918" class="Folded"> 8918 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8924" class="LineNr"> 8924 </span> <span class="subxComment"># check output</span> -<span id="L8925" class="LineNr"> 8925 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-from-non-scalar-inout: output should be empty"</span>) -<span id="L8926" class="LineNr"> 8926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte: 'x' is too large to fit in a register"</span> <span class="Constant">"F - test-copy-byte-from-non-scalar-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8925" class="LineNr"> 8925 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8890'>test-copy-byte-from-non-scalar-inout</a>: output should be empty"</span>) +<span id="L8926" class="LineNr"> 8926 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte: 'x' is too large to fit in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L8890'>test-copy-byte-from-non-scalar-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8927" class="LineNr"> 8927 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8928" class="LineNr"> 8928 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-from-non-scalar-inout: exit status"</span>) +<span id="L8928" class="LineNr"> 8928 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8890'>test-copy-byte-from-non-scalar-inout</a>: exit status"</span>) <span id="L8929" class="LineNr"> 8929 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8930" class="LineNr"> 8930 </span> 81 0/subop/add %esp 8/imm32 <span id="L8931" class="LineNr"> 8931 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8165,7 +8165,7 @@ if ('onhashchange' in window) { <span id="L8953" class="LineNr"> 8953 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to\n"</span>) <span id="L8954" class="LineNr"> 8954 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L8955" class="LineNr"> 8955 </span> <span class="subxComment"># convert</span> -<span id="L8956" class="LineNr"> 8956 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L8956" class="LineNr"> 8956 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L8957" class="LineNr"> 8957 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L8958" class="LineNr"> 8958 </span> <span class="subxComment"># restore ed</span> <span id="L8959" class="LineNr"> 8959 </span> 89/<- %edx 4/r32/esp @@ -8173,10 +8173,10 @@ if ('onhashchange' in window) { <span id="L8961" class="LineNr"> 8961 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L8962" class="Folded"> 8962 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L8968" class="LineNr"> 8968 </span> <span class="subxComment"># check output</span> -<span id="L8969" class="LineNr"> 8969 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-no-inout: output should be empty"</span>) -<span id="L8970" class="LineNr"> 8970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - test-copy-byte-to-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L8969" class="LineNr"> 8969 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8935'>test-copy-byte-to-with-no-inout</a>: output should be empty"</span>) +<span id="L8970" class="LineNr"> 8970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L8935'>test-copy-byte-to-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L8971" class="LineNr"> 8971 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L8972" class="LineNr"> 8972 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-no-inout: exit status"</span>) +<span id="L8972" class="LineNr"> 8972 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8935'>test-copy-byte-to-with-no-inout</a>: exit status"</span>) <span id="L8973" class="LineNr"> 8973 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L8974" class="LineNr"> 8974 </span> 81 0/subop/add %esp 8/imm32 <span id="L8975" class="LineNr"> 8975 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8205,7 +8205,7 @@ if ('onhashchange' in window) { <span id="L8998" class="LineNr"> 8998 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *x\n"</span>) <span id="L8999" class="LineNr"> 8999 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9000" class="LineNr"> 9000 </span> <span class="subxComment"># convert</span> -<span id="L9001" class="LineNr"> 9001 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9001" class="LineNr"> 9001 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9002" class="LineNr"> 9002 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9003" class="LineNr"> 9003 </span> <span class="subxComment"># restore ed</span> <span id="L9004" class="LineNr"> 9004 </span> 89/<- %edx 4/r32/esp @@ -8213,10 +8213,10 @@ if ('onhashchange' in window) { <span id="L9006" class="LineNr"> 9006 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9007" class="Folded"> 9007 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9013" class="LineNr"> 9013 </span> <span class="subxComment"># check output</span> -<span id="L9014" class="LineNr"> 9014 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-no-source: output should be empty"</span>) -<span id="L9015" class="LineNr"> 9015 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - test-copy-byte-to-with-no-source: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9014" class="LineNr"> 9014 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L8979'>test-copy-byte-to-with-no-source</a>: output should be empty"</span>) +<span id="L9015" class="LineNr"> 9015 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L8979'>test-copy-byte-to-with-no-source</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9016" class="LineNr"> 9016 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9017" class="LineNr"> 9017 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-no-source: exit status"</span>) +<span id="L9017" class="LineNr"> 9017 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L8979'>test-copy-byte-to-with-no-source</a>: exit status"</span>) <span id="L9018" class="LineNr"> 9018 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9019" class="LineNr"> 9019 </span> 81 0/subop/add %esp 8/imm32 <span id="L9020" class="LineNr"> 9020 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8245,7 +8245,7 @@ if ('onhashchange' in window) { <span id="L9043" class="LineNr"> 9043 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *x, 0, 0\n"</span>) <span id="L9044" class="LineNr"> 9044 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9045" class="LineNr"> 9045 </span> <span class="subxComment"># convert</span> -<span id="L9046" class="LineNr"> 9046 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9046" class="LineNr"> 9046 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9047" class="LineNr"> 9047 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9048" class="LineNr"> 9048 </span> <span class="subxComment"># restore ed</span> <span id="L9049" class="LineNr"> 9049 </span> 89/<- %edx 4/r32/esp @@ -8253,10 +8253,10 @@ if ('onhashchange' in window) { <span id="L9051" class="LineNr"> 9051 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9052" class="Folded"> 9052 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9058" class="LineNr"> 9058 </span> <span class="subxComment"># check output</span> -<span id="L9059" class="LineNr"> 9059 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-too-many-inouts: output should be empty"</span>) -<span id="L9060" class="LineNr"> 9060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - test-copy-byte-to-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9059" class="LineNr"> 9059 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9024'>test-copy-byte-to-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L9060" class="LineNr"> 9060 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L9024'>test-copy-byte-to-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9061" class="LineNr"> 9061 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9062" class="LineNr"> 9062 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-too-many-inouts: exit status"</span>) +<span id="L9062" class="LineNr"> 9062 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9024'>test-copy-byte-to-with-too-many-inouts</a>: exit status"</span>) <span id="L9063" class="LineNr"> 9063 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9064" class="LineNr"> 9064 </span> 81 0/subop/add %esp 8/imm32 <span id="L9065" class="LineNr"> 9065 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8286,7 +8286,7 @@ if ('onhashchange' in window) { <span id="L9089" class="LineNr"> 9089 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- copy-byte-to *y, 0\n"</span>) <span id="L9090" class="LineNr"> 9090 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9091" class="LineNr"> 9091 </span> <span class="subxComment"># convert</span> -<span id="L9092" class="LineNr"> 9092 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9092" class="LineNr"> 9092 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9093" class="LineNr"> 9093 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9094" class="LineNr"> 9094 </span> <span class="subxComment"># restore ed</span> <span id="L9095" class="LineNr"> 9095 </span> 89/<- %edx 4/r32/esp @@ -8294,10 +8294,10 @@ if ('onhashchange' in window) { <span id="L9097" class="LineNr"> 9097 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9098" class="Folded"> 9098 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9104" class="LineNr"> 9104 </span> <span class="subxComment"># check output</span> -<span id="L9105" class="LineNr"> 9105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-output: output should be empty"</span>) -<span id="L9106" class="LineNr"> 9106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must not have any outputs"</span> <span class="Constant">"F - test-copy-byte-to-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9105" class="LineNr"> 9105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9069'>test-copy-byte-to-with-output</a>: output should be empty"</span>) +<span id="L9106" class="LineNr"> 9106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-byte-to' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L9069'>test-copy-byte-to-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9107" class="LineNr"> 9107 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9108" class="LineNr"> 9108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-output: exit status"</span>) +<span id="L9108" class="LineNr"> 9108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9069'>test-copy-byte-to-with-output</a>: exit status"</span>) <span id="L9109" class="LineNr"> 9109 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9110" class="LineNr"> 9110 </span> 81 0/subop/add %esp 8/imm32 <span id="L9111" class="LineNr"> 9111 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8327,7 +8327,7 @@ if ('onhashchange' in window) { <span id="L9135" class="LineNr"> 9135 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to y, x\n"</span>) <span id="L9136" class="LineNr"> 9136 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9137" class="LineNr"> 9137 </span> <span class="subxComment"># convert</span> -<span id="L9138" class="LineNr"> 9138 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9138" class="LineNr"> 9138 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9139" class="LineNr"> 9139 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9140" class="LineNr"> 9140 </span> <span class="subxComment"># restore ed</span> <span id="L9141" class="LineNr"> 9141 </span> 89/<- %edx 4/r32/esp @@ -8335,10 +8335,10 @@ if ('onhashchange' in window) { <span id="L9143" class="LineNr"> 9143 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9144" class="Folded"> 9144 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9150" class="LineNr"> 9150 </span> <span class="subxComment"># check output</span> -<span id="L9151" class="LineNr"> 9151 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-invalid-output-type: output should be empty"</span>) -<span id="L9152" class="LineNr"> 9152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: 'y' must be a byte"</span> <span class="Constant">"F - test-copy-byte-to-with-invalid-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9151" class="LineNr"> 9151 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9115'>test-copy-byte-to-with-invalid-output-type</a>: output should be empty"</span>) +<span id="L9152" class="LineNr"> 9152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: 'y' must be a byte"</span> <span class="Constant">"F - <a href='mu.subx.html#L9115'>test-copy-byte-to-with-invalid-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9153" class="LineNr"> 9153 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9154" class="LineNr"> 9154 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-invalid-output-type: exit status"</span>) +<span id="L9154" class="LineNr"> 9154 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9115'>test-copy-byte-to-with-invalid-output-type</a>: exit status"</span>) <span id="L9155" class="LineNr"> 9155 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9156" class="LineNr"> 9156 </span> 81 0/subop/add %esp 8/imm32 <span id="L9157" class="LineNr"> 9157 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8367,7 +8367,7 @@ if ('onhashchange' in window) { <span id="L9180" class="LineNr"> 9180 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *x, 0\n"</span>) <span id="L9181" class="LineNr"> 9181 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9182" class="LineNr"> 9182 </span> <span class="subxComment"># convert</span> -<span id="L9183" class="LineNr"> 9183 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9183" class="LineNr"> 9183 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9184" class="LineNr"> 9184 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9185" class="LineNr"> 9185 </span> <span class="subxComment"># restore ed</span> <span id="L9186" class="LineNr"> 9186 </span> 89/<- %edx 4/r32/esp @@ -8375,10 +8375,10 @@ if ('onhashchange' in window) { <span id="L9188" class="LineNr"> 9188 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9189" class="Folded"> 9189 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9195" class="LineNr"> 9195 </span> <span class="subxComment"># check output</span> -<span id="L9196" class="LineNr"> 9196 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-with-literal-inout: output should be empty"</span>) -<span id="L9197" class="LineNr"> 9197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: source (second inout) must be in a register"</span> <span class="Constant">"F - test-copy-byte-to-with-literal-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9196" class="LineNr"> 9196 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9161'>test-copy-byte-to-with-literal-inout</a>: output should be empty"</span>) +<span id="L9197" class="LineNr"> 9197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: source (second inout) must be in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L9161'>test-copy-byte-to-with-literal-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9198" class="LineNr"> 9198 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9199" class="LineNr"> 9199 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-with-literal-inout: exit status"</span>) +<span id="L9199" class="LineNr"> 9199 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9161'>test-copy-byte-to-with-literal-inout</a>: exit status"</span>) <span id="L9200" class="LineNr"> 9200 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9201" class="LineNr"> 9201 </span> 81 0/subop/add %esp 8/imm32 <span id="L9202" class="LineNr"> 9202 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8401,7 +8401,7 @@ if ('onhashchange' in window) { <span id="L9219" class="LineNr"> 9219 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *y, x\n"</span>) <span id="L9220" class="LineNr"> 9220 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9221" class="LineNr"> 9221 </span> <span class="subxComment"># convert</span> -<span id="L9222" class="LineNr"> 9222 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L9222" class="LineNr"> 9222 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L9223" class="LineNr"> 9223 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L9224" class="LineNr"> 9224 </span> <span class="subxComment"># no errors</span> <span id="L9225" class="LineNr"> 9225 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8431,7 +8431,7 @@ if ('onhashchange' in window) { <span id="L9249" class="LineNr"> 9249 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-byte-to *y, x\n"</span>) <span id="L9250" class="LineNr"> 9250 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9251" class="LineNr"> 9251 </span> <span class="subxComment"># convert</span> -<span id="L9252" class="LineNr"> 9252 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9252" class="LineNr"> 9252 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9253" class="LineNr"> 9253 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9254" class="LineNr"> 9254 </span> <span class="subxComment"># restore ed</span> <span id="L9255" class="LineNr"> 9255 </span> 89/<- %edx 4/r32/esp @@ -8439,10 +8439,10 @@ if ('onhashchange' in window) { <span id="L9257" class="LineNr"> 9257 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9258" class="Folded"> 9258 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9264" class="LineNr"> 9264 </span> <span class="subxComment"># check output</span> -<span id="L9265" class="LineNr"> 9265 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-byte-to-from-non-scalar-inout: output should be empty"</span>) -<span id="L9266" class="LineNr"> 9266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: 'x' is too large to copy"</span> <span class="Constant">"F - test-copy-byte-to-from-non-scalar-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9265" class="LineNr"> 9265 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9229'>test-copy-byte-to-from-non-scalar-inout</a>: output should be empty"</span>) +<span id="L9266" class="LineNr"> 9266 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-byte-to: 'x' is too large to copy"</span> <span class="Constant">"F - <a href='mu.subx.html#L9229'>test-copy-byte-to-from-non-scalar-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9267" class="LineNr"> 9267 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9268" class="LineNr"> 9268 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-byte-to-from-non-scalar-inout: exit status"</span>) +<span id="L9268" class="LineNr"> 9268 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9229'>test-copy-byte-to-from-non-scalar-inout</a>: exit status"</span>) <span id="L9269" class="LineNr"> 9269 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9270" class="LineNr"> 9270 </span> 81 0/subop/add %esp 8/imm32 <span id="L9271" class="LineNr"> 9271 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8471,7 +8471,7 @@ if ('onhashchange' in window) { <span id="L9294" class="LineNr"> 9294 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare\n"</span>) <span id="L9295" class="LineNr"> 9295 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9296" class="LineNr"> 9296 </span> <span class="subxComment"># convert</span> -<span id="L9297" class="LineNr"> 9297 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9297" class="LineNr"> 9297 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9298" class="LineNr"> 9298 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9299" class="LineNr"> 9299 </span> <span class="subxComment"># restore ed</span> <span id="L9300" class="LineNr"> 9300 </span> 89/<- %edx 4/r32/esp @@ -8479,10 +8479,10 @@ if ('onhashchange' in window) { <span id="L9302" class="LineNr"> 9302 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9303" class="Folded"> 9303 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9309" class="LineNr"> 9309 </span> <span class="subxComment"># check output</span> -<span id="L9310" class="LineNr"> 9310 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-with-no-inout: output should be empty"</span>) -<span id="L9311" class="LineNr"> 9311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - test-compare-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9310" class="LineNr"> 9310 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9275'>test-compare-with-no-inout</a>: output should be empty"</span>) +<span id="L9311" class="LineNr"> 9311 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L9275'>test-compare-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9312" class="LineNr"> 9312 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9313" class="LineNr"> 9313 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-with-no-inout: exit status"</span>) +<span id="L9313" class="LineNr"> 9313 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9275'>test-compare-with-no-inout</a>: exit status"</span>) <span id="L9314" class="LineNr"> 9314 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9315" class="LineNr"> 9315 </span> 81 0/subop/add %esp 8/imm32 <span id="L9316" class="LineNr"> 9316 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8511,7 +8511,7 @@ if ('onhashchange' in window) { <span id="L9339" class="LineNr"> 9339 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x\n"</span>) <span id="L9340" class="LineNr"> 9340 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9341" class="LineNr"> 9341 </span> <span class="subxComment"># convert</span> -<span id="L9342" class="LineNr"> 9342 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9342" class="LineNr"> 9342 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9343" class="LineNr"> 9343 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9344" class="LineNr"> 9344 </span> <span class="subxComment"># restore ed</span> <span id="L9345" class="LineNr"> 9345 </span> 89/<- %edx 4/r32/esp @@ -8519,10 +8519,10 @@ if ('onhashchange' in window) { <span id="L9347" class="LineNr"> 9347 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9348" class="Folded"> 9348 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9354" class="LineNr"> 9354 </span> <span class="subxComment"># check output</span> -<span id="L9355" class="LineNr"> 9355 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-with-just-one-inout: output should be empty"</span>) -<span id="L9356" class="LineNr"> 9356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - test-compare-with-just-one-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9355" class="LineNr"> 9355 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9320'>test-compare-with-just-one-inout</a>: output should be empty"</span>) +<span id="L9356" class="LineNr"> 9356 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L9320'>test-compare-with-just-one-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9357" class="LineNr"> 9357 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9358" class="LineNr"> 9358 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-with-just-one-inout: exit status"</span>) +<span id="L9358" class="LineNr"> 9358 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9320'>test-compare-with-just-one-inout</a>: exit status"</span>) <span id="L9359" class="LineNr"> 9359 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9360" class="LineNr"> 9360 </span> 81 0/subop/add %esp 8/imm32 <span id="L9361" class="LineNr"> 9361 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8551,7 +8551,7 @@ if ('onhashchange' in window) { <span id="L9384" class="LineNr"> 9384 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, 0, 0\n"</span>) <span id="L9385" class="LineNr"> 9385 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9386" class="LineNr"> 9386 </span> <span class="subxComment"># convert</span> -<span id="L9387" class="LineNr"> 9387 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9387" class="LineNr"> 9387 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9388" class="LineNr"> 9388 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9389" class="LineNr"> 9389 </span> <span class="subxComment"># restore ed</span> <span id="L9390" class="LineNr"> 9390 </span> 89/<- %edx 4/r32/esp @@ -8559,10 +8559,10 @@ if ('onhashchange' in window) { <span id="L9392" class="LineNr"> 9392 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9393" class="Folded"> 9393 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9399" class="LineNr"> 9399 </span> <span class="subxComment"># check output</span> -<span id="L9400" class="LineNr"> 9400 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-with-too-many-inouts: output should be empty"</span>) -<span id="L9401" class="LineNr"> 9401 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - test-compare-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9400" class="LineNr"> 9400 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9365'>test-compare-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L9401" class="LineNr"> 9401 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L9365'>test-compare-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9402" class="LineNr"> 9402 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9403" class="LineNr"> 9403 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-with-too-many-inouts: exit status"</span>) +<span id="L9403" class="LineNr"> 9403 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9365'>test-compare-with-too-many-inouts</a>: exit status"</span>) <span id="L9404" class="LineNr"> 9404 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9405" class="LineNr"> 9405 </span> 81 0/subop/add %esp 8/imm32 <span id="L9406" class="LineNr"> 9406 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8592,7 +8592,7 @@ if ('onhashchange' in window) { <span id="L9430" class="LineNr"> 9430 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- compare y, 0\n"</span>) <span id="L9431" class="LineNr"> 9431 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9432" class="LineNr"> 9432 </span> <span class="subxComment"># convert</span> -<span id="L9433" class="LineNr"> 9433 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9433" class="LineNr"> 9433 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9434" class="LineNr"> 9434 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9435" class="LineNr"> 9435 </span> <span class="subxComment"># restore ed</span> <span id="L9436" class="LineNr"> 9436 </span> 89/<- %edx 4/r32/esp @@ -8600,10 +8600,10 @@ if ('onhashchange' in window) { <span id="L9438" class="LineNr"> 9438 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9439" class="Folded"> 9439 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9445" class="LineNr"> 9445 </span> <span class="subxComment"># check output</span> -<span id="L9446" class="LineNr"> 9446 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-with-output: output should be empty"</span>) -<span id="L9447" class="LineNr"> 9447 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must not have any outputs"</span> <span class="Constant">"F - test-compare-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9446" class="LineNr"> 9446 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9410'>test-compare-with-output</a>: output should be empty"</span>) +<span id="L9447" class="LineNr"> 9447 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'compare' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L9410'>test-compare-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9448" class="LineNr"> 9448 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9449" class="LineNr"> 9449 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-with-output: exit status"</span>) +<span id="L9449" class="LineNr"> 9449 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9410'>test-compare-with-output</a>: exit status"</span>) <span id="L9450" class="LineNr"> 9450 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9451" class="LineNr"> 9451 </span> 81 0/subop/add %esp 8/imm32 <span id="L9452" class="LineNr"> 9452 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8633,7 +8633,7 @@ if ('onhashchange' in window) { <span id="L9476" class="LineNr"> 9476 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare y, x\n"</span>) <span id="L9477" class="LineNr"> 9477 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9478" class="LineNr"> 9478 </span> <span class="subxComment"># convert</span> -<span id="L9479" class="LineNr"> 9479 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9479" class="LineNr"> 9479 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9480" class="LineNr"> 9480 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9481" class="LineNr"> 9481 </span> <span class="subxComment"># restore ed</span> <span id="L9482" class="LineNr"> 9482 </span> 89/<- %edx 4/r32/esp @@ -8641,10 +8641,10 @@ if ('onhashchange' in window) { <span id="L9484" class="LineNr"> 9484 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9485" class="Folded"> 9485 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9491" class="LineNr"> 9491 </span> <span class="subxComment"># check output</span> -<span id="L9492" class="LineNr"> 9492 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-invalid-value-to-address: output should be empty"</span>) -<span id="L9493" class="LineNr"> 9493 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - test-compare-invalid-value-to-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9492" class="LineNr"> 9492 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9456'>test-compare-invalid-value-to-address</a>: output should be empty"</span>) +<span id="L9493" class="LineNr"> 9493 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: 'y' must be a non-addr non-offset scalar"</span> <span class="Constant">"F - <a href='mu.subx.html#L9456'>test-compare-invalid-value-to-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9494" class="LineNr"> 9494 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9495" class="LineNr"> 9495 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-invalid-value-to-address: exit status"</span>) +<span id="L9495" class="LineNr"> 9495 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9456'>test-compare-invalid-value-to-address</a>: exit status"</span>) <span id="L9496" class="LineNr"> 9496 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9497" class="LineNr"> 9497 </span> 81 0/subop/add %esp 8/imm32 <span id="L9498" class="LineNr"> 9498 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8667,7 +8667,7 @@ if ('onhashchange' in window) { <span id="L9515" class="LineNr"> 9515 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare y, x\n"</span>) <span id="L9516" class="LineNr"> 9516 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9517" class="LineNr"> 9517 </span> <span class="subxComment"># convert</span> -<span id="L9518" class="LineNr"> 9518 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L9518" class="LineNr"> 9518 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L9519" class="LineNr"> 9519 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L9520" class="LineNr"> 9520 </span> <span class="subxComment"># no errors</span> <span id="L9521" class="LineNr"> 9521 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8690,7 +8690,7 @@ if ('onhashchange' in window) { <span id="L9538" class="LineNr"> 9538 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare *y, x\n"</span>) <span id="L9539" class="LineNr"> 9539 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9540" class="LineNr"> 9540 </span> <span class="subxComment"># convert</span> -<span id="L9541" class="LineNr"> 9541 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L9541" class="LineNr"> 9541 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L9542" class="LineNr"> 9542 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L9543" class="LineNr"> 9543 </span> <span class="subxComment"># no errors</span> <span id="L9544" class="LineNr"> 9544 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8719,7 +8719,7 @@ if ('onhashchange' in window) { <span id="L9567" class="LineNr"> 9567 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, x\n"</span>) <span id="L9568" class="LineNr"> 9568 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9569" class="LineNr"> 9569 </span> <span class="subxComment"># convert</span> -<span id="L9570" class="LineNr"> 9570 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9570" class="LineNr"> 9570 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9571" class="LineNr"> 9571 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9572" class="LineNr"> 9572 </span> <span class="subxComment"># restore ed</span> <span id="L9573" class="LineNr"> 9573 </span> 89/<- %edx 4/r32/esp @@ -8727,10 +8727,10 @@ if ('onhashchange' in window) { <span id="L9575" class="LineNr"> 9575 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9576" class="Folded"> 9576 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9582" class="LineNr"> 9582 </span> <span class="subxComment"># check output</span> -<span id="L9583" class="LineNr"> 9583 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-two-vars-in-memory: output should be empty"</span>) -<span id="L9584" class="LineNr"> 9584 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: both inouts are in memory"</span> <span class="Constant">"F - test-compare-two-vars-in-memory: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9583" class="LineNr"> 9583 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9548'>test-compare-two-vars-in-memory</a>: output should be empty"</span>) +<span id="L9584" class="LineNr"> 9584 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: both inouts are in memory"</span> <span class="Constant">"F - <a href='mu.subx.html#L9548'>test-compare-two-vars-in-memory</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9585" class="LineNr"> 9585 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9586" class="LineNr"> 9586 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-two-vars-in-memory: exit status"</span>) +<span id="L9586" class="LineNr"> 9586 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9548'>test-compare-two-vars-in-memory</a>: exit status"</span>) <span id="L9587" class="LineNr"> 9587 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9588" class="LineNr"> 9588 </span> 81 0/subop/add %esp 8/imm32 <span id="L9589" class="LineNr"> 9589 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8760,7 +8760,7 @@ if ('onhashchange' in window) { <span id="L9613" class="LineNr"> 9613 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare y, x\n"</span>) <span id="L9614" class="LineNr"> 9614 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9615" class="LineNr"> 9615 </span> <span class="subxComment"># convert</span> -<span id="L9616" class="LineNr"> 9616 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9616" class="LineNr"> 9616 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9617" class="LineNr"> 9617 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9618" class="LineNr"> 9618 </span> <span class="subxComment"># restore ed</span> <span id="L9619" class="LineNr"> 9619 </span> 89/<- %edx 4/r32/esp @@ -8768,11 +8768,11 @@ if ('onhashchange' in window) { <span id="L9621" class="LineNr"> 9621 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9622" class="Folded"> 9622 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9628" class="LineNr"> 9628 </span> <span class="subxComment"># check output</span> -<span id="L9629" class="LineNr"> 9629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-non-scalar: output should be empty"</span>) +<span id="L9629" class="LineNr"> 9629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9593'>test-compare-non-scalar</a>: output should be empty"</span>) <span id="L9630" class="LineNr"> 9630 </span><span class="CommentedCode">#? (check-next-stream-line-equal _test-error-stream "fn foo: stmt compare: 'x' is too large to compare" "F - test-compare-non-scalar: error message")</span> -<span id="L9631" class="LineNr"> 9631 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: both inouts are in memory"</span> <span class="Constant">"F - test-compare-non-scalar: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9631" class="LineNr"> 9631 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: both inouts are in memory"</span> <span class="Constant">"F - <a href='mu.subx.html#L9593'>test-compare-non-scalar</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9632" class="LineNr"> 9632 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9633" class="LineNr"> 9633 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-non-scalar: exit status"</span>) +<span id="L9633" class="LineNr"> 9633 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9593'>test-compare-non-scalar</a>: exit status"</span>) <span id="L9634" class="LineNr"> 9634 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9635" class="LineNr"> 9635 </span> 81 0/subop/add %esp 8/imm32 <span id="L9636" class="LineNr"> 9636 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8801,7 +8801,7 @@ if ('onhashchange' in window) { <span id="L9659" class="LineNr"> 9659 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compare x, \"</span>abc\<span class="Constant">"\n"</span>) <span id="L9660" class="LineNr"> 9660 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9661" class="LineNr"> 9661 </span> <span class="subxComment"># convert</span> -<span id="L9662" class="LineNr"> 9662 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9662" class="LineNr"> 9662 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9663" class="LineNr"> 9663 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9664" class="LineNr"> 9664 </span> <span class="subxComment"># restore ed</span> <span id="L9665" class="LineNr"> 9665 </span> 89/<- %edx 4/r32/esp @@ -8809,10 +8809,10 @@ if ('onhashchange' in window) { <span id="L9667" class="LineNr"> 9667 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9668" class="Folded"> 9668 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9674" class="LineNr"> 9674 </span> <span class="subxComment"># check output</span> -<span id="L9675" class="LineNr"> 9675 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compare-with-string-literal: output should be empty"</span>) -<span id="L9676" class="LineNr"> 9676 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: string literal \"</span>abc\<span class="Constant">" is not supported; use the <a href='105string-equal.subx.html#L15'>string-equal?</a> function"</span> <span class="Constant">"F - test-compare-with-string-literal: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9675" class="LineNr"> 9675 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9640'>test-compare-with-string-literal</a>: output should be empty"</span>) +<span id="L9676" class="LineNr"> 9676 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compare: string literal \"</span>abc\<span class="Constant">" is not supported; use the <a href='105string-equal.subx.html#L15'>string-equal?</a> function"</span> <span class="Constant">"F - <a href='mu.subx.html#L9640'>test-compare-with-string-literal</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9677" class="LineNr"> 9677 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9678" class="LineNr"> 9678 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compare-with-string-literal: exit status"</span>) +<span id="L9678" class="LineNr"> 9678 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9640'>test-compare-with-string-literal</a>: exit status"</span>) <span id="L9679" class="LineNr"> 9679 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9680" class="LineNr"> 9680 </span> 81 0/subop/add %esp 8/imm32 <span id="L9681" class="LineNr"> 9681 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8840,7 +8840,7 @@ if ('onhashchange' in window) { <span id="L9703" class="LineNr"> 9703 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: boolean <- address\n"</span>) <span id="L9704" class="LineNr"> 9704 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9705" class="LineNr"> 9705 </span> <span class="subxComment"># convert</span> -<span id="L9706" class="LineNr"> 9706 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9706" class="LineNr"> 9706 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9707" class="LineNr"> 9707 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9708" class="LineNr"> 9708 </span> <span class="subxComment"># restore ed</span> <span id="L9709" class="LineNr"> 9709 </span> 89/<- %edx 4/r32/esp @@ -8848,10 +8848,10 @@ if ('onhashchange' in window) { <span id="L9711" class="LineNr"> 9711 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9712" class="Folded"> 9712 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9718" class="LineNr"> 9718 </span> <span class="subxComment"># check output</span> -<span id="L9719" class="LineNr"> 9719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-with-no-inout: output should be empty"</span>) -<span id="L9720" class="LineNr"> 9720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' expects an inout"</span> <span class="Constant">"F - test-address-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9719" class="LineNr"> 9719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9685'>test-address-with-no-inout</a>: output should be empty"</span>) +<span id="L9720" class="LineNr"> 9720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' expects an inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L9685'>test-address-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9721" class="LineNr"> 9721 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9722" class="LineNr"> 9722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-with-no-inout: exit status"</span>) +<span id="L9722" class="LineNr"> 9722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9685'>test-address-with-no-inout</a>: exit status"</span>) <span id="L9723" class="LineNr"> 9723 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9724" class="LineNr"> 9724 </span> 81 0/subop/add %esp 8/imm32 <span id="L9725" class="LineNr"> 9725 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8879,7 +8879,7 @@ if ('onhashchange' in window) { <span id="L9747" class="LineNr"> 9747 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: boolean <- address 0, 0\n"</span>) <span id="L9748" class="LineNr"> 9748 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9749" class="LineNr"> 9749 </span> <span class="subxComment"># convert</span> -<span id="L9750" class="LineNr"> 9750 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9750" class="LineNr"> 9750 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9751" class="LineNr"> 9751 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9752" class="LineNr"> 9752 </span> <span class="subxComment"># restore ed</span> <span id="L9753" class="LineNr"> 9753 </span> 89/<- %edx 4/r32/esp @@ -8887,10 +8887,10 @@ if ('onhashchange' in window) { <span id="L9755" class="LineNr"> 9755 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9756" class="Folded"> 9756 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9762" class="LineNr"> 9762 </span> <span class="subxComment"># check output</span> -<span id="L9763" class="LineNr"> 9763 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-with-multiple-inouts: output should be empty"</span>) -<span id="L9764" class="LineNr"> 9764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' must have just one inout"</span> <span class="Constant">"F - test-address-with-multiple-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9763" class="LineNr"> 9763 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9729'>test-address-with-multiple-inouts</a>: output should be empty"</span>) +<span id="L9764" class="LineNr"> 9764 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' must have just one inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L9729'>test-address-with-multiple-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9765" class="LineNr"> 9765 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9766" class="LineNr"> 9766 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-with-multiple-inouts: exit status"</span>) +<span id="L9766" class="LineNr"> 9766 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9729'>test-address-with-multiple-inouts</a>: exit status"</span>) <span id="L9767" class="LineNr"> 9767 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9768" class="LineNr"> 9768 </span> 81 0/subop/add %esp 8/imm32 <span id="L9769" class="LineNr"> 9769 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8918,7 +8918,7 @@ if ('onhashchange' in window) { <span id="L9791" class="LineNr"> 9791 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" address 0\n"</span>) <span id="L9792" class="LineNr"> 9792 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9793" class="LineNr"> 9793 </span> <span class="subxComment"># convert</span> -<span id="L9794" class="LineNr"> 9794 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9794" class="LineNr"> 9794 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9795" class="LineNr"> 9795 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9796" class="LineNr"> 9796 </span> <span class="subxComment"># restore ed</span> <span id="L9797" class="LineNr"> 9797 </span> 89/<- %edx 4/r32/esp @@ -8926,10 +8926,10 @@ if ('onhashchange' in window) { <span id="L9799" class="LineNr"> 9799 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9800" class="Folded"> 9800 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9806" class="LineNr"> 9806 </span> <span class="subxComment"># check output</span> -<span id="L9807" class="LineNr"> 9807 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-with-no-output: output should be empty"</span>) -<span id="L9808" class="LineNr"> 9808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' expects an output"</span> <span class="Constant">"F - test-address-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9807" class="LineNr"> 9807 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9773'>test-address-with-no-output</a>: output should be empty"</span>) +<span id="L9808" class="LineNr"> 9808 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' expects an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L9773'>test-address-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9809" class="LineNr"> 9809 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9810" class="LineNr"> 9810 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-with-no-output: exit status"</span>) +<span id="L9810" class="LineNr"> 9810 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9773'>test-address-with-no-output</a>: exit status"</span>) <span id="L9811" class="LineNr"> 9811 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9812" class="LineNr"> 9812 </span> 81 0/subop/add %esp 8/imm32 <span id="L9813" class="LineNr"> 9813 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8959,7 +8959,7 @@ if ('onhashchange' in window) { <span id="L9837" class="LineNr"> 9837 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x, y <- address 0\n"</span>) <span id="L9838" class="LineNr"> 9838 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9839" class="LineNr"> 9839 </span> <span class="subxComment"># convert</span> -<span id="L9840" class="LineNr"> 9840 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9840" class="LineNr"> 9840 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9841" class="LineNr"> 9841 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9842" class="LineNr"> 9842 </span> <span class="subxComment"># restore ed</span> <span id="L9843" class="LineNr"> 9843 </span> 89/<- %edx 4/r32/esp @@ -8967,10 +8967,10 @@ if ('onhashchange' in window) { <span id="L9845" class="LineNr"> 9845 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9846" class="Folded"> 9846 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9852" class="LineNr"> 9852 </span> <span class="subxComment"># check output</span> -<span id="L9853" class="LineNr"> 9853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-with-multiple-outputs: output should be empty"</span>) -<span id="L9854" class="LineNr"> 9854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' must have just one output"</span> <span class="Constant">"F - test-address-with-multiple-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9853" class="LineNr"> 9853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9817'>test-address-with-multiple-outputs</a>: output should be empty"</span>) +<span id="L9854" class="LineNr"> 9854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'address' must have just one output"</span> <span class="Constant">"F - <a href='mu.subx.html#L9817'>test-address-with-multiple-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9855" class="LineNr"> 9855 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9856" class="LineNr"> 9856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-with-multiple-outputs: exit status"</span>) +<span id="L9856" class="LineNr"> 9856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9817'>test-address-with-multiple-outputs</a>: exit status"</span>) <span id="L9857" class="LineNr"> 9857 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9858" class="LineNr"> 9858 </span> 81 0/subop/add %esp 8/imm32 <span id="L9859" class="LineNr"> 9859 </span> <span class="subxS1Comment"># . epilogue</span> @@ -8993,7 +8993,7 @@ if ('onhashchange' in window) { <span id="L9876" class="LineNr"> 9876 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/ecx: (addr int) <- address *x\n"</span>) <span id="L9877" class="LineNr"> 9877 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9878" class="LineNr"> 9878 </span> <span class="subxComment"># convert</span> -<span id="L9879" class="LineNr"> 9879 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L9879" class="LineNr"> 9879 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L9880" class="LineNr"> 9880 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L9881" class="LineNr"> 9881 </span> <span class="subxComment"># no errors</span> <span id="L9882" class="LineNr"> 9882 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9022,7 +9022,7 @@ if ('onhashchange' in window) { <span id="L9905" class="LineNr"> 9905 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- address 0\n"</span>) <span id="L9906" class="LineNr"> 9906 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9907" class="LineNr"> 9907 </span> <span class="subxComment"># convert</span> -<span id="L9908" class="LineNr"> 9908 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9908" class="LineNr"> 9908 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9909" class="LineNr"> 9909 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9910" class="LineNr"> 9910 </span> <span class="subxComment"># restore ed</span> <span id="L9911" class="LineNr"> 9911 </span> 89/<- %edx 4/r32/esp @@ -9030,10 +9030,10 @@ if ('onhashchange' in window) { <span id="L9913" class="LineNr"> 9913 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9914" class="Folded"> 9914 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9920" class="LineNr"> 9920 </span> <span class="subxComment"># check output</span> -<span id="L9921" class="LineNr"> 9921 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-to-non-register: output should be empty"</span>) -<span id="L9922" class="LineNr"> 9922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt address: output 'x' not in a register"</span> <span class="Constant">"F - test-address-to-non-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9921" class="LineNr"> 9921 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9886'>test-address-to-non-register</a>: output should be empty"</span>) +<span id="L9922" class="LineNr"> 9922 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt address: output 'x' not in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L9886'>test-address-to-non-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9923" class="LineNr"> 9923 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9924" class="LineNr"> 9924 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-to-non-register: exit status"</span>) +<span id="L9924" class="LineNr"> 9924 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9886'>test-address-to-non-register</a>: exit status"</span>) <span id="L9925" class="LineNr"> 9925 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9926" class="LineNr"> 9926 </span> 81 0/subop/add %esp 8/imm32 <span id="L9927" class="LineNr"> 9927 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9062,7 +9062,7 @@ if ('onhashchange' in window) { <span id="L9950" class="LineNr"> 9950 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: (addr boolean) <- address x\n"</span>) <span id="L9951" class="LineNr"> 9951 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9952" class="LineNr"> 9952 </span> <span class="subxComment"># convert</span> -<span id="L9953" class="LineNr"> 9953 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L9953" class="LineNr"> 9953 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L9954" class="LineNr"> 9954 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L9955" class="LineNr"> 9955 </span> <span class="subxComment"># restore ed</span> <span id="L9956" class="LineNr"> 9956 </span> 89/<- %edx 4/r32/esp @@ -9070,10 +9070,10 @@ if ('onhashchange' in window) { <span id="L9958" class="LineNr"> 9958 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L9959" class="Folded"> 9959 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L9965" class="LineNr"> 9965 </span> <span class="subxComment"># check output</span> -<span id="L9966" class="LineNr"> 9966 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-address-with-wrong-type: output should be empty"</span>) -<span id="L9967" class="LineNr"> 9967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt address: output 'y' cannot hold address of 'x'"</span> <span class="Constant">"F - test-address-with-wrong-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L9966" class="LineNr"> 9966 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L9931'>test-address-with-wrong-type</a>: output should be empty"</span>) +<span id="L9967" class="LineNr"> 9967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt address: output 'y' cannot hold address of 'x'"</span> <span class="Constant">"F - <a href='mu.subx.html#L9931'>test-address-with-wrong-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L9968" class="LineNr"> 9968 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L9969" class="LineNr"> 9969 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-address-with-wrong-type: exit status"</span>) +<span id="L9969" class="LineNr"> 9969 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L9931'>test-address-with-wrong-type</a>: exit status"</span>) <span id="L9970" class="LineNr"> 9970 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L9971" class="LineNr"> 9971 </span> 81 0/subop/add %esp 8/imm32 <span id="L9972" class="LineNr"> 9972 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9095,7 +9095,7 @@ if ('onhashchange' in window) { <span id="L9988" class="LineNr"> 9988 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: (addr array int) <- address x\n"</span>) <span id="L9989" class="LineNr"> 9989 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L9990" class="LineNr"> 9990 </span> <span class="subxComment"># convert</span> -<span id="L9991" class="LineNr"> 9991 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L9991" class="LineNr"> 9991 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L9992" class="LineNr"> 9992 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L9993" class="LineNr"> 9993 </span> <span class="subxComment"># no errors</span> <span id="L9994" class="LineNr"> 9994 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9118,7 +9118,7 @@ if ('onhashchange' in window) { <span id="L10011" class="LineNr">10011 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: (addr stream int) <- address x\n"</span>) <span id="L10012" class="LineNr">10012 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10013" class="LineNr">10013 </span> <span class="subxComment"># convert</span> -<span id="L10014" class="LineNr">10014 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10014" class="LineNr">10014 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10015" class="LineNr">10015 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10016" class="LineNr">10016 </span> <span class="subxComment"># no errors</span> <span id="L10017" class="LineNr">10017 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9151,7 +9151,7 @@ if ('onhashchange' in window) { <span id="L10044" class="LineNr">10044 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10045" class="LineNr">10045 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10046" class="LineNr">10046 </span> <span class="subxComment"># convert</span> -<span id="L10047" class="LineNr">10047 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10047" class="LineNr">10047 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10048" class="LineNr">10048 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10049" class="LineNr">10049 </span> <span class="subxComment"># restore ed</span> <span id="L10050" class="LineNr">10050 </span> 89/<- %edx 4/r32/esp @@ -9159,10 +9159,10 @@ if ('onhashchange' in window) { <span id="L10052" class="LineNr">10052 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10053" class="Folded">10053 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10059" class="LineNr">10059 </span> <span class="subxComment"># check output</span> -<span id="L10060" class="LineNr">10060 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-field: output should be empty"</span>) -<span id="L10061" class="LineNr">10061 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: type 't' has no member called 'y'"</span> <span class="Constant">"F - test-get-with-wrong-field: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10060" class="LineNr">10060 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10022'>test-get-with-wrong-field</a>: output should be empty"</span>) +<span id="L10061" class="LineNr">10061 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: type 't' has no member called 'y'"</span> <span class="Constant">"F - <a href='mu.subx.html#L10022'>test-get-with-wrong-field</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10062" class="LineNr">10062 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10063" class="LineNr">10063 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-field: exit status"</span>) +<span id="L10063" class="LineNr">10063 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10022'>test-get-with-wrong-field</a>: exit status"</span>) <span id="L10064" class="LineNr">10064 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10065" class="LineNr">10065 </span> 81 0/subop/add %esp 8/imm32 <span id="L10066" class="LineNr">10066 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9191,7 +9191,7 @@ if ('onhashchange' in window) { <span id="L10089" class="LineNr">10089 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- <a href='131table.subx.html#L26'>get</a> a, y\n"</span>) <span id="L10090" class="LineNr">10090 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10091" class="LineNr">10091 </span> <span class="subxComment"># convert</span> -<span id="L10092" class="LineNr">10092 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10092" class="LineNr">10092 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10093" class="LineNr">10093 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10094" class="LineNr">10094 </span> <span class="subxComment"># restore ed</span> <span id="L10095" class="LineNr">10095 </span> 89/<- %edx 4/r32/esp @@ -9199,10 +9199,10 @@ if ('onhashchange' in window) { <span id="L10097" class="LineNr">10097 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10098" class="Folded">10098 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10104" class="LineNr">10104 </span> <span class="subxComment"># check output</span> -<span id="L10105" class="LineNr">10105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-base-type: output should be empty"</span>) -<span id="L10106" class="LineNr">10106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' must have a 'type' definition"</span> <span class="Constant">"F - test-get-with-wrong-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10105" class="LineNr">10105 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10070'>test-get-with-wrong-base-type</a>: output should be empty"</span>) +<span id="L10106" class="LineNr">10106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' must have a 'type' definition"</span> <span class="Constant">"F - <a href='mu.subx.html#L10070'>test-get-with-wrong-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10107" class="LineNr">10107 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10108" class="LineNr">10108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-base-type: exit status"</span>) +<span id="L10108" class="LineNr">10108 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10070'>test-get-with-wrong-base-type</a>: exit status"</span>) <span id="L10109" class="LineNr">10109 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10110" class="LineNr">10110 </span> 81 0/subop/add %esp 8/imm32 <span id="L10111" class="LineNr">10111 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9234,7 +9234,7 @@ if ('onhashchange' in window) { <span id="L10137" class="LineNr">10137 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10138" class="LineNr">10138 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10139" class="LineNr">10139 </span> <span class="subxComment"># convert</span> -<span id="L10140" class="LineNr">10140 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10140" class="LineNr">10140 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10141" class="LineNr">10141 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10142" class="LineNr">10142 </span> <span class="subxComment"># restore ed</span> <span id="L10143" class="LineNr">10143 </span> 89/<- %edx 4/r32/esp @@ -9242,10 +9242,10 @@ if ('onhashchange' in window) { <span id="L10145" class="LineNr">10145 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10146" class="Folded">10146 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10152" class="LineNr">10152 </span> <span class="subxComment"># check output</span> -<span id="L10153" class="LineNr">10153 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-base-type-2: output should be empty"</span>) -<span id="L10154" class="LineNr">10154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' is an 'addr' type, and so must live in a register"</span> <span class="Constant">"F - test-get-with-wrong-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10153" class="LineNr">10153 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10115'>test-get-with-wrong-base-type-2</a>: output should be empty"</span>) +<span id="L10154" class="LineNr">10154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' is an 'addr' type, and so must live in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L10115'>test-get-with-wrong-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10155" class="LineNr">10155 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10156" class="LineNr">10156 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-base-type-2: exit status"</span>) +<span id="L10156" class="LineNr">10156 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10115'>test-get-with-wrong-base-type-2</a>: exit status"</span>) <span id="L10157" class="LineNr">10157 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10158" class="LineNr">10158 </span> 81 0/subop/add %esp 8/imm32 <span id="L10159" class="LineNr">10159 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9274,7 +9274,7 @@ if ('onhashchange' in window) { <span id="L10182" class="LineNr">10182 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- <a href='131table.subx.html#L26'>get</a> a, y\n"</span>) <span id="L10183" class="LineNr">10183 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10184" class="LineNr">10184 </span> <span class="subxComment"># convert</span> -<span id="L10185" class="LineNr">10185 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10185" class="LineNr">10185 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10186" class="LineNr">10186 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10187" class="LineNr">10187 </span> <span class="subxComment"># restore ed</span> <span id="L10188" class="LineNr">10188 </span> 89/<- %edx 4/r32/esp @@ -9282,10 +9282,10 @@ if ('onhashchange' in window) { <span id="L10190" class="LineNr">10190 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10191" class="Folded">10191 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10197" class="LineNr">10197 </span> <span class="subxComment"># check output</span> -<span id="L10198" class="LineNr">10198 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-base-type-3: output should be empty"</span>) -<span id="L10199" class="LineNr">10199 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' must have a 'type' definition"</span> <span class="Constant">"F - test-get-with-wrong-base-type-3: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10198" class="LineNr">10198 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10163'>test-get-with-wrong-base-type-3</a>: output should be empty"</span>) +<span id="L10199" class="LineNr">10199 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: var 'a' must have a 'type' definition"</span> <span class="Constant">"F - <a href='mu.subx.html#L10163'>test-get-with-wrong-base-type-3</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10200" class="LineNr">10200 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10201" class="LineNr">10201 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-base-type-3: exit status"</span>) +<span id="L10201" class="LineNr">10201 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10163'>test-get-with-wrong-base-type-3</a>: exit status"</span>) <span id="L10202" class="LineNr">10202 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10203" class="LineNr">10203 </span> 81 0/subop/add %esp 8/imm32 <span id="L10204" class="LineNr">10204 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9318,7 +9318,7 @@ if ('onhashchange' in window) { <span id="L10231" class="LineNr">10231 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10232" class="LineNr">10232 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10233" class="LineNr">10233 </span> <span class="subxComment"># convert</span> -<span id="L10234" class="LineNr">10234 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10234" class="LineNr">10234 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10235" class="LineNr">10235 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10236" class="LineNr">10236 </span> <span class="subxComment"># restore ed</span> <span id="L10237" class="LineNr">10237 </span> 89/<- %edx 4/r32/esp @@ -9326,10 +9326,10 @@ if ('onhashchange' in window) { <span id="L10239" class="LineNr">10239 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10240" class="Folded">10240 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10246" class="LineNr">10246 </span> <span class="subxComment"># check output</span> -<span id="L10247" class="LineNr">10247 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-offset-type: output should be empty"</span>) -<span id="L10248" class="LineNr">10248 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: type 't' has no member called 'b'"</span> <span class="Constant">"F - test-get-with-wrong-offset-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10247" class="LineNr">10247 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10208'>test-get-with-wrong-offset-type</a>: output should be empty"</span>) +<span id="L10248" class="LineNr">10248 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: type 't' has no member called 'b'"</span> <span class="Constant">"F - <a href='mu.subx.html#L10208'>test-get-with-wrong-offset-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10249" class="LineNr">10249 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10250" class="LineNr">10250 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-offset-type: exit status"</span>) +<span id="L10250" class="LineNr">10250 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10208'>test-get-with-wrong-offset-type</a>: exit status"</span>) <span id="L10251" class="LineNr">10251 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10252" class="LineNr">10252 </span> 81 0/subop/add %esp 8/imm32 <span id="L10253" class="LineNr">10253 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9362,7 +9362,7 @@ if ('onhashchange' in window) { <span id="L10280" class="LineNr">10280 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10281" class="LineNr">10281 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10282" class="LineNr">10282 </span> <span class="subxComment"># convert</span> -<span id="L10283" class="LineNr">10283 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10283" class="LineNr">10283 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10284" class="LineNr">10284 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10285" class="LineNr">10285 </span> <span class="subxComment"># restore ed</span> <span id="L10286" class="LineNr">10286 </span> 89/<- %edx 4/r32/esp @@ -9370,10 +9370,10 @@ if ('onhashchange' in window) { <span id="L10288" class="LineNr">10288 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10289" class="Folded">10289 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10295" class="LineNr">10295 </span> <span class="subxComment"># check output</span> -<span id="L10296" class="LineNr">10296 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-output-type: output should be empty"</span>) -<span id="L10297" class="LineNr">10297 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output 'c' is not in a register"</span> <span class="Constant">"F - test-get-with-wrong-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10296" class="LineNr">10296 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10257'>test-get-with-wrong-output-type</a>: output should be empty"</span>) +<span id="L10297" class="LineNr">10297 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output 'c' is not in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L10257'>test-get-with-wrong-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10298" class="LineNr">10298 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10299" class="LineNr">10299 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-output-type: exit status"</span>) +<span id="L10299" class="LineNr">10299 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10257'>test-get-with-wrong-output-type</a>: exit status"</span>) <span id="L10300" class="LineNr">10300 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10301" class="LineNr">10301 </span> 81 0/subop/add %esp 8/imm32 <span id="L10302" class="LineNr">10302 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9405,7 +9405,7 @@ if ('onhashchange' in window) { <span id="L10328" class="LineNr">10328 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10329" class="LineNr">10329 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10330" class="LineNr">10330 </span> <span class="subxComment"># convert</span> -<span id="L10331" class="LineNr">10331 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10331" class="LineNr">10331 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10332" class="LineNr">10332 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10333" class="LineNr">10333 </span> <span class="subxComment"># restore ed</span> <span id="L10334" class="LineNr">10334 </span> 89/<- %edx 4/r32/esp @@ -9413,10 +9413,10 @@ if ('onhashchange' in window) { <span id="L10336" class="LineNr">10336 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10337" class="Folded">10337 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10343" class="LineNr">10343 </span> <span class="subxComment"># check output</span> -<span id="L10344" class="LineNr">10344 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-output-type-2: output should be empty"</span>) -<span id="L10345" class="LineNr">10345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output must be an addr"</span> <span class="Constant">"F - test-get-with-wrong-output-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10344" class="LineNr">10344 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10306'>test-get-with-wrong-output-type-2</a>: output should be empty"</span>) +<span id="L10345" class="LineNr">10345 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L10306'>test-get-with-wrong-output-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10346" class="LineNr">10346 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10347" class="LineNr">10347 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-output-type-2: exit status"</span>) +<span id="L10347" class="LineNr">10347 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10306'>test-get-with-wrong-output-type-2</a>: exit status"</span>) <span id="L10348" class="LineNr">10348 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10349" class="LineNr">10349 </span> 81 0/subop/add %esp 8/imm32 <span id="L10350" class="LineNr">10350 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9448,7 +9448,7 @@ if ('onhashchange' in window) { <span id="L10376" class="LineNr">10376 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10377" class="LineNr">10377 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10378" class="LineNr">10378 </span> <span class="subxComment"># convert</span> -<span id="L10379" class="LineNr">10379 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10379" class="LineNr">10379 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10380" class="LineNr">10380 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10381" class="LineNr">10381 </span> <span class="subxComment"># restore ed</span> <span id="L10382" class="LineNr">10382 </span> 89/<- %edx 4/r32/esp @@ -9456,10 +9456,10 @@ if ('onhashchange' in window) { <span id="L10384" class="LineNr">10384 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10385" class="Folded">10385 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10391" class="LineNr">10391 </span> <span class="subxComment"># check output</span> -<span id="L10392" class="LineNr">10392 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-output-type-3: output should be empty"</span>) -<span id="L10393" class="LineNr">10393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output must be an addr"</span> <span class="Constant">"F - test-get-with-wrong-output-type-3: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10392" class="LineNr">10392 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10354'>test-get-with-wrong-output-type-3</a>: output should be empty"</span>) +<span id="L10393" class="LineNr">10393 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: output must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L10354'>test-get-with-wrong-output-type-3</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10394" class="LineNr">10394 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10395" class="LineNr">10395 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-output-type-3: exit status"</span>) +<span id="L10395" class="LineNr">10395 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10354'>test-get-with-wrong-output-type-3</a>: exit status"</span>) <span id="L10396" class="LineNr">10396 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10397" class="LineNr">10397 </span> 81 0/subop/add %esp 8/imm32 <span id="L10398" class="LineNr">10398 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9491,7 +9491,7 @@ if ('onhashchange' in window) { <span id="L10424" class="LineNr">10424 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10425" class="LineNr">10425 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10426" class="LineNr">10426 </span> <span class="subxComment"># convert</span> -<span id="L10427" class="LineNr">10427 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10427" class="LineNr">10427 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10428" class="LineNr">10428 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10429" class="LineNr">10429 </span> <span class="subxComment"># restore ed</span> <span id="L10430" class="LineNr">10430 </span> 89/<- %edx 4/r32/esp @@ -9499,10 +9499,10 @@ if ('onhashchange' in window) { <span id="L10432" class="LineNr">10432 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10433" class="Folded">10433 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10439" class="LineNr">10439 </span> <span class="subxComment"># check output</span> -<span id="L10440" class="LineNr">10440 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-wrong-output-type-4: output should be empty"</span>) -<span id="L10441" class="LineNr">10441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: wrong output type for member 'x' of type 't'"</span> <span class="Constant">"F - test-get-with-wrong-output-type-4: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10440" class="LineNr">10440 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10402'>test-get-with-wrong-output-type-4</a>: output should be empty"</span>) +<span id="L10441" class="LineNr">10441 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: wrong output type for member 'x' of type 't'"</span> <span class="Constant">"F - <a href='mu.subx.html#L10402'>test-get-with-wrong-output-type-4</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10442" class="LineNr">10442 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10443" class="LineNr">10443 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-wrong-output-type-4: exit status"</span>) +<span id="L10443" class="LineNr">10443 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10402'>test-get-with-wrong-output-type-4</a>: exit status"</span>) <span id="L10444" class="LineNr">10444 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10445" class="LineNr">10445 </span> 81 0/subop/add %esp 8/imm32 <span id="L10446" class="LineNr">10446 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9527,7 +9527,7 @@ if ('onhashchange' in window) { <span id="L10465" class="LineNr">10465 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: (handle int)\n"</span>) <span id="L10466" class="LineNr">10466 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10467" class="LineNr">10467 </span> <span class="subxComment"># convert</span> -<span id="L10468" class="LineNr">10468 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10468" class="LineNr">10468 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10469" class="LineNr">10469 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10470" class="LineNr">10470 </span> <span class="subxComment"># no errors</span> <span id="L10471" class="LineNr">10471 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9560,7 +9560,7 @@ if ('onhashchange' in window) { <span id="L10498" class="LineNr">10498 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10499" class="LineNr">10499 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10500" class="LineNr">10500 </span> <span class="subxComment"># convert</span> -<span id="L10501" class="LineNr">10501 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10501" class="LineNr">10501 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10502" class="LineNr">10502 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10503" class="LineNr">10503 </span> <span class="subxComment"># restore ed</span> <span id="L10504" class="LineNr">10504 </span> 89/<- %edx 4/r32/esp @@ -9568,10 +9568,10 @@ if ('onhashchange' in window) { <span id="L10506" class="LineNr">10506 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10507" class="Folded">10507 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10513" class="LineNr">10513 </span> <span class="subxComment"># check output</span> -<span id="L10514" class="LineNr">10514 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-too-few-inouts: output should be empty"</span>) -<span id="L10515" class="LineNr">10515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too few inouts (2 required)"</span> <span class="Constant">"F - test-get-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10514" class="LineNr">10514 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10476'>test-get-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L10515" class="LineNr">10515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L10476'>test-get-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10516" class="LineNr">10516 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10517" class="LineNr">10517 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-too-few-inouts: exit status"</span>) +<span id="L10517" class="LineNr">10517 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10476'>test-get-with-too-few-inouts</a>: exit status"</span>) <span id="L10518" class="LineNr">10518 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10519" class="LineNr">10519 </span> 81 0/subop/add %esp 8/imm32 <span id="L10520" class="LineNr">10520 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9603,7 +9603,7 @@ if ('onhashchange' in window) { <span id="L10546" class="LineNr">10546 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10547" class="LineNr">10547 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10548" class="LineNr">10548 </span> <span class="subxComment"># convert</span> -<span id="L10549" class="LineNr">10549 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10549" class="LineNr">10549 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10550" class="LineNr">10550 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10551" class="LineNr">10551 </span> <span class="subxComment"># restore ed</span> <span id="L10552" class="LineNr">10552 </span> 89/<- %edx 4/r32/esp @@ -9611,10 +9611,10 @@ if ('onhashchange' in window) { <span id="L10554" class="LineNr">10554 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10555" class="Folded">10555 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10561" class="LineNr">10561 </span> <span class="subxComment"># check output</span> -<span id="L10562" class="LineNr">10562 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-too-many-inouts: output should be empty"</span>) -<span id="L10563" class="LineNr">10563 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too many inouts (2 required)"</span> <span class="Constant">"F - test-get-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10562" class="LineNr">10562 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10524'>test-get-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L10563" class="LineNr">10563 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too many inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L10524'>test-get-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10564" class="LineNr">10564 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10565" class="LineNr">10565 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-too-many-inouts: exit status"</span>) +<span id="L10565" class="LineNr">10565 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10524'>test-get-with-too-many-inouts</a>: exit status"</span>) <span id="L10566" class="LineNr">10566 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10567" class="LineNr">10567 </span> 81 0/subop/add %esp 8/imm32 <span id="L10568" class="LineNr">10568 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9646,7 +9646,7 @@ if ('onhashchange' in window) { <span id="L10594" class="LineNr">10594 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10595" class="LineNr">10595 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10596" class="LineNr">10596 </span> <span class="subxComment"># convert</span> -<span id="L10597" class="LineNr">10597 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10597" class="LineNr">10597 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10598" class="LineNr">10598 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10599" class="LineNr">10599 </span> <span class="subxComment"># restore ed</span> <span id="L10600" class="LineNr">10600 </span> 89/<- %edx 4/r32/esp @@ -9654,10 +9654,10 @@ if ('onhashchange' in window) { <span id="L10602" class="LineNr">10602 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10603" class="Folded">10603 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10609" class="LineNr">10609 </span> <span class="subxComment"># check output</span> -<span id="L10610" class="LineNr">10610 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-no-output: output should be empty"</span>) -<span id="L10611" class="LineNr">10611 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: must have an output"</span> <span class="Constant">"F - test-get-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10610" class="LineNr">10610 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10572'>test-get-with-no-output</a>: output should be empty"</span>) +<span id="L10611" class="LineNr">10611 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: must have an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L10572'>test-get-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10612" class="LineNr">10612 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10613" class="LineNr">10613 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-no-output: exit status"</span>) +<span id="L10613" class="LineNr">10613 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10572'>test-get-with-no-output</a>: exit status"</span>) <span id="L10614" class="LineNr">10614 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10615" class="LineNr">10615 </span> 81 0/subop/add %esp 8/imm32 <span id="L10616" class="LineNr">10616 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9691,7 +9691,7 @@ if ('onhashchange' in window) { <span id="L10644" class="LineNr">10644 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x: int\n"</span>) <span id="L10645" class="LineNr">10645 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10646" class="LineNr">10646 </span> <span class="subxComment"># convert</span> -<span id="L10647" class="LineNr">10647 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L10647" class="LineNr">10647 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L10648" class="LineNr">10648 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L10649" class="LineNr">10649 </span> <span class="subxComment"># restore ed</span> <span id="L10650" class="LineNr">10650 </span> 89/<- %edx 4/r32/esp @@ -9699,10 +9699,10 @@ if ('onhashchange' in window) { <span id="L10652" class="LineNr">10652 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L10653" class="Folded">10653 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10659" class="LineNr">10659 </span> <span class="subxComment"># check output</span> -<span id="L10660" class="LineNr">10660 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-get-with-too-many-outputs: output should be empty"</span>) -<span id="L10661" class="LineNr">10661 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too many outputs (1 required)"</span> <span class="Constant">"F - test-get-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L10660" class="LineNr">10660 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10620'>test-get-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L10661" class="LineNr">10661 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='131table.subx.html#L26'>get</a>: too many outputs (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L10620'>test-get-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L10662" class="LineNr">10662 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L10663" class="LineNr">10663 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-get-with-too-many-outputs: exit status"</span>) +<span id="L10663" class="LineNr">10663 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10620'>test-get-with-too-many-outputs</a>: exit status"</span>) <span id="L10664" class="LineNr">10664 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L10665" class="LineNr">10665 </span> 81 0/subop/add %esp 8/imm32 <span id="L10666" class="LineNr">10666 </span> <span class="subxS1Comment"># . epilogue</span> @@ -9729,32 +9729,32 @@ if ('onhashchange' in window) { <span id="L10687" class="LineNr">10687 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: (addr t) <- index arr, idx\n"</span>) <span id="L10688" class="LineNr">10688 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10689" class="LineNr">10689 </span> <span class="subxComment"># convert</span> -<span id="L10690" class="LineNr">10690 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10690" class="LineNr">10690 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10691" class="LineNr">10691 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10692" class="Folded">10692 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10698" class="LineNr">10698 </span> <span class="subxComment"># check output</span> -<span id="L10699" class="LineNr">10699 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/0"</span>) +<span id="L10699" class="LineNr">10699 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/0"</span>) <span id="L10700" class="LineNr">10700 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/1"</span>) -<span id="L10701" class="LineNr">10701 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/2"</span>) -<span id="L10702" class="LineNr">10702 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/3"</span>) -<span id="L10703" class="LineNr">10703 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/4"</span>) -<span id="L10704" class="LineNr">10704 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/5"</span>) -<span id="L10705" class="LineNr">10705 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/6"</span>) -<span id="L10706" class="LineNr">10706 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/7"</span>) -<span id="L10707" class="LineNr">10707 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/8"</span>) -<span id="L10708" class="LineNr">10708 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/9"</span>) -<span id="L10709" class="LineNr">10709 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000008 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/10"</span>) -<span id="L10710" class="LineNr">10710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/12"</span>) -<span id="L10711" class="LineNr">10711 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/13"</span>) -<span id="L10712" class="LineNr">10712 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000003 + 4) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/14"</span>) -<span id="L10713" class="LineNr">10713 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/15"</span>) -<span id="L10714" class="LineNr">10714 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/16"</span>) -<span id="L10715" class="LineNr">10715 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/17"</span>) -<span id="L10716" class="LineNr">10716 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/18"</span>) +<span id="L10701" class="LineNr">10701 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/2"</span>) +<span id="L10702" class="LineNr">10702 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/3"</span>) +<span id="L10703" class="LineNr">10703 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/4"</span>) +<span id="L10704" class="LineNr">10704 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/5"</span>) +<span id="L10705" class="LineNr">10705 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/6"</span>) +<span id="L10706" class="LineNr">10706 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/7"</span>) +<span id="L10707" class="LineNr">10707 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/8"</span>) +<span id="L10708" class="LineNr">10708 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/9"</span>) +<span id="L10709" class="LineNr">10709 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> %ecx 0x00000008 *eax \"</span>foo\<span class="Constant">" \"</span>arr\<span class="Constant">")"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/10"</span>) +<span id="L10710" class="LineNr">10710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 7/subop/compare %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/12"</span>) +<span id="L10711" class="LineNr">10711 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/13"</span>) +<span id="L10712" class="LineNr">10712 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8d/copy-address *(eax + ecx<<0x00000003 + 4) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/14"</span>) +<span id="L10713" class="LineNr">10713 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/15"</span>) +<span id="L10714" class="LineNr">10714 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/16"</span>) +<span id="L10715" class="LineNr">10715 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/17"</span>) +<span id="L10716" class="LineNr">10716 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/18"</span>) <span id="L10717" class="LineNr">10717 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/19"</span>) -<span id="L10718" class="LineNr">10718 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/20"</span>) -<span id="L10719" class="LineNr">10719 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/21"</span>) -<span id="L10720" class="LineNr">10720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-array-of-user-defined-types/22"</span>) +<span id="L10718" class="LineNr">10718 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/20"</span>) +<span id="L10719" class="LineNr">10719 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/21"</span>) +<span id="L10720" class="LineNr">10720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L10670'>test-convert-array-of-user-defined-types</a>/22"</span>) <span id="L10721" class="LineNr">10721 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L10722" class="LineNr">10722 </span> 89/<- %esp 5/r32/ebp <span id="L10723" class="LineNr">10723 </span> 5d/pop-to-ebp @@ -9780,37 +9780,37 @@ if ('onhashchange' in window) { <span id="L10743" class="LineNr">10743 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: int <- length arr\n"</span>) <span id="L10744" class="LineNr">10744 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10745" class="LineNr">10745 </span> <span class="subxComment"># convert</span> -<span id="L10746" class="LineNr">10746 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10746" class="LineNr">10746 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10747" class="LineNr">10747 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10748" class="Folded">10748 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10754" class="LineNr">10754 </span> <span class="subxComment"># check output</span> -<span id="L10755" class="LineNr">10755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/0"</span>) +<span id="L10755" class="LineNr">10755 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/0"</span>) <span id="L10756" class="LineNr">10756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/1"</span>) -<span id="L10757" class="LineNr">10757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/2"</span>) -<span id="L10758" class="LineNr">10758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/3"</span>) -<span id="L10759" class="LineNr">10759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/4"</span>) -<span id="L10760" class="LineNr">10760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/5"</span>) +<span id="L10757" class="LineNr">10757 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/2"</span>) +<span id="L10758" class="LineNr">10758 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/3"</span>) +<span id="L10759" class="LineNr">10759 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/4"</span>) +<span id="L10760" class="LineNr">10760 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/5"</span>) <span id="L10761" class="LineNr">10761 </span> <span class="subxComment"># var arr</span> -<span id="L10762" class="LineNr">10762 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/6"</span>) -<span id="L10763" class="LineNr">10763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/7"</span>) +<span id="L10762" class="LineNr">10762 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/6"</span>) +<span id="L10763" class="LineNr">10763 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/7"</span>) <span id="L10764" class="LineNr">10764 </span> <span class="subxComment"># length instruction</span> -<span id="L10765" class="LineNr">10765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/8"</span>) -<span id="L10766" class="LineNr">10766 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/9"</span>) -<span id="L10767" class="LineNr">10767 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/10"</span>) -<span id="L10768" class="LineNr">10768 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/11"</span>) -<span id="L10769" class="LineNr">10769 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/12"</span>) -<span id="L10770" class="LineNr">10770 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/13"</span>) -<span id="L10771" class="LineNr">10771 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/14"</span>) -<span id="L10772" class="LineNr">10772 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/15"</span>) +<span id="L10765" class="LineNr">10765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/8"</span>) +<span id="L10766" class="LineNr">10766 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/9"</span>) +<span id="L10767" class="LineNr">10767 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/10"</span>) +<span id="L10768" class="LineNr">10768 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/11"</span>) +<span id="L10769" class="LineNr">10769 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/12"</span>) +<span id="L10770" class="LineNr">10770 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/13"</span>) +<span id="L10771" class="LineNr">10771 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/14"</span>) +<span id="L10772" class="LineNr">10772 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/15"</span>) <span id="L10773" class="LineNr">10773 </span> <span class="subxComment"># reclaim arr</span> -<span id="L10774" class="LineNr">10774 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/16"</span>) +<span id="L10774" class="LineNr">10774 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/16"</span>) <span id="L10775" class="LineNr">10775 </span> <span class="subxComment">#</span> -<span id="L10776" class="LineNr">10776 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/17"</span>) -<span id="L10777" class="LineNr">10777 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/18"</span>) +<span id="L10776" class="LineNr">10776 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/17"</span>) +<span id="L10777" class="LineNr">10777 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/18"</span>) <span id="L10778" class="LineNr">10778 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/19"</span>) -<span id="L10779" class="LineNr">10779 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/20"</span>) -<span id="L10780" class="LineNr">10780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/21"</span>) -<span id="L10781" class="LineNr">10781 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-eax/22"</span>) +<span id="L10779" class="LineNr">10779 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/20"</span>) +<span id="L10780" class="LineNr">10780 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/21"</span>) +<span id="L10781" class="LineNr">10781 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L10726'>test-convert-length-of-array-of-user-defined-types-to-eax</a>/22"</span>) <span id="L10782" class="LineNr">10782 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L10783" class="LineNr">10783 </span> 89/<- %esp 5/r32/ebp <span id="L10784" class="LineNr">10784 </span> 5d/pop-to-ebp @@ -9836,42 +9836,42 @@ if ('onhashchange' in window) { <span id="L10804" class="LineNr">10804 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/ecx: int <- length arr\n"</span>) <span id="L10805" class="LineNr">10805 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10806" class="LineNr">10806 </span> <span class="subxComment"># convert</span> -<span id="L10807" class="LineNr">10807 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10807" class="LineNr">10807 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10808" class="LineNr">10808 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10809" class="Folded">10809 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10815" class="LineNr">10815 </span> <span class="subxComment"># check output</span> -<span id="L10816" class="LineNr">10816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/0"</span>) +<span id="L10816" class="LineNr">10816 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/0"</span>) <span id="L10817" class="LineNr">10817 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/1"</span>) -<span id="L10818" class="LineNr">10818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/2"</span>) -<span id="L10819" class="LineNr">10819 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/3"</span>) -<span id="L10820" class="LineNr">10820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/4"</span>) -<span id="L10821" class="LineNr">10821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/5"</span>) +<span id="L10818" class="LineNr">10818 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/2"</span>) +<span id="L10819" class="LineNr">10819 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/3"</span>) +<span id="L10820" class="LineNr">10820 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/4"</span>) +<span id="L10821" class="LineNr">10821 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/5"</span>) <span id="L10822" class="LineNr">10822 </span> <span class="subxComment"># var a</span> -<span id="L10823" class="LineNr">10823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/6"</span>) -<span id="L10824" class="LineNr">10824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/7"</span>) +<span id="L10823" class="LineNr">10823 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/6"</span>) +<span id="L10824" class="LineNr">10824 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/7"</span>) <span id="L10825" class="LineNr">10825 </span> <span class="subxComment"># var x</span> -<span id="L10826" class="LineNr">10826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/8"</span>) +<span id="L10826" class="LineNr">10826 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/8"</span>) <span id="L10827" class="LineNr">10827 </span> <span class="subxComment"># length instruction</span> -<span id="L10828" class="LineNr">10828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/9"</span>) -<span id="L10829" class="LineNr">10829 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/10"</span>) -<span id="L10830" class="LineNr">10830 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/11"</span>) -<span id="L10831" class="LineNr">10831 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/12"</span>) -<span id="L10832" class="LineNr">10832 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/13"</span>) -<span id="L10833" class="LineNr">10833 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/14"</span>) -<span id="L10834" class="LineNr">10834 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ecx 0/r32/eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/15"</span>) -<span id="L10835" class="LineNr">10835 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/16"</span>) -<span id="L10836" class="LineNr">10836 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/17"</span>) +<span id="L10828" class="LineNr">10828 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/9"</span>) +<span id="L10829" class="LineNr">10829 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/10"</span>) +<span id="L10830" class="LineNr">10830 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/11"</span>) +<span id="L10831" class="LineNr">10831 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/12"</span>) +<span id="L10832" class="LineNr">10832 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/13"</span>) +<span id="L10833" class="LineNr">10833 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/14"</span>) +<span id="L10834" class="LineNr">10834 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ecx 0/r32/eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/15"</span>) +<span id="L10835" class="LineNr">10835 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/16"</span>) +<span id="L10836" class="LineNr">10836 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/17"</span>) <span id="L10837" class="LineNr">10837 </span> <span class="subxComment"># reclaim x</span> -<span id="L10838" class="LineNr">10838 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/18"</span>) +<span id="L10838" class="LineNr">10838 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/18"</span>) <span id="L10839" class="LineNr">10839 </span> <span class="subxComment"># reclaim a</span> -<span id="L10840" class="LineNr">10840 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/19"</span>) +<span id="L10840" class="LineNr">10840 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/19"</span>) <span id="L10841" class="LineNr">10841 </span> <span class="subxComment">#</span> -<span id="L10842" class="LineNr">10842 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/20"</span>) -<span id="L10843" class="LineNr">10843 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/21"</span>) +<span id="L10842" class="LineNr">10842 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/20"</span>) +<span id="L10843" class="LineNr">10843 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/21"</span>) <span id="L10844" class="LineNr">10844 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/22"</span>) -<span id="L10845" class="LineNr">10845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/23"</span>) -<span id="L10846" class="LineNr">10846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/24"</span>) -<span id="L10847" class="LineNr">10847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-ecx/25"</span>) +<span id="L10845" class="LineNr">10845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/23"</span>) +<span id="L10846" class="LineNr">10846 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/24"</span>) +<span id="L10847" class="LineNr">10847 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L10787'>test-convert-length-of-array-of-user-defined-types-to-ecx</a>/25"</span>) <span id="L10848" class="LineNr">10848 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L10849" class="LineNr">10849 </span> 89/<- %esp 5/r32/ebp <span id="L10850" class="LineNr">10850 </span> 5d/pop-to-ebp @@ -9897,42 +9897,42 @@ if ('onhashchange' in window) { <span id="L10870" class="LineNr">10870 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/edx: int <- length arr\n"</span>) <span id="L10871" class="LineNr">10871 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10872" class="LineNr">10872 </span> <span class="subxComment"># convert</span> -<span id="L10873" class="LineNr">10873 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10873" class="LineNr">10873 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10874" class="LineNr">10874 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10875" class="Folded">10875 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10881" class="LineNr">10881 </span> <span class="subxComment"># check output</span> -<span id="L10882" class="LineNr">10882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/0"</span>) +<span id="L10882" class="LineNr">10882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/0"</span>) <span id="L10883" class="LineNr">10883 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/1"</span>) -<span id="L10884" class="LineNr">10884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/2"</span>) -<span id="L10885" class="LineNr">10885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/3"</span>) -<span id="L10886" class="LineNr">10886 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/4"</span>) -<span id="L10887" class="LineNr">10887 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/5"</span>) +<span id="L10884" class="LineNr">10884 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/2"</span>) +<span id="L10885" class="LineNr">10885 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/3"</span>) +<span id="L10886" class="LineNr">10886 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/4"</span>) +<span id="L10887" class="LineNr">10887 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/5"</span>) <span id="L10888" class="LineNr">10888 </span> <span class="subxComment"># var a</span> -<span id="L10889" class="LineNr">10889 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/6"</span>) -<span id="L10890" class="LineNr">10890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/7"</span>) +<span id="L10889" class="LineNr">10889 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/6"</span>) +<span id="L10890" class="LineNr">10890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/7"</span>) <span id="L10891" class="LineNr">10891 </span> <span class="subxComment"># var x</span> -<span id="L10892" class="LineNr">10892 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/8"</span>) +<span id="L10892" class="LineNr">10892 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/8"</span>) <span id="L10893" class="LineNr">10893 </span> <span class="subxComment"># length instruction</span> -<span id="L10894" class="LineNr">10894 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/9"</span>) -<span id="L10895" class="LineNr">10895 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/10"</span>) -<span id="L10896" class="LineNr">10896 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/11"</span>) -<span id="L10897" class="LineNr">10897 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/12"</span>) -<span id="L10898" class="LineNr">10898 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/13"</span>) -<span id="L10899" class="LineNr">10899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/14"</span>) -<span id="L10900" class="LineNr">10900 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %edx 0/r32/eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/15"</span>) -<span id="L10901" class="LineNr">10901 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/16"</span>) -<span id="L10902" class="LineNr">10902 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/17"</span>) +<span id="L10894" class="LineNr">10894 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/9"</span>) +<span id="L10895" class="LineNr">10895 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/10"</span>) +<span id="L10896" class="LineNr">10896 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/11"</span>) +<span id="L10897" class="LineNr">10897 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/12"</span>) +<span id="L10898" class="LineNr">10898 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/13"</span>) +<span id="L10899" class="LineNr">10899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/14"</span>) +<span id="L10900" class="LineNr">10900 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %edx 0/r32/eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/15"</span>) +<span id="L10901" class="LineNr">10901 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/16"</span>) +<span id="L10902" class="LineNr">10902 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/17"</span>) <span id="L10903" class="LineNr">10903 </span> <span class="subxComment"># reclaim x</span> -<span id="L10904" class="LineNr">10904 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/18"</span>) +<span id="L10904" class="LineNr">10904 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/18"</span>) <span id="L10905" class="LineNr">10905 </span> <span class="subxComment"># reclaim a</span> -<span id="L10906" class="LineNr">10906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/19"</span>) +<span id="L10906" class="LineNr">10906 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/19"</span>) <span id="L10907" class="LineNr">10907 </span> <span class="subxComment">#</span> -<span id="L10908" class="LineNr">10908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/20"</span>) -<span id="L10909" class="LineNr">10909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/21"</span>) +<span id="L10908" class="LineNr">10908 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/20"</span>) +<span id="L10909" class="LineNr">10909 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/21"</span>) <span id="L10910" class="LineNr">10910 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/22"</span>) -<span id="L10911" class="LineNr">10911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/23"</span>) -<span id="L10912" class="LineNr">10912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/24"</span>) -<span id="L10913" class="LineNr">10913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types-to-edx/25"</span>) +<span id="L10911" class="LineNr">10911 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/23"</span>) +<span id="L10912" class="LineNr">10912 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/24"</span>) +<span id="L10913" class="LineNr">10913 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L10853'>test-convert-length-of-array-of-user-defined-types-to-edx</a>/25"</span>) <span id="L10914" class="LineNr">10914 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L10915" class="LineNr">10915 </span> 89/<- %esp 5/r32/ebp <span id="L10916" class="LineNr">10916 </span> 5d/pop-to-ebp @@ -9958,38 +9958,38 @@ if ('onhashchange' in window) { <span id="L10936" class="LineNr">10936 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/ebx: int <- length arr\n"</span>) <span id="L10937" class="LineNr">10937 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L10938" class="LineNr">10938 </span> <span class="subxComment"># convert</span> -<span id="L10939" class="LineNr">10939 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L10939" class="LineNr">10939 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L10940" class="LineNr">10940 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L10941" class="Folded">10941 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L10947" class="LineNr">10947 </span> <span class="subxComment"># check output</span> -<span id="L10948" class="LineNr">10948 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/0"</span>) +<span id="L10948" class="LineNr">10948 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/0"</span>) <span id="L10949" class="LineNr">10949 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/1"</span>) -<span id="L10950" class="LineNr">10950 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/2"</span>) -<span id="L10951" class="LineNr">10951 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/3"</span>) -<span id="L10952" class="LineNr">10952 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/4"</span>) -<span id="L10953" class="LineNr">10953 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/5"</span>) -<span id="L10954" class="LineNr">10954 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/6"</span>) -<span id="L10955" class="LineNr">10955 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/7"</span>) -<span id="L10956" class="LineNr">10956 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/8"</span>) -<span id="L10957" class="LineNr">10957 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/9"</span>) -<span id="L10958" class="LineNr">10958 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/10"</span>) -<span id="L10959" class="LineNr">10959 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/11"</span>) -<span id="L10960" class="LineNr">10960 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/12"</span>) -<span id="L10961" class="LineNr">10961 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/13"</span>) -<span id="L10962" class="LineNr">10962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/14"</span>) -<span id="L10963" class="LineNr">10963 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/15"</span>) -<span id="L10964" class="LineNr">10964 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebx 0/r32/eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/16"</span>) -<span id="L10965" class="LineNr">10965 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/17"</span>) -<span id="L10966" class="LineNr">10966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/18"</span>) -<span id="L10967" class="LineNr">10967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/19"</span>) -<span id="L10968" class="LineNr">10968 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ebx"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/20"</span>) -<span id="L10969" class="LineNr">10969 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/21"</span>) -<span id="L10970" class="LineNr">10970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/22"</span>) -<span id="L10971" class="LineNr">10971 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/23"</span>) +<span id="L10950" class="LineNr">10950 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/2"</span>) +<span id="L10951" class="LineNr">10951 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/3"</span>) +<span id="L10952" class="LineNr">10952 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/4"</span>) +<span id="L10953" class="LineNr">10953 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/5"</span>) +<span id="L10954" class="LineNr">10954 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/6"</span>) +<span id="L10955" class="LineNr">10955 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/7"</span>) +<span id="L10956" class="LineNr">10956 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ebx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/8"</span>) +<span id="L10957" class="LineNr">10957 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 50/push-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/9"</span>) +<span id="L10958" class="LineNr">10958 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 51/push-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/10"</span>) +<span id="L10959" class="LineNr">10959 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 52/push-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/11"</span>) +<span id="L10960" class="LineNr">10960 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/12"</span>) +<span id="L10961" class="LineNr">10961 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 31/xor %edx 2/r32/edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/13"</span>) +<span id="L10962" class="LineNr">10962 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0x0000000c/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/14"</span>) +<span id="L10963" class="LineNr">10963 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f7 7/subop/idiv-eax-edx-by %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/15"</span>) +<span id="L10964" class="LineNr">10964 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebx 0/r32/eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/16"</span>) +<span id="L10965" class="LineNr">10965 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5a/pop-to-edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/17"</span>) +<span id="L10966" class="LineNr">10966 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 59/pop-to-ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/18"</span>) +<span id="L10967" class="LineNr">10967 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 58/pop-to-eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/19"</span>) +<span id="L10968" class="LineNr">10968 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ebx"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/20"</span>) +<span id="L10969" class="LineNr">10969 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/21"</span>) +<span id="L10970" class="LineNr">10970 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/22"</span>) +<span id="L10971" class="LineNr">10971 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/23"</span>) <span id="L10972" class="LineNr">10972 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/24"</span>) -<span id="L10973" class="LineNr">10973 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/25"</span>) -<span id="L10974" class="LineNr">10974 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/26"</span>) -<span id="L10975" class="LineNr">10975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-length-of-array-of-user-defined-types/27"</span>) +<span id="L10973" class="LineNr">10973 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/25"</span>) +<span id="L10974" class="LineNr">10974 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/26"</span>) +<span id="L10975" class="LineNr">10975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L10919'>test-convert-length-of-array-of-user-defined-types</a>/27"</span>) <span id="L10976" class="LineNr">10976 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L10977" class="LineNr">10977 </span> 89/<- %esp 5/r32/ebp <span id="L10978" class="LineNr">10978 </span> 5d/pop-to-ebp @@ -10017,7 +10017,7 @@ if ('onhashchange' in window) { <span id="L11000" class="LineNr">11000 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0\n"</span>) <span id="L11001" class="LineNr">11001 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11002" class="LineNr">11002 </span> <span class="subxComment"># convert</span> -<span id="L11003" class="LineNr">11003 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11003" class="LineNr">11003 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11004" class="LineNr">11004 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11005" class="LineNr">11005 </span> <span class="subxComment"># restore ed</span> <span id="L11006" class="LineNr">11006 </span> 89/<- %edx 4/r32/esp @@ -10025,10 +10025,10 @@ if ('onhashchange' in window) { <span id="L11008" class="LineNr">11008 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11009" class="Folded">11009 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11015" class="LineNr">11015 </span> <span class="subxComment"># check output</span> -<span id="L11016" class="LineNr">11016 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-non-array-atom-base-type: output should be empty"</span>) -<span id="L11017" class="LineNr">11017 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - test-index-with-non-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11016" class="LineNr">11016 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L10981'>test-index-with-non-array-atom-base-type</a>: output should be empty"</span>) +<span id="L11017" class="LineNr">11017 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L10981'>test-index-with-non-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11018" class="LineNr">11018 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11019" class="LineNr">11019 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-non-array-atom-base-type: exit status"</span>) +<span id="L11019" class="LineNr">11019 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L10981'>test-index-with-non-array-atom-base-type</a>: exit status"</span>) <span id="L11020" class="LineNr">11020 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11021" class="LineNr">11021 </span> 81 0/subop/add %esp 8/imm32 <span id="L11022" class="LineNr">11022 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10057,7 +10057,7 @@ if ('onhashchange' in window) { <span id="L11045" class="LineNr">11045 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0\n"</span>) <span id="L11046" class="LineNr">11046 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11047" class="LineNr">11047 </span> <span class="subxComment"># convert</span> -<span id="L11048" class="LineNr">11048 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11048" class="LineNr">11048 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11049" class="LineNr">11049 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11050" class="LineNr">11050 </span> <span class="subxComment"># restore ed</span> <span id="L11051" class="LineNr">11051 </span> 89/<- %edx 4/r32/esp @@ -10065,10 +10065,10 @@ if ('onhashchange' in window) { <span id="L11053" class="LineNr">11053 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11054" class="Folded">11054 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11060" class="LineNr">11060 </span> <span class="subxComment"># check output</span> -<span id="L11061" class="LineNr">11061 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-non-array-compound-base-type: output should be empty"</span>) -<span id="L11062" class="LineNr">11062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - test-index-with-non-array-compound-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11061" class="LineNr">11061 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11026'>test-index-with-non-array-compound-base-type</a>: output should be empty"</span>) +<span id="L11062" class="LineNr">11062 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L11026'>test-index-with-non-array-compound-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11063" class="LineNr">11063 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11064" class="LineNr">11064 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-non-array-compound-base-type: exit status"</span>) +<span id="L11064" class="LineNr">11064 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11026'>test-index-with-non-array-compound-base-type</a>: exit status"</span>) <span id="L11065" class="LineNr">11065 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11066" class="LineNr">11066 </span> 81 0/subop/add %esp 8/imm32 <span id="L11067" class="LineNr">11067 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10097,7 +10097,7 @@ if ('onhashchange' in window) { <span id="L11090" class="LineNr">11090 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0\n"</span>) <span id="L11091" class="LineNr">11091 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11092" class="LineNr">11092 </span> <span class="subxComment"># convert</span> -<span id="L11093" class="LineNr">11093 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11093" class="LineNr">11093 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11094" class="LineNr">11094 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11095" class="LineNr">11095 </span> <span class="subxComment"># restore ed</span> <span id="L11096" class="LineNr">11096 </span> 89/<- %edx 4/r32/esp @@ -10105,10 +10105,10 @@ if ('onhashchange' in window) { <span id="L11098" class="LineNr">11098 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11099" class="Folded">11099 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11105" class="LineNr">11105 </span> <span class="subxComment"># check output</span> -<span id="L11106" class="LineNr">11106 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-non-array-compound-base-type-2: output should be empty"</span>) -<span id="L11107" class="LineNr">11107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - test-index-with-non-array-compound-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11106" class="LineNr">11106 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11071'>test-index-with-non-array-compound-base-type-2</a>: output should be empty"</span>) +<span id="L11107" class="LineNr">11107 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L11071'>test-index-with-non-array-compound-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11108" class="LineNr">11108 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11109" class="LineNr">11109 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-non-array-compound-base-type-2: exit status"</span>) +<span id="L11109" class="LineNr">11109 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11071'>test-index-with-non-array-compound-base-type-2</a>: exit status"</span>) <span id="L11110" class="LineNr">11110 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11111" class="LineNr">11111 </span> 81 0/subop/add %esp 8/imm32 <span id="L11112" class="LineNr">11112 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10137,7 +10137,7 @@ if ('onhashchange' in window) { <span id="L11135" class="LineNr">11135 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0\n"</span>) <span id="L11136" class="LineNr">11136 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11137" class="LineNr">11137 </span> <span class="subxComment"># convert</span> -<span id="L11138" class="LineNr">11138 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11138" class="LineNr">11138 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11139" class="LineNr">11139 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11140" class="LineNr">11140 </span> <span class="subxComment"># restore ed</span> <span id="L11141" class="LineNr">11141 </span> 89/<- %edx 4/r32/esp @@ -10145,10 +10145,10 @@ if ('onhashchange' in window) { <span id="L11143" class="LineNr">11143 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11144" class="Folded">11144 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11150" class="LineNr">11150 </span> <span class="subxComment"># check output</span> -<span id="L11151" class="LineNr">11151 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-array-atom-base-type: output should be empty"</span>) -<span id="L11152" class="LineNr">11152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - test-index-with-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11151" class="LineNr">11151 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11116'>test-index-with-array-atom-base-type</a>: output should be empty"</span>) +<span id="L11152" class="LineNr">11152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - <a href='mu.subx.html#L11116'>test-index-with-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11153" class="LineNr">11153 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11154" class="LineNr">11154 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-array-atom-base-type: exit status"</span>) +<span id="L11154" class="LineNr">11154 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11116'>test-index-with-array-atom-base-type</a>: exit status"</span>) <span id="L11155" class="LineNr">11155 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11156" class="LineNr">11156 </span> 81 0/subop/add %esp 8/imm32 <span id="L11157" class="LineNr">11157 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10177,7 +10177,7 @@ if ('onhashchange' in window) { <span id="L11180" class="LineNr">11180 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0\n"</span>) <span id="L11181" class="LineNr">11181 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11182" class="LineNr">11182 </span> <span class="subxComment"># convert</span> -<span id="L11183" class="LineNr">11183 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11183" class="LineNr">11183 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11184" class="LineNr">11184 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11185" class="LineNr">11185 </span> <span class="subxComment"># restore ed</span> <span id="L11186" class="LineNr">11186 </span> 89/<- %edx 4/r32/esp @@ -10185,10 +10185,10 @@ if ('onhashchange' in window) { <span id="L11188" class="LineNr">11188 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11189" class="Folded">11189 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11195" class="LineNr">11195 </span> <span class="subxComment"># check output</span> -<span id="L11196" class="LineNr">11196 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-addr-base-on-stack: output should be empty"</span>) -<span id="L11197" class="LineNr">11197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is an addr to an array, and so must live in a register"</span> <span class="Constant">"F - test-index-with-addr-base-on-stack: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11196" class="LineNr">11196 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11161'>test-index-with-addr-base-on-stack</a>: output should be empty"</span>) +<span id="L11197" class="LineNr">11197 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: var 'a' is an addr to an array, and so must live in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L11161'>test-index-with-addr-base-on-stack</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11198" class="LineNr">11198 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11199" class="LineNr">11199 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-addr-base-on-stack: exit status"</span>) +<span id="L11199" class="LineNr">11199 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11161'>test-index-with-addr-base-on-stack</a>: exit status"</span>) <span id="L11200" class="LineNr">11200 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11201" class="LineNr">11201 </span> 81 0/subop/add %esp 8/imm32 <span id="L11202" class="LineNr">11202 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10218,7 +10218,7 @@ if ('onhashchange' in window) { <span id="L11226" class="LineNr">11226 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, b\n"</span>) <span id="L11227" class="LineNr">11227 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11228" class="LineNr">11228 </span> <span class="subxComment"># convert</span> -<span id="L11229" class="LineNr">11229 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11229" class="LineNr">11229 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11230" class="LineNr">11230 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11231" class="LineNr">11231 </span> <span class="subxComment"># restore ed</span> <span id="L11232" class="LineNr">11232 </span> 89/<- %edx 4/r32/esp @@ -10226,10 +10226,10 @@ if ('onhashchange' in window) { <span id="L11234" class="LineNr">11234 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11235" class="Folded">11235 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11241" class="LineNr">11241 </span> <span class="subxComment"># check output</span> -<span id="L11242" class="LineNr">11242 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-wrong-index-type: output should be empty"</span>) -<span id="L11243" class="LineNr">11243 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: second argument 'b' must be an int or offset"</span> <span class="Constant">"F - test-index-with-wrong-index-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11242" class="LineNr">11242 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11206'>test-index-with-wrong-index-type</a>: output should be empty"</span>) +<span id="L11243" class="LineNr">11243 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: second argument 'b' must be an int or offset"</span> <span class="Constant">"F - <a href='mu.subx.html#L11206'>test-index-with-wrong-index-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11244" class="LineNr">11244 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11245" class="LineNr">11245 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-wrong-index-type: exit status"</span>) +<span id="L11245" class="LineNr">11245 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11206'>test-index-with-wrong-index-type</a>: exit status"</span>) <span id="L11246" class="LineNr">11246 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11247" class="LineNr">11247 </span> 81 0/subop/add %esp 8/imm32 <span id="L11248" class="LineNr">11248 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10259,7 +10259,7 @@ if ('onhashchange' in window) { <span id="L11272" class="LineNr">11272 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, b\n"</span>) <span id="L11273" class="LineNr">11273 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11274" class="LineNr">11274 </span> <span class="subxComment"># convert</span> -<span id="L11275" class="LineNr">11275 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11275" class="LineNr">11275 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11276" class="LineNr">11276 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11277" class="LineNr">11277 </span> <span class="subxComment"># restore ed</span> <span id="L11278" class="LineNr">11278 </span> 89/<- %edx 4/r32/esp @@ -10267,10 +10267,10 @@ if ('onhashchange' in window) { <span id="L11280" class="LineNr">11280 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11281" class="Folded">11281 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11287" class="LineNr">11287 </span> <span class="subxComment"># check output</span> -<span id="L11288" class="LineNr">11288 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-offset-atom-index-type: output should be empty"</span>) -<span id="L11289" class="LineNr">11289 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: offset 'b' must specify the type of array elements"</span> <span class="Constant">"F - test-index-with-offset-atom-index-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11288" class="LineNr">11288 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11252'>test-index-with-offset-atom-index-type</a>: output should be empty"</span>) +<span id="L11289" class="LineNr">11289 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: offset 'b' must specify the type of array elements"</span> <span class="Constant">"F - <a href='mu.subx.html#L11252'>test-index-with-offset-atom-index-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11290" class="LineNr">11290 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11291" class="LineNr">11291 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-offset-atom-index-type: exit status"</span>) +<span id="L11291" class="LineNr">11291 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11252'>test-index-with-offset-atom-index-type</a>: exit status"</span>) <span id="L11292" class="LineNr">11292 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11293" class="LineNr">11293 </span> 81 0/subop/add %esp 8/imm32 <span id="L11294" class="LineNr">11294 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10300,7 +10300,7 @@ if ('onhashchange' in window) { <span id="L11318" class="LineNr">11318 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, b\n"</span>) <span id="L11319" class="LineNr">11319 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11320" class="LineNr">11320 </span> <span class="subxComment"># convert</span> -<span id="L11321" class="LineNr">11321 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11321" class="LineNr">11321 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11322" class="LineNr">11322 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11323" class="LineNr">11323 </span> <span class="subxComment"># restore ed</span> <span id="L11324" class="LineNr">11324 </span> 89/<- %edx 4/r32/esp @@ -10308,10 +10308,10 @@ if ('onhashchange' in window) { <span id="L11326" class="LineNr">11326 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11327" class="Folded">11327 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11333" class="LineNr">11333 </span> <span class="subxComment"># check output</span> -<span id="L11334" class="LineNr">11334 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-offset-on-stack: output should be empty"</span>) -<span id="L11335" class="LineNr">11335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: second argument 'b' must be in a register"</span> <span class="Constant">"F - test-index-with-offset-on-stack: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11334" class="LineNr">11334 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11298'>test-index-with-offset-on-stack</a>: output should be empty"</span>) +<span id="L11335" class="LineNr">11335 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: second argument 'b' must be in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L11298'>test-index-with-offset-on-stack</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11336" class="LineNr">11336 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11337" class="LineNr">11337 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-offset-on-stack: exit status"</span>) +<span id="L11337" class="LineNr">11337 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11298'>test-index-with-offset-on-stack</a>: exit status"</span>) <span id="L11338" class="LineNr">11338 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11339" class="LineNr">11339 </span> 81 0/subop/add %esp 8/imm32 <span id="L11340" class="LineNr">11340 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10346,7 +10346,7 @@ if ('onhashchange' in window) { <span id="L11369" class="LineNr">11369 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" z: int\n"</span>) <span id="L11370" class="LineNr">11370 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11371" class="LineNr">11371 </span> <span class="subxComment"># convert</span> -<span id="L11372" class="LineNr">11372 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11372" class="LineNr">11372 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11373" class="LineNr">11373 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11374" class="LineNr">11374 </span> <span class="subxComment"># restore ed</span> <span id="L11375" class="LineNr">11375 </span> 89/<- %edx 4/r32/esp @@ -10354,10 +10354,10 @@ if ('onhashchange' in window) { <span id="L11377" class="LineNr">11377 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11378" class="Folded">11378 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11384" class="LineNr">11384 </span> <span class="subxComment"># check output</span> -<span id="L11385" class="LineNr">11385 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-needs-offset-type: output should be empty"</span>) -<span id="L11386" class="LineNr">11386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: cannot take an int for array 'a'; create an offset instead. See mu.md for details."</span> <span class="Constant">"F - test-index-needs-offset-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11385" class="LineNr">11385 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11344'>test-index-needs-offset-type</a>: output should be empty"</span>) +<span id="L11386" class="LineNr">11386 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: cannot take an int for array 'a'; create an offset instead. See mu.md for details."</span> <span class="Constant">"F - <a href='mu.subx.html#L11344'>test-index-needs-offset-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11387" class="LineNr">11387 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11388" class="LineNr">11388 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-needs-offset-type: exit status"</span>) +<span id="L11388" class="LineNr">11388 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11344'>test-index-needs-offset-type</a>: exit status"</span>) <span id="L11389" class="LineNr">11389 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11390" class="LineNr">11390 </span> 81 0/subop/add %esp 8/imm32 <span id="L11391" class="LineNr">11391 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10386,7 +10386,7 @@ if ('onhashchange' in window) { <span id="L11414" class="LineNr">11414 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: int <- index a, 0\n"</span>) <span id="L11415" class="LineNr">11415 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11416" class="LineNr">11416 </span> <span class="subxComment"># convert</span> -<span id="L11417" class="LineNr">11417 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11417" class="LineNr">11417 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11418" class="LineNr">11418 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11419" class="LineNr">11419 </span> <span class="subxComment"># restore ed</span> <span id="L11420" class="LineNr">11420 </span> 89/<- %edx 4/r32/esp @@ -10394,10 +10394,10 @@ if ('onhashchange' in window) { <span id="L11422" class="LineNr">11422 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11423" class="Folded">11423 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11429" class="LineNr">11429 </span> <span class="subxComment"># check output</span> -<span id="L11430" class="LineNr">11430 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-output-not-address: output should be empty"</span>) -<span id="L11431" class="LineNr">11431 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' must be an addr"</span> <span class="Constant">"F - test-index-with-output-not-address: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11430" class="LineNr">11430 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11395'>test-index-with-output-not-address</a>: output should be empty"</span>) +<span id="L11431" class="LineNr">11431 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L11395'>test-index-with-output-not-address</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11432" class="LineNr">11432 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11433" class="LineNr">11433 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-output-not-address: exit status"</span>) +<span id="L11433" class="LineNr">11433 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11395'>test-index-with-output-not-address</a>: exit status"</span>) <span id="L11434" class="LineNr">11434 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11435" class="LineNr">11435 </span> 81 0/subop/add %esp 8/imm32 <span id="L11436" class="LineNr">11436 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10426,7 +10426,7 @@ if ('onhashchange' in window) { <span id="L11459" class="LineNr">11459 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (int) <- index a, 0\n"</span>) <span id="L11460" class="LineNr">11460 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11461" class="LineNr">11461 </span> <span class="subxComment"># convert</span> -<span id="L11462" class="LineNr">11462 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11462" class="LineNr">11462 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11463" class="LineNr">11463 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11464" class="LineNr">11464 </span> <span class="subxComment"># restore ed</span> <span id="L11465" class="LineNr">11465 </span> 89/<- %edx 4/r32/esp @@ -10434,10 +10434,10 @@ if ('onhashchange' in window) { <span id="L11467" class="LineNr">11467 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11468" class="Folded">11468 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11474" class="LineNr">11474 </span> <span class="subxComment"># check output</span> -<span id="L11475" class="LineNr">11475 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-output-not-address-2: output should be empty"</span>) -<span id="L11476" class="LineNr">11476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' must be an addr"</span> <span class="Constant">"F - test-index-with-output-not-address-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11475" class="LineNr">11475 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11440'>test-index-with-output-not-address-2</a>: output should be empty"</span>) +<span id="L11476" class="LineNr">11476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L11440'>test-index-with-output-not-address-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11477" class="LineNr">11477 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11478" class="LineNr">11478 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-output-not-address-2: exit status"</span>) +<span id="L11478" class="LineNr">11478 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11440'>test-index-with-output-not-address-2</a>: exit status"</span>) <span id="L11479" class="LineNr">11479 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11480" class="LineNr">11480 </span> 81 0/subop/add %esp 8/imm32 <span id="L11481" class="LineNr">11481 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10466,7 +10466,7 @@ if ('onhashchange' in window) { <span id="L11504" class="LineNr">11504 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (addr int) <- index a, 0\n"</span>) <span id="L11505" class="LineNr">11505 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11506" class="LineNr">11506 </span> <span class="subxComment"># convert</span> -<span id="L11507" class="LineNr">11507 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11507" class="LineNr">11507 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11508" class="LineNr">11508 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11509" class="LineNr">11509 </span> <span class="subxComment"># restore ed</span> <span id="L11510" class="LineNr">11510 </span> 89/<- %edx 4/r32/esp @@ -10474,10 +10474,10 @@ if ('onhashchange' in window) { <span id="L11512" class="LineNr">11512 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11513" class="Folded">11513 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11519" class="LineNr">11519 </span> <span class="subxComment"># check output</span> -<span id="L11520" class="LineNr">11520 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-wrong-output-type: output should be empty"</span>) -<span id="L11521" class="LineNr">11521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' does not have the right type"</span> <span class="Constant">"F - test-index-with-wrong-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11520" class="LineNr">11520 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11485'>test-index-with-wrong-output-type</a>: output should be empty"</span>) +<span id="L11521" class="LineNr">11521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L11485'>test-index-with-wrong-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11522" class="LineNr">11522 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11523" class="LineNr">11523 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-wrong-output-type: exit status"</span>) +<span id="L11523" class="LineNr">11523 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11485'>test-index-with-wrong-output-type</a>: exit status"</span>) <span id="L11524" class="LineNr">11524 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11525" class="LineNr">11525 </span> 81 0/subop/add %esp 8/imm32 <span id="L11526" class="LineNr">11526 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10506,7 +10506,7 @@ if ('onhashchange' in window) { <span id="L11549" class="LineNr">11549 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (addr handle int) <- index a, 0\n"</span>) <span id="L11550" class="LineNr">11550 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11551" class="LineNr">11551 </span> <span class="subxComment"># convert</span> -<span id="L11552" class="LineNr">11552 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11552" class="LineNr">11552 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11553" class="LineNr">11553 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11554" class="LineNr">11554 </span> <span class="subxComment"># restore ed</span> <span id="L11555" class="LineNr">11555 </span> 89/<- %edx 4/r32/esp @@ -10514,10 +10514,10 @@ if ('onhashchange' in window) { <span id="L11557" class="LineNr">11557 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11558" class="Folded">11558 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11564" class="LineNr">11564 </span> <span class="subxComment"># check output</span> -<span id="L11565" class="LineNr">11565 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-wrong-output-compound-type: output should be empty"</span>) -<span id="L11566" class="LineNr">11566 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' does not have the right type"</span> <span class="Constant">"F - test-index-with-wrong-output-compound-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11565" class="LineNr">11565 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11530'>test-index-with-wrong-output-compound-type</a>: output should be empty"</span>) +<span id="L11566" class="LineNr">11566 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L11530'>test-index-with-wrong-output-compound-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11567" class="LineNr">11567 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11568" class="LineNr">11568 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-wrong-output-compound-type: exit status"</span>) +<span id="L11568" class="LineNr">11568 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11530'>test-index-with-wrong-output-compound-type</a>: exit status"</span>) <span id="L11569" class="LineNr">11569 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11570" class="LineNr">11570 </span> 81 0/subop/add %esp 8/imm32 <span id="L11571" class="LineNr">11571 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10545,7 +10545,7 @@ if ('onhashchange' in window) { <span id="L11593" class="LineNr">11593 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index\n"</span>) <span id="L11594" class="LineNr">11594 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11595" class="LineNr">11595 </span> <span class="subxComment"># convert</span> -<span id="L11596" class="LineNr">11596 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11596" class="LineNr">11596 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11597" class="LineNr">11597 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11598" class="LineNr">11598 </span> <span class="subxComment"># restore ed</span> <span id="L11599" class="LineNr">11599 </span> 89/<- %edx 4/r32/esp @@ -10553,10 +10553,10 @@ if ('onhashchange' in window) { <span id="L11601" class="LineNr">11601 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11602" class="Folded">11602 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11608" class="LineNr">11608 </span> <span class="subxComment"># check output</span> -<span id="L11609" class="LineNr">11609 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-no-inouts: output should be empty"</span>) -<span id="L11610" class="LineNr">11610 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too few inouts (2 required)"</span> <span class="Constant">"F - test-index-with-no-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11609" class="LineNr">11609 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11575'>test-index-with-no-inouts</a>: output should be empty"</span>) +<span id="L11610" class="LineNr">11610 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L11575'>test-index-with-no-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11611" class="LineNr">11611 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11612" class="LineNr">11612 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-no-inouts: exit status"</span>) +<span id="L11612" class="LineNr">11612 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11575'>test-index-with-no-inouts</a>: exit status"</span>) <span id="L11613" class="LineNr">11613 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11614" class="LineNr">11614 </span> 81 0/subop/add %esp 8/imm32 <span id="L11615" class="LineNr">11615 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10585,7 +10585,7 @@ if ('onhashchange' in window) { <span id="L11638" class="LineNr">11638 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a\n"</span>) <span id="L11639" class="LineNr">11639 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11640" class="LineNr">11640 </span> <span class="subxComment"># convert</span> -<span id="L11641" class="LineNr">11641 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11641" class="LineNr">11641 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11642" class="LineNr">11642 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11643" class="LineNr">11643 </span> <span class="subxComment"># restore ed</span> <span id="L11644" class="LineNr">11644 </span> 89/<- %edx 4/r32/esp @@ -10593,10 +10593,10 @@ if ('onhashchange' in window) { <span id="L11646" class="LineNr">11646 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11647" class="Folded">11647 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11653" class="LineNr">11653 </span> <span class="subxComment"># check output</span> -<span id="L11654" class="LineNr">11654 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-too-few-inouts: output should be empty"</span>) -<span id="L11655" class="LineNr">11655 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too few inouts (2 required)"</span> <span class="Constant">"F - test-index-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11654" class="LineNr">11654 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11619'>test-index-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L11655" class="LineNr">11655 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L11619'>test-index-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11656" class="LineNr">11656 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11657" class="LineNr">11657 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-too-few-inouts: exit status"</span>) +<span id="L11657" class="LineNr">11657 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11619'>test-index-with-too-few-inouts</a>: exit status"</span>) <span id="L11658" class="LineNr">11658 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11659" class="LineNr">11659 </span> 81 0/subop/add %esp 8/imm32 <span id="L11660" class="LineNr">11660 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10625,7 +10625,7 @@ if ('onhashchange' in window) { <span id="L11683" class="LineNr">11683 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- index a, 0, 0\n"</span>) <span id="L11684" class="LineNr">11684 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11685" class="LineNr">11685 </span> <span class="subxComment"># convert</span> -<span id="L11686" class="LineNr">11686 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11686" class="LineNr">11686 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11687" class="LineNr">11687 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11688" class="LineNr">11688 </span> <span class="subxComment"># restore ed</span> <span id="L11689" class="LineNr">11689 </span> 89/<- %edx 4/r32/esp @@ -10633,10 +10633,10 @@ if ('onhashchange' in window) { <span id="L11691" class="LineNr">11691 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11692" class="Folded">11692 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11698" class="LineNr">11698 </span> <span class="subxComment"># check output</span> -<span id="L11699" class="LineNr">11699 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-too-many-inouts: output should be empty"</span>) -<span id="L11700" class="LineNr">11700 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too many inouts (2 required)"</span> <span class="Constant">"F - test-index-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11699" class="LineNr">11699 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11664'>test-index-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L11700" class="LineNr">11700 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too many inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L11664'>test-index-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11701" class="LineNr">11701 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11702" class="LineNr">11702 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-too-many-inouts: exit status"</span>) +<span id="L11702" class="LineNr">11702 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11664'>test-index-with-too-many-inouts</a>: exit status"</span>) <span id="L11703" class="LineNr">11703 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11704" class="LineNr">11704 </span> 81 0/subop/add %esp 8/imm32 <span id="L11705" class="LineNr">11705 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10665,7 +10665,7 @@ if ('onhashchange' in window) { <span id="L11728" class="LineNr">11728 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" index a, 0\n"</span>) <span id="L11729" class="LineNr">11729 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11730" class="LineNr">11730 </span> <span class="subxComment"># convert</span> -<span id="L11731" class="LineNr">11731 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11731" class="LineNr">11731 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11732" class="LineNr">11732 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11733" class="LineNr">11733 </span> <span class="subxComment"># restore ed</span> <span id="L11734" class="LineNr">11734 </span> 89/<- %edx 4/r32/esp @@ -10673,10 +10673,10 @@ if ('onhashchange' in window) { <span id="L11736" class="LineNr">11736 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11737" class="Folded">11737 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11743" class="LineNr">11743 </span> <span class="subxComment"># check output</span> -<span id="L11744" class="LineNr">11744 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-no-output: output should be empty"</span>) -<span id="L11745" class="LineNr">11745 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: must have an output"</span> <span class="Constant">"F - test-index-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11744" class="LineNr">11744 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11709'>test-index-with-no-output</a>: output should be empty"</span>) +<span id="L11745" class="LineNr">11745 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: must have an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L11709'>test-index-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11746" class="LineNr">11746 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11747" class="LineNr">11747 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-no-output: exit status"</span>) +<span id="L11747" class="LineNr">11747 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11709'>test-index-with-no-output</a>: exit status"</span>) <span id="L11748" class="LineNr">11748 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11749" class="LineNr">11749 </span> 81 0/subop/add %esp 8/imm32 <span id="L11750" class="LineNr">11750 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10707,7 +10707,7 @@ if ('onhashchange' in window) { <span id="L11775" class="LineNr">11775 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" b, c <- index a, 0\n"</span>) <span id="L11776" class="LineNr">11776 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11777" class="LineNr">11777 </span> <span class="subxComment"># convert</span> -<span id="L11778" class="LineNr">11778 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11778" class="LineNr">11778 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11779" class="LineNr">11779 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11780" class="LineNr">11780 </span> <span class="subxComment"># restore ed</span> <span id="L11781" class="LineNr">11781 </span> 89/<- %edx 4/r32/esp @@ -10715,10 +10715,10 @@ if ('onhashchange' in window) { <span id="L11783" class="LineNr">11783 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11784" class="Folded">11784 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11790" class="LineNr">11790 </span> <span class="subxComment"># check output</span> -<span id="L11791" class="LineNr">11791 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-index-with-too-many-outputs: output should be empty"</span>) -<span id="L11792" class="LineNr">11792 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too many outputs (1 required)"</span> <span class="Constant">"F - test-index-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11791" class="LineNr">11791 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11754'>test-index-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L11792" class="LineNr">11792 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt index: too many outputs (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L11754'>test-index-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11793" class="LineNr">11793 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11794" class="LineNr">11794 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-index-with-too-many-outputs: exit status"</span>) +<span id="L11794" class="LineNr">11794 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11754'>test-index-with-too-many-outputs</a>: exit status"</span>) <span id="L11795" class="LineNr">11795 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11796" class="LineNr">11796 </span> 81 0/subop/add %esp 8/imm32 <span id="L11797" class="LineNr">11797 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10747,7 +10747,7 @@ if ('onhashchange' in window) { <span id="L11820" class="LineNr">11820 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, 0\n"</span>) <span id="L11821" class="LineNr">11821 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11822" class="LineNr">11822 </span> <span class="subxComment"># convert</span> -<span id="L11823" class="LineNr">11823 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11823" class="LineNr">11823 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11824" class="LineNr">11824 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11825" class="LineNr">11825 </span> <span class="subxComment"># restore ed</span> <span id="L11826" class="LineNr">11826 </span> 89/<- %edx 4/r32/esp @@ -10755,10 +10755,10 @@ if ('onhashchange' in window) { <span id="L11828" class="LineNr">11828 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11829" class="Folded">11829 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11835" class="LineNr">11835 </span> <span class="subxComment"># check output</span> -<span id="L11836" class="LineNr">11836 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-non-array-atom-base-type: output should be empty"</span>) -<span id="L11837" class="LineNr">11837 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - test-compute-offset-with-non-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11836" class="LineNr">11836 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11801'>test-compute-offset-with-non-array-atom-base-type</a>: output should be empty"</span>) +<span id="L11837" class="LineNr">11837 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L11801'>test-compute-offset-with-non-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11838" class="LineNr">11838 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11839" class="LineNr">11839 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-non-array-atom-base-type: exit status"</span>) +<span id="L11839" class="LineNr">11839 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11801'>test-compute-offset-with-non-array-atom-base-type</a>: exit status"</span>) <span id="L11840" class="LineNr">11840 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11841" class="LineNr">11841 </span> 81 0/subop/add %esp 8/imm32 <span id="L11842" class="LineNr">11842 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10787,7 +10787,7 @@ if ('onhashchange' in window) { <span id="L11865" class="LineNr">11865 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, 0\n"</span>) <span id="L11866" class="LineNr">11866 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11867" class="LineNr">11867 </span> <span class="subxComment"># convert</span> -<span id="L11868" class="LineNr">11868 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11868" class="LineNr">11868 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11869" class="LineNr">11869 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11870" class="LineNr">11870 </span> <span class="subxComment"># restore ed</span> <span id="L11871" class="LineNr">11871 </span> 89/<- %edx 4/r32/esp @@ -10795,10 +10795,10 @@ if ('onhashchange' in window) { <span id="L11873" class="LineNr">11873 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11874" class="Folded">11874 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11880" class="LineNr">11880 </span> <span class="subxComment"># check output</span> -<span id="L11881" class="LineNr">11881 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type: output should be empty"</span>) -<span id="L11882" class="LineNr">11882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11881" class="LineNr">11881 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11846'>test-compute-offset-with-non-array-compound-base-type</a>: output should be empty"</span>) +<span id="L11882" class="LineNr">11882 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L11846'>test-compute-offset-with-non-array-compound-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11883" class="LineNr">11883 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11884" class="LineNr">11884 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type: exit status"</span>) +<span id="L11884" class="LineNr">11884 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11846'>test-compute-offset-with-non-array-compound-base-type</a>: exit status"</span>) <span id="L11885" class="LineNr">11885 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11886" class="LineNr">11886 </span> 81 0/subop/add %esp 8/imm32 <span id="L11887" class="LineNr">11887 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10827,7 +10827,7 @@ if ('onhashchange' in window) { <span id="L11910" class="LineNr">11910 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, 0\n"</span>) <span id="L11911" class="LineNr">11911 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11912" class="LineNr">11912 </span> <span class="subxComment"># convert</span> -<span id="L11913" class="LineNr">11913 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11913" class="LineNr">11913 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11914" class="LineNr">11914 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11915" class="LineNr">11915 </span> <span class="subxComment"># restore ed</span> <span id="L11916" class="LineNr">11916 </span> 89/<- %edx 4/r32/esp @@ -10835,10 +10835,10 @@ if ('onhashchange' in window) { <span id="L11918" class="LineNr">11918 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11919" class="Folded">11919 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11925" class="LineNr">11925 </span> <span class="subxComment"># check output</span> -<span id="L11926" class="LineNr">11926 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type-2: output should be empty"</span>) -<span id="L11927" class="LineNr">11927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11926" class="LineNr">11926 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11891'>test-compute-offset-with-non-array-compound-base-type-2</a>: output should be empty"</span>) +<span id="L11927" class="LineNr">11927 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L11891'>test-compute-offset-with-non-array-compound-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11928" class="LineNr">11928 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11929" class="LineNr">11929 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-non-array-compound-base-type-2: exit status"</span>) +<span id="L11929" class="LineNr">11929 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11891'>test-compute-offset-with-non-array-compound-base-type-2</a>: exit status"</span>) <span id="L11930" class="LineNr">11930 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11931" class="LineNr">11931 </span> 81 0/subop/add %esp 8/imm32 <span id="L11932" class="LineNr">11932 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10867,7 +10867,7 @@ if ('onhashchange' in window) { <span id="L11955" class="LineNr">11955 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, 0\n"</span>) <span id="L11956" class="LineNr">11956 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L11957" class="LineNr">11957 </span> <span class="subxComment"># convert</span> -<span id="L11958" class="LineNr">11958 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L11958" class="LineNr">11958 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L11959" class="LineNr">11959 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L11960" class="LineNr">11960 </span> <span class="subxComment"># restore ed</span> <span id="L11961" class="LineNr">11961 </span> 89/<- %edx 4/r32/esp @@ -10875,10 +10875,10 @@ if ('onhashchange' in window) { <span id="L11963" class="LineNr">11963 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L11964" class="Folded">11964 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L11970" class="LineNr">11970 </span> <span class="subxComment"># check output</span> -<span id="L11971" class="LineNr">11971 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-array-atom-base-type: output should be empty"</span>) -<span id="L11972" class="LineNr">11972 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - test-compute-offset-with-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L11971" class="LineNr">11971 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11936'>test-compute-offset-with-array-atom-base-type</a>: output should be empty"</span>) +<span id="L11972" class="LineNr">11972 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - <a href='mu.subx.html#L11936'>test-compute-offset-with-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L11973" class="LineNr">11973 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L11974" class="LineNr">11974 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-array-atom-base-type: exit status"</span>) +<span id="L11974" class="LineNr">11974 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11936'>test-compute-offset-with-array-atom-base-type</a>: exit status"</span>) <span id="L11975" class="LineNr">11975 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L11976" class="LineNr">11976 </span> 81 0/subop/add %esp 8/imm32 <span id="L11977" class="LineNr">11977 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10908,7 +10908,7 @@ if ('onhashchange' in window) { <span id="L12001" class="LineNr">12001 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, b\n"</span>) <span id="L12002" class="LineNr">12002 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12003" class="LineNr">12003 </span> <span class="subxComment"># convert</span> -<span id="L12004" class="LineNr">12004 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12004" class="LineNr">12004 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12005" class="LineNr">12005 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12006" class="LineNr">12006 </span> <span class="subxComment"># restore ed</span> <span id="L12007" class="LineNr">12007 </span> 89/<- %edx 4/r32/esp @@ -10916,10 +10916,10 @@ if ('onhashchange' in window) { <span id="L12009" class="LineNr">12009 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12010" class="Folded">12010 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12016" class="LineNr">12016 </span> <span class="subxComment"># check output</span> -<span id="L12017" class="LineNr">12017 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-wrong-index-type: output should be empty"</span>) -<span id="L12018" class="LineNr">12018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: second argument 'b' must be an int"</span> <span class="Constant">"F - test-compute-offset-with-wrong-index-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12017" class="LineNr">12017 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L11981'>test-compute-offset-with-wrong-index-type</a>: output should be empty"</span>) +<span id="L12018" class="LineNr">12018 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: second argument 'b' must be an int"</span> <span class="Constant">"F - <a href='mu.subx.html#L11981'>test-compute-offset-with-wrong-index-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12019" class="LineNr">12019 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12020" class="LineNr">12020 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-wrong-index-type: exit status"</span>) +<span id="L12020" class="LineNr">12020 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L11981'>test-compute-offset-with-wrong-index-type</a>: exit status"</span>) <span id="L12021" class="LineNr">12021 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12022" class="LineNr">12022 </span> 81 0/subop/add %esp 8/imm32 <span id="L12023" class="LineNr">12023 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10948,7 +10948,7 @@ if ('onhashchange' in window) { <span id="L12046" class="LineNr">12046 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: int <- compute-offset a, 0\n"</span>) <span id="L12047" class="LineNr">12047 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12048" class="LineNr">12048 </span> <span class="subxComment"># convert</span> -<span id="L12049" class="LineNr">12049 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12049" class="LineNr">12049 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12050" class="LineNr">12050 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12051" class="LineNr">12051 </span> <span class="subxComment"># restore ed</span> <span id="L12052" class="LineNr">12052 </span> 89/<- %edx 4/r32/esp @@ -10956,10 +10956,10 @@ if ('onhashchange' in window) { <span id="L12054" class="LineNr">12054 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12055" class="Folded">12055 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12061" class="LineNr">12061 </span> <span class="subxComment"># check output</span> -<span id="L12062" class="LineNr">12062 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-output-not-offset: output should be empty"</span>) -<span id="L12063" class="LineNr">12063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' must be an offset"</span> <span class="Constant">"F - test-compute-offset-with-output-not-offset: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12062" class="LineNr">12062 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12027'>test-compute-offset-with-output-not-offset</a>: output should be empty"</span>) +<span id="L12063" class="LineNr">12063 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' must be an offset"</span> <span class="Constant">"F - <a href='mu.subx.html#L12027'>test-compute-offset-with-output-not-offset</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12064" class="LineNr">12064 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12065" class="LineNr">12065 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-output-not-offset: exit status"</span>) +<span id="L12065" class="LineNr">12065 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12027'>test-compute-offset-with-output-not-offset</a>: exit status"</span>) <span id="L12066" class="LineNr">12066 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12067" class="LineNr">12067 </span> 81 0/subop/add %esp 8/imm32 <span id="L12068" class="LineNr">12068 </span> <span class="subxS1Comment"># . epilogue</span> @@ -10988,7 +10988,7 @@ if ('onhashchange' in window) { <span id="L12091" class="LineNr">12091 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (int) <- compute-offset a, 0\n"</span>) <span id="L12092" class="LineNr">12092 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12093" class="LineNr">12093 </span> <span class="subxComment"># convert</span> -<span id="L12094" class="LineNr">12094 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12094" class="LineNr">12094 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12095" class="LineNr">12095 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12096" class="LineNr">12096 </span> <span class="subxComment"># restore ed</span> <span id="L12097" class="LineNr">12097 </span> 89/<- %edx 4/r32/esp @@ -10996,10 +10996,10 @@ if ('onhashchange' in window) { <span id="L12099" class="LineNr">12099 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12100" class="Folded">12100 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12106" class="LineNr">12106 </span> <span class="subxComment"># check output</span> -<span id="L12107" class="LineNr">12107 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-output-not-address-2: output should be empty"</span>) -<span id="L12108" class="LineNr">12108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' must be an offset"</span> <span class="Constant">"F - test-compute-offset-with-output-not-address-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12107" class="LineNr">12107 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12072'>test-compute-offset-with-output-not-address-2</a>: output should be empty"</span>) +<span id="L12108" class="LineNr">12108 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' must be an offset"</span> <span class="Constant">"F - <a href='mu.subx.html#L12072'>test-compute-offset-with-output-not-address-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12109" class="LineNr">12109 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12110" class="LineNr">12110 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-output-not-address-2: exit status"</span>) +<span id="L12110" class="LineNr">12110 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12072'>test-compute-offset-with-output-not-address-2</a>: exit status"</span>) <span id="L12111" class="LineNr">12111 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12112" class="LineNr">12112 </span> 81 0/subop/add %esp 8/imm32 <span id="L12113" class="LineNr">12113 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11028,7 +11028,7 @@ if ('onhashchange' in window) { <span id="L12136" class="LineNr">12136 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (offset int) <- compute-offset a, 0\n"</span>) <span id="L12137" class="LineNr">12137 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12138" class="LineNr">12138 </span> <span class="subxComment"># convert</span> -<span id="L12139" class="LineNr">12139 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12139" class="LineNr">12139 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12140" class="LineNr">12140 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12141" class="LineNr">12141 </span> <span class="subxComment"># restore ed</span> <span id="L12142" class="LineNr">12142 </span> 89/<- %edx 4/r32/esp @@ -11036,10 +11036,10 @@ if ('onhashchange' in window) { <span id="L12144" class="LineNr">12144 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12145" class="Folded">12145 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12151" class="LineNr">12151 </span> <span class="subxComment"># check output</span> -<span id="L12152" class="LineNr">12152 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-wrong-output-type: output should be empty"</span>) -<span id="L12153" class="LineNr">12153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' does not have the right type"</span> <span class="Constant">"F - test-compute-offset-with-wrong-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12152" class="LineNr">12152 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12117'>test-compute-offset-with-wrong-output-type</a>: output should be empty"</span>) +<span id="L12153" class="LineNr">12153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L12117'>test-compute-offset-with-wrong-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12154" class="LineNr">12154 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12155" class="LineNr">12155 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-wrong-output-type: exit status"</span>) +<span id="L12155" class="LineNr">12155 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12117'>test-compute-offset-with-wrong-output-type</a>: exit status"</span>) <span id="L12156" class="LineNr">12156 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12157" class="LineNr">12157 </span> 81 0/subop/add %esp 8/imm32 <span id="L12158" class="LineNr">12158 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11068,7 +11068,7 @@ if ('onhashchange' in window) { <span id="L12181" class="LineNr">12181 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (offset handle int) <- compute-offset a, 0\n"</span>) <span id="L12182" class="LineNr">12182 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12183" class="LineNr">12183 </span> <span class="subxComment"># convert</span> -<span id="L12184" class="LineNr">12184 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12184" class="LineNr">12184 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12185" class="LineNr">12185 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12186" class="LineNr">12186 </span> <span class="subxComment"># restore ed</span> <span id="L12187" class="LineNr">12187 </span> 89/<- %edx 4/r32/esp @@ -11076,10 +11076,10 @@ if ('onhashchange' in window) { <span id="L12189" class="LineNr">12189 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12190" class="Folded">12190 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12196" class="LineNr">12196 </span> <span class="subxComment"># check output</span> -<span id="L12197" class="LineNr">12197 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-wrong-output-compound-type: output should be empty"</span>) -<span id="L12198" class="LineNr">12198 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' does not have the right type"</span> <span class="Constant">"F - test-compute-offset-with-wrong-output-compound-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12197" class="LineNr">12197 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12162'>test-compute-offset-with-wrong-output-compound-type</a>: output should be empty"</span>) +<span id="L12198" class="LineNr">12198 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L12162'>test-compute-offset-with-wrong-output-compound-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12199" class="LineNr">12199 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12200" class="LineNr">12200 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-wrong-output-compound-type: exit status"</span>) +<span id="L12200" class="LineNr">12200 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12162'>test-compute-offset-with-wrong-output-compound-type</a>: exit status"</span>) <span id="L12201" class="LineNr">12201 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12202" class="LineNr">12202 </span> 81 0/subop/add %esp 8/imm32 <span id="L12203" class="LineNr">12203 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11107,7 +11107,7 @@ if ('onhashchange' in window) { <span id="L12225" class="LineNr">12225 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset\n"</span>) <span id="L12226" class="LineNr">12226 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12227" class="LineNr">12227 </span> <span class="subxComment"># convert</span> -<span id="L12228" class="LineNr">12228 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12228" class="LineNr">12228 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12229" class="LineNr">12229 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12230" class="LineNr">12230 </span> <span class="subxComment"># restore ed</span> <span id="L12231" class="LineNr">12231 </span> 89/<- %edx 4/r32/esp @@ -11115,10 +11115,10 @@ if ('onhashchange' in window) { <span id="L12233" class="LineNr">12233 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12234" class="Folded">12234 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12240" class="LineNr">12240 </span> <span class="subxComment"># check output</span> -<span id="L12241" class="LineNr">12241 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-no-inouts: output should be empty"</span>) -<span id="L12242" class="LineNr">12242 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too few inouts (2 required)"</span> <span class="Constant">"F - test-compute-offset-with-no-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12241" class="LineNr">12241 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12207'>test-compute-offset-with-no-inouts</a>: output should be empty"</span>) +<span id="L12242" class="LineNr">12242 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12207'>test-compute-offset-with-no-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12243" class="LineNr">12243 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12244" class="LineNr">12244 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-no-inouts: exit status"</span>) +<span id="L12244" class="LineNr">12244 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12207'>test-compute-offset-with-no-inouts</a>: exit status"</span>) <span id="L12245" class="LineNr">12245 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12246" class="LineNr">12246 </span> 81 0/subop/add %esp 8/imm32 <span id="L12247" class="LineNr">12247 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11147,7 +11147,7 @@ if ('onhashchange' in window) { <span id="L12270" class="LineNr">12270 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a\n"</span>) <span id="L12271" class="LineNr">12271 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12272" class="LineNr">12272 </span> <span class="subxComment"># convert</span> -<span id="L12273" class="LineNr">12273 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12273" class="LineNr">12273 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12274" class="LineNr">12274 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12275" class="LineNr">12275 </span> <span class="subxComment"># restore ed</span> <span id="L12276" class="LineNr">12276 </span> 89/<- %edx 4/r32/esp @@ -11155,10 +11155,10 @@ if ('onhashchange' in window) { <span id="L12278" class="LineNr">12278 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12279" class="Folded">12279 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12285" class="LineNr">12285 </span> <span class="subxComment"># check output</span> -<span id="L12286" class="LineNr">12286 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-too-few-inouts: output should be empty"</span>) -<span id="L12287" class="LineNr">12287 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too few inouts (2 required)"</span> <span class="Constant">"F - test-compute-offset-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12286" class="LineNr">12286 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12251'>test-compute-offset-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L12287" class="LineNr">12287 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12251'>test-compute-offset-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12288" class="LineNr">12288 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12289" class="LineNr">12289 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-too-few-inouts: exit status"</span>) +<span id="L12289" class="LineNr">12289 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12251'>test-compute-offset-with-too-few-inouts</a>: exit status"</span>) <span id="L12290" class="LineNr">12290 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12291" class="LineNr">12291 </span> 81 0/subop/add %esp 8/imm32 <span id="L12292" class="LineNr">12292 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11187,7 +11187,7 @@ if ('onhashchange' in window) { <span id="L12315" class="LineNr">12315 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (offset int) <- compute-offset a, 0, 0\n"</span>) <span id="L12316" class="LineNr">12316 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12317" class="LineNr">12317 </span> <span class="subxComment"># convert</span> -<span id="L12318" class="LineNr">12318 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12318" class="LineNr">12318 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12319" class="LineNr">12319 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12320" class="LineNr">12320 </span> <span class="subxComment"># restore ed</span> <span id="L12321" class="LineNr">12321 </span> 89/<- %edx 4/r32/esp @@ -11195,10 +11195,10 @@ if ('onhashchange' in window) { <span id="L12323" class="LineNr">12323 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12324" class="Folded">12324 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12330" class="LineNr">12330 </span> <span class="subxComment"># check output</span> -<span id="L12331" class="LineNr">12331 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-too-many-inouts: output should be empty"</span>) -<span id="L12332" class="LineNr">12332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too many inouts (2 required)"</span> <span class="Constant">"F - test-compute-offset-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12331" class="LineNr">12331 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12296'>test-compute-offset-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L12332" class="LineNr">12332 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too many inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12296'>test-compute-offset-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12333" class="LineNr">12333 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12334" class="LineNr">12334 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-too-many-inouts: exit status"</span>) +<span id="L12334" class="LineNr">12334 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12296'>test-compute-offset-with-too-many-inouts</a>: exit status"</span>) <span id="L12335" class="LineNr">12335 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12336" class="LineNr">12336 </span> 81 0/subop/add %esp 8/imm32 <span id="L12337" class="LineNr">12337 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11227,7 +11227,7 @@ if ('onhashchange' in window) { <span id="L12360" class="LineNr">12360 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" compute-offset a, 0\n"</span>) <span id="L12361" class="LineNr">12361 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12362" class="LineNr">12362 </span> <span class="subxComment"># convert</span> -<span id="L12363" class="LineNr">12363 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12363" class="LineNr">12363 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12364" class="LineNr">12364 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12365" class="LineNr">12365 </span> <span class="subxComment"># restore ed</span> <span id="L12366" class="LineNr">12366 </span> 89/<- %edx 4/r32/esp @@ -11235,10 +11235,10 @@ if ('onhashchange' in window) { <span id="L12368" class="LineNr">12368 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12369" class="Folded">12369 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12375" class="LineNr">12375 </span> <span class="subxComment"># check output</span> -<span id="L12376" class="LineNr">12376 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-no-output: output should be empty"</span>) -<span id="L12377" class="LineNr">12377 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: must have an output"</span> <span class="Constant">"F - test-compute-offset-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12376" class="LineNr">12376 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12341'>test-compute-offset-with-no-output</a>: output should be empty"</span>) +<span id="L12377" class="LineNr">12377 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: must have an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L12341'>test-compute-offset-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12378" class="LineNr">12378 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12379" class="LineNr">12379 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-no-output: exit status"</span>) +<span id="L12379" class="LineNr">12379 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12341'>test-compute-offset-with-no-output</a>: exit status"</span>) <span id="L12380" class="LineNr">12380 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12381" class="LineNr">12381 </span> 81 0/subop/add %esp 8/imm32 <span id="L12382" class="LineNr">12382 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11269,7 +11269,7 @@ if ('onhashchange' in window) { <span id="L12407" class="LineNr">12407 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" b, c <- compute-offset a, 0\n"</span>) <span id="L12408" class="LineNr">12408 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12409" class="LineNr">12409 </span> <span class="subxComment"># convert</span> -<span id="L12410" class="LineNr">12410 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12410" class="LineNr">12410 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12411" class="LineNr">12411 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12412" class="LineNr">12412 </span> <span class="subxComment"># restore ed</span> <span id="L12413" class="LineNr">12413 </span> 89/<- %edx 4/r32/esp @@ -11277,10 +11277,10 @@ if ('onhashchange' in window) { <span id="L12415" class="LineNr">12415 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12416" class="Folded">12416 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12422" class="LineNr">12422 </span> <span class="subxComment"># check output</span> -<span id="L12423" class="LineNr">12423 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-compute-offset-with-too-many-outputs: output should be empty"</span>) -<span id="L12424" class="LineNr">12424 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too many outputs (1 required)"</span> <span class="Constant">"F - test-compute-offset-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12423" class="LineNr">12423 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12386'>test-compute-offset-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L12424" class="LineNr">12424 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt compute-offset: too many outputs (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12386'>test-compute-offset-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12425" class="LineNr">12425 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12426" class="LineNr">12426 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-compute-offset-with-too-many-outputs: exit status"</span>) +<span id="L12426" class="LineNr">12426 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12386'>test-compute-offset-with-too-many-outputs</a>: exit status"</span>) <span id="L12427" class="LineNr">12427 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12428" class="LineNr">12428 </span> 81 0/subop/add %esp 8/imm32 <span id="L12429" class="LineNr">12429 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11303,7 +11303,7 @@ if ('onhashchange' in window) { <span id="L12446" class="LineNr">12446 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> s, o\n"</span>) <span id="L12447" class="LineNr">12447 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12448" class="LineNr">12448 </span> <span class="subxComment"># convert</span> -<span id="L12449" class="LineNr">12449 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L12449" class="LineNr">12449 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L12450" class="LineNr">12450 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12451" class="LineNr">12451 </span> <span class="subxComment"># restore ed</span> <span id="L12452" class="LineNr">12452 </span> 89/<- %edx 4/r32/esp @@ -11311,25 +11311,25 @@ if ('onhashchange' in window) { <span id="L12454" class="LineNr">12454 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12455" class="Folded">12455 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12461" class="LineNr">12461 </span> <span class="subxComment"># check output</span> -<span id="L12462" class="LineNr">12462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-read-from-stream/0"</span>) +<span id="L12462" class="LineNr">12462 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/0"</span>) <span id="L12463" class="LineNr">12463 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-read-from-stream/1"</span>) -<span id="L12464" class="LineNr">12464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-read-from-stream/2"</span>) -<span id="L12465" class="LineNr">12465 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-read-from-stream/3"</span>) -<span id="L12466" class="LineNr">12466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-read-from-stream/4"</span>) -<span id="L12467" class="LineNr">12467 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-read-from-stream/5"</span>) -<span id="L12468" class="LineNr">12468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - test-convert-read-from-stream/6"</span>) -<span id="L12469" class="LineNr">12469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - test-convert-read-from-stream/7"</span>) -<span id="L12470" class="LineNr">12470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-read-from-stream/8"</span>) -<span id="L12471" class="LineNr">12471 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-read-from-stream/9"</span>) -<span id="L12472" class="LineNr">12472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L107'>read-from-stream</a> %esi %ecx 0x00000004)"</span> <span class="Constant">"F - test-convert-read-from-stream/10"</span>) -<span id="L12473" class="LineNr">12473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-read-from-stream/11"</span>) -<span id="L12474" class="LineNr">12474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-read-from-stream/12"</span>) -<span id="L12475" class="LineNr">12475 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-read-from-stream/13"</span>) -<span id="L12476" class="LineNr">12476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-read-from-stream/14"</span>) +<span id="L12464" class="LineNr">12464 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/2"</span>) +<span id="L12465" class="LineNr">12465 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/3"</span>) +<span id="L12466" class="LineNr">12466 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/4"</span>) +<span id="L12467" class="LineNr">12467 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/5"</span>) +<span id="L12468" class="LineNr">12468 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/6"</span>) +<span id="L12469" class="LineNr">12469 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/7"</span>) +<span id="L12470" class="LineNr">12470 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/8"</span>) +<span id="L12471" class="LineNr">12471 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/9"</span>) +<span id="L12472" class="LineNr">12472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L107'>read-from-stream</a> %esi %ecx 0x00000004)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/10"</span>) +<span id="L12473" class="LineNr">12473 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/11"</span>) +<span id="L12474" class="LineNr">12474 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/12"</span>) +<span id="L12475" class="LineNr">12475 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/13"</span>) +<span id="L12476" class="LineNr">12476 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/14"</span>) <span id="L12477" class="LineNr">12477 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-read-from-stream/15"</span>) -<span id="L12478" class="LineNr">12478 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-read-from-stream/16"</span>) -<span id="L12479" class="LineNr">12479 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-read-from-stream/17"</span>) -<span id="L12480" class="LineNr">12480 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-read-from-stream/18"</span>) +<span id="L12478" class="LineNr">12478 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/16"</span>) +<span id="L12479" class="LineNr">12479 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/17"</span>) +<span id="L12480" class="LineNr">12480 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L12433'>test-convert-read-from-stream</a>/18"</span>) <span id="L12481" class="LineNr">12481 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L12482" class="LineNr">12482 </span> 89/<- %esp 5/r32/ebp <span id="L12483" class="LineNr">12483 </span> 5d/pop-to-ebp @@ -11351,7 +11351,7 @@ if ('onhashchange' in window) { <span id="L12499" class="LineNr">12499 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> s, o\n"</span>) <span id="L12500" class="LineNr">12500 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12501" class="LineNr">12501 </span> <span class="subxComment"># convert</span> -<span id="L12502" class="LineNr">12502 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L12502" class="LineNr">12502 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L12503" class="LineNr">12503 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12504" class="LineNr">12504 </span> <span class="subxComment"># restore ed</span> <span id="L12505" class="LineNr">12505 </span> 89/<- %edx 4/r32/esp @@ -11359,25 +11359,25 @@ if ('onhashchange' in window) { <span id="L12507" class="LineNr">12507 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12508" class="Folded">12508 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12514" class="LineNr">12514 </span> <span class="subxComment"># check output</span> -<span id="L12515" class="LineNr">12515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/0"</span>) +<span id="L12515" class="LineNr">12515 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/0"</span>) <span id="L12516" class="LineNr">12516 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/1"</span>) -<span id="L12517" class="LineNr">12517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/2"</span>) -<span id="L12518" class="LineNr">12518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/3"</span>) -<span id="L12519" class="LineNr">12519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/4"</span>) -<span id="L12520" class="LineNr">12520 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/5"</span>) -<span id="L12521" class="LineNr">12521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/6"</span>) -<span id="L12522" class="LineNr">12522 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/7"</span>) -<span id="L12523" class="LineNr">12523 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/8"</span>) -<span id="L12524" class="LineNr">12524 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/9"</span>) -<span id="L12525" class="LineNr">12525 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L107'>read-from-stream</a> %esi %ecx 0x00000008)"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/10"</span>) -<span id="L12526" class="LineNr">12526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/11"</span>) -<span id="L12527" class="LineNr">12527 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/12"</span>) -<span id="L12528" class="LineNr">12528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/13"</span>) -<span id="L12529" class="LineNr">12529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/14"</span>) +<span id="L12517" class="LineNr">12517 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/2"</span>) +<span id="L12518" class="LineNr">12518 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/3"</span>) +<span id="L12519" class="LineNr">12519 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/4"</span>) +<span id="L12520" class="LineNr">12520 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/5"</span>) +<span id="L12521" class="LineNr">12521 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/6"</span>) +<span id="L12522" class="LineNr">12522 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/7"</span>) +<span id="L12523" class="LineNr">12523 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/8"</span>) +<span id="L12524" class="LineNr">12524 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/9"</span>) +<span id="L12525" class="LineNr">12525 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L107'>read-from-stream</a> %esi %ecx 0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/10"</span>) +<span id="L12526" class="LineNr">12526 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/11"</span>) +<span id="L12527" class="LineNr">12527 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/12"</span>) +<span id="L12528" class="LineNr">12528 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/13"</span>) +<span id="L12529" class="LineNr">12529 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/14"</span>) <span id="L12530" class="LineNr">12530 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/15"</span>) -<span id="L12531" class="LineNr">12531 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/16"</span>) -<span id="L12532" class="LineNr">12532 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/17"</span>) -<span id="L12533" class="LineNr">12533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-read-from-stream-with-correct-payload-size/18"</span>) +<span id="L12531" class="LineNr">12531 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/16"</span>) +<span id="L12532" class="LineNr">12532 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/17"</span>) +<span id="L12533" class="LineNr">12533 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L12486'>test-convert-read-from-stream-with-correct-payload-size</a>/18"</span>) <span id="L12534" class="LineNr">12534 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L12535" class="LineNr">12535 </span> 89/<- %esp 5/r32/ebp <span id="L12536" class="LineNr">12536 </span> 5d/pop-to-ebp @@ -11405,7 +11405,7 @@ if ('onhashchange' in window) { <span id="L12558" class="LineNr">12558 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, 0\n"</span>) <span id="L12559" class="LineNr">12559 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12560" class="LineNr">12560 </span> <span class="subxComment"># convert</span> -<span id="L12561" class="LineNr">12561 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12561" class="LineNr">12561 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12562" class="LineNr">12562 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12563" class="LineNr">12563 </span> <span class="subxComment"># restore ed</span> <span id="L12564" class="LineNr">12564 </span> 89/<- %edx 4/r32/esp @@ -11413,10 +11413,10 @@ if ('onhashchange' in window) { <span id="L12566" class="LineNr">12566 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12567" class="Folded">12567 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12573" class="LineNr">12573 </span> <span class="subxComment"># check output</span> -<span id="L12574" class="LineNr">12574 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-atom-base-type: output should be empty"</span>) -<span id="L12575" class="LineNr">12575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12574" class="LineNr">12574 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12539'>test-read-from-stream-with-non-stream-atom-base-type</a>: output should be empty"</span>) +<span id="L12575" class="LineNr">12575 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L12539'>test-read-from-stream-with-non-stream-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12576" class="LineNr">12576 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12577" class="LineNr">12577 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-non-stream-atom-base-type: exit status"</span>) +<span id="L12577" class="LineNr">12577 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12539'>test-read-from-stream-with-non-stream-atom-base-type</a>: exit status"</span>) <span id="L12578" class="LineNr">12578 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12579" class="LineNr">12579 </span> 81 0/subop/add %esp 8/imm32 <span id="L12580" class="LineNr">12580 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11445,7 +11445,7 @@ if ('onhashchange' in window) { <span id="L12603" class="LineNr">12603 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, 0\n"</span>) <span id="L12604" class="LineNr">12604 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12605" class="LineNr">12605 </span> <span class="subxComment"># convert</span> -<span id="L12606" class="LineNr">12606 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12606" class="LineNr">12606 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12607" class="LineNr">12607 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12608" class="LineNr">12608 </span> <span class="subxComment"># restore ed</span> <span id="L12609" class="LineNr">12609 </span> 89/<- %edx 4/r32/esp @@ -11453,10 +11453,10 @@ if ('onhashchange' in window) { <span id="L12611" class="LineNr">12611 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12612" class="Folded">12612 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12618" class="LineNr">12618 </span> <span class="subxComment"># check output</span> -<span id="L12619" class="LineNr">12619 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type: output should be empty"</span>) -<span id="L12620" class="LineNr">12620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12619" class="LineNr">12619 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12584'>test-read-from-stream-with-non-stream-compound-base-type</a>: output should be empty"</span>) +<span id="L12620" class="LineNr">12620 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L12584'>test-read-from-stream-with-non-stream-compound-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12621" class="LineNr">12621 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12622" class="LineNr">12622 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type: exit status"</span>) +<span id="L12622" class="LineNr">12622 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12584'>test-read-from-stream-with-non-stream-compound-base-type</a>: exit status"</span>) <span id="L12623" class="LineNr">12623 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12624" class="LineNr">12624 </span> 81 0/subop/add %esp 8/imm32 <span id="L12625" class="LineNr">12625 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11485,7 +11485,7 @@ if ('onhashchange' in window) { <span id="L12648" class="LineNr">12648 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, 0\n"</span>) <span id="L12649" class="LineNr">12649 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12650" class="LineNr">12650 </span> <span class="subxComment"># convert</span> -<span id="L12651" class="LineNr">12651 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12651" class="LineNr">12651 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12652" class="LineNr">12652 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12653" class="LineNr">12653 </span> <span class="subxComment"># restore ed</span> <span id="L12654" class="LineNr">12654 </span> 89/<- %edx 4/r32/esp @@ -11493,10 +11493,10 @@ if ('onhashchange' in window) { <span id="L12656" class="LineNr">12656 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12657" class="Folded">12657 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12663" class="LineNr">12663 </span> <span class="subxComment"># check output</span> -<span id="L12664" class="LineNr">12664 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type-2: output should be empty"</span>) -<span id="L12665" class="LineNr">12665 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12664" class="LineNr">12664 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12629'>test-read-from-stream-with-non-stream-compound-base-type-2</a>: output should be empty"</span>) +<span id="L12665" class="LineNr">12665 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L12629'>test-read-from-stream-with-non-stream-compound-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12666" class="LineNr">12666 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12667" class="LineNr">12667 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-non-stream-compound-base-type-2: exit status"</span>) +<span id="L12667" class="LineNr">12667 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12629'>test-read-from-stream-with-non-stream-compound-base-type-2</a>: exit status"</span>) <span id="L12668" class="LineNr">12668 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12669" class="LineNr">12669 </span> 81 0/subop/add %esp 8/imm32 <span id="L12670" class="LineNr">12670 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11525,7 +11525,7 @@ if ('onhashchange' in window) { <span id="L12693" class="LineNr">12693 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, 0\n"</span>) <span id="L12694" class="LineNr">12694 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12695" class="LineNr">12695 </span> <span class="subxComment"># convert</span> -<span id="L12696" class="LineNr">12696 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12696" class="LineNr">12696 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12697" class="LineNr">12697 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12698" class="LineNr">12698 </span> <span class="subxComment"># restore ed</span> <span id="L12699" class="LineNr">12699 </span> 89/<- %edx 4/r32/esp @@ -11533,10 +11533,10 @@ if ('onhashchange' in window) { <span id="L12701" class="LineNr">12701 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12702" class="Folded">12702 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12708" class="LineNr">12708 </span> <span class="subxComment"># check output</span> -<span id="L12709" class="LineNr">12709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-stream-atom-base-type: output should be empty"</span>) -<span id="L12710" class="LineNr">12710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-read-from-stream-with-stream-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12709" class="LineNr">12709 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12674'>test-read-from-stream-with-stream-atom-base-type</a>: output should be empty"</span>) +<span id="L12710" class="LineNr">12710 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L12674'>test-read-from-stream-with-stream-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12711" class="LineNr">12711 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12712" class="LineNr">12712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-stream-atom-base-type: exit status"</span>) +<span id="L12712" class="LineNr">12712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12674'>test-read-from-stream-with-stream-atom-base-type</a>: exit status"</span>) <span id="L12713" class="LineNr">12713 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12714" class="LineNr">12714 </span> 81 0/subop/add %esp 8/imm32 <span id="L12715" class="LineNr">12715 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11566,7 +11566,7 @@ if ('onhashchange' in window) { <span id="L12739" class="LineNr">12739 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, b\n"</span>) <span id="L12740" class="LineNr">12740 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12741" class="LineNr">12741 </span> <span class="subxComment"># convert</span> -<span id="L12742" class="LineNr">12742 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12742" class="LineNr">12742 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12743" class="LineNr">12743 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12744" class="LineNr">12744 </span> <span class="subxComment"># restore ed</span> <span id="L12745" class="LineNr">12745 </span> 89/<- %edx 4/r32/esp @@ -11574,10 +11574,10 @@ if ('onhashchange' in window) { <span id="L12747" class="LineNr">12747 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12748" class="Folded">12748 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12754" class="LineNr">12754 </span> <span class="subxComment"># check output</span> -<span id="L12755" class="LineNr">12755 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-wrong-index-type: output should be empty"</span>) -<span id="L12756" class="LineNr">12756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: target 'b' must be an addr"</span> <span class="Constant">"F - test-read-from-stream-with-wrong-index-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12755" class="LineNr">12755 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12719'>test-read-from-stream-with-wrong-index-type</a>: output should be empty"</span>) +<span id="L12756" class="LineNr">12756 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: target 'b' must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L12719'>test-read-from-stream-with-wrong-index-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12757" class="LineNr">12757 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12758" class="LineNr">12758 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-wrong-index-type: exit status"</span>) +<span id="L12758" class="LineNr">12758 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12719'>test-read-from-stream-with-wrong-index-type</a>: exit status"</span>) <span id="L12759" class="LineNr">12759 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12760" class="LineNr">12760 </span> 81 0/subop/add %esp 8/imm32 <span id="L12761" class="LineNr">12761 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11605,7 +11605,7 @@ if ('onhashchange' in window) { <span id="L12783" class="LineNr">12783 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" read-from-stream\n"</span>) <span id="L12784" class="LineNr">12784 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12785" class="LineNr">12785 </span> <span class="subxComment"># convert</span> -<span id="L12786" class="LineNr">12786 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12786" class="LineNr">12786 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12787" class="LineNr">12787 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12788" class="LineNr">12788 </span> <span class="subxComment"># restore ed</span> <span id="L12789" class="LineNr">12789 </span> 89/<- %edx 4/r32/esp @@ -11613,10 +11613,10 @@ if ('onhashchange' in window) { <span id="L12791" class="LineNr">12791 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12792" class="Folded">12792 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12798" class="LineNr">12798 </span> <span class="subxComment"># check output</span> -<span id="L12799" class="LineNr">12799 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-no-inouts: output should be empty"</span>) -<span id="L12800" class="LineNr">12800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - test-read-from-stream-with-no-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12799" class="LineNr">12799 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12765'>test-read-from-stream-with-no-inouts</a>: output should be empty"</span>) +<span id="L12800" class="LineNr">12800 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12765'>test-read-from-stream-with-no-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12801" class="LineNr">12801 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12802" class="LineNr">12802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-no-inouts: exit status"</span>) +<span id="L12802" class="LineNr">12802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12765'>test-read-from-stream-with-no-inouts</a>: exit status"</span>) <span id="L12803" class="LineNr">12803 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12804" class="LineNr">12804 </span> 81 0/subop/add %esp 8/imm32 <span id="L12805" class="LineNr">12805 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11645,7 +11645,7 @@ if ('onhashchange' in window) { <span id="L12828" class="LineNr">12828 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a\n"</span>) <span id="L12829" class="LineNr">12829 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12830" class="LineNr">12830 </span> <span class="subxComment"># convert</span> -<span id="L12831" class="LineNr">12831 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12831" class="LineNr">12831 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12832" class="LineNr">12832 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12833" class="LineNr">12833 </span> <span class="subxComment"># restore ed</span> <span id="L12834" class="LineNr">12834 </span> 89/<- %edx 4/r32/esp @@ -11653,10 +11653,10 @@ if ('onhashchange' in window) { <span id="L12836" class="LineNr">12836 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12837" class="Folded">12837 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12843" class="LineNr">12843 </span> <span class="subxComment"># check output</span> -<span id="L12844" class="LineNr">12844 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-too-few-inouts: output should be empty"</span>) -<span id="L12845" class="LineNr">12845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - test-read-from-stream-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12844" class="LineNr">12844 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12809'>test-read-from-stream-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L12845" class="LineNr">12845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12809'>test-read-from-stream-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12846" class="LineNr">12846 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12847" class="LineNr">12847 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-too-few-inouts: exit status"</span>) +<span id="L12847" class="LineNr">12847 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12809'>test-read-from-stream-with-too-few-inouts</a>: exit status"</span>) <span id="L12848" class="LineNr">12848 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12849" class="LineNr">12849 </span> 81 0/subop/add %esp 8/imm32 <span id="L12850" class="LineNr">12850 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11686,7 +11686,7 @@ if ('onhashchange' in window) { <span id="L12874" class="LineNr">12874 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L107'>read-from-stream</a> a, b, 0\n"</span>) <span id="L12875" class="LineNr">12875 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12876" class="LineNr">12876 </span> <span class="subxComment"># convert</span> -<span id="L12877" class="LineNr">12877 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12877" class="LineNr">12877 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12878" class="LineNr">12878 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12879" class="LineNr">12879 </span> <span class="subxComment"># restore ed</span> <span id="L12880" class="LineNr">12880 </span> 89/<- %edx 4/r32/esp @@ -11694,10 +11694,10 @@ if ('onhashchange' in window) { <span id="L12882" class="LineNr">12882 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12883" class="Folded">12883 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12889" class="LineNr">12889 </span> <span class="subxComment"># check output</span> -<span id="L12890" class="LineNr">12890 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-too-many-inouts: output should be empty"</span>) -<span id="L12891" class="LineNr">12891 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too many inouts (2 required)"</span> <span class="Constant">"F - test-read-from-stream-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12890" class="LineNr">12890 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12854'>test-read-from-stream-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L12891" class="LineNr">12891 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: too many inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12854'>test-read-from-stream-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12892" class="LineNr">12892 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12893" class="LineNr">12893 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-too-many-inouts: exit status"</span>) +<span id="L12893" class="LineNr">12893 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12854'>test-read-from-stream-with-too-many-inouts</a>: exit status"</span>) <span id="L12894" class="LineNr">12894 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12895" class="LineNr">12895 </span> 81 0/subop/add %esp 8/imm32 <span id="L12896" class="LineNr">12896 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11727,7 +11727,7 @@ if ('onhashchange' in window) { <span id="L12920" class="LineNr">12920 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" b <- <a href='309stream.subx.html#L107'>read-from-stream</a> a, b\n"</span>) <span id="L12921" class="LineNr">12921 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12922" class="LineNr">12922 </span> <span class="subxComment"># convert</span> -<span id="L12923" class="LineNr">12923 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L12923" class="LineNr">12923 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L12924" class="LineNr">12924 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12925" class="LineNr">12925 </span> <span class="subxComment"># restore ed</span> <span id="L12926" class="LineNr">12926 </span> 89/<- %edx 4/r32/esp @@ -11735,10 +11735,10 @@ if ('onhashchange' in window) { <span id="L12928" class="LineNr">12928 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12929" class="Folded">12929 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12935" class="LineNr">12935 </span> <span class="subxComment"># check output</span> -<span id="L12936" class="LineNr">12936 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-read-from-stream-with-output: output should be empty"</span>) -<span id="L12937" class="LineNr">12937 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: unexpected output"</span> <span class="Constant">"F - test-read-from-stream-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L12936" class="LineNr">12936 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L12900'>test-read-from-stream-with-output</a>: output should be empty"</span>) +<span id="L12937" class="LineNr">12937 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L107'>read-from-stream</a>: unexpected output"</span> <span class="Constant">"F - <a href='mu.subx.html#L12900'>test-read-from-stream-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L12938" class="LineNr">12938 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L12939" class="LineNr">12939 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-read-from-stream-with-output: exit status"</span>) +<span id="L12939" class="LineNr">12939 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L12900'>test-read-from-stream-with-output</a>: exit status"</span>) <span id="L12940" class="LineNr">12940 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L12941" class="LineNr">12941 </span> 81 0/subop/add %esp 8/imm32 <span id="L12942" class="LineNr">12942 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11761,7 +11761,7 @@ if ('onhashchange' in window) { <span id="L12959" class="LineNr">12959 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> s, o\n"</span>) <span id="L12960" class="LineNr">12960 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L12961" class="LineNr">12961 </span> <span class="subxComment"># convert</span> -<span id="L12962" class="LineNr">12962 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L12962" class="LineNr">12962 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L12963" class="LineNr">12963 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L12964" class="LineNr">12964 </span> <span class="subxComment"># restore ed</span> <span id="L12965" class="LineNr">12965 </span> 89/<- %edx 4/r32/esp @@ -11769,25 +11769,25 @@ if ('onhashchange' in window) { <span id="L12967" class="LineNr">12967 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L12968" class="Folded">12968 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L12974" class="LineNr">12974 </span> <span class="subxComment"># check output</span> -<span id="L12975" class="LineNr">12975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-write-to-stream/0"</span>) +<span id="L12975" class="LineNr">12975 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/0"</span>) <span id="L12976" class="LineNr">12976 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-write-to-stream/1"</span>) -<span id="L12977" class="LineNr">12977 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-write-to-stream/2"</span>) -<span id="L12978" class="LineNr">12978 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-write-to-stream/3"</span>) -<span id="L12979" class="LineNr">12979 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-write-to-stream/4"</span>) -<span id="L12980" class="LineNr">12980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-write-to-stream/5"</span>) -<span id="L12981" class="LineNr">12981 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - test-convert-write-to-stream/6"</span>) -<span id="L12982" class="LineNr">12982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - test-convert-write-to-stream/7"</span>) -<span id="L12983" class="LineNr">12983 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-write-to-stream/8"</span>) -<span id="L12984" class="LineNr">12984 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-write-to-stream/9"</span>) -<span id="L12985" class="LineNr">12985 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L54'>write-to-stream</a> %esi %ecx 0x00000004)"</span> <span class="Constant">"F - test-convert-write-to-stream/10"</span>) -<span id="L12986" class="LineNr">12986 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-write-to-stream/11"</span>) -<span id="L12987" class="LineNr">12987 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-write-to-stream/12"</span>) -<span id="L12988" class="LineNr">12988 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-write-to-stream/13"</span>) -<span id="L12989" class="LineNr">12989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-write-to-stream/14"</span>) +<span id="L12977" class="LineNr">12977 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/2"</span>) +<span id="L12978" class="LineNr">12978 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/3"</span>) +<span id="L12979" class="LineNr">12979 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/4"</span>) +<span id="L12980" class="LineNr">12980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/5"</span>) +<span id="L12981" class="LineNr">12981 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/6"</span>) +<span id="L12982" class="LineNr">12982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/7"</span>) +<span id="L12983" class="LineNr">12983 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/8"</span>) +<span id="L12984" class="LineNr">12984 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/9"</span>) +<span id="L12985" class="LineNr">12985 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L54'>write-to-stream</a> %esi %ecx 0x00000004)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/10"</span>) +<span id="L12986" class="LineNr">12986 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/11"</span>) +<span id="L12987" class="LineNr">12987 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/12"</span>) +<span id="L12988" class="LineNr">12988 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/13"</span>) +<span id="L12989" class="LineNr">12989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/14"</span>) <span id="L12990" class="LineNr">12990 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-write-to-stream/15"</span>) -<span id="L12991" class="LineNr">12991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-write-to-stream/16"</span>) -<span id="L12992" class="LineNr">12992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-write-to-stream/17"</span>) -<span id="L12993" class="LineNr">12993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-write-to-stream/18"</span>) +<span id="L12991" class="LineNr">12991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/16"</span>) +<span id="L12992" class="LineNr">12992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/17"</span>) +<span id="L12993" class="LineNr">12993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L12946'>test-convert-write-to-stream</a>/18"</span>) <span id="L12994" class="LineNr">12994 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L12995" class="LineNr">12995 </span> 89/<- %esp 5/r32/ebp <span id="L12996" class="LineNr">12996 </span> 5d/pop-to-ebp @@ -11809,7 +11809,7 @@ if ('onhashchange' in window) { <span id="L13012" class="LineNr">13012 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> s, o\n"</span>) <span id="L13013" class="LineNr">13013 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13014" class="LineNr">13014 </span> <span class="subxComment"># convert</span> -<span id="L13015" class="LineNr">13015 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L13015" class="LineNr">13015 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L13016" class="LineNr">13016 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13017" class="LineNr">13017 </span> <span class="subxComment"># restore ed</span> <span id="L13018" class="LineNr">13018 </span> 89/<- %edx 4/r32/esp @@ -11817,25 +11817,25 @@ if ('onhashchange' in window) { <span id="L13020" class="LineNr">13020 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13021" class="Folded">13021 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13027" class="LineNr">13027 </span> <span class="subxComment"># check output</span> -<span id="L13028" class="LineNr">13028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/0"</span>) +<span id="L13028" class="LineNr">13028 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/0"</span>) <span id="L13029" class="LineNr">13029 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/1"</span>) -<span id="L13030" class="LineNr">13030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/2"</span>) -<span id="L13031" class="LineNr">13031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/3"</span>) -<span id="L13032" class="LineNr">13032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/4"</span>) -<span id="L13033" class="LineNr">13033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/5"</span>) -<span id="L13034" class="LineNr">13034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/6"</span>) -<span id="L13035" class="LineNr">13035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/7"</span>) -<span id="L13036" class="LineNr">13036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/8"</span>) -<span id="L13037" class="LineNr">13037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/9"</span>) -<span id="L13038" class="LineNr">13038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L54'>write-to-stream</a> %esi %ecx 0x00000008)"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/10"</span>) -<span id="L13039" class="LineNr">13039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/11"</span>) -<span id="L13040" class="LineNr">13040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/12"</span>) -<span id="L13041" class="LineNr">13041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/13"</span>) -<span id="L13042" class="LineNr">13042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/14"</span>) +<span id="L13030" class="LineNr">13030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/2"</span>) +<span id="L13031" class="LineNr">13031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/3"</span>) +<span id="L13032" class="LineNr">13032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/4"</span>) +<span id="L13033" class="LineNr">13033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/5"</span>) +<span id="L13034" class="LineNr">13034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/6"</span>) +<span id="L13035" class="LineNr">13035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" be/copy-to-esi 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/7"</span>) +<span id="L13036" class="LineNr">13036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/8"</span>) +<span id="L13037" class="LineNr">13037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/9"</span>) +<span id="L13038" class="LineNr">13038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" (<a href='309stream.subx.html#L54'>write-to-stream</a> %esi %ecx 0x00000008)"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/10"</span>) +<span id="L13039" class="LineNr">13039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/11"</span>) +<span id="L13040" class="LineNr">13040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %esi"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/12"</span>) +<span id="L13041" class="LineNr">13041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/13"</span>) +<span id="L13042" class="LineNr">13042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/14"</span>) <span id="L13043" class="LineNr">13043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/15"</span>) -<span id="L13044" class="LineNr">13044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/16"</span>) -<span id="L13045" class="LineNr">13045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/17"</span>) -<span id="L13046" class="LineNr">13046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-write-to-stream-with-correct-payload-size/18"</span>) +<span id="L13044" class="LineNr">13044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/16"</span>) +<span id="L13045" class="LineNr">13045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/17"</span>) +<span id="L13046" class="LineNr">13046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L12999'>test-convert-write-to-stream-with-correct-payload-size</a>/18"</span>) <span id="L13047" class="LineNr">13047 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L13048" class="LineNr">13048 </span> 89/<- %esp 5/r32/ebp <span id="L13049" class="LineNr">13049 </span> 5d/pop-to-ebp @@ -11863,7 +11863,7 @@ if ('onhashchange' in window) { <span id="L13071" class="LineNr">13071 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, 0\n"</span>) <span id="L13072" class="LineNr">13072 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13073" class="LineNr">13073 </span> <span class="subxComment"># convert</span> -<span id="L13074" class="LineNr">13074 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13074" class="LineNr">13074 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13075" class="LineNr">13075 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13076" class="LineNr">13076 </span> <span class="subxComment"># restore ed</span> <span id="L13077" class="LineNr">13077 </span> 89/<- %edx 4/r32/esp @@ -11871,10 +11871,10 @@ if ('onhashchange' in window) { <span id="L13079" class="LineNr">13079 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13080" class="Folded">13080 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13086" class="LineNr">13086 </span> <span class="subxComment"># check output</span> -<span id="L13087" class="LineNr">13087 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-atom-base-type: output should be empty"</span>) -<span id="L13088" class="LineNr">13088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13087" class="LineNr">13087 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13052'>test-write-to-stream-with-non-stream-atom-base-type</a>: output should be empty"</span>) +<span id="L13088" class="LineNr">13088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L13052'>test-write-to-stream-with-non-stream-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13089" class="LineNr">13089 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13090" class="LineNr">13090 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-non-stream-atom-base-type: exit status"</span>) +<span id="L13090" class="LineNr">13090 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13052'>test-write-to-stream-with-non-stream-atom-base-type</a>: exit status"</span>) <span id="L13091" class="LineNr">13091 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13092" class="LineNr">13092 </span> 81 0/subop/add %esp 8/imm32 <span id="L13093" class="LineNr">13093 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11903,7 +11903,7 @@ if ('onhashchange' in window) { <span id="L13116" class="LineNr">13116 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, 0\n"</span>) <span id="L13117" class="LineNr">13117 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13118" class="LineNr">13118 </span> <span class="subxComment"># convert</span> -<span id="L13119" class="LineNr">13119 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13119" class="LineNr">13119 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13120" class="LineNr">13120 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13121" class="LineNr">13121 </span> <span class="subxComment"># restore ed</span> <span id="L13122" class="LineNr">13122 </span> 89/<- %edx 4/r32/esp @@ -11911,10 +11911,10 @@ if ('onhashchange' in window) { <span id="L13124" class="LineNr">13124 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13125" class="Folded">13125 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13131" class="LineNr">13131 </span> <span class="subxComment"># check output</span> -<span id="L13132" class="LineNr">13132 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type: output should be empty"</span>) -<span id="L13133" class="LineNr">13133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13132" class="LineNr">13132 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13097'>test-write-to-stream-with-non-stream-compound-base-type</a>: output should be empty"</span>) +<span id="L13133" class="LineNr">13133 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L13097'>test-write-to-stream-with-non-stream-compound-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13134" class="LineNr">13134 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13135" class="LineNr">13135 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type: exit status"</span>) +<span id="L13135" class="LineNr">13135 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13097'>test-write-to-stream-with-non-stream-compound-base-type</a>: exit status"</span>) <span id="L13136" class="LineNr">13136 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13137" class="LineNr">13137 </span> 81 0/subop/add %esp 8/imm32 <span id="L13138" class="LineNr">13138 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11943,7 +11943,7 @@ if ('onhashchange' in window) { <span id="L13161" class="LineNr">13161 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, 0\n"</span>) <span id="L13162" class="LineNr">13162 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13163" class="LineNr">13163 </span> <span class="subxComment"># convert</span> -<span id="L13164" class="LineNr">13164 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13164" class="LineNr">13164 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13165" class="LineNr">13165 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13166" class="LineNr">13166 </span> <span class="subxComment"># restore ed</span> <span id="L13167" class="LineNr">13167 </span> 89/<- %edx 4/r32/esp @@ -11951,10 +11951,10 @@ if ('onhashchange' in window) { <span id="L13169" class="LineNr">13169 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13170" class="Folded">13170 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13176" class="LineNr">13176 </span> <span class="subxComment"># check output</span> -<span id="L13177" class="LineNr">13177 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type-2: output should be empty"</span>) -<span id="L13178" class="LineNr">13178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13177" class="LineNr">13177 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13142'>test-write-to-stream-with-non-stream-compound-base-type-2</a>: output should be empty"</span>) +<span id="L13178" class="LineNr">13178 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L13142'>test-write-to-stream-with-non-stream-compound-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13179" class="LineNr">13179 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13180" class="LineNr">13180 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-non-stream-compound-base-type-2: exit status"</span>) +<span id="L13180" class="LineNr">13180 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13142'>test-write-to-stream-with-non-stream-compound-base-type-2</a>: exit status"</span>) <span id="L13181" class="LineNr">13181 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13182" class="LineNr">13182 </span> 81 0/subop/add %esp 8/imm32 <span id="L13183" class="LineNr">13183 </span> <span class="subxS1Comment"># . epilogue</span> @@ -11983,7 +11983,7 @@ if ('onhashchange' in window) { <span id="L13206" class="LineNr">13206 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, 0\n"</span>) <span id="L13207" class="LineNr">13207 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13208" class="LineNr">13208 </span> <span class="subxComment"># convert</span> -<span id="L13209" class="LineNr">13209 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13209" class="LineNr">13209 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13210" class="LineNr">13210 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13211" class="LineNr">13211 </span> <span class="subxComment"># restore ed</span> <span id="L13212" class="LineNr">13212 </span> 89/<- %edx 4/r32/esp @@ -11991,10 +11991,10 @@ if ('onhashchange' in window) { <span id="L13214" class="LineNr">13214 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13215" class="Folded">13215 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13221" class="LineNr">13221 </span> <span class="subxComment"># check output</span> -<span id="L13222" class="LineNr">13222 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-stream-atom-base-type: output should be empty"</span>) -<span id="L13223" class="LineNr">13223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - test-write-to-stream-with-stream-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13222" class="LineNr">13222 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13187'>test-write-to-stream-with-stream-atom-base-type</a>: output should be empty"</span>) +<span id="L13223" class="LineNr">13223 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: var 'a' must be an addr to a stream"</span> <span class="Constant">"F - <a href='mu.subx.html#L13187'>test-write-to-stream-with-stream-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13224" class="LineNr">13224 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13225" class="LineNr">13225 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-stream-atom-base-type: exit status"</span>) +<span id="L13225" class="LineNr">13225 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13187'>test-write-to-stream-with-stream-atom-base-type</a>: exit status"</span>) <span id="L13226" class="LineNr">13226 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13227" class="LineNr">13227 </span> 81 0/subop/add %esp 8/imm32 <span id="L13228" class="LineNr">13228 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12024,7 +12024,7 @@ if ('onhashchange' in window) { <span id="L13252" class="LineNr">13252 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, b\n"</span>) <span id="L13253" class="LineNr">13253 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13254" class="LineNr">13254 </span> <span class="subxComment"># convert</span> -<span id="L13255" class="LineNr">13255 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13255" class="LineNr">13255 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13256" class="LineNr">13256 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13257" class="LineNr">13257 </span> <span class="subxComment"># restore ed</span> <span id="L13258" class="LineNr">13258 </span> 89/<- %edx 4/r32/esp @@ -12032,10 +12032,10 @@ if ('onhashchange' in window) { <span id="L13260" class="LineNr">13260 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13261" class="Folded">13261 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13267" class="LineNr">13267 </span> <span class="subxComment"># check output</span> -<span id="L13268" class="LineNr">13268 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-wrong-index-type: output should be empty"</span>) -<span id="L13269" class="LineNr">13269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: target 'b' must be an addr"</span> <span class="Constant">"F - test-write-to-stream-with-wrong-index-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13268" class="LineNr">13268 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13232'>test-write-to-stream-with-wrong-index-type</a>: output should be empty"</span>) +<span id="L13269" class="LineNr">13269 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: target 'b' must be an addr"</span> <span class="Constant">"F - <a href='mu.subx.html#L13232'>test-write-to-stream-with-wrong-index-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13270" class="LineNr">13270 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13271" class="LineNr">13271 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-wrong-index-type: exit status"</span>) +<span id="L13271" class="LineNr">13271 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13232'>test-write-to-stream-with-wrong-index-type</a>: exit status"</span>) <span id="L13272" class="LineNr">13272 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13273" class="LineNr">13273 </span> 81 0/subop/add %esp 8/imm32 <span id="L13274" class="LineNr">13274 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12063,7 +12063,7 @@ if ('onhashchange' in window) { <span id="L13296" class="LineNr">13296 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" write-to-stream\n"</span>) <span id="L13297" class="LineNr">13297 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13298" class="LineNr">13298 </span> <span class="subxComment"># convert</span> -<span id="L13299" class="LineNr">13299 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13299" class="LineNr">13299 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13300" class="LineNr">13300 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13301" class="LineNr">13301 </span> <span class="subxComment"># restore ed</span> <span id="L13302" class="LineNr">13302 </span> 89/<- %edx 4/r32/esp @@ -12071,10 +12071,10 @@ if ('onhashchange' in window) { <span id="L13304" class="LineNr">13304 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13305" class="Folded">13305 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13311" class="LineNr">13311 </span> <span class="subxComment"># check output</span> -<span id="L13312" class="LineNr">13312 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-no-inouts: output should be empty"</span>) -<span id="L13313" class="LineNr">13313 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - test-write-to-stream-with-no-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13312" class="LineNr">13312 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13278'>test-write-to-stream-with-no-inouts</a>: output should be empty"</span>) +<span id="L13313" class="LineNr">13313 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13278'>test-write-to-stream-with-no-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13314" class="LineNr">13314 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13315" class="LineNr">13315 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-no-inouts: exit status"</span>) +<span id="L13315" class="LineNr">13315 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13278'>test-write-to-stream-with-no-inouts</a>: exit status"</span>) <span id="L13316" class="LineNr">13316 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13317" class="LineNr">13317 </span> 81 0/subop/add %esp 8/imm32 <span id="L13318" class="LineNr">13318 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12103,7 +12103,7 @@ if ('onhashchange' in window) { <span id="L13341" class="LineNr">13341 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a\n"</span>) <span id="L13342" class="LineNr">13342 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13343" class="LineNr">13343 </span> <span class="subxComment"># convert</span> -<span id="L13344" class="LineNr">13344 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13344" class="LineNr">13344 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13345" class="LineNr">13345 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13346" class="LineNr">13346 </span> <span class="subxComment"># restore ed</span> <span id="L13347" class="LineNr">13347 </span> 89/<- %edx 4/r32/esp @@ -12111,10 +12111,10 @@ if ('onhashchange' in window) { <span id="L13349" class="LineNr">13349 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13350" class="Folded">13350 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13356" class="LineNr">13356 </span> <span class="subxComment"># check output</span> -<span id="L13357" class="LineNr">13357 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-too-few-inouts: output should be empty"</span>) -<span id="L13358" class="LineNr">13358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - test-write-to-stream-with-too-few-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13357" class="LineNr">13357 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13322'>test-write-to-stream-with-too-few-inouts</a>: output should be empty"</span>) +<span id="L13358" class="LineNr">13358 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too few inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13322'>test-write-to-stream-with-too-few-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13359" class="LineNr">13359 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13360" class="LineNr">13360 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-too-few-inouts: exit status"</span>) +<span id="L13360" class="LineNr">13360 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13322'>test-write-to-stream-with-too-few-inouts</a>: exit status"</span>) <span id="L13361" class="LineNr">13361 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13362" class="LineNr">13362 </span> 81 0/subop/add %esp 8/imm32 <span id="L13363" class="LineNr">13363 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12144,7 +12144,7 @@ if ('onhashchange' in window) { <span id="L13387" class="LineNr">13387 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='309stream.subx.html#L54'>write-to-stream</a> a, b, 0\n"</span>) <span id="L13388" class="LineNr">13388 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13389" class="LineNr">13389 </span> <span class="subxComment"># convert</span> -<span id="L13390" class="LineNr">13390 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13390" class="LineNr">13390 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13391" class="LineNr">13391 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13392" class="LineNr">13392 </span> <span class="subxComment"># restore ed</span> <span id="L13393" class="LineNr">13393 </span> 89/<- %edx 4/r32/esp @@ -12152,10 +12152,10 @@ if ('onhashchange' in window) { <span id="L13395" class="LineNr">13395 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13396" class="Folded">13396 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13402" class="LineNr">13402 </span> <span class="subxComment"># check output</span> -<span id="L13403" class="LineNr">13403 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-too-many-inouts: output should be empty"</span>) -<span id="L13404" class="LineNr">13404 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too many inouts (2 required)"</span> <span class="Constant">"F - test-write-to-stream-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13403" class="LineNr">13403 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13367'>test-write-to-stream-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L13404" class="LineNr">13404 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: too many inouts (2 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13367'>test-write-to-stream-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13405" class="LineNr">13405 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13406" class="LineNr">13406 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-too-many-inouts: exit status"</span>) +<span id="L13406" class="LineNr">13406 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13367'>test-write-to-stream-with-too-many-inouts</a>: exit status"</span>) <span id="L13407" class="LineNr">13407 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13408" class="LineNr">13408 </span> 81 0/subop/add %esp 8/imm32 <span id="L13409" class="LineNr">13409 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12185,7 +12185,7 @@ if ('onhashchange' in window) { <span id="L13433" class="LineNr">13433 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" b <- <a href='309stream.subx.html#L54'>write-to-stream</a> a, b\n"</span>) <span id="L13434" class="LineNr">13434 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13435" class="LineNr">13435 </span> <span class="subxComment"># convert</span> -<span id="L13436" class="LineNr">13436 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13436" class="LineNr">13436 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13437" class="LineNr">13437 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13438" class="LineNr">13438 </span> <span class="subxComment"># restore ed</span> <span id="L13439" class="LineNr">13439 </span> 89/<- %edx 4/r32/esp @@ -12193,10 +12193,10 @@ if ('onhashchange' in window) { <span id="L13441" class="LineNr">13441 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13442" class="Folded">13442 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13448" class="LineNr">13448 </span> <span class="subxComment"># check output</span> -<span id="L13449" class="LineNr">13449 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-write-to-stream-with-output: output should be empty"</span>) -<span id="L13450" class="LineNr">13450 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: unexpected output"</span> <span class="Constant">"F - test-write-to-stream-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13449" class="LineNr">13449 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13413'>test-write-to-stream-with-output</a>: output should be empty"</span>) +<span id="L13450" class="LineNr">13450 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='309stream.subx.html#L54'>write-to-stream</a>: unexpected output"</span> <span class="Constant">"F - <a href='mu.subx.html#L13413'>test-write-to-stream-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13451" class="LineNr">13451 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13452" class="LineNr">13452 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-write-to-stream-with-output: exit status"</span>) +<span id="L13452" class="LineNr">13452 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13413'>test-write-to-stream-with-output</a>: exit status"</span>) <span id="L13453" class="LineNr">13453 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13454" class="LineNr">13454 </span> 81 0/subop/add %esp 8/imm32 <span id="L13455" class="LineNr">13455 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12225,7 +12225,7 @@ if ('onhashchange' in window) { <span id="L13478" class="LineNr">13478 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: int <- length a\n"</span>) <span id="L13479" class="LineNr">13479 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13480" class="LineNr">13480 </span> <span class="subxComment"># convert</span> -<span id="L13481" class="LineNr">13481 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13481" class="LineNr">13481 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13482" class="LineNr">13482 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13483" class="LineNr">13483 </span> <span class="subxComment"># restore ed</span> <span id="L13484" class="LineNr">13484 </span> 89/<- %edx 4/r32/esp @@ -12233,10 +12233,10 @@ if ('onhashchange' in window) { <span id="L13486" class="LineNr">13486 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13487" class="Folded">13487 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13493" class="LineNr">13493 </span> <span class="subxComment"># check output</span> -<span id="L13494" class="LineNr">13494 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-non-array-atom-base-type: output should be empty"</span>) -<span id="L13495" class="LineNr">13495 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - test-length-with-non-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13494" class="LineNr">13494 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13459'>test-length-with-non-array-atom-base-type</a>: output should be empty"</span>) +<span id="L13495" class="LineNr">13495 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L13459'>test-length-with-non-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13496" class="LineNr">13496 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13497" class="LineNr">13497 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-non-array-atom-base-type: exit status"</span>) +<span id="L13497" class="LineNr">13497 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13459'>test-length-with-non-array-atom-base-type</a>: exit status"</span>) <span id="L13498" class="LineNr">13498 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13499" class="LineNr">13499 </span> 81 0/subop/add %esp 8/imm32 <span id="L13500" class="LineNr">13500 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12265,7 +12265,7 @@ if ('onhashchange' in window) { <span id="L13523" class="LineNr">13523 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- length a, 0\n"</span>) <span id="L13524" class="LineNr">13524 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13525" class="LineNr">13525 </span> <span class="subxComment"># convert</span> -<span id="L13526" class="LineNr">13526 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13526" class="LineNr">13526 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13527" class="LineNr">13527 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13528" class="LineNr">13528 </span> <span class="subxComment"># restore ed</span> <span id="L13529" class="LineNr">13529 </span> 89/<- %edx 4/r32/esp @@ -12273,10 +12273,10 @@ if ('onhashchange' in window) { <span id="L13531" class="LineNr">13531 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13532" class="Folded">13532 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13538" class="LineNr">13538 </span> <span class="subxComment"># check output</span> -<span id="L13539" class="LineNr">13539 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-non-array-compound-base-type: output should be empty"</span>) -<span id="L13540" class="LineNr">13540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - test-length-with-non-array-compound-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13539" class="LineNr">13539 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13504'>test-length-with-non-array-compound-base-type</a>: output should be empty"</span>) +<span id="L13540" class="LineNr">13540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L13504'>test-length-with-non-array-compound-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13541" class="LineNr">13541 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13542" class="LineNr">13542 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-non-array-compound-base-type: exit status"</span>) +<span id="L13542" class="LineNr">13542 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13504'>test-length-with-non-array-compound-base-type</a>: exit status"</span>) <span id="L13543" class="LineNr">13543 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13544" class="LineNr">13544 </span> 81 0/subop/add %esp 8/imm32 <span id="L13545" class="LineNr">13545 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12305,7 +12305,7 @@ if ('onhashchange' in window) { <span id="L13568" class="LineNr">13568 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- length a, 0\n"</span>) <span id="L13569" class="LineNr">13569 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13570" class="LineNr">13570 </span> <span class="subxComment"># convert</span> -<span id="L13571" class="LineNr">13571 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13571" class="LineNr">13571 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13572" class="LineNr">13572 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13573" class="LineNr">13573 </span> <span class="subxComment"># restore ed</span> <span id="L13574" class="LineNr">13574 </span> 89/<- %edx 4/r32/esp @@ -12313,10 +12313,10 @@ if ('onhashchange' in window) { <span id="L13576" class="LineNr">13576 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13577" class="Folded">13577 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13583" class="LineNr">13583 </span> <span class="subxComment"># check output</span> -<span id="L13584" class="LineNr">13584 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-non-array-compound-base-type-2: output should be empty"</span>) -<span id="L13585" class="LineNr">13585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - test-length-with-non-array-compound-base-type-2: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13584" class="LineNr">13584 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13549'>test-length-with-non-array-compound-base-type-2</a>: output should be empty"</span>) +<span id="L13585" class="LineNr">13585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is not an array"</span> <span class="Constant">"F - <a href='mu.subx.html#L13549'>test-length-with-non-array-compound-base-type-2</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13586" class="LineNr">13586 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13587" class="LineNr">13587 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-non-array-compound-base-type-2: exit status"</span>) +<span id="L13587" class="LineNr">13587 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13549'>test-length-with-non-array-compound-base-type-2</a>: exit status"</span>) <span id="L13588" class="LineNr">13588 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13589" class="LineNr">13589 </span> 81 0/subop/add %esp 8/imm32 <span id="L13590" class="LineNr">13590 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12345,7 +12345,7 @@ if ('onhashchange' in window) { <span id="L13613" class="LineNr">13613 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- length a\n"</span>) <span id="L13614" class="LineNr">13614 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13615" class="LineNr">13615 </span> <span class="subxComment"># convert</span> -<span id="L13616" class="LineNr">13616 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13616" class="LineNr">13616 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13617" class="LineNr">13617 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13618" class="LineNr">13618 </span> <span class="subxComment"># restore ed</span> <span id="L13619" class="LineNr">13619 </span> 89/<- %edx 4/r32/esp @@ -12353,10 +12353,10 @@ if ('onhashchange' in window) { <span id="L13621" class="LineNr">13621 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13622" class="Folded">13622 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13628" class="LineNr">13628 </span> <span class="subxComment"># check output</span> -<span id="L13629" class="LineNr">13629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-array-atom-base-type: output should be empty"</span>) -<span id="L13630" class="LineNr">13630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - test-length-with-array-atom-base-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13629" class="LineNr">13629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13594'>test-length-with-array-atom-base-type</a>: output should be empty"</span>) +<span id="L13630" class="LineNr">13630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: array 'a' must specify the type of its elements"</span> <span class="Constant">"F - <a href='mu.subx.html#L13594'>test-length-with-array-atom-base-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13631" class="LineNr">13631 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13632" class="LineNr">13632 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-array-atom-base-type: exit status"</span>) +<span id="L13632" class="LineNr">13632 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13594'>test-length-with-array-atom-base-type</a>: exit status"</span>) <span id="L13633" class="LineNr">13633 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13634" class="LineNr">13634 </span> 81 0/subop/add %esp 8/imm32 <span id="L13635" class="LineNr">13635 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12385,7 +12385,7 @@ if ('onhashchange' in window) { <span id="L13658" class="LineNr">13658 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: (addr int) <- length a\n"</span>) <span id="L13659" class="LineNr">13659 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13660" class="LineNr">13660 </span> <span class="subxComment"># convert</span> -<span id="L13661" class="LineNr">13661 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13661" class="LineNr">13661 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13662" class="LineNr">13662 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13663" class="LineNr">13663 </span> <span class="subxComment"># restore ed</span> <span id="L13664" class="LineNr">13664 </span> 89/<- %edx 4/r32/esp @@ -12393,10 +12393,10 @@ if ('onhashchange' in window) { <span id="L13666" class="LineNr">13666 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13667" class="Folded">13667 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13673" class="LineNr">13673 </span> <span class="subxComment"># check output</span> -<span id="L13674" class="LineNr">13674 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-addr-base-on-stack: output should be empty"</span>) -<span id="L13675" class="LineNr">13675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is an addr to an array, and so must live in a register"</span> <span class="Constant">"F - test-length-with-addr-base-on-stack: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13674" class="LineNr">13674 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13639'>test-length-with-addr-base-on-stack</a>: output should be empty"</span>) +<span id="L13675" class="LineNr">13675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: var 'a' is an addr to an array, and so must live in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L13639'>test-length-with-addr-base-on-stack</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13676" class="LineNr">13676 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13677" class="LineNr">13677 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-addr-base-on-stack: exit status"</span>) +<span id="L13677" class="LineNr">13677 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13639'>test-length-with-addr-base-on-stack</a>: exit status"</span>) <span id="L13678" class="LineNr">13678 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13679" class="LineNr">13679 </span> 81 0/subop/add %esp 8/imm32 <span id="L13680" class="LineNr">13680 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12425,7 +12425,7 @@ if ('onhashchange' in window) { <span id="L13703" class="LineNr">13703 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (addr int) <- length a\n"</span>) <span id="L13704" class="LineNr">13704 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13705" class="LineNr">13705 </span> <span class="subxComment"># convert</span> -<span id="L13706" class="LineNr">13706 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13706" class="LineNr">13706 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13707" class="LineNr">13707 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13708" class="LineNr">13708 </span> <span class="subxComment"># restore ed</span> <span id="L13709" class="LineNr">13709 </span> 89/<- %edx 4/r32/esp @@ -12433,10 +12433,10 @@ if ('onhashchange' in window) { <span id="L13711" class="LineNr">13711 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13712" class="Folded">13712 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13718" class="LineNr">13718 </span> <span class="subxComment"># check output</span> -<span id="L13719" class="LineNr">13719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-wrong-output-type: output should be empty"</span>) -<span id="L13720" class="LineNr">13720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: output 'o' does not have the right type"</span> <span class="Constant">"F - test-length-with-wrong-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13719" class="LineNr">13719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13684'>test-length-with-wrong-output-type</a>: output should be empty"</span>) +<span id="L13720" class="LineNr">13720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L13684'>test-length-with-wrong-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13721" class="LineNr">13721 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13722" class="LineNr">13722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-wrong-output-type: exit status"</span>) +<span id="L13722" class="LineNr">13722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13684'>test-length-with-wrong-output-type</a>: exit status"</span>) <span id="L13723" class="LineNr">13723 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13724" class="LineNr">13724 </span> 81 0/subop/add %esp 8/imm32 <span id="L13725" class="LineNr">13725 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12465,7 +12465,7 @@ if ('onhashchange' in window) { <span id="L13748" class="LineNr">13748 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var o/edi: (addr handle int) <- length a\n"</span>) <span id="L13749" class="LineNr">13749 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13750" class="LineNr">13750 </span> <span class="subxComment"># convert</span> -<span id="L13751" class="LineNr">13751 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13751" class="LineNr">13751 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13752" class="LineNr">13752 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13753" class="LineNr">13753 </span> <span class="subxComment"># restore ed</span> <span id="L13754" class="LineNr">13754 </span> 89/<- %edx 4/r32/esp @@ -12473,10 +12473,10 @@ if ('onhashchange' in window) { <span id="L13756" class="LineNr">13756 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13757" class="Folded">13757 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13763" class="LineNr">13763 </span> <span class="subxComment"># check output</span> -<span id="L13764" class="LineNr">13764 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-wrong-output-compound-type: output should be empty"</span>) -<span id="L13765" class="LineNr">13765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: output 'o' does not have the right type"</span> <span class="Constant">"F - test-length-with-wrong-output-compound-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13764" class="LineNr">13764 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13729'>test-length-with-wrong-output-compound-type</a>: output should be empty"</span>) +<span id="L13765" class="LineNr">13765 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: output 'o' does not have the right type"</span> <span class="Constant">"F - <a href='mu.subx.html#L13729'>test-length-with-wrong-output-compound-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13766" class="LineNr">13766 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13767" class="LineNr">13767 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-wrong-output-compound-type: exit status"</span>) +<span id="L13767" class="LineNr">13767 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13729'>test-length-with-wrong-output-compound-type</a>: exit status"</span>) <span id="L13768" class="LineNr">13768 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13769" class="LineNr">13769 </span> 81 0/subop/add %esp 8/imm32 <span id="L13770" class="LineNr">13770 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12504,7 +12504,7 @@ if ('onhashchange' in window) { <span id="L13792" class="LineNr">13792 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: int <- length\n"</span>) <span id="L13793" class="LineNr">13793 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13794" class="LineNr">13794 </span> <span class="subxComment"># convert</span> -<span id="L13795" class="LineNr">13795 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13795" class="LineNr">13795 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13796" class="LineNr">13796 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13797" class="LineNr">13797 </span> <span class="subxComment"># restore ed</span> <span id="L13798" class="LineNr">13798 </span> 89/<- %edx 4/r32/esp @@ -12512,10 +12512,10 @@ if ('onhashchange' in window) { <span id="L13800" class="LineNr">13800 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13801" class="Folded">13801 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13807" class="LineNr">13807 </span> <span class="subxComment"># check output</span> -<span id="L13808" class="LineNr">13808 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-no-inouts: output should be empty"</span>) -<span id="L13809" class="LineNr">13809 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too few inouts (1 required)"</span> <span class="Constant">"F - test-length-with-no-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13808" class="LineNr">13808 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13774'>test-length-with-no-inouts</a>: output should be empty"</span>) +<span id="L13809" class="LineNr">13809 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too few inouts (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13774'>test-length-with-no-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13810" class="LineNr">13810 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13811" class="LineNr">13811 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-no-inouts: exit status"</span>) +<span id="L13811" class="LineNr">13811 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13774'>test-length-with-no-inouts</a>: exit status"</span>) <span id="L13812" class="LineNr">13812 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13813" class="LineNr">13813 </span> 81 0/subop/add %esp 8/imm32 <span id="L13814" class="LineNr">13814 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12544,7 +12544,7 @@ if ('onhashchange' in window) { <span id="L13837" class="LineNr">13837 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var c/ecx: int <- length a, 0, 0\n"</span>) <span id="L13838" class="LineNr">13838 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13839" class="LineNr">13839 </span> <span class="subxComment"># convert</span> -<span id="L13840" class="LineNr">13840 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13840" class="LineNr">13840 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13841" class="LineNr">13841 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13842" class="LineNr">13842 </span> <span class="subxComment"># restore ed</span> <span id="L13843" class="LineNr">13843 </span> 89/<- %edx 4/r32/esp @@ -12552,10 +12552,10 @@ if ('onhashchange' in window) { <span id="L13845" class="LineNr">13845 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13846" class="Folded">13846 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13852" class="LineNr">13852 </span> <span class="subxComment"># check output</span> -<span id="L13853" class="LineNr">13853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-too-many-inouts: output should be empty"</span>) -<span id="L13854" class="LineNr">13854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too many inouts (1 required)"</span> <span class="Constant">"F - test-length-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13853" class="LineNr">13853 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13818'>test-length-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L13854" class="LineNr">13854 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too many inouts (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13818'>test-length-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13855" class="LineNr">13855 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13856" class="LineNr">13856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-too-many-inouts: exit status"</span>) +<span id="L13856" class="LineNr">13856 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13818'>test-length-with-too-many-inouts</a>: exit status"</span>) <span id="L13857" class="LineNr">13857 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13858" class="LineNr">13858 </span> 81 0/subop/add %esp 8/imm32 <span id="L13859" class="LineNr">13859 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12584,7 +12584,7 @@ if ('onhashchange' in window) { <span id="L13882" class="LineNr">13882 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" length a\n"</span>) <span id="L13883" class="LineNr">13883 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13884" class="LineNr">13884 </span> <span class="subxComment"># convert</span> -<span id="L13885" class="LineNr">13885 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13885" class="LineNr">13885 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13886" class="LineNr">13886 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13887" class="LineNr">13887 </span> <span class="subxComment"># restore ed</span> <span id="L13888" class="LineNr">13888 </span> 89/<- %edx 4/r32/esp @@ -12592,10 +12592,10 @@ if ('onhashchange' in window) { <span id="L13890" class="LineNr">13890 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13891" class="Folded">13891 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13897" class="LineNr">13897 </span> <span class="subxComment"># check output</span> -<span id="L13898" class="LineNr">13898 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-no-output: output should be empty"</span>) -<span id="L13899" class="LineNr">13899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: must have an output"</span> <span class="Constant">"F - test-length-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13898" class="LineNr">13898 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13863'>test-length-with-no-output</a>: output should be empty"</span>) +<span id="L13899" class="LineNr">13899 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: must have an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L13863'>test-length-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13900" class="LineNr">13900 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13901" class="LineNr">13901 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-no-output: exit status"</span>) +<span id="L13901" class="LineNr">13901 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13863'>test-length-with-no-output</a>: exit status"</span>) <span id="L13902" class="LineNr">13902 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13903" class="LineNr">13903 </span> 81 0/subop/add %esp 8/imm32 <span id="L13904" class="LineNr">13904 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12626,7 +12626,7 @@ if ('onhashchange' in window) { <span id="L13929" class="LineNr">13929 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" b, c <- length a\n"</span>) <span id="L13930" class="LineNr">13930 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13931" class="LineNr">13931 </span> <span class="subxComment"># convert</span> -<span id="L13932" class="LineNr">13932 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L13932" class="LineNr">13932 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L13933" class="LineNr">13933 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L13934" class="LineNr">13934 </span> <span class="subxComment"># restore ed</span> <span id="L13935" class="LineNr">13935 </span> 89/<- %edx 4/r32/esp @@ -12634,10 +12634,10 @@ if ('onhashchange' in window) { <span id="L13937" class="LineNr">13937 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L13938" class="Folded">13938 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13944" class="LineNr">13944 </span> <span class="subxComment"># check output</span> -<span id="L13945" class="LineNr">13945 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-length-with-too-many-outputs: output should be empty"</span>) -<span id="L13946" class="LineNr">13946 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too many outputs (1 required)"</span> <span class="Constant">"F - test-length-with-too-many-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L13945" class="LineNr">13945 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L13908'>test-length-with-too-many-outputs</a>: output should be empty"</span>) +<span id="L13946" class="LineNr">13946 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt length: too many outputs (1 required)"</span> <span class="Constant">"F - <a href='mu.subx.html#L13908'>test-length-with-too-many-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L13947" class="LineNr">13947 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L13948" class="LineNr">13948 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-length-with-too-many-outputs: exit status"</span>) +<span id="L13948" class="LineNr">13948 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L13908'>test-length-with-too-many-outputs</a>: exit status"</span>) <span id="L13949" class="LineNr">13949 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L13950" class="LineNr">13950 </span> 81 0/subop/add %esp 8/imm32 <span id="L13951" class="LineNr">13951 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12660,30 +12660,30 @@ if ('onhashchange' in window) { <span id="L13968" class="LineNr">13968 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return y\n"</span>) <span id="L13969" class="LineNr">13969 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L13970" class="LineNr">13970 </span> <span class="subxComment"># convert</span> -<span id="L13971" class="LineNr">13971 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L13971" class="LineNr">13971 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L13972" class="LineNr">13972 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L13973" class="Folded">13973 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L13979" class="LineNr">13979 </span> <span class="subxComment"># check output</span> -<span id="L13980" class="LineNr">13980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/0"</span>) +<span id="L13980" class="LineNr">13980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/0"</span>) <span id="L13981" class="LineNr">13981 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/1"</span>) -<span id="L13982" class="LineNr">13982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/2"</span>) -<span id="L13983" class="LineNr">13983 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/3"</span>) -<span id="L13984" class="LineNr">13984 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/4"</span>) -<span id="L13985" class="LineNr">13985 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/5"</span>) -<span id="L13986" class="LineNr">13986 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/6"</span>) -<span id="L13987" class="LineNr">13987 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/7"</span>) -<span id="L13988" class="LineNr">13988 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/8"</span>) -<span id="L13989" class="LineNr">13989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/9"</span>) -<span id="L13990" class="LineNr">13990 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/10"</span>) -<span id="L13991" class="LineNr">13991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/11"</span>) -<span id="L13992" class="LineNr">13992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/12"</span>) -<span id="L13993" class="LineNr">13993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/13"</span>) -<span id="L13994" class="LineNr">13994 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/14"</span>) -<span id="L13995" class="LineNr">13995 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/15"</span>) +<span id="L13982" class="LineNr">13982 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/2"</span>) +<span id="L13983" class="LineNr">13983 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/3"</span>) +<span id="L13984" class="LineNr">13984 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/4"</span>) +<span id="L13985" class="LineNr">13985 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/5"</span>) +<span id="L13986" class="LineNr">13986 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/6"</span>) +<span id="L13987" class="LineNr">13987 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/7"</span>) +<span id="L13988" class="LineNr">13988 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/8"</span>) +<span id="L13989" class="LineNr">13989 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/9"</span>) +<span id="L13990" class="LineNr">13990 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %eax 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/10"</span>) +<span id="L13991" class="LineNr">13991 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/11"</span>) +<span id="L13992" class="LineNr">13992 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/12"</span>) +<span id="L13993" class="LineNr">13993 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/13"</span>) +<span id="L13994" class="LineNr">13994 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/14"</span>) +<span id="L13995" class="LineNr">13995 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/15"</span>) <span id="L13996" class="LineNr">13996 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/16"</span>) -<span id="L13997" class="LineNr">13997 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/17"</span>) -<span id="L13998" class="LineNr">13998 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/18"</span>) -<span id="L13999" class="LineNr">13999 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local/19"</span>) +<span id="L13997" class="LineNr">13997 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/17"</span>) +<span id="L13998" class="LineNr">13998 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/18"</span>) +<span id="L13999" class="LineNr">13999 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L13955'>test-convert-function-with-return-register-and-local</a>/19"</span>) <span id="L14000" class="LineNr">14000 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L14001" class="LineNr">14001 </span> 89/<- %esp 5/r32/ebp <span id="L14002" class="LineNr">14002 </span> 5d/pop-to-ebp @@ -12705,30 +12705,30 @@ if ('onhashchange' in window) { <span id="L14018" class="LineNr">14018 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return z\n"</span>) <span id="L14019" class="LineNr">14019 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14020" class="LineNr">14020 </span> <span class="subxComment"># convert</span> -<span id="L14021" class="LineNr">14021 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L14021" class="LineNr">14021 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L14022" class="LineNr">14022 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L14023" class="Folded">14023 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14029" class="LineNr">14029 </span> <span class="subxComment"># check output</span> -<span id="L14030" class="LineNr">14030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/0"</span>) +<span id="L14030" class="LineNr">14030 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/0"</span>) <span id="L14031" class="LineNr">14031 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/1"</span>) -<span id="L14032" class="LineNr">14032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/2"</span>) -<span id="L14033" class="LineNr">14033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/3"</span>) -<span id="L14034" class="LineNr">14034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/4"</span>) -<span id="L14035" class="LineNr">14035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/5"</span>) -<span id="L14036" class="LineNr">14036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/6"</span>) -<span id="L14037" class="LineNr">14037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/7"</span>) -<span id="L14038" class="LineNr">14038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/8"</span>) -<span id="L14039" class="LineNr">14039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/9"</span>) -<span id="L14040" class="LineNr">14040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/10"</span>) -<span id="L14041" class="LineNr">14041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/11"</span>) -<span id="L14042" class="LineNr">14042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/12"</span>) -<span id="L14043" class="LineNr">14043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/13"</span>) -<span id="L14044" class="LineNr">14044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/14"</span>) -<span id="L14045" class="LineNr">14045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/15"</span>) +<span id="L14032" class="LineNr">14032 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/2"</span>) +<span id="L14033" class="LineNr">14033 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/3"</span>) +<span id="L14034" class="LineNr">14034 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/4"</span>) +<span id="L14035" class="LineNr">14035 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/5"</span>) +<span id="L14036" class="LineNr">14036 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/6"</span>) +<span id="L14037" class="LineNr">14037 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/7"</span>) +<span id="L14038" class="LineNr">14038 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/8"</span>) +<span id="L14039" class="LineNr">14039 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b9/copy-to-ecx 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/9"</span>) +<span id="L14040" class="LineNr">14040 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> %ecx 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/10"</span>) +<span id="L14041" class="LineNr">14041 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/11"</span>) +<span id="L14042" class="LineNr">14042 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/12"</span>) +<span id="L14043" class="LineNr">14043 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/13"</span>) +<span id="L14044" class="LineNr">14044 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/14"</span>) +<span id="L14045" class="LineNr">14045 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/15"</span>) <span id="L14046" class="LineNr">14046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/16"</span>) -<span id="L14047" class="LineNr">14047 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/17"</span>) -<span id="L14048" class="LineNr">14048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/18"</span>) -<span id="L14049" class="LineNr">14049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-register-and-local-2/19"</span>) +<span id="L14047" class="LineNr">14047 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/17"</span>) +<span id="L14048" class="LineNr">14048 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/18"</span>) +<span id="L14049" class="LineNr">14049 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L14005'>test-convert-function-with-return-register-and-local-2</a>/19"</span>) <span id="L14050" class="LineNr">14050 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L14051" class="LineNr">14051 </span> 89/<- %esp 5/r32/ebp <span id="L14052" class="LineNr">14052 </span> 5d/pop-to-ebp @@ -12751,36 +12751,36 @@ if ('onhashchange' in window) { <span id="L14069" class="LineNr">14069 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return g\n"</span>) <span id="L14070" class="LineNr">14070 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14071" class="LineNr">14071 </span> <span class="subxComment"># convert</span> -<span id="L14072" class="LineNr">14072 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L14072" class="LineNr">14072 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L14073" class="LineNr">14073 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L14074" class="Folded">14074 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14080" class="LineNr">14080 </span> <span class="subxComment"># check output</span> -<span id="L14081" class="LineNr">14081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/0"</span>) +<span id="L14081" class="LineNr">14081 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/0"</span>) <span id="L14082" class="LineNr">14082 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/1"</span>) -<span id="L14083" class="LineNr">14083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/2"</span>) -<span id="L14084" class="LineNr">14084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/3"</span>) -<span id="L14085" class="LineNr">14085 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/4"</span>) -<span id="L14086" class="LineNr">14086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/5"</span>) -<span id="L14087" class="LineNr">14087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/6"</span>) <span class="subxComment"># var y</span> -<span id="L14088" class="LineNr">14088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/7"</span>) -<span id="L14089" class="LineNr">14089 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/8"</span>) <span class="subxComment"># var g</span> -<span id="L14090" class="LineNr">14090 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 0/x32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/9"</span>) -<span id="L14091" class="LineNr">14091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000000/x32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/10"</span>) -<span id="L14092" class="LineNr">14092 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/11"</span>) <span class="subxComment"># var h</span> -<span id="L14093" class="LineNr">14093 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/12"</span>) -<span id="L14094" class="LineNr">14094 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/13"</span>) -<span id="L14095" class="LineNr">14095 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> %xmm0 0x00000001/x32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/14"</span>) <span class="subxComment"># return g</span> -<span id="L14096" class="LineNr">14096 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/15"</span>) <span class="subxComment"># reclaim h</span> -<span id="L14097" class="LineNr">14097 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 0/x32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/16"</span>) <span class="subxComment"># reclaim g</span> -<span id="L14098" class="LineNr">14098 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - test-convert-floating-point-dereferenced/17"</span>) -<span id="L14099" class="LineNr">14099 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/18"</span>) <span class="subxComment"># reclaim y</span> -<span id="L14100" class="LineNr">14100 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/19"</span>) -<span id="L14101" class="LineNr">14101 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/20"</span>) -<span id="L14102" class="LineNr">14102 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/21"</span>) +<span id="L14083" class="LineNr">14083 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/2"</span>) +<span id="L14084" class="LineNr">14084 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/3"</span>) +<span id="L14085" class="LineNr">14085 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/4"</span>) +<span id="L14086" class="LineNr">14086 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/5"</span>) +<span id="L14087" class="LineNr">14087 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" ff 6/subop/push %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/6"</span>) <span class="subxComment"># var y</span> +<span id="L14088" class="LineNr">14088 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" b8/copy-to-eax 3/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/7"</span>) +<span id="L14089" class="LineNr">14089 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/8"</span>) <span class="subxComment"># var g</span> +<span id="L14090" class="LineNr">14090 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 0/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/9"</span>) +<span id="L14091" class="LineNr">14091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000000/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/10"</span>) +<span id="L14092" class="LineNr">14092 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 5/subop/subtract %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/11"</span>) <span class="subxComment"># var h</span> +<span id="L14093" class="LineNr">14093 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 11/<- *esp 1/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/12"</span>) +<span id="L14094" class="LineNr">14094 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 2a/convert-to-float %eax 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/13"</span>) +<span id="L14095" class="LineNr">14095 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> %xmm0 0x00000001/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/14"</span>) <span class="subxComment"># return g</span> +<span id="L14096" class="LineNr">14096 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/15"</span>) <span class="subxComment"># reclaim h</span> +<span id="L14097" class="LineNr">14097 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" f3 0f 10/-> *esp 0/x32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/16"</span>) <span class="subxComment"># reclaim g</span> +<span id="L14098" class="LineNr">14098 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 4/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L6040'>test-convert-floating-point-dereferenced</a>/17"</span>) +<span id="L14099" class="LineNr">14099 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8f 0/subop/pop %eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/18"</span>) <span class="subxComment"># reclaim y</span> +<span id="L14100" class="LineNr">14100 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/19"</span>) +<span id="L14101" class="LineNr">14101 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/20"</span>) +<span id="L14102" class="LineNr">14102 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/21"</span>) <span id="L14103" class="LineNr">14103 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/22"</span>) -<span id="L14104" class="LineNr">14104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/23"</span>) -<span id="L14105" class="LineNr">14105 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/24"</span>) -<span id="L14106" class="LineNr">14106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-float-register-and-local/25"</span>) +<span id="L14104" class="LineNr">14104 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/23"</span>) +<span id="L14105" class="LineNr">14105 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/24"</span>) +<span id="L14106" class="LineNr">14106 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L14055'>test-convert-function-with-return-float-register-and-local</a>/25"</span>) <span id="L14107" class="LineNr">14107 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L14108" class="LineNr">14108 </span> 89/<- %esp 5/r32/ebp <span id="L14109" class="LineNr">14109 </span> 5d/pop-to-ebp @@ -12808,39 +12808,39 @@ if ('onhashchange' in window) { <span id="L14131" class="LineNr">14131 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" return 0\n"</span>) <span id="L14132" class="LineNr">14132 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14133" class="LineNr">14133 </span> <span class="subxComment"># convert</span> -<span id="L14134" class="LineNr">14134 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L14134" class="LineNr">14134 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L14135" class="LineNr">14135 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L14136" class="Folded">14136 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14142" class="LineNr">14142 </span> <span class="subxComment"># check output</span> -<span id="L14143" class="LineNr">14143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/0"</span>) +<span id="L14143" class="LineNr">14143 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"foo:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/0"</span>) <span id="L14144" class="LineNr">14144 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . prologue"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/1"</span>) -<span id="L14145" class="LineNr">14145 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/2"</span>) -<span id="L14146" class="LineNr">14146 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/3"</span>) -<span id="L14147" class="LineNr">14147 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/4"</span>) -<span id="L14148" class="LineNr">14148 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/5"</span>) -<span id="L14149" class="LineNr">14149 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/6"</span>) -<span id="L14150" class="LineNr">14150 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/7"</span>) -<span id="L14151" class="LineNr">14151 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/8"</span>) <span class="subxComment"># var x</span> -<span id="L14152" class="LineNr">14152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/9"</span>) -<span id="L14153" class="LineNr">14153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/10"</span>) -<span id="L14154" class="LineNr">14154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/11"</span>) <span class="subxComment"># var y</span> -<span id="L14155" class="LineNr">14155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/12"</span>) -<span id="L14156" class="LineNr">14156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/13"</span>) -<span id="L14157" class="LineNr">14157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/14"</span>) -<span id="L14158" class="LineNr">14158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/15"</span>) -<span id="L14159" class="LineNr">14159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/16"</span>) -<span id="L14160" class="LineNr">14160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/17"</span>) -<span id="L14161" class="LineNr">14161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/18"</span>) -<span id="L14162" class="LineNr">14162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/19"</span>) -<span id="L14163" class="LineNr">14163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/20"</span>) -<span id="L14164" class="LineNr">14164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy %eax 0/imm32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/21"</span>) -<span id="L14165" class="LineNr">14165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/21"</span>) -<span id="L14166" class="LineNr">14166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/21"</span>) -<span id="L14167" class="LineNr">14167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/22"</span>) +<span id="L14145" class="LineNr">14145 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 55/push-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/2"</span>) +<span id="L14146" class="LineNr">14146 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %ebp 4/r32/esp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/3"</span>) +<span id="L14147" class="LineNr">14147 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/4"</span>) +<span id="L14148" class="LineNr">14148 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/5"</span>) +<span id="L14149" class="LineNr">14149 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/6"</span>) +<span id="L14150" class="LineNr">14150 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/7"</span>) +<span id="L14151" class="LineNr">14151 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/8"</span>) <span class="subxComment"># var x</span> +<span id="L14152" class="LineNr">14152 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" {"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/9"</span>) +<span id="L14153" class="LineNr">14153 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:loop:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/10"</span>) +<span id="L14154" class="LineNr">14154 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 68/push 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/11"</span>) <span class="subxComment"># var y</span> +<span id="L14155" class="LineNr">14155 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 8b/-> *(ebp+0xfffffff8) 0x00000000/r32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/12"</span>) +<span id="L14156" class="LineNr">14156 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/13"</span>) +<span id="L14157" class="LineNr">14157 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/14"</span>) +<span id="L14158" class="LineNr">14158 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/15"</span>) +<span id="L14159" class="LineNr">14159 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/16"</span>) +<span id="L14160" class="LineNr">14160 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000003:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/17"</span>) +<span id="L14161" class="LineNr">14161 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 81 0/subop/add %esp 0x00000004/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/18"</span>) +<span id="L14162" class="LineNr">14162 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/19"</span>) +<span id="L14163" class="LineNr">14163 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000002:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/20"</span>) +<span id="L14164" class="LineNr">14164 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c7 0/subop/copy %eax 0/imm32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/21"</span>) +<span id="L14165" class="LineNr">14165 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" e9/jump $foo:0x00000001:break/disp32"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/21"</span>) +<span id="L14166" class="LineNr">14166 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" }"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/21"</span>) +<span id="L14167" class="LineNr">14167 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">"$foo:0x00000001:break:"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/22"</span>) <span id="L14168" class="LineNr">14168 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" # . epilogue"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/23"</span>) -<span id="L14169" class="LineNr">14169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/24"</span>) -<span id="L14170" class="LineNr">14170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/25"</span>) -<span id="L14171" class="LineNr">14171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - test-convert-function-with-return-and-local-vars/26"</span>) +<span id="L14169" class="LineNr">14169 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 89/<- %esp 5/r32/ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/24"</span>) +<span id="L14170" class="LineNr">14170 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" 5d/pop-to-ebp"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/25"</span>) +<span id="L14171" class="LineNr">14171 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">" c3/return"</span> <span class="Constant">"F - <a href='mu.subx.html#L14112'>test-convert-function-with-return-and-local-vars</a>/26"</span>) <span id="L14172" class="LineNr">14172 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L14173" class="LineNr">14173 </span> 89/<- %esp 5/r32/ebp <span id="L14174" class="LineNr">14174 </span> 5d/pop-to-ebp @@ -12867,7 +12867,7 @@ if ('onhashchange' in window) { <span id="L14195" class="LineNr">14195 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object\n"</span>) <span id="L14196" class="LineNr">14196 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14197" class="LineNr">14197 </span> <span class="subxComment"># convert</span> -<span id="L14198" class="LineNr">14198 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14198" class="LineNr">14198 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14199" class="LineNr">14199 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14200" class="LineNr">14200 </span> <span class="subxComment"># restore ed</span> <span id="L14201" class="LineNr">14201 </span> 89/<- %edx 4/r32/esp @@ -12875,10 +12875,10 @@ if ('onhashchange' in window) { <span id="L14203" class="LineNr">14203 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14204" class="Folded">14204 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14210" class="LineNr">14210 </span> <span class="subxComment"># check output</span> -<span id="L14211" class="LineNr">14211 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-with-no-inout: output should be empty"</span>) -<span id="L14212" class="LineNr">14212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - test-copy-object-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14211" class="LineNr">14211 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14177'>test-copy-object-with-no-inout</a>: output should be empty"</span>) +<span id="L14212" class="LineNr">14212 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L14177'>test-copy-object-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14213" class="LineNr">14213 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14214" class="LineNr">14214 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-with-no-inout: exit status"</span>) +<span id="L14214" class="LineNr">14214 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14177'>test-copy-object-with-no-inout</a>: exit status"</span>) <span id="L14215" class="LineNr">14215 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14216" class="LineNr">14216 </span> 81 0/subop/add %esp 8/imm32 <span id="L14217" class="LineNr">14217 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12907,7 +12907,7 @@ if ('onhashchange' in window) { <span id="L14240" class="LineNr">14240 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object x\n"</span>) <span id="L14241" class="LineNr">14241 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14242" class="LineNr">14242 </span> <span class="subxComment"># convert</span> -<span id="L14243" class="LineNr">14243 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14243" class="LineNr">14243 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14244" class="LineNr">14244 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14245" class="LineNr">14245 </span> <span class="subxComment"># restore ed</span> <span id="L14246" class="LineNr">14246 </span> 89/<- %edx 4/r32/esp @@ -12915,10 +12915,10 @@ if ('onhashchange' in window) { <span id="L14248" class="LineNr">14248 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14249" class="Folded">14249 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14255" class="LineNr">14255 </span> <span class="subxComment"># check output</span> -<span id="L14256" class="LineNr">14256 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-with-no-source: output should be empty"</span>) -<span id="L14257" class="LineNr">14257 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - test-copy-object-with-no-source: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14256" class="LineNr">14256 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14221'>test-copy-object-with-no-source</a>: output should be empty"</span>) +<span id="L14257" class="LineNr">14257 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L14221'>test-copy-object-with-no-source</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14258" class="LineNr">14258 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14259" class="LineNr">14259 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-with-no-source: exit status"</span>) +<span id="L14259" class="LineNr">14259 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14221'>test-copy-object-with-no-source</a>: exit status"</span>) <span id="L14260" class="LineNr">14260 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14261" class="LineNr">14261 </span> 81 0/subop/add %esp 8/imm32 <span id="L14262" class="LineNr">14262 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12947,7 +12947,7 @@ if ('onhashchange' in window) { <span id="L14285" class="LineNr">14285 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object x, x, x\n"</span>) <span id="L14286" class="LineNr">14286 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14287" class="LineNr">14287 </span> <span class="subxComment"># convert</span> -<span id="L14288" class="LineNr">14288 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14288" class="LineNr">14288 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14289" class="LineNr">14289 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14290" class="LineNr">14290 </span> <span class="subxComment"># restore ed</span> <span id="L14291" class="LineNr">14291 </span> 89/<- %edx 4/r32/esp @@ -12955,10 +12955,10 @@ if ('onhashchange' in window) { <span id="L14293" class="LineNr">14293 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14294" class="Folded">14294 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14300" class="LineNr">14300 </span> <span class="subxComment"># check output</span> -<span id="L14301" class="LineNr">14301 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-with-too-many-inouts: output should be empty"</span>) -<span id="L14302" class="LineNr">14302 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - test-copy-object-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14301" class="LineNr">14301 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14266'>test-copy-object-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L14302" class="LineNr">14302 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L14266'>test-copy-object-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14303" class="LineNr">14303 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14304" class="LineNr">14304 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-with-too-many-inouts: exit status"</span>) +<span id="L14304" class="LineNr">14304 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14266'>test-copy-object-with-too-many-inouts</a>: exit status"</span>) <span id="L14305" class="LineNr">14305 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14306" class="LineNr">14306 </span> 81 0/subop/add %esp 8/imm32 <span id="L14307" class="LineNr">14307 </span> <span class="subxS1Comment"># . epilogue</span> @@ -12988,7 +12988,7 @@ if ('onhashchange' in window) { <span id="L14331" class="LineNr">14331 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- copy-object x, y\n"</span>) <span id="L14332" class="LineNr">14332 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14333" class="LineNr">14333 </span> <span class="subxComment"># convert</span> -<span id="L14334" class="LineNr">14334 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14334" class="LineNr">14334 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14335" class="LineNr">14335 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14336" class="LineNr">14336 </span> <span class="subxComment"># restore ed</span> <span id="L14337" class="LineNr">14337 </span> 89/<- %edx 4/r32/esp @@ -12996,10 +12996,10 @@ if ('onhashchange' in window) { <span id="L14339" class="LineNr">14339 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14340" class="Folded">14340 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14346" class="LineNr">14346 </span> <span class="subxComment"># check output</span> -<span id="L14347" class="LineNr">14347 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-with-output: output should be empty"</span>) -<span id="L14348" class="LineNr">14348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must not have any outputs"</span> <span class="Constant">"F - test-copy-object-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14347" class="LineNr">14347 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14311'>test-copy-object-with-output</a>: output should be empty"</span>) +<span id="L14348" class="LineNr">14348 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'copy-object' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L14311'>test-copy-object-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14349" class="LineNr">14349 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14350" class="LineNr">14350 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-with-output: exit status"</span>) +<span id="L14350" class="LineNr">14350 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14311'>test-copy-object-with-output</a>: exit status"</span>) <span id="L14351" class="LineNr">14351 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14352" class="LineNr">14352 </span> 81 0/subop/add %esp 8/imm32 <span id="L14353" class="LineNr">14353 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13022,7 +13022,7 @@ if ('onhashchange' in window) { <span id="L14370" class="LineNr">14370 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object *y, x\n"</span>) <span id="L14371" class="LineNr">14371 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14372" class="LineNr">14372 </span> <span class="subxComment"># convert</span> -<span id="L14373" class="LineNr">14373 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L14373" class="LineNr">14373 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L14374" class="LineNr">14374 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L14375" class="LineNr">14375 </span> <span class="subxComment"># no errors</span> <span id="L14376" class="LineNr">14376 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13052,7 +13052,7 @@ if ('onhashchange' in window) { <span id="L14400" class="LineNr">14400 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object y, x\n"</span>) <span id="L14401" class="LineNr">14401 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14402" class="LineNr">14402 </span> <span class="subxComment"># convert</span> -<span id="L14403" class="LineNr">14403 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14403" class="LineNr">14403 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14404" class="LineNr">14404 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14405" class="LineNr">14405 </span> <span class="subxComment"># restore ed</span> <span id="L14406" class="LineNr">14406 </span> 89/<- %edx 4/r32/esp @@ -13060,10 +13060,10 @@ if ('onhashchange' in window) { <span id="L14408" class="LineNr">14408 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14409" class="Folded">14409 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14415" class="LineNr">14415 </span> <span class="subxComment"># check output</span> -<span id="L14416" class="LineNr">14416 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-non-addr: output should be empty"</span>) -<span id="L14417" class="LineNr">14417 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-object: two inouts with identical addr types expected"</span> <span class="Constant">"F - test-copy-object-non-addr: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14416" class="LineNr">14416 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14380'>test-copy-object-non-addr</a>: output should be empty"</span>) +<span id="L14417" class="LineNr">14417 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-object: two inouts with identical addr types expected"</span> <span class="Constant">"F - <a href='mu.subx.html#L14380'>test-copy-object-non-addr</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14418" class="LineNr">14418 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14419" class="LineNr">14419 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-non-addr: exit status"</span>) +<span id="L14419" class="LineNr">14419 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14380'>test-copy-object-non-addr</a>: exit status"</span>) <span id="L14420" class="LineNr">14420 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14421" class="LineNr">14421 </span> 81 0/subop/add %esp 8/imm32 <span id="L14422" class="LineNr">14422 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13093,7 +13093,7 @@ if ('onhashchange' in window) { <span id="L14446" class="LineNr">14446 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" copy-object y, x\n"</span>) <span id="L14447" class="LineNr">14447 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14448" class="LineNr">14448 </span> <span class="subxComment"># convert</span> -<span id="L14449" class="LineNr">14449 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14449" class="LineNr">14449 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14450" class="LineNr">14450 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14451" class="LineNr">14451 </span> <span class="subxComment"># restore ed</span> <span id="L14452" class="LineNr">14452 </span> 89/<- %edx 4/r32/esp @@ -13101,10 +13101,10 @@ if ('onhashchange' in window) { <span id="L14454" class="LineNr">14454 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14455" class="Folded">14455 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14461" class="LineNr">14461 </span> <span class="subxComment"># check output</span> -<span id="L14462" class="LineNr">14462 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-copy-object-non-equal: output should be empty"</span>) -<span id="L14463" class="LineNr">14463 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-object: two inouts with identical addr types expected"</span> <span class="Constant">"F - test-copy-object-non-equal: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14462" class="LineNr">14462 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14426'>test-copy-object-non-equal</a>: output should be empty"</span>) +<span id="L14463" class="LineNr">14463 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt copy-object: two inouts with identical addr types expected"</span> <span class="Constant">"F - <a href='mu.subx.html#L14426'>test-copy-object-non-equal</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14464" class="LineNr">14464 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14465" class="LineNr">14465 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-copy-object-non-equal: exit status"</span>) +<span id="L14465" class="LineNr">14465 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14426'>test-copy-object-non-equal</a>: exit status"</span>) <span id="L14466" class="LineNr">14466 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14467" class="LineNr">14467 </span> 81 0/subop/add %esp 8/imm32 <span id="L14468" class="LineNr">14468 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13132,7 +13132,7 @@ if ('onhashchange' in window) { <span id="L14490" class="LineNr">14490 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" allocate\n"</span>) <span id="L14491" class="LineNr">14491 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14492" class="LineNr">14492 </span> <span class="subxComment"># convert</span> -<span id="L14493" class="LineNr">14493 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14493" class="LineNr">14493 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14494" class="LineNr">14494 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14495" class="LineNr">14495 </span> <span class="subxComment"># restore ed</span> <span id="L14496" class="LineNr">14496 </span> 89/<- %edx 4/r32/esp @@ -13140,10 +13140,10 @@ if ('onhashchange' in window) { <span id="L14498" class="LineNr">14498 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14499" class="Folded">14499 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14505" class="LineNr">14505 </span> <span class="subxComment"># check output</span> -<span id="L14506" class="LineNr">14506 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-allocate-with-no-inout: output should be empty"</span>) -<span id="L14507" class="LineNr">14507 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must have a single inout"</span> <span class="Constant">"F - test-allocate-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14506" class="LineNr">14506 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14472'>test-allocate-with-no-inout</a>: output should be empty"</span>) +<span id="L14507" class="LineNr">14507 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must have a single inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L14472'>test-allocate-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14508" class="LineNr">14508 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14509" class="LineNr">14509 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-allocate-with-no-inout: exit status"</span>) +<span id="L14509" class="LineNr">14509 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14472'>test-allocate-with-no-inout</a>: exit status"</span>) <span id="L14510" class="LineNr">14510 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14511" class="LineNr">14511 </span> 81 0/subop/add %esp 8/imm32 <span id="L14512" class="LineNr">14512 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13172,7 +13172,7 @@ if ('onhashchange' in window) { <span id="L14535" class="LineNr">14535 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='120allocate.subx.html#L66'>allocate</a> x, 0\n"</span>) <span id="L14536" class="LineNr">14536 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14537" class="LineNr">14537 </span> <span class="subxComment"># convert</span> -<span id="L14538" class="LineNr">14538 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14538" class="LineNr">14538 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14539" class="LineNr">14539 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14540" class="LineNr">14540 </span> <span class="subxComment"># restore ed</span> <span id="L14541" class="LineNr">14541 </span> 89/<- %edx 4/r32/esp @@ -13180,10 +13180,10 @@ if ('onhashchange' in window) { <span id="L14543" class="LineNr">14543 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14544" class="Folded">14544 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14550" class="LineNr">14550 </span> <span class="subxComment"># check output</span> -<span id="L14551" class="LineNr">14551 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-allocate-with-too-many-inouts: output should be empty"</span>) -<span id="L14552" class="LineNr">14552 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must have a single inout"</span> <span class="Constant">"F - test-allocate-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14551" class="LineNr">14551 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14516'>test-allocate-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L14552" class="LineNr">14552 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must have a single inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L14516'>test-allocate-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14553" class="LineNr">14553 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14554" class="LineNr">14554 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-allocate-with-too-many-inouts: exit status"</span>) +<span id="L14554" class="LineNr">14554 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14516'>test-allocate-with-too-many-inouts</a>: exit status"</span>) <span id="L14555" class="LineNr">14555 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14556" class="LineNr">14556 </span> 81 0/subop/add %esp 8/imm32 <span id="L14557" class="LineNr">14557 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13213,7 +13213,7 @@ if ('onhashchange' in window) { <span id="L14581" class="LineNr">14581 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- <a href='120allocate.subx.html#L66'>allocate</a> y\n"</span>) <span id="L14582" class="LineNr">14582 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14583" class="LineNr">14583 </span> <span class="subxComment"># convert</span> -<span id="L14584" class="LineNr">14584 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14584" class="LineNr">14584 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14585" class="LineNr">14585 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14586" class="LineNr">14586 </span> <span class="subxComment"># restore ed</span> <span id="L14587" class="LineNr">14587 </span> 89/<- %edx 4/r32/esp @@ -13221,10 +13221,10 @@ if ('onhashchange' in window) { <span id="L14589" class="LineNr">14589 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14590" class="Folded">14590 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14596" class="LineNr">14596 </span> <span class="subxComment"># check output</span> -<span id="L14597" class="LineNr">14597 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-allocate-with-output: output should be empty"</span>) -<span id="L14598" class="LineNr">14598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must not have any outputs"</span> <span class="Constant">"F - test-allocate-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14597" class="LineNr">14597 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14561'>test-allocate-with-output</a>: output should be empty"</span>) +<span id="L14598" class="LineNr">14598 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'allocate' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L14561'>test-allocate-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14599" class="LineNr">14599 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14600" class="LineNr">14600 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-allocate-with-output: exit status"</span>) +<span id="L14600" class="LineNr">14600 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14561'>test-allocate-with-output</a>: exit status"</span>) <span id="L14601" class="LineNr">14601 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14602" class="LineNr">14602 </span> 81 0/subop/add %esp 8/imm32 <span id="L14603" class="LineNr">14603 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13253,7 +13253,7 @@ if ('onhashchange' in window) { <span id="L14626" class="LineNr">14626 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='120allocate.subx.html#L66'>allocate</a> y\n"</span>) <span id="L14627" class="LineNr">14627 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14628" class="LineNr">14628 </span> <span class="subxComment"># convert</span> -<span id="L14629" class="LineNr">14629 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14629" class="LineNr">14629 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14630" class="LineNr">14630 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14631" class="LineNr">14631 </span> <span class="subxComment"># restore ed</span> <span id="L14632" class="LineNr">14632 </span> 89/<- %edx 4/r32/esp @@ -13261,10 +13261,10 @@ if ('onhashchange' in window) { <span id="L14634" class="LineNr">14634 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14635" class="Folded">14635 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14641" class="LineNr">14641 </span> <span class="subxComment"># check output</span> -<span id="L14642" class="LineNr">14642 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-allocate-non-addr: output must be empty"</span>) -<span id="L14643" class="LineNr">14643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='120allocate.subx.html#L66'>allocate</a>: inout 'y' must have type (addr handle ...)"</span> <span class="Constant">"F - test-allocate-non-addr: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14642" class="LineNr">14642 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14607'>test-allocate-non-addr</a>: output must be empty"</span>) +<span id="L14643" class="LineNr">14643 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='120allocate.subx.html#L66'>allocate</a>: inout 'y' must have type (addr handle ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L14607'>test-allocate-non-addr</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14644" class="LineNr">14644 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14645" class="LineNr">14645 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-allocate-non-addr: exit status"</span>) +<span id="L14645" class="LineNr">14645 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14607'>test-allocate-non-addr</a>: exit status"</span>) <span id="L14646" class="LineNr">14646 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14647" class="LineNr">14647 </span> 81 0/subop/add %esp 8/imm32 <span id="L14648" class="LineNr">14648 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13293,7 +13293,7 @@ if ('onhashchange' in window) { <span id="L14671" class="LineNr">14671 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='120allocate.subx.html#L66'>allocate</a> y\n"</span>) <span id="L14672" class="LineNr">14672 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14673" class="LineNr">14673 </span> <span class="subxComment"># convert</span> -<span id="L14674" class="LineNr">14674 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14674" class="LineNr">14674 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14675" class="LineNr">14675 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14676" class="LineNr">14676 </span> <span class="subxComment"># restore ed</span> <span id="L14677" class="LineNr">14677 </span> 89/<- %edx 4/r32/esp @@ -13301,10 +13301,10 @@ if ('onhashchange' in window) { <span id="L14679" class="LineNr">14679 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14680" class="Folded">14680 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14686" class="LineNr">14686 </span> <span class="subxComment"># check output</span> -<span id="L14687" class="LineNr">14687 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-allocate-non-addr-handle: output should be empty"</span>) -<span id="L14688" class="LineNr">14688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='120allocate.subx.html#L66'>allocate</a>: inout 'y' must have type (addr handle ...)"</span> <span class="Constant">"F - test-allocate-non-addr-handle: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14687" class="LineNr">14687 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14652'>test-allocate-non-addr-handle</a>: output should be empty"</span>) +<span id="L14688" class="LineNr">14688 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt <a href='120allocate.subx.html#L66'>allocate</a>: inout 'y' must have type (addr handle ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L14652'>test-allocate-non-addr-handle</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14689" class="LineNr">14689 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14690" class="LineNr">14690 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-allocate-non-addr-handle: exit status"</span>) +<span id="L14690" class="LineNr">14690 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14652'>test-allocate-non-addr-handle</a>: exit status"</span>) <span id="L14691" class="LineNr">14691 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14692" class="LineNr">14692 </span> 81 0/subop/add %esp 8/imm32 <span id="L14693" class="LineNr">14693 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13326,7 +13326,7 @@ if ('onhashchange' in window) { <span id="L14709" class="LineNr">14709 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" <a href='120allocate.subx.html#L66'>allocate</a> *y\n"</span>) <span id="L14710" class="LineNr">14710 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14711" class="LineNr">14711 </span> <span class="subxComment"># convert</span> -<span id="L14712" class="LineNr">14712 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L14712" class="LineNr">14712 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L14713" class="LineNr">14713 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L14714" class="LineNr">14714 </span> <span class="subxComment"># no errors</span> <span id="L14715" class="LineNr">14715 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13354,7 +13354,7 @@ if ('onhashchange' in window) { <span id="L14737" class="LineNr">14737 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate\n"</span>) <span id="L14738" class="LineNr">14738 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14739" class="LineNr">14739 </span> <span class="subxComment"># convert</span> -<span id="L14740" class="LineNr">14740 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14740" class="LineNr">14740 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14741" class="LineNr">14741 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14742" class="LineNr">14742 </span> <span class="subxComment"># restore ed</span> <span id="L14743" class="LineNr">14743 </span> 89/<- %edx 4/r32/esp @@ -13362,10 +13362,10 @@ if ('onhashchange' in window) { <span id="L14745" class="LineNr">14745 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14746" class="Folded">14746 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14752" class="LineNr">14752 </span> <span class="subxComment"># check output</span> -<span id="L14753" class="LineNr">14753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-with-no-inout: output should be empty"</span>) -<span id="L14754" class="LineNr">14754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must have two inouts"</span> <span class="Constant">"F - test-populate-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14753" class="LineNr">14753 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14719'>test-populate-with-no-inout</a>: output should be empty"</span>) +<span id="L14754" class="LineNr">14754 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L14719'>test-populate-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14755" class="LineNr">14755 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14756" class="LineNr">14756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-with-no-inout: exit status"</span>) +<span id="L14756" class="LineNr">14756 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14719'>test-populate-with-no-inout</a>: exit status"</span>) <span id="L14757" class="LineNr">14757 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14758" class="LineNr">14758 </span> 81 0/subop/add %esp 8/imm32 <span id="L14759" class="LineNr">14759 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13394,7 +13394,7 @@ if ('onhashchange' in window) { <span id="L14782" class="LineNr">14782 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate x, 3, 0\n"</span>) <span id="L14783" class="LineNr">14783 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14784" class="LineNr">14784 </span> <span class="subxComment"># convert</span> -<span id="L14785" class="LineNr">14785 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14785" class="LineNr">14785 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14786" class="LineNr">14786 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14787" class="LineNr">14787 </span> <span class="subxComment"># restore ed</span> <span id="L14788" class="LineNr">14788 </span> 89/<- %edx 4/r32/esp @@ -13402,10 +13402,10 @@ if ('onhashchange' in window) { <span id="L14790" class="LineNr">14790 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14791" class="Folded">14791 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14797" class="LineNr">14797 </span> <span class="subxComment"># check output</span> -<span id="L14798" class="LineNr">14798 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-with-too-many-inouts: output should be empty"</span>) -<span id="L14799" class="LineNr">14799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must have two inouts"</span> <span class="Constant">"F - test-populate-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14798" class="LineNr">14798 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14763'>test-populate-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L14799" class="LineNr">14799 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L14763'>test-populate-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14800" class="LineNr">14800 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14801" class="LineNr">14801 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-with-too-many-inouts: exit status"</span>) +<span id="L14801" class="LineNr">14801 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14763'>test-populate-with-too-many-inouts</a>: exit status"</span>) <span id="L14802" class="LineNr">14802 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14803" class="LineNr">14803 </span> 81 0/subop/add %esp 8/imm32 <span id="L14804" class="LineNr">14804 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13435,7 +13435,7 @@ if ('onhashchange' in window) { <span id="L14828" class="LineNr">14828 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- populate y\n"</span>) <span id="L14829" class="LineNr">14829 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14830" class="LineNr">14830 </span> <span class="subxComment"># convert</span> -<span id="L14831" class="LineNr">14831 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14831" class="LineNr">14831 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14832" class="LineNr">14832 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14833" class="LineNr">14833 </span> <span class="subxComment"># restore ed</span> <span id="L14834" class="LineNr">14834 </span> 89/<- %edx 4/r32/esp @@ -13443,10 +13443,10 @@ if ('onhashchange' in window) { <span id="L14836" class="LineNr">14836 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14837" class="Folded">14837 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14843" class="LineNr">14843 </span> <span class="subxComment"># check output</span> -<span id="L14844" class="LineNr">14844 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-with-output: output should be empty"</span>) -<span id="L14845" class="LineNr">14845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must not have any outputs"</span> <span class="Constant">"F - test-populate-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14844" class="LineNr">14844 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14808'>test-populate-with-output</a>: output should be empty"</span>) +<span id="L14845" class="LineNr">14845 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L14808'>test-populate-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14846" class="LineNr">14846 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14847" class="LineNr">14847 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-with-output: exit status"</span>) +<span id="L14847" class="LineNr">14847 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14808'>test-populate-with-output</a>: exit status"</span>) <span id="L14848" class="LineNr">14848 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14849" class="LineNr">14849 </span> 81 0/subop/add %esp 8/imm32 <span id="L14850" class="LineNr">14850 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13475,7 +13475,7 @@ if ('onhashchange' in window) { <span id="L14873" class="LineNr">14873 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate y, 3\n"</span>) <span id="L14874" class="LineNr">14874 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14875" class="LineNr">14875 </span> <span class="subxComment"># convert</span> -<span id="L14876" class="LineNr">14876 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14876" class="LineNr">14876 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14877" class="LineNr">14877 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14878" class="LineNr">14878 </span> <span class="subxComment"># restore ed</span> <span id="L14879" class="LineNr">14879 </span> 89/<- %edx 4/r32/esp @@ -13483,10 +13483,10 @@ if ('onhashchange' in window) { <span id="L14881" class="LineNr">14881 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14882" class="Folded">14882 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14888" class="LineNr">14888 </span> <span class="subxComment"># check output</span> -<span id="L14889" class="LineNr">14889 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-non-addr: output must be empty"</span>) -<span id="L14890" class="LineNr">14890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - test-populate-non-addr: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14889" class="LineNr">14889 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14854'>test-populate-non-addr</a>: output must be empty"</span>) +<span id="L14890" class="LineNr">14890 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L14854'>test-populate-non-addr</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14891" class="LineNr">14891 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14892" class="LineNr">14892 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-non-addr: exit status"</span>) +<span id="L14892" class="LineNr">14892 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14854'>test-populate-non-addr</a>: exit status"</span>) <span id="L14893" class="LineNr">14893 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14894" class="LineNr">14894 </span> 81 0/subop/add %esp 8/imm32 <span id="L14895" class="LineNr">14895 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13515,7 +13515,7 @@ if ('onhashchange' in window) { <span id="L14918" class="LineNr">14918 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate y, 3\n"</span>) <span id="L14919" class="LineNr">14919 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14920" class="LineNr">14920 </span> <span class="subxComment"># convert</span> -<span id="L14921" class="LineNr">14921 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14921" class="LineNr">14921 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14922" class="LineNr">14922 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14923" class="LineNr">14923 </span> <span class="subxComment"># restore ed</span> <span id="L14924" class="LineNr">14924 </span> 89/<- %edx 4/r32/esp @@ -13523,10 +13523,10 @@ if ('onhashchange' in window) { <span id="L14926" class="LineNr">14926 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14927" class="Folded">14927 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14933" class="LineNr">14933 </span> <span class="subxComment"># check output</span> -<span id="L14934" class="LineNr">14934 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-non-addr-handle: output should be empty"</span>) -<span id="L14935" class="LineNr">14935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - test-populate-non-addr-handle: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14934" class="LineNr">14934 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14899'>test-populate-non-addr-handle</a>: output should be empty"</span>) +<span id="L14935" class="LineNr">14935 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L14899'>test-populate-non-addr-handle</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14936" class="LineNr">14936 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14937" class="LineNr">14937 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-non-addr-handle: exit status"</span>) +<span id="L14937" class="LineNr">14937 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14899'>test-populate-non-addr-handle</a>: exit status"</span>) <span id="L14938" class="LineNr">14938 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14939" class="LineNr">14939 </span> 81 0/subop/add %esp 8/imm32 <span id="L14940" class="LineNr">14940 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13555,7 +13555,7 @@ if ('onhashchange' in window) { <span id="L14963" class="LineNr">14963 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate y, 3\n"</span>) <span id="L14964" class="LineNr">14964 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L14965" class="LineNr">14965 </span> <span class="subxComment"># convert</span> -<span id="L14966" class="LineNr">14966 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L14966" class="LineNr">14966 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L14967" class="LineNr">14967 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L14968" class="LineNr">14968 </span> <span class="subxComment"># restore ed</span> <span id="L14969" class="LineNr">14969 </span> 89/<- %edx 4/r32/esp @@ -13563,10 +13563,10 @@ if ('onhashchange' in window) { <span id="L14971" class="LineNr">14971 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L14972" class="Folded">14972 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L14978" class="LineNr">14978 </span> <span class="subxComment"># check output</span> -<span id="L14979" class="LineNr">14979 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-non-addr-handle-array: output should be empty"</span>) -<span id="L14980" class="LineNr">14980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - test-populate-non-addr-handle-array: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L14979" class="LineNr">14979 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L14944'>test-populate-non-addr-handle-array</a>: output should be empty"</span>) +<span id="L14980" class="LineNr">14980 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate: first inout 'y' must have type (addr handle array ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L14944'>test-populate-non-addr-handle-array</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L14981" class="LineNr">14981 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L14982" class="LineNr">14982 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-non-addr-handle-array: exit status"</span>) +<span id="L14982" class="LineNr">14982 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L14944'>test-populate-non-addr-handle-array</a>: exit status"</span>) <span id="L14983" class="LineNr">14983 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L14984" class="LineNr">14984 </span> 81 0/subop/add %esp 8/imm32 <span id="L14985" class="LineNr">14985 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13588,7 +13588,7 @@ if ('onhashchange' in window) { <span id="L15001" class="LineNr">15001 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate *y, 3\n"</span>) <span id="L15002" class="LineNr">15002 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15003" class="LineNr">15003 </span> <span class="subxComment"># convert</span> -<span id="L15004" class="LineNr">15004 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L15004" class="LineNr">15004 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L15005" class="LineNr">15005 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L15006" class="LineNr">15006 </span> <span class="subxComment"># no errors</span> <span id="L15007" class="LineNr">15007 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13616,7 +13616,7 @@ if ('onhashchange' in window) { <span id="L15029" class="LineNr">15029 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream\n"</span>) <span id="L15030" class="LineNr">15030 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15031" class="LineNr">15031 </span> <span class="subxComment"># convert</span> -<span id="L15032" class="LineNr">15032 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15032" class="LineNr">15032 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15033" class="LineNr">15033 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15034" class="LineNr">15034 </span> <span class="subxComment"># restore ed</span> <span id="L15035" class="LineNr">15035 </span> 89/<- %edx 4/r32/esp @@ -13624,10 +13624,10 @@ if ('onhashchange' in window) { <span id="L15037" class="LineNr">15037 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15038" class="Folded">15038 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15044" class="LineNr">15044 </span> <span class="subxComment"># check output</span> -<span id="L15045" class="LineNr">15045 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-with-no-inout: output should be empty"</span>) -<span id="L15046" class="LineNr">15046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must have two inouts"</span> <span class="Constant">"F - test-populate-stream-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15045" class="LineNr">15045 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15011'>test-populate-stream-with-no-inout</a>: output should be empty"</span>) +<span id="L15046" class="LineNr">15046 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L15011'>test-populate-stream-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15047" class="LineNr">15047 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15048" class="LineNr">15048 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-with-no-inout: exit status"</span>) +<span id="L15048" class="LineNr">15048 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15011'>test-populate-stream-with-no-inout</a>: exit status"</span>) <span id="L15049" class="LineNr">15049 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15050" class="LineNr">15050 </span> 81 0/subop/add %esp 8/imm32 <span id="L15051" class="LineNr">15051 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13656,7 +13656,7 @@ if ('onhashchange' in window) { <span id="L15074" class="LineNr">15074 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream x, 3, 0\n"</span>) <span id="L15075" class="LineNr">15075 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15076" class="LineNr">15076 </span> <span class="subxComment"># convert</span> -<span id="L15077" class="LineNr">15077 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15077" class="LineNr">15077 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15078" class="LineNr">15078 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15079" class="LineNr">15079 </span> <span class="subxComment"># restore ed</span> <span id="L15080" class="LineNr">15080 </span> 89/<- %edx 4/r32/esp @@ -13664,10 +13664,10 @@ if ('onhashchange' in window) { <span id="L15082" class="LineNr">15082 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15083" class="Folded">15083 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15089" class="LineNr">15089 </span> <span class="subxComment"># check output</span> -<span id="L15090" class="LineNr">15090 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-with-too-many-inouts: output should be empty"</span>) -<span id="L15091" class="LineNr">15091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must have two inouts"</span> <span class="Constant">"F - test-populate-stream-with-too-many-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15090" class="LineNr">15090 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15055'>test-populate-stream-with-too-many-inouts</a>: output should be empty"</span>) +<span id="L15091" class="LineNr">15091 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must have two inouts"</span> <span class="Constant">"F - <a href='mu.subx.html#L15055'>test-populate-stream-with-too-many-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15092" class="LineNr">15092 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15093" class="LineNr">15093 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-with-too-many-inouts: exit status"</span>) +<span id="L15093" class="LineNr">15093 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15055'>test-populate-stream-with-too-many-inouts</a>: exit status"</span>) <span id="L15094" class="LineNr">15094 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15095" class="LineNr">15095 </span> 81 0/subop/add %esp 8/imm32 <span id="L15096" class="LineNr">15096 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13697,7 +13697,7 @@ if ('onhashchange' in window) { <span id="L15120" class="LineNr">15120 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- populate-stream y\n"</span>) <span id="L15121" class="LineNr">15121 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15122" class="LineNr">15122 </span> <span class="subxComment"># convert</span> -<span id="L15123" class="LineNr">15123 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15123" class="LineNr">15123 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15124" class="LineNr">15124 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15125" class="LineNr">15125 </span> <span class="subxComment"># restore ed</span> <span id="L15126" class="LineNr">15126 </span> 89/<- %edx 4/r32/esp @@ -13705,10 +13705,10 @@ if ('onhashchange' in window) { <span id="L15128" class="LineNr">15128 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15129" class="Folded">15129 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15135" class="LineNr">15135 </span> <span class="subxComment"># check output</span> -<span id="L15136" class="LineNr">15136 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-with-output: output should be empty"</span>) -<span id="L15137" class="LineNr">15137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must not have any outputs"</span> <span class="Constant">"F - test-populate-stream-with-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15136" class="LineNr">15136 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15100'>test-populate-stream-with-output</a>: output should be empty"</span>) +<span id="L15137" class="LineNr">15137 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'populate-stream' must not have any outputs"</span> <span class="Constant">"F - <a href='mu.subx.html#L15100'>test-populate-stream-with-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15138" class="LineNr">15138 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15139" class="LineNr">15139 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-with-output: exit status"</span>) +<span id="L15139" class="LineNr">15139 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15100'>test-populate-stream-with-output</a>: exit status"</span>) <span id="L15140" class="LineNr">15140 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15141" class="LineNr">15141 </span> 81 0/subop/add %esp 8/imm32 <span id="L15142" class="LineNr">15142 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13737,7 +13737,7 @@ if ('onhashchange' in window) { <span id="L15165" class="LineNr">15165 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream y, 3\n"</span>) <span id="L15166" class="LineNr">15166 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15167" class="LineNr">15167 </span> <span class="subxComment"># convert</span> -<span id="L15168" class="LineNr">15168 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15168" class="LineNr">15168 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15169" class="LineNr">15169 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15170" class="LineNr">15170 </span> <span class="subxComment"># restore ed</span> <span id="L15171" class="LineNr">15171 </span> 89/<- %edx 4/r32/esp @@ -13745,10 +13745,10 @@ if ('onhashchange' in window) { <span id="L15173" class="LineNr">15173 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15174" class="Folded">15174 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15180" class="LineNr">15180 </span> <span class="subxComment"># check output</span> -<span id="L15181" class="LineNr">15181 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-non-addr: output must be empty"</span>) -<span id="L15182" class="LineNr">15182 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - test-populate-stream-non-addr: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15181" class="LineNr">15181 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15146'>test-populate-stream-non-addr</a>: output must be empty"</span>) +<span id="L15182" class="LineNr">15182 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L15146'>test-populate-stream-non-addr</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15183" class="LineNr">15183 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15184" class="LineNr">15184 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-non-addr: exit status"</span>) +<span id="L15184" class="LineNr">15184 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15146'>test-populate-stream-non-addr</a>: exit status"</span>) <span id="L15185" class="LineNr">15185 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15186" class="LineNr">15186 </span> 81 0/subop/add %esp 8/imm32 <span id="L15187" class="LineNr">15187 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13777,7 +13777,7 @@ if ('onhashchange' in window) { <span id="L15210" class="LineNr">15210 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream y, 3\n"</span>) <span id="L15211" class="LineNr">15211 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15212" class="LineNr">15212 </span> <span class="subxComment"># convert</span> -<span id="L15213" class="LineNr">15213 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15213" class="LineNr">15213 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15214" class="LineNr">15214 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15215" class="LineNr">15215 </span> <span class="subxComment"># restore ed</span> <span id="L15216" class="LineNr">15216 </span> 89/<- %edx 4/r32/esp @@ -13785,10 +13785,10 @@ if ('onhashchange' in window) { <span id="L15218" class="LineNr">15218 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15219" class="Folded">15219 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15225" class="LineNr">15225 </span> <span class="subxComment"># check output</span> -<span id="L15226" class="LineNr">15226 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-non-addr-handle: output should be empty"</span>) -<span id="L15227" class="LineNr">15227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - test-populate-stream-non-addr-handle: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15226" class="LineNr">15226 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15191'>test-populate-stream-non-addr-handle</a>: output should be empty"</span>) +<span id="L15227" class="LineNr">15227 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L15191'>test-populate-stream-non-addr-handle</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15228" class="LineNr">15228 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15229" class="LineNr">15229 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-non-addr-handle: exit status"</span>) +<span id="L15229" class="LineNr">15229 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15191'>test-populate-stream-non-addr-handle</a>: exit status"</span>) <span id="L15230" class="LineNr">15230 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15231" class="LineNr">15231 </span> 81 0/subop/add %esp 8/imm32 <span id="L15232" class="LineNr">15232 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13817,7 +13817,7 @@ if ('onhashchange' in window) { <span id="L15255" class="LineNr">15255 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream y, 3\n"</span>) <span id="L15256" class="LineNr">15256 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15257" class="LineNr">15257 </span> <span class="subxComment"># convert</span> -<span id="L15258" class="LineNr">15258 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15258" class="LineNr">15258 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15259" class="LineNr">15259 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15260" class="LineNr">15260 </span> <span class="subxComment"># restore ed</span> <span id="L15261" class="LineNr">15261 </span> 89/<- %edx 4/r32/esp @@ -13825,10 +13825,10 @@ if ('onhashchange' in window) { <span id="L15263" class="LineNr">15263 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15264" class="Folded">15264 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15270" class="LineNr">15270 </span> <span class="subxComment"># check output</span> -<span id="L15271" class="LineNr">15271 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-populate-stream-non-addr-handle-stream: output should be empty"</span>) -<span id="L15272" class="LineNr">15272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - test-populate-stream-non-addr-handle-stream: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15271" class="LineNr">15271 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15236'>test-populate-stream-non-addr-handle-stream</a>: output should be empty"</span>) +<span id="L15272" class="LineNr">15272 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt populate-stream: first inout 'y' must have type (addr handle stream ...)"</span> <span class="Constant">"F - <a href='mu.subx.html#L15236'>test-populate-stream-non-addr-handle-stream</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15273" class="LineNr">15273 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15274" class="LineNr">15274 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-populate-stream-non-addr-handle-stream: exit status"</span>) +<span id="L15274" class="LineNr">15274 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15236'>test-populate-stream-non-addr-handle-stream</a>: exit status"</span>) <span id="L15275" class="LineNr">15275 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15276" class="LineNr">15276 </span> 81 0/subop/add %esp 8/imm32 <span id="L15277" class="LineNr">15277 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13850,7 +13850,7 @@ if ('onhashchange' in window) { <span id="L15293" class="LineNr">15293 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" populate-stream *y, 3\n"</span>) <span id="L15294" class="LineNr">15294 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15295" class="LineNr">15295 </span> <span class="subxComment"># convert</span> -<span id="L15296" class="LineNr">15296 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L15296" class="LineNr">15296 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L15297" class="LineNr">15297 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L15298" class="LineNr">15298 </span> <span class="subxComment"># no errors</span> <span id="L15299" class="LineNr">15299 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13878,7 +13878,7 @@ if ('onhashchange' in window) { <span id="L15321" class="LineNr">15321 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: int <- convert\n"</span>) <span id="L15322" class="LineNr">15322 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15323" class="LineNr">15323 </span> <span class="subxComment"># convert</span> -<span id="L15324" class="LineNr">15324 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15324" class="LineNr">15324 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15325" class="LineNr">15325 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15326" class="LineNr">15326 </span> <span class="subxComment"># restore ed</span> <span id="L15327" class="LineNr">15327 </span> 89/<- %edx 4/r32/esp @@ -13886,10 +13886,10 @@ if ('onhashchange' in window) { <span id="L15329" class="LineNr">15329 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15330" class="Folded">15330 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15336" class="LineNr">15336 </span> <span class="subxComment"># check output</span> -<span id="L15337" class="LineNr">15337 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-with-no-inout: output should be empty"</span>) -<span id="L15338" class="LineNr">15338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' expects an inout"</span> <span class="Constant">"F - test-convert-with-no-inout: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15337" class="LineNr">15337 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15303'>test-convert-with-no-inout</a>: output should be empty"</span>) +<span id="L15338" class="LineNr">15338 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' expects an inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L15303'>test-convert-with-no-inout</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15339" class="LineNr">15339 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15340" class="LineNr">15340 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-with-no-inout: exit status"</span>) +<span id="L15340" class="LineNr">15340 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15303'>test-convert-with-no-inout</a>: exit status"</span>) <span id="L15341" class="LineNr">15341 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15342" class="LineNr">15342 </span> 81 0/subop/add %esp 8/imm32 <span id="L15343" class="LineNr">15343 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13917,7 +13917,7 @@ if ('onhashchange' in window) { <span id="L15365" class="LineNr">15365 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var x/eax: int <- convert 0, 0\n"</span>) <span id="L15366" class="LineNr">15366 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15367" class="LineNr">15367 </span> <span class="subxComment"># convert</span> -<span id="L15368" class="LineNr">15368 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15368" class="LineNr">15368 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15369" class="LineNr">15369 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15370" class="LineNr">15370 </span> <span class="subxComment"># restore ed</span> <span id="L15371" class="LineNr">15371 </span> 89/<- %edx 4/r32/esp @@ -13925,10 +13925,10 @@ if ('onhashchange' in window) { <span id="L15373" class="LineNr">15373 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15374" class="Folded">15374 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15380" class="LineNr">15380 </span> <span class="subxComment"># check output</span> -<span id="L15381" class="LineNr">15381 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-with-multiple-inouts: output should be empty"</span>) -<span id="L15382" class="LineNr">15382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' must have just one inout"</span> <span class="Constant">"F - test-convert-with-multiple-inouts: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15381" class="LineNr">15381 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15347'>test-convert-with-multiple-inouts</a>: output should be empty"</span>) +<span id="L15382" class="LineNr">15382 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' must have just one inout"</span> <span class="Constant">"F - <a href='mu.subx.html#L15347'>test-convert-with-multiple-inouts</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15383" class="LineNr">15383 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15384" class="LineNr">15384 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-with-multiple-inouts: exit status"</span>) +<span id="L15384" class="LineNr">15384 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15347'>test-convert-with-multiple-inouts</a>: exit status"</span>) <span id="L15385" class="LineNr">15385 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15386" class="LineNr">15386 </span> 81 0/subop/add %esp 8/imm32 <span id="L15387" class="LineNr">15387 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13956,7 +13956,7 @@ if ('onhashchange' in window) { <span id="L15409" class="LineNr">15409 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" convert 0\n"</span>) <span id="L15410" class="LineNr">15410 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15411" class="LineNr">15411 </span> <span class="subxComment"># convert</span> -<span id="L15412" class="LineNr">15412 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15412" class="LineNr">15412 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15413" class="LineNr">15413 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15414" class="LineNr">15414 </span> <span class="subxComment"># restore ed</span> <span id="L15415" class="LineNr">15415 </span> 89/<- %edx 4/r32/esp @@ -13964,10 +13964,10 @@ if ('onhashchange' in window) { <span id="L15417" class="LineNr">15417 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15418" class="Folded">15418 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15424" class="LineNr">15424 </span> <span class="subxComment"># check output</span> -<span id="L15425" class="LineNr">15425 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-with-no-output: output should be empty"</span>) -<span id="L15426" class="LineNr">15426 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' expects an output"</span> <span class="Constant">"F - test-convert-with-no-output: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15425" class="LineNr">15425 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15391'>test-convert-with-no-output</a>: output should be empty"</span>) +<span id="L15426" class="LineNr">15426 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' expects an output"</span> <span class="Constant">"F - <a href='mu.subx.html#L15391'>test-convert-with-no-output</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15427" class="LineNr">15427 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15428" class="LineNr">15428 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-with-no-output: exit status"</span>) +<span id="L15428" class="LineNr">15428 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15391'>test-convert-with-no-output</a>: exit status"</span>) <span id="L15429" class="LineNr">15429 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15430" class="LineNr">15430 </span> 81 0/subop/add %esp 8/imm32 <span id="L15431" class="LineNr">15431 </span> <span class="subxS1Comment"># . epilogue</span> @@ -13997,7 +13997,7 @@ if ('onhashchange' in window) { <span id="L15455" class="LineNr">15455 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x, y <- convert 0\n"</span>) <span id="L15456" class="LineNr">15456 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15457" class="LineNr">15457 </span> <span class="subxComment"># convert</span> -<span id="L15458" class="LineNr">15458 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15458" class="LineNr">15458 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15459" class="LineNr">15459 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15460" class="LineNr">15460 </span> <span class="subxComment"># restore ed</span> <span id="L15461" class="LineNr">15461 </span> 89/<- %edx 4/r32/esp @@ -14005,10 +14005,10 @@ if ('onhashchange' in window) { <span id="L15463" class="LineNr">15463 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15464" class="Folded">15464 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15470" class="LineNr">15470 </span> <span class="subxComment"># check output</span> -<span id="L15471" class="LineNr">15471 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-with-multiple-outputs: output should be empty"</span>) -<span id="L15472" class="LineNr">15472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' must have just one output"</span> <span class="Constant">"F - test-convert-with-multiple-outputs: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15471" class="LineNr">15471 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15435'>test-convert-with-multiple-outputs</a>: output should be empty"</span>) +<span id="L15472" class="LineNr">15472 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt 'convert' must have just one output"</span> <span class="Constant">"F - <a href='mu.subx.html#L15435'>test-convert-with-multiple-outputs</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15473" class="LineNr">15473 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15474" class="LineNr">15474 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-with-multiple-outputs: exit status"</span>) +<span id="L15474" class="LineNr">15474 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15435'>test-convert-with-multiple-outputs</a>: exit status"</span>) <span id="L15475" class="LineNr">15475 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15476" class="LineNr">15476 </span> 81 0/subop/add %esp 8/imm32 <span id="L15477" class="LineNr">15477 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14030,7 +14030,7 @@ if ('onhashchange' in window) { <span id="L15493" class="LineNr">15493 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/xmm4: float <- convert *x\n"</span>) <span id="L15494" class="LineNr">15494 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15495" class="LineNr">15495 </span> <span class="subxComment"># convert</span> -<span id="L15496" class="LineNr">15496 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L15496" class="LineNr">15496 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L15497" class="LineNr">15497 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L15498" class="LineNr">15498 </span> <span class="subxComment"># no errors</span> <span id="L15499" class="LineNr">15499 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14060,7 +14060,7 @@ if ('onhashchange' in window) { <span id="L15523" class="LineNr">15523 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" x <- convert y\n"</span>) <span id="L15524" class="LineNr">15524 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15525" class="LineNr">15525 </span> <span class="subxComment"># convert</span> -<span id="L15526" class="LineNr">15526 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15526" class="LineNr">15526 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15527" class="LineNr">15527 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15528" class="LineNr">15528 </span> <span class="subxComment"># restore ed</span> <span id="L15529" class="LineNr">15529 </span> 89/<- %edx 4/r32/esp @@ -14068,10 +14068,10 @@ if ('onhashchange' in window) { <span id="L15531" class="LineNr">15531 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15532" class="Folded">15532 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15538" class="LineNr">15538 </span> <span class="subxComment"># check output</span> -<span id="L15539" class="LineNr">15539 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-to-non-register: output should be empty"</span>) -<span id="L15540" class="LineNr">15540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: output 'x' not in a register"</span> <span class="Constant">"F - test-convert-to-non-register: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15539" class="LineNr">15539 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15503'>test-convert-to-non-register</a>: output should be empty"</span>) +<span id="L15540" class="LineNr">15540 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: output 'x' not in a register"</span> <span class="Constant">"F - <a href='mu.subx.html#L15503'>test-convert-to-non-register</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15541" class="LineNr">15541 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15542" class="LineNr">15542 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-to-non-register: exit status"</span>) +<span id="L15542" class="LineNr">15542 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15503'>test-convert-to-non-register</a>: exit status"</span>) <span id="L15543" class="LineNr">15543 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15544" class="LineNr">15544 </span> 81 0/subop/add %esp 8/imm32 <span id="L15545" class="LineNr">15545 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14100,7 +14100,7 @@ if ('onhashchange' in window) { <span id="L15568" class="LineNr">15568 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/xmm1: float <- convert x\n"</span>) <span id="L15569" class="LineNr">15569 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15570" class="LineNr">15570 </span> <span class="subxComment"># convert</span> -<span id="L15571" class="LineNr">15571 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15571" class="LineNr">15571 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15572" class="LineNr">15572 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15573" class="LineNr">15573 </span> <span class="subxComment"># restore ed</span> <span id="L15574" class="LineNr">15574 </span> 89/<- %edx 4/r32/esp @@ -14108,10 +14108,10 @@ if ('onhashchange' in window) { <span id="L15576" class="LineNr">15576 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15577" class="Folded">15577 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15583" class="LineNr">15583 </span> <span class="subxComment"># check output</span> -<span id="L15584" class="LineNr">15584 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-invalid-inout-type: output should be empty"</span>) -<span id="L15585" class="LineNr">15585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: inout 'x' must be an int or float"</span> <span class="Constant">"F - test-convert-invalid-inout-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15584" class="LineNr">15584 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15549'>test-convert-invalid-inout-type</a>: output should be empty"</span>) +<span id="L15585" class="LineNr">15585 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: inout 'x' must be an int or float"</span> <span class="Constant">"F - <a href='mu.subx.html#L15549'>test-convert-invalid-inout-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15586" class="LineNr">15586 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15587" class="LineNr">15587 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-invalid-inout-type: exit status"</span>) +<span id="L15587" class="LineNr">15587 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15549'>test-convert-invalid-inout-type</a>: exit status"</span>) <span id="L15588" class="LineNr">15588 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15589" class="LineNr">15589 </span> 81 0/subop/add %esp 8/imm32 <span id="L15590" class="LineNr">15590 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14140,7 +14140,7 @@ if ('onhashchange' in window) { <span id="L15613" class="LineNr">15613 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: boolean <- convert x\n"</span>) <span id="L15614" class="LineNr">15614 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15615" class="LineNr">15615 </span> <span class="subxComment"># convert</span> -<span id="L15616" class="LineNr">15616 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15616" class="LineNr">15616 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15617" class="LineNr">15617 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15618" class="LineNr">15618 </span> <span class="subxComment"># restore ed</span> <span id="L15619" class="LineNr">15619 </span> 89/<- %edx 4/r32/esp @@ -14148,10 +14148,10 @@ if ('onhashchange' in window) { <span id="L15621" class="LineNr">15621 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15622" class="Folded">15622 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15628" class="LineNr">15628 </span> <span class="subxComment"># check output</span> -<span id="L15629" class="LineNr">15629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-invalid-output-type: output should be empty"</span>) -<span id="L15630" class="LineNr">15630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: output 'y' must be an int or float"</span> <span class="Constant">"F - test-convert-invalid-output-type: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15629" class="LineNr">15629 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15594'>test-convert-invalid-output-type</a>: output should be empty"</span>) +<span id="L15630" class="LineNr">15630 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: output 'y' must be an int or float"</span> <span class="Constant">"F - <a href='mu.subx.html#L15594'>test-convert-invalid-output-type</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15631" class="LineNr">15631 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15632" class="LineNr">15632 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-invalid-output-type: exit status"</span>) +<span id="L15632" class="LineNr">15632 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15594'>test-convert-invalid-output-type</a>: exit status"</span>) <span id="L15633" class="LineNr">15633 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15634" class="LineNr">15634 </span> 81 0/subop/add %esp 8/imm32 <span id="L15635" class="LineNr">15635 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14180,7 +14180,7 @@ if ('onhashchange' in window) { <span id="L15658" class="LineNr">15658 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/eax: int <- convert x\n"</span>) <span id="L15659" class="LineNr">15659 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15660" class="LineNr">15660 </span> <span class="subxComment"># convert</span> -<span id="L15661" class="LineNr">15661 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15661" class="LineNr">15661 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15662" class="LineNr">15662 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15663" class="LineNr">15663 </span> <span class="subxComment"># restore ed</span> <span id="L15664" class="LineNr">15664 </span> 89/<- %edx 4/r32/esp @@ -14188,10 +14188,10 @@ if ('onhashchange' in window) { <span id="L15666" class="LineNr">15666 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15667" class="Folded">15667 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15673" class="LineNr">15673 </span> <span class="subxComment"># check output</span> -<span id="L15674" class="LineNr">15674 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-int-to-int: output should be empty"</span>) -<span id="L15675" class="LineNr">15675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: no need to convert int to int"</span> <span class="Constant">"F - test-convert-int-to-int: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15674" class="LineNr">15674 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15639'>test-convert-int-to-int</a>: output should be empty"</span>) +<span id="L15675" class="LineNr">15675 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: no need to convert int to int"</span> <span class="Constant">"F - <a href='mu.subx.html#L15639'>test-convert-int-to-int</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15676" class="LineNr">15676 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15677" class="LineNr">15677 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-int-to-int: exit status"</span>) +<span id="L15677" class="LineNr">15677 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15639'>test-convert-int-to-int</a>: exit status"</span>) <span id="L15678" class="LineNr">15678 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15679" class="LineNr">15679 </span> 81 0/subop/add %esp 8/imm32 <span id="L15680" class="LineNr">15680 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14220,7 +14220,7 @@ if ('onhashchange' in window) { <span id="L15703" class="LineNr">15703 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">" var y/xmm6: float <- convert x\n"</span>) <span id="L15704" class="LineNr">15704 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"}\n"</span>) <span id="L15705" class="LineNr">15705 </span> <span class="subxComment"># convert</span> -<span id="L15706" class="LineNr">15706 </span> (convert-mu <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) +<span id="L15706" class="LineNr">15706 </span> (<a href='mu.subx.html#L509'>convert-mu</a> <a href='112read-byte.subx.html#L405'>_test-input-buffered-file</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a> %edx) <span id="L15707" class="LineNr">15707 </span> <span class="subxComment"># registers except esp clobbered at this point</span> <span id="L15708" class="LineNr">15708 </span> <span class="subxComment"># restore ed</span> <span id="L15709" class="LineNr">15709 </span> 89/<- %edx 4/r32/esp @@ -14228,10 +14228,10 @@ if ('onhashchange' in window) { <span id="L15711" class="LineNr">15711 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L464'>_test-error-buffered-file</a>) <span id="L15712" class="Folded">15712 </span><span class="Folded">+-- 6 lines: #? # dump _test-error-stream ------------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L15718" class="LineNr">15718 </span> <span class="subxComment"># check output</span> -<span id="L15719" class="LineNr">15719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - test-convert-float-to-float: output should be empty"</span>) -<span id="L15720" class="LineNr">15720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: no need to convert float to float"</span> <span class="Constant">"F - test-convert-float-to-float: <a href='114error.subx.html#L9'>error</a> message"</span>) +<span id="L15719" class="LineNr">15719 </span> (<a href='109stream-equal.subx.html#L194'>check-stream-equal</a> <a href='115write-byte.subx.html#L287'>_test-output-stream</a> <span class="Constant">""</span> <span class="Constant">"F - <a href='mu.subx.html#L15684'>test-convert-float-to-float</a>: output should be empty"</span>) +<span id="L15720" class="LineNr">15720 </span> (<a href='109stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='115write-byte.subx.html#L438'>_test-error-stream</a> <span class="Constant">"fn foo: stmt convert: no need to convert float to float"</span> <span class="Constant">"F - <a href='mu.subx.html#L15684'>test-convert-float-to-float</a>: <a href='114error.subx.html#L9'>error</a> message"</span>) <span id="L15721" class="LineNr">15721 </span> <span class="subxComment"># check that stop(1) was called</span> -<span id="L15722" class="LineNr">15722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - test-convert-float-to-float: exit status"</span>) +<span id="L15722" class="LineNr">15722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L15684'>test-convert-float-to-float</a>: exit status"</span>) <span id="L15723" class="LineNr">15723 </span> <span class="subxComment"># don't restore from ebp</span> <span id="L15724" class="LineNr">15724 </span> 81 0/subop/add %esp 8/imm32 <span id="L15725" class="LineNr">15725 </span> <span class="subxS1Comment"># . epilogue</span> @@ -14295,7 +14295,7 @@ if ('onhashchange' in window) { <span id="L15783" class="LineNr">15783 </span> 55/push-ebp <span id="L15784" class="LineNr">15784 </span> 89/<- %ebp 4/r32/esp <span id="L15785" class="LineNr">15785 </span> <span class="subxComment"># var curr-signature: (addr handle function) at *(ebp-4)</span> -<span id="L15786" class="LineNr">15786 </span> 68/push _Program-signatures/imm32 +<span id="L15786" class="LineNr">15786 </span> 68/push <a href='mu.subx.html#L249'>_Program-signatures</a>/imm32 <span id="L15787" class="LineNr">15787 </span> <span class="subxS1Comment"># . save registers</span> <span id="L15788" class="LineNr">15788 </span> 50/push-eax <span id="L15789" class="LineNr">15789 </span> 51/push-ecx @@ -14314,7 +14314,7 @@ if ('onhashchange' in window) { <span id="L15802" class="LineNr">15802 </span> 68/push 0/imm32/start <span id="L15803" class="LineNr">15803 </span> 89/<- %edx 4/r32/esp <span id="L15804" class="LineNr">15804 </span> <span class="subxComment"># var curr-function/edi: (addr handle function)</span> -<span id="L15805" class="LineNr">15805 </span> bf/copy-to-edi _Program-functions/imm32 +<span id="L15805" class="LineNr">15805 </span> bf/copy-to-edi <a href='mu.subx.html#L241'>_Program-functions</a>/imm32 <span id="L15806" class="LineNr">15806 </span> <span class="subxComment"># var vars/ebx: (stack live-var 256)</span> <span id="L15807" class="LineNr">15807 </span> 81 5/subop/subtract %esp 0xc00/imm32 <span id="L15808" class="LineNr">15808 </span> 68/push 0xc00/imm32/size @@ -14328,7 +14328,7 @@ if ('onhashchange' in window) { <span id="L15816" class="LineNr">15816 </span> 81 7/subop/compare *ecx 0/imm32 <span id="L15817" class="LineNr">15817 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L15818" class="Folded">15818 </span><span class="Folded">+-- 6 lines: #? # dump line ------------------------------------------------------------------------------------------------------------------------------------------------------</span> -<span id="L15824" class="LineNr">15824 </span> (next-mu-token %ecx %edx) +<span id="L15824" class="LineNr">15824 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> %ecx %edx) <span id="L15825" class="LineNr">15825 </span> <span class="subxComment"># if slice-empty?(word-slice) continue</span> <span id="L15826" class="LineNr">15826 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %edx) <span class="subxComment"># => eax</span> <span id="L15827" class="LineNr">15827 </span> 3d/compare-eax-and 0/imm32/false @@ -14352,14 +14352,14 @@ if ('onhashchange' in window) { <span id="L15845" class="LineNr">15845 </span> 68/push 0/imm32 <span id="L15846" class="LineNr">15846 </span> 89/<- %esi 4/r32/esp <span id="L15847" class="LineNr">15847 </span> <span class="subxComment"># populate-mu-function(line, in, vars, new-function)</span> -<span id="L15848" class="LineNr">15848 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Function-size</span> %esi) +<span id="L15848" class="LineNr">15848 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span> %esi) <span id="L15849" class="LineNr">15849 </span> <span class="subxComment"># var new-function-addr/eax: (addr function)</span> <span id="L15850" class="LineNr">15850 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L15851" class="LineNr">15851 </span> <span class="subxComment"># initialize vars</span> <span id="L15852" class="LineNr">15852 </span> (<a href='203stack.subx.html#L13'>clear-stack</a> %ebx) <span id="L15853" class="LineNr">15853 </span> <span class="subxComment">#</span> -<span id="L15854" class="LineNr">15854 </span> (populate-mu-function-header %ecx %eax %ebx *(ebp+0xc) *(ebp+0x10)) -<span id="L15855" class="LineNr">15855 </span> (populate-mu-function-body *(ebp+8) %eax %ebx *(ebp+0xc) *(ebp+0x10)) +<span id="L15854" class="LineNr">15854 </span> (<a href='mu.subx.html#L15993'>populate-mu-function-header</a> %ecx %eax %ebx *(ebp+0xc) *(ebp+0x10)) +<span id="L15855" class="LineNr">15855 </span> (<a href='mu.subx.html#L18110'>populate-mu-function-body</a> *(ebp+8) %eax %ebx *(ebp+0xc) *(ebp+0x10)) <span id="L15856" class="LineNr">15856 </span> <span class="subxComment"># *curr-function = new-function</span> <span id="L15857" class="LineNr">15857 </span> 8b/-> *esi 0/r32/eax <span id="L15858" class="LineNr">15858 </span> 89/<- *edi 0/r32/eax @@ -14390,11 +14390,11 @@ if ('onhashchange' in window) { <span id="L15883" class="LineNr">15883 </span> 68/push 0/imm32 <span id="L15884" class="LineNr">15884 </span> 89/<- %esi 4/r32/esp <span id="L15885" class="LineNr">15885 </span> <span class="subxComment"># populate-mu-function(line, in, vars, new-function)</span> -<span id="L15886" class="LineNr">15886 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Function-size</span> %esi) +<span id="L15886" class="LineNr">15886 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span> %esi) <span id="L15887" class="LineNr">15887 </span> <span class="subxComment"># var new-function-addr/eax: (addr function)</span> <span id="L15888" class="LineNr">15888 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L15889" class="LineNr">15889 </span> <span class="subxComment">#</span> -<span id="L15890" class="LineNr">15890 </span> (populate-mu-function-signature %ecx %eax *(ebp+0xc) *(ebp+0x10)) +<span id="L15890" class="LineNr">15890 </span> (<a href='mu.subx.html#L16313'>populate-mu-function-signature</a> %ecx %eax *(ebp+0xc) *(ebp+0x10)) <span id="L15891" class="LineNr">15891 </span> <span class="subxComment"># *curr-signature = new-function</span> <span id="L15892" class="LineNr">15892 </span> 8b/-> *esi 0/r32/eax <span id="L15893" class="LineNr">15893 </span> 89/<- *edi 0/r32/eax @@ -14420,21 +14420,21 @@ if ('onhashchange' in window) { <span id="L15913" class="LineNr">15913 </span> (<a href='123slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"type"</span>) <span class="subxComment"># => eax</span> <span id="L15914" class="LineNr">15914 </span> 3d/compare-eax-and 0/imm32 <span id="L15915" class="LineNr">15915 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L15916" class="LineNr">15916 </span> (next-mu-token %ecx %edx) +<span id="L15916" class="LineNr">15916 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> %ecx %edx) <span id="L15917" class="LineNr">15917 </span> <span class="subxComment"># var type-id/eax: int</span> -<span id="L15918" class="LineNr">15918 </span> (pos-or-insert-slice <span class="SpecialChar">Type-id</span> %edx) <span class="subxComment"># => eax</span> +<span id="L15918" class="LineNr">15918 </span> (<a href='mu.subx.html#L17498'>pos-or-insert-slice</a> <span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> %edx) <span class="subxComment"># => eax</span> <span id="L15919" class="LineNr">15919 </span> <span class="subxComment"># spill</span> <span id="L15920" class="LineNr">15920 </span> 51/push-ecx <span id="L15921" class="LineNr">15921 </span> <span class="subxComment"># var new-type/ecx: (handle typeinfo)</span> <span id="L15922" class="LineNr">15922 </span> 68/push 0/imm32 <span id="L15923" class="LineNr">15923 </span> 68/push 0/imm32 <span id="L15924" class="LineNr">15924 </span> 89/<- %ecx 4/r32/esp -<span id="L15925" class="LineNr">15925 </span> (find-or-create-typeinfo %eax %ecx) +<span id="L15925" class="LineNr">15925 </span> (<a href='mu.subx.html#L20288'>find-or-create-typeinfo</a> %eax %ecx) <span id="L15926" class="LineNr">15926 </span> <span class="subxComment">#</span> <span id="L15927" class="LineNr">15927 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> <span id="L15928" class="LineNr">15928 </span> <span class="subxComment"># TODO: ensure that 'line' has nothing else but '{'</span> <span id="L15929" class="LineNr">15929 </span><span class="CommentedCode">#? (dump-typeinfos "=== aaa\n")</span> -<span id="L15930" class="LineNr">15930 </span> (populate-mu-type *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L15930" class="LineNr">15930 </span> (<a href='mu.subx.html#L20522'>populate-mu-type</a> *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L15931" class="LineNr">15931 </span><span class="CommentedCode">#? (dump-typeinfos "=== zzz\n")</span> <span id="L15932" class="LineNr">15932 </span> <span class="subxComment"># reclaim new-type</span> <span id="L15933" class="LineNr">15933 </span> 81 0/subop/add %esp 8/imm32 @@ -14548,7 +14548,7 @@ if ('onhashchange' in window) { <span id="L16041" class="LineNr">16041 </span> 68/push 0/imm32 <span id="L16042" class="LineNr">16042 </span> 89/<- %ebx 4/r32/esp <span id="L16043" class="LineNr">16043 </span> <span class="subxComment"># read function name</span> -<span id="L16044" class="LineNr">16044 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16044" class="LineNr">16044 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16045" class="LineNr">16045 </span> <span class="subxComment"># error checking</span> <span id="L16046" class="LineNr">16046 </span> <span class="subxComment"># if slice-empty?(word-slice) abort</span> <span id="L16047" class="LineNr">16047 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> @@ -14567,7 +14567,7 @@ if ('onhashchange' in window) { <span id="L16060" class="LineNr">16060 </span> 3d/compare-eax-and 0/imm32/false <span id="L16061" class="LineNr">16061 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L16062" class="LineNr">16062 </span> <span class="subxComment"># if word-slice already defined, abort</span> -<span id="L16063" class="LineNr">16063 </span> (function-exists? %ecx) <span class="subxComment"># => eax</span> +<span id="L16063" class="LineNr">16063 </span> (<a href='mu.subx.html#L16665'>function-exists?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16064" class="LineNr">16064 </span> 3d/compare-eax-and 0/imm32/false <span id="L16065" class="LineNr">16065 </span> 0f 85/jump-if-!= $populate-mu-function-header:error-duplicate/disp32 <span id="L16066" class="LineNr">16066 </span> <span class="subxComment">#</span> @@ -14585,7 +14585,7 @@ if ('onhashchange' in window) { <span id="L16078" class="LineNr">16078 </span> <span class="subxComment"># save function inouts</span> <span id="L16079" class="LineNr">16079 </span> { <span id="L16080" class="LineNr">16080 </span><span class="Constant">$populate-mu-function-header:check-for-inout</span>: -<span id="L16081" class="LineNr">16081 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16081" class="LineNr">16081 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16082" class="LineNr">16082 </span> <span class="subxComment"># if slice-empty?(word-slice) abort</span> <span id="L16083" class="LineNr">16083 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16084" class="LineNr">16084 </span> 3d/compare-eax-and 0/imm32/false @@ -14604,7 +14604,7 @@ if ('onhashchange' in window) { <span id="L16097" class="LineNr">16097 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L16098" class="LineNr">16098 </span> <span class="subxComment"># v = parse-var-with-type(word-slice, first-line)</span> <span id="L16099" class="LineNr">16099 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16100" class="LineNr">16100 </span> (parse-var-with-type %ecx *(ebp+8) %ebx %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L16100" class="LineNr">16100 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx *(ebp+8) %ebx %eax *(ebp+0x14) *(ebp+0x18)) <span id="L16101" class="LineNr">16101 </span> <span class="subxComment"># if (v->register != null) abort</span> <span id="L16102" class="LineNr">16102 </span> <span class="subxS1Comment"># . eax: (addr var) = lookup(v)</span> <span id="L16103" class="LineNr">16103 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> @@ -14618,7 +14618,7 @@ if ('onhashchange' in window) { <span id="L16111" class="LineNr">16111 </span> 3d/compare-eax-and 0/imm32/false <span id="L16112" class="LineNr">16112 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L16113" class="LineNr">16113 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> -<span id="L16114" class="LineNr">16114 </span> (addr-payload-contains-addr? %eax) <span class="subxComment"># => eax</span> +<span id="L16114" class="LineNr">16114 </span> (<a href='mu.subx.html#L16611'>addr-payload-contains-addr?</a> %eax) <span class="subxComment"># => eax</span> <span id="L16115" class="LineNr">16115 </span> 3d/compare-eax-and 0/imm32/false <span id="L16116" class="LineNr">16116 </span> 0f 85/jump-if-!= $populate-mu-function-header:error-nested-addr-inout/disp32 <span id="L16117" class="LineNr">16117 </span> } @@ -14626,7 +14626,7 @@ if ('onhashchange' in window) { <span id="L16119" class="LineNr">16119 </span> <span class="subxComment">#</span> <span id="L16120" class="LineNr">16120 </span> <span class="subxComment"># out->inouts = append(v, out->inouts)</span> <span id="L16121" class="LineNr">16121 </span> 8d/copy-address *(edi+8) 0/r32/eax <span class="subxComment"># Function-inouts</span> -<span id="L16122" class="LineNr">16122 </span> (append-list <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+8) *(edi+0xc) %eax) <span class="subxComment"># Function-inouts, Function-inouts</span> +<span id="L16122" class="LineNr">16122 </span> (<a href='mu.subx.html#L20057'>append-list</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+8) *(edi+0xc) %eax) <span class="subxComment"># Function-inouts, Function-inouts</span> <span id="L16123" class="LineNr">16123 </span> <span class="subxComment"># push(vars, {v, false})</span> <span id="L16124" class="LineNr">16124 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *ebx) <span id="L16125" class="LineNr">16125 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(ebx+4)) @@ -14637,7 +14637,7 @@ if ('onhashchange' in window) { <span id="L16130" class="LineNr">16130 </span> <span class="subxComment"># save function outputs</span> <span id="L16131" class="LineNr">16131 </span> { <span id="L16132" class="LineNr">16132 </span><span class="Constant">$populate-mu-function-header:check-for-out</span>: -<span id="L16133" class="LineNr">16133 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16133" class="LineNr">16133 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16134" class="LineNr">16134 </span> <span class="subxComment"># if slice-empty?(word-slice) abort</span> <span id="L16135" class="LineNr">16135 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16136" class="LineNr">16136 </span> 3d/compare-eax-and 0/imm32/false @@ -14656,7 +14656,7 @@ if ('onhashchange' in window) { <span id="L16149" class="LineNr">16149 </span> 0f 85/jump-if-!= $populate-mu-function-header:error1/disp32 <span id="L16150" class="LineNr">16150 </span> <span class="subxComment"># v = parse-var-with-type(word-slice, first-line)</span> <span id="L16151" class="LineNr">16151 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16152" class="LineNr">16152 </span> (parse-var-with-type %ecx *(ebp+8) %ebx %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L16152" class="LineNr">16152 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx *(ebp+8) %ebx %eax *(ebp+0x14) *(ebp+0x18)) <span id="L16153" class="LineNr">16153 </span> <span class="subxComment"># assert(var->register != null)</span> <span id="L16154" class="LineNr">16154 </span> <span class="subxS1Comment"># . eax: (addr var) = lookup(v)</span> <span id="L16155" class="LineNr">16155 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> @@ -14670,17 +14670,17 @@ if ('onhashchange' in window) { <span id="L16163" class="LineNr">16163 </span> <span class="subxComment"># if v->type is an addr, abort</span> <span id="L16164" class="LineNr">16164 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> <span id="L16165" class="LineNr">16165 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16166" class="LineNr">16166 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L16166" class="LineNr">16166 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L16167" class="LineNr">16167 </span> 3d/compare-eax-and 0/imm32/false <span id="L16168" class="LineNr">16168 </span> 0f 85/jump-if-!= $populate-mu-function-header:error-addr-output/disp32 <span id="L16169" class="LineNr">16169 </span> <span class="subxComment"># out->outputs = append(v, out->outputs)</span> <span id="L16170" class="LineNr">16170 </span> 8d/copy-address *(edi+0x10) 0/r32/eax <span class="subxComment"># Function-outputs</span> -<span id="L16171" class="LineNr">16171 </span> (append-list <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x10) *(edi+0x14) %eax) <span class="subxComment"># Function-outputs, Function-outputs</span> +<span id="L16171" class="LineNr">16171 </span> (<a href='mu.subx.html#L20057'>append-list</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x10) *(edi+0x14) %eax) <span class="subxComment"># Function-outputs, Function-outputs</span> <span id="L16172" class="LineNr">16172 </span> <span class="subxComment">#</span> <span id="L16173" class="LineNr">16173 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L16174" class="LineNr">16174 </span> } <span id="L16175" class="LineNr">16175 </span><span class="Constant">$populate-mu-function-header:done</span>: -<span id="L16176" class="LineNr">16176 </span> (check-no-tokens-left *(ebp+8)) +<span id="L16176" class="LineNr">16176 </span> (<a href='mu.subx.html#L18422'>check-no-tokens-left</a> *(ebp+8)) <span id="L16177" class="LineNr">16177 </span><span class="Constant">$populate-mu-function-header:end</span>: <span id="L16178" class="LineNr">16178 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L16179" class="LineNr">16179 </span> 81 0/subop/add %esp 0x10/imm32 @@ -14862,7 +14862,7 @@ if ('onhashchange' in window) { <span id="L16355" class="LineNr">16355 </span> 68/push 0/imm32 <span id="L16356" class="LineNr">16356 </span> 89/<- %ebx 4/r32/esp <span id="L16357" class="LineNr">16357 </span> <span class="subxComment"># read function name</span> -<span id="L16358" class="LineNr">16358 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16358" class="LineNr">16358 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16359" class="LineNr">16359 </span> <span class="subxComment"># error checking</span> <span id="L16360" class="LineNr">16360 </span> <span class="subxComment"># if (word-slice == '{') abort</span> <span id="L16361" class="LineNr">16361 </span> (<a href='123slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"{"</span>) <span class="subxComment"># => eax</span> @@ -14877,7 +14877,7 @@ if ('onhashchange' in window) { <span id="L16370" class="LineNr">16370 </span> 3d/compare-eax-and 0/imm32/false <span id="L16371" class="LineNr">16371 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error1/disp32 <span id="L16372" class="LineNr">16372 </span> <span class="subxComment"># if word-slice already defined, abort</span> -<span id="L16373" class="LineNr">16373 </span> (function-exists? %ecx) <span class="subxComment"># => eax</span> +<span id="L16373" class="LineNr">16373 </span> (<a href='mu.subx.html#L16665'>function-exists?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16374" class="LineNr">16374 </span> 3d/compare-eax-and 0/imm32/false <span id="L16375" class="LineNr">16375 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error-duplicate/disp32 <span id="L16376" class="LineNr">16376 </span> <span class="subxComment">#</span> @@ -14892,7 +14892,7 @@ if ('onhashchange' in window) { <span id="L16385" class="LineNr">16385 </span> <span class="subxComment"># save function inouts</span> <span id="L16386" class="LineNr">16386 </span> { <span id="L16387" class="LineNr">16387 </span><span class="Constant">$populate-mu-function-signature:check-for-inout</span>: -<span id="L16388" class="LineNr">16388 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16388" class="LineNr">16388 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16389" class="LineNr">16389 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16390" class="LineNr">16390 </span> 3d/compare-eax-and 0/imm32/false <span id="L16391" class="LineNr">16391 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 @@ -14910,7 +14910,7 @@ if ('onhashchange' in window) { <span id="L16403" class="LineNr">16403 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error1/disp32 <span id="L16404" class="LineNr">16404 </span> <span class="subxComment"># v = parse-var-with-type(word-slice, first-line)</span> <span id="L16405" class="LineNr">16405 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16406" class="LineNr">16406 </span> (parse-var-with-type %ecx *(ebp+8) %ebx %eax *(ebp+0x10) *(ebp+0x14)) +<span id="L16406" class="LineNr">16406 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx *(ebp+8) %ebx %eax *(ebp+0x10) *(ebp+0x14)) <span id="L16407" class="LineNr">16407 </span> <span class="subxComment"># if (v->register != null) abort</span> <span id="L16408" class="LineNr">16408 </span> <span class="subxS1Comment"># . eax: (addr var) = lookup(v)</span> <span id="L16409" class="LineNr">16409 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> @@ -14924,7 +14924,7 @@ if ('onhashchange' in window) { <span id="L16417" class="LineNr">16417 </span> 3d/compare-eax-and 0/imm32/false <span id="L16418" class="LineNr">16418 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L16419" class="LineNr">16419 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> -<span id="L16420" class="LineNr">16420 </span> (addr-payload-contains-addr? %eax) <span class="subxComment"># => eax</span> +<span id="L16420" class="LineNr">16420 </span> (<a href='mu.subx.html#L16611'>addr-payload-contains-addr?</a> %eax) <span class="subxComment"># => eax</span> <span id="L16421" class="LineNr">16421 </span> 3d/compare-eax-and 0/imm32/false <span id="L16422" class="LineNr">16422 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error-nested-addr-inout/disp32 <span id="L16423" class="LineNr">16423 </span> } @@ -14937,14 +14937,14 @@ if ('onhashchange' in window) { <span id="L16430" class="LineNr">16430 </span> <span class="subxComment">#</span> <span id="L16431" class="LineNr">16431 </span> <span class="subxComment"># out->inouts = append(v, out->inouts)</span> <span id="L16432" class="LineNr">16432 </span> 8d/copy-address *(edi+8) 0/r32/eax <span class="subxComment"># Function-inouts</span> -<span id="L16433" class="LineNr">16433 </span> (append-list <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+8) *(edi+0xc) %eax) <span class="subxComment"># Function-inouts, Function-inouts</span> +<span id="L16433" class="LineNr">16433 </span> (<a href='mu.subx.html#L20057'>append-list</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+8) *(edi+0xc) %eax) <span class="subxComment"># Function-inouts, Function-inouts</span> <span id="L16434" class="LineNr">16434 </span> <span class="subxComment">#</span> <span id="L16435" class="LineNr">16435 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L16436" class="LineNr">16436 </span> } <span id="L16437" class="LineNr">16437 </span> <span class="subxComment"># save function outputs</span> <span id="L16438" class="LineNr">16438 </span> { <span id="L16439" class="LineNr">16439 </span><span class="Constant">$populate-mu-function-signature:check-for-out</span>: -<span id="L16440" class="LineNr">16440 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L16440" class="LineNr">16440 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L16441" class="LineNr">16441 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L16442" class="LineNr">16442 </span> 3d/compare-eax-and 0/imm32/false <span id="L16443" class="LineNr">16443 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 @@ -14962,7 +14962,7 @@ if ('onhashchange' in window) { <span id="L16455" class="LineNr">16455 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error1/disp32 <span id="L16456" class="LineNr">16456 </span> <span class="subxComment"># v = parse-var-with-type(word-slice, first-line)</span> <span id="L16457" class="LineNr">16457 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16458" class="LineNr">16458 </span> (parse-var-with-type %ecx *(ebp+8) %ebx %eax *(ebp+0x10) *(ebp+0x14)) +<span id="L16458" class="LineNr">16458 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx *(ebp+8) %ebx %eax *(ebp+0x10) *(ebp+0x14)) <span id="L16459" class="LineNr">16459 </span> <span class="subxComment"># assert(var->register != null)</span> <span id="L16460" class="LineNr">16460 </span> <span class="subxS1Comment"># . eax: (addr var) = lookup(v)</span> <span id="L16461" class="LineNr">16461 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> @@ -14982,18 +14982,18 @@ if ('onhashchange' in window) { <span id="L16475" class="LineNr">16475 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L16476" class="LineNr">16476 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> <span id="L16477" class="LineNr">16477 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16478" class="LineNr">16478 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L16478" class="LineNr">16478 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L16479" class="LineNr">16479 </span> 3d/compare-eax-and 0/imm32/false <span id="L16480" class="LineNr">16480 </span> 0f 85/jump-if-!= $populate-mu-function-signature:error-addr-output/disp32 <span id="L16481" class="LineNr">16481 </span> } <span id="L16482" class="LineNr">16482 </span> <span class="subxComment"># out->outputs = append(v, out->outputs)</span> <span id="L16483" class="LineNr">16483 </span> 8d/copy-address *(edi+0x10) 0/r32/eax <span class="subxComment"># Function-outputs</span> -<span id="L16484" class="LineNr">16484 </span> (append-list <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x10) *(edi+0x14) %eax) <span class="subxComment"># Function-outputs, Function-outputs</span> +<span id="L16484" class="LineNr">16484 </span> (<a href='mu.subx.html#L20057'>append-list</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x10) *(edi+0x14) %eax) <span class="subxComment"># Function-outputs, Function-outputs</span> <span id="L16485" class="LineNr">16485 </span> <span class="subxComment">#</span> <span id="L16486" class="LineNr">16486 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L16487" class="LineNr">16487 </span> } <span id="L16488" class="LineNr">16488 </span><span class="Constant">$populate-mu-function-signature:done</span>: -<span id="L16489" class="LineNr">16489 </span> (check-no-tokens-left *(ebp+8)) +<span id="L16489" class="LineNr">16489 </span> (<a href='mu.subx.html#L18422'>check-no-tokens-left</a> *(ebp+8)) <span id="L16490" class="LineNr">16490 </span><span class="Constant">$populate-mu-function-signature:end</span>: <span id="L16491" class="LineNr">16491 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L16492" class="LineNr">16492 </span> 81 0/subop/add %esp 0x10/imm32 @@ -15124,7 +15124,7 @@ if ('onhashchange' in window) { <span id="L16617" class="LineNr">16617 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L16618" class="LineNr">16618 </span> <span class="subxComment"># if t->right contains addr, return true</span> <span id="L16619" class="LineNr">16619 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0xc) *(eax+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> -<span id="L16620" class="LineNr">16620 </span> (type-tree-contains? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L16620" class="LineNr">16620 </span> (<a href='mu.subx.html#L16628'>type-tree-contains?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L16621" class="LineNr">16621 </span> <span class="subxComment"># we don't have to look at t->left as long as it's guaranteed to be an atom</span> <span id="L16622" class="LineNr">16622 </span><span class="Constant">$addr-payload-contains-addr?:end</span>: <span id="L16623" class="LineNr">16623 </span> <span class="subxS1Comment"># . epilogue</span> @@ -15154,13 +15154,13 @@ if ('onhashchange' in window) { <span id="L16647" class="LineNr">16647 </span> } <span id="L16648" class="LineNr">16648 </span> <span class="subxComment"># if t->left contains n, return true</span> <span id="L16649" class="LineNr">16649 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L16650" class="LineNr">16650 </span> (type-tree-contains? %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L16650" class="LineNr">16650 </span> (<a href='mu.subx.html#L16628'>type-tree-contains?</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L16651" class="LineNr">16651 </span> 3d/compare-eax-and 0/imm32/false <span id="L16652" class="LineNr">16652 </span> 75/jump-if-!= $type-tree-contains?:end/disp8 <span id="L16653" class="LineNr">16653 </span> <span class="subxComment"># otherwise return whether t->right contains n</span> <span id="L16654" class="LineNr">16654 </span> 8b/-> *(ebp+8) 0/r32/eax <span id="L16655" class="LineNr">16655 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0xc) *(eax+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> -<span id="L16656" class="LineNr">16656 </span> (type-tree-contains? %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L16656" class="LineNr">16656 </span> (<a href='mu.subx.html#L16628'>type-tree-contains?</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L16657" class="LineNr">16657 </span><span class="Constant">$type-tree-contains?:end</span>: <span id="L16658" class="LineNr">16658 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L16659" class="LineNr">16659 </span> 59/pop-to-ecx @@ -15234,8 +15234,8 @@ if ('onhashchange' in window) { <span id="L16727" class="LineNr">16727 </span> 55/push-ebp <span id="L16728" class="LineNr">16728 </span> 89/<- %ebp 4/r32/esp <span id="L16729" class="LineNr">16729 </span> <span class="subxComment"># setup</span> -<span id="L16730" class="LineNr">16730 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L16731" class="LineNr">16731 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L16730" class="LineNr">16730 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L16731" class="LineNr">16731 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L16732" class="LineNr">16732 </span> c7 0/subop/copy *_Program-functions 0/imm32 <span id="L16733" class="LineNr">16733 </span> c7 0/subop/copy *_Program-functions->payload 0/imm32 <span id="L16734" class="LineNr">16734 </span> c7 0/subop/copy *_Program-types 0/imm32 @@ -15245,31 +15245,31 @@ if ('onhashchange' in window) { <span id="L16738" class="LineNr">16738 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L16739" class="LineNr">16739 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"foo n: int {\n"</span>) <span id="L16740" class="LineNr">16740 </span> <span class="subxComment"># var result/ecx: function</span> -<span id="L16741" class="LineNr">16741 </span> 2b/subtract *<span class="SpecialChar">Function-size</span> 4/r32/esp +<span id="L16741" class="LineNr">16741 </span> 2b/subtract *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span> 4/r32/esp <span id="L16742" class="LineNr">16742 </span> 89/<- %ecx 4/r32/esp -<span id="L16743" class="LineNr">16743 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar">Function-size</span>) +<span id="L16743" class="LineNr">16743 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span>) <span id="L16744" class="LineNr">16744 </span> <span class="subxComment"># var vars/ebx: (stack live-var 16)</span> <span id="L16745" class="LineNr">16745 </span> 81 5/subop/subtract %esp 0xc0/imm32 <span id="L16746" class="LineNr">16746 </span> 68/push 0xc0/imm32/size <span id="L16747" class="LineNr">16747 </span> 68/push 0/imm32/top <span id="L16748" class="LineNr">16748 </span> 89/<- %ebx 4/r32/esp <span id="L16749" class="LineNr">16749 </span> <span class="subxComment"># convert</span> -<span id="L16750" class="LineNr">16750 </span> (populate-mu-function-header <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L16750" class="LineNr">16750 </span> (<a href='mu.subx.html#L15993'>populate-mu-function-header</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L16751" class="LineNr">16751 </span> <span class="subxComment"># check result->name</span> <span id="L16752" class="LineNr">16752 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16753" class="LineNr">16753 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - test-function-header-with-arg/name"</span>) +<span id="L16753" class="LineNr">16753 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - <a href='mu.subx.html#L16725'>test-function-header-with-arg</a>/name"</span>) <span id="L16754" class="LineNr">16754 </span> <span class="subxComment"># var v/edx: (addr var) = result->inouts->value</span> <span id="L16755" class="LineNr">16755 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Function-inouts Function-inouts => eax</span> <span id="L16756" class="LineNr">16756 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># List-value List-value => eax</span> <span id="L16757" class="LineNr">16757 </span> 89/<- %edx 0/r32/eax <span id="L16758" class="LineNr">16758 </span> <span class="subxComment"># check v->name</span> <span id="L16759" class="LineNr">16759 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16760" class="LineNr">16760 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - test-function-header-with-arg/inout:0"</span>) +<span id="L16760" class="LineNr">16760 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - <a href='mu.subx.html#L16725'>test-function-header-with-arg</a>/inout:0"</span>) <span id="L16761" class="LineNr">16761 </span> <span class="subxComment"># check v->type</span> <span id="L16762" class="LineNr">16762 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16763" class="LineNr">16763 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-arg/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16764" class="LineNr">16764 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-arg/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16765" class="LineNr">16765 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-arg/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16763" class="LineNr">16763 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16725'>test-function-header-with-arg</a>/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16764" class="LineNr">16764 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16725'>test-function-header-with-arg</a>/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16765" class="LineNr">16765 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16725'>test-function-header-with-arg</a>/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16766" class="LineNr">16766 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L16767" class="LineNr">16767 </span> 89/<- %esp 5/r32/ebp <span id="L16768" class="LineNr">16768 </span> 5d/pop-to-ebp @@ -15280,8 +15280,8 @@ if ('onhashchange' in window) { <span id="L16773" class="LineNr">16773 </span> 55/push-ebp <span id="L16774" class="LineNr">16774 </span> 89/<- %ebp 4/r32/esp <span id="L16775" class="LineNr">16775 </span> <span class="subxComment"># setup</span> -<span id="L16776" class="LineNr">16776 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L16777" class="LineNr">16777 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L16776" class="LineNr">16776 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L16777" class="LineNr">16777 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L16778" class="LineNr">16778 </span> c7 0/subop/copy *_Program-functions 0/imm32 <span id="L16779" class="LineNr">16779 </span> c7 0/subop/copy *_Program-functions->payload 0/imm32 <span id="L16780" class="LineNr">16780 </span> c7 0/subop/copy *_Program-types 0/imm32 @@ -15291,19 +15291,19 @@ if ('onhashchange' in window) { <span id="L16784" class="LineNr">16784 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L16785" class="LineNr">16785 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"foo a: int, b: int c: int {\n"</span>) <span id="L16786" class="LineNr">16786 </span> <span class="subxComment"># result/ecx: function</span> -<span id="L16787" class="LineNr">16787 </span> 2b/subtract *<span class="SpecialChar">Function-size</span> 4/r32/esp +<span id="L16787" class="LineNr">16787 </span> 2b/subtract *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span> 4/r32/esp <span id="L16788" class="LineNr">16788 </span> 89/<- %ecx 4/r32/esp -<span id="L16789" class="LineNr">16789 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar">Function-size</span>) +<span id="L16789" class="LineNr">16789 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span>) <span id="L16790" class="LineNr">16790 </span> <span class="subxComment"># var vars/ebx: (stack live-var 16)</span> <span id="L16791" class="LineNr">16791 </span> 81 5/subop/subtract %esp 0xc0/imm32 <span id="L16792" class="LineNr">16792 </span> 68/push 0xc0/imm32/size <span id="L16793" class="LineNr">16793 </span> 68/push 0/imm32/top <span id="L16794" class="LineNr">16794 </span> 89/<- %ebx 4/r32/esp <span id="L16795" class="LineNr">16795 </span> <span class="subxComment"># convert</span> -<span id="L16796" class="LineNr">16796 </span> (populate-mu-function-header <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L16796" class="LineNr">16796 </span> (<a href='mu.subx.html#L15993'>populate-mu-function-header</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L16797" class="LineNr">16797 </span> <span class="subxComment"># check result->name</span> <span id="L16798" class="LineNr">16798 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16799" class="LineNr">16799 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - test-function-header-with-multiple-args/name"</span>) +<span id="L16799" class="LineNr">16799 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/name"</span>) <span id="L16800" class="LineNr">16800 </span> <span class="subxComment"># var inouts/edx: (addr list var) = lookup(result->inouts)</span> <span id="L16801" class="LineNr">16801 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Function-inouts Function-inouts => eax</span> <span id="L16802" class="LineNr">16802 </span> 89/<- %edx 0/r32/eax @@ -15313,12 +15313,12 @@ if ('onhashchange' in window) { <span id="L16806" class="LineNr">16806 </span> 89/<- %ebx 0/r32/eax <span id="L16807" class="LineNr">16807 </span> <span class="subxComment"># check v->name</span> <span id="L16808" class="LineNr">16808 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16809" class="LineNr">16809 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"a"</span> <span class="Constant">"F - test-function-header-with-multiple-args/inout:0"</span>) <span class="subxComment"># Var-name</span> +<span id="L16809" class="LineNr">16809 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"a"</span> <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:0"</span>) <span class="subxComment"># Var-name</span> <span id="L16810" class="LineNr">16810 </span> <span class="subxComment"># check v->type</span> <span id="L16811" class="LineNr">16811 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16812" class="LineNr">16812 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16813" class="LineNr">16813 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16814" class="LineNr">16814 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16812" class="LineNr">16812 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16813" class="LineNr">16813 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16814" class="LineNr">16814 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16815" class="LineNr">16815 </span><span class="Constant">$test-function-header-with-multiple-args:inout1</span>: <span id="L16816" class="LineNr">16816 </span> <span class="subxComment"># inouts = lookup(inouts->next)</span> <span id="L16817" class="LineNr">16817 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -15328,12 +15328,12 @@ if ('onhashchange' in window) { <span id="L16821" class="LineNr">16821 </span> 89/<- %ebx 0/r32/eax <span id="L16822" class="LineNr">16822 </span> <span class="subxComment"># check v->name</span> <span id="L16823" class="LineNr">16823 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16824" class="LineNr">16824 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"b"</span> <span class="Constant">"F - test-function-header-with-multiple-args/inout:1"</span>) <span class="subxComment"># Var-name</span> +<span id="L16824" class="LineNr">16824 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"b"</span> <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:1"</span>) <span class="subxComment"># Var-name</span> <span id="L16825" class="LineNr">16825 </span> <span class="subxComment"># check v->type</span> <span id="L16826" class="LineNr">16826 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16827" class="LineNr">16827 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16828" class="LineNr">16828 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16829" class="LineNr">16829 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args/inout:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16827" class="LineNr">16827 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16828" class="LineNr">16828 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16829" class="LineNr">16829 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16830" class="LineNr">16830 </span><span class="Constant">$test-function-header-with-multiple-args:inout2</span>: <span id="L16831" class="LineNr">16831 </span> <span class="subxComment"># inouts = lookup(inouts->next)</span> <span id="L16832" class="LineNr">16832 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -15343,12 +15343,12 @@ if ('onhashchange' in window) { <span id="L16836" class="LineNr">16836 </span> 89/<- %ebx 0/r32/eax <span id="L16837" class="LineNr">16837 </span> <span class="subxComment"># check v->name</span> <span id="L16838" class="LineNr">16838 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16839" class="LineNr">16839 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"c"</span> <span class="Constant">"F - test-function-header-with-multiple-args/inout:2"</span>) <span class="subxComment"># Var-name</span> +<span id="L16839" class="LineNr">16839 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"c"</span> <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:2"</span>) <span class="subxComment"># Var-name</span> <span id="L16840" class="LineNr">16840 </span> <span class="subxComment"># check v->type</span> <span id="L16841" class="LineNr">16841 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16842" class="LineNr">16842 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:2/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16843" class="LineNr">16843 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args/inout:2/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16844" class="LineNr">16844 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args/inout:2/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16842" class="LineNr">16842 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:2/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16843" class="LineNr">16843 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:2/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16844" class="LineNr">16844 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16771'>test-function-header-with-multiple-args</a>/inout:2/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16845" class="LineNr">16845 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L16846" class="LineNr">16846 </span> 89/<- %esp 5/r32/ebp <span id="L16847" class="LineNr">16847 </span> 5d/pop-to-ebp @@ -15359,8 +15359,8 @@ if ('onhashchange' in window) { <span id="L16852" class="LineNr">16852 </span> 55/push-ebp <span id="L16853" class="LineNr">16853 </span> 89/<- %ebp 4/r32/esp <span id="L16854" class="LineNr">16854 </span> <span class="subxComment"># setup</span> -<span id="L16855" class="LineNr">16855 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L16856" class="LineNr">16856 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L16855" class="LineNr">16855 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L16856" class="LineNr">16856 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L16857" class="LineNr">16857 </span> c7 0/subop/copy *_Program-functions 0/imm32 <span id="L16858" class="LineNr">16858 </span> c7 0/subop/copy *_Program-functions->payload 0/imm32 <span id="L16859" class="LineNr">16859 </span> c7 0/subop/copy *_Program-types 0/imm32 @@ -15370,19 +15370,19 @@ if ('onhashchange' in window) { <span id="L16863" class="LineNr">16863 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L16864" class="LineNr">16864 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"foo a: int, b: int, c: int -> _/ecx: int _/edx: int {\n"</span>) <span id="L16865" class="LineNr">16865 </span> <span class="subxComment"># result/ecx: function</span> -<span id="L16866" class="LineNr">16866 </span> 2b/subtract *<span class="SpecialChar">Function-size</span> 4/r32/esp +<span id="L16866" class="LineNr">16866 </span> 2b/subtract *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span> 4/r32/esp <span id="L16867" class="LineNr">16867 </span> 89/<- %ecx 4/r32/esp -<span id="L16868" class="LineNr">16868 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar">Function-size</span>) +<span id="L16868" class="LineNr">16868 </span> (<a href='120allocate.subx.html#L889'>zero-out</a> %ecx *<span class="SpecialChar"><a href='mu.subx.html#L275'>Function-size</a></span>) <span id="L16869" class="LineNr">16869 </span> <span class="subxComment"># var vars/ebx: (stack live-var 16)</span> <span id="L16870" class="LineNr">16870 </span> 81 5/subop/subtract %esp 0xc0/imm32 <span id="L16871" class="LineNr">16871 </span> 68/push 0xc0/imm32/size <span id="L16872" class="LineNr">16872 </span> 68/push 0/imm32/top <span id="L16873" class="LineNr">16873 </span> 89/<- %ebx 4/r32/esp <span id="L16874" class="LineNr">16874 </span> <span class="subxComment"># convert</span> -<span id="L16875" class="LineNr">16875 </span> (populate-mu-function-header <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L16875" class="LineNr">16875 </span> (<a href='mu.subx.html#L15993'>populate-mu-function-header</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %ebx <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L16876" class="LineNr">16876 </span> <span class="subxComment"># check result->name</span> <span id="L16877" class="LineNr">16877 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Function-name Function-name => eax</span> -<span id="L16878" class="LineNr">16878 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/name"</span>) +<span id="L16878" class="LineNr">16878 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"foo"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/name"</span>) <span id="L16879" class="LineNr">16879 </span> <span class="subxComment"># var inouts/edx: (addr list var) = lookup(result->inouts)</span> <span id="L16880" class="LineNr">16880 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Function-inouts Function-inouts => eax</span> <span id="L16881" class="LineNr">16881 </span> 89/<- %edx 0/r32/eax @@ -15392,12 +15392,12 @@ if ('onhashchange' in window) { <span id="L16885" class="LineNr">16885 </span> 89/<- %ebx 0/r32/eax <span id="L16886" class="LineNr">16886 </span> <span class="subxComment"># check v->name</span> <span id="L16887" class="LineNr">16887 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16888" class="LineNr">16888 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"a"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:0"</span>) +<span id="L16888" class="LineNr">16888 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"a"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:0"</span>) <span id="L16889" class="LineNr">16889 </span> <span class="subxComment"># check v->type</span> <span id="L16890" class="LineNr">16890 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16891" class="LineNr">16891 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16892" class="LineNr">16892 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16893" class="LineNr">16893 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16891" class="LineNr">16891 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16892" class="LineNr">16892 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16893" class="LineNr">16893 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16894" class="LineNr">16894 </span><span class="Constant">$test-function-header-with-multiple-args-and-outputs:inout1</span>: <span id="L16895" class="LineNr">16895 </span> <span class="subxComment"># inouts = lookup(inouts->next)</span> <span id="L16896" class="LineNr">16896 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -15407,12 +15407,12 @@ if ('onhashchange' in window) { <span id="L16900" class="LineNr">16900 </span> 89/<- %ebx 0/r32/eax <span id="L16901" class="LineNr">16901 </span> <span class="subxComment"># check v->name</span> <span id="L16902" class="LineNr">16902 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16903" class="LineNr">16903 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"b"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:1"</span>) +<span id="L16903" class="LineNr">16903 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"b"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:1"</span>) <span id="L16904" class="LineNr">16904 </span> <span class="subxComment"># check v->type</span> <span id="L16905" class="LineNr">16905 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16906" class="LineNr">16906 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16907" class="LineNr">16907 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16908" class="LineNr">16908 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16906" class="LineNr">16906 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16907" class="LineNr">16907 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16908" class="LineNr">16908 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16909" class="LineNr">16909 </span><span class="Constant">$test-function-header-with-multiple-args-and-outputs:inout2</span>: <span id="L16910" class="LineNr">16910 </span> <span class="subxComment"># inouts = lookup(inouts->next)</span> <span id="L16911" class="LineNr">16911 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -15422,12 +15422,12 @@ if ('onhashchange' in window) { <span id="L16915" class="LineNr">16915 </span> 89/<- %ebx 0/r32/eax <span id="L16916" class="LineNr">16916 </span> <span class="subxComment"># check v->name</span> <span id="L16917" class="LineNr">16917 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16918" class="LineNr">16918 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"c"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:2"</span>) +<span id="L16918" class="LineNr">16918 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"c"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:2"</span>) <span id="L16919" class="LineNr">16919 </span> <span class="subxComment"># check v->type</span> <span id="L16920" class="LineNr">16920 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16921" class="LineNr">16921 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:2/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16922" class="LineNr">16922 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:2/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16923" class="LineNr">16923 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/inout:2/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16921" class="LineNr">16921 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:2/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16922" class="LineNr">16922 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:2/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16923" class="LineNr">16923 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/inout:2/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16924" class="LineNr">16924 </span><span class="Constant">$test-function-header-with-multiple-args-and-outputs:out0</span>: <span id="L16925" class="LineNr">16925 </span> <span class="subxComment"># var outputs/edx: (addr list var) = lookup(result->outputs)</span> <span id="L16926" class="LineNr">16926 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x10) *(ecx+0x14)) <span class="subxComment"># Function-outputs Function-outputs => eax</span> @@ -15437,15 +15437,15 @@ if ('onhashchange' in window) { <span id="L16930" class="LineNr">16930 </span> 89/<- %ebx 0/r32/eax <span id="L16931" class="LineNr">16931 </span> <span class="subxComment"># check v->name</span> <span id="L16932" class="LineNr">16932 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16933" class="LineNr">16933 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"_"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:0"</span>) +<span id="L16933" class="LineNr">16933 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"_"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:0"</span>) <span id="L16934" class="LineNr">16934 </span> <span class="subxComment"># check v->register</span> <span id="L16935" class="LineNr">16935 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L16936" class="LineNr">16936 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"ecx"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:0/register"</span>) +<span id="L16936" class="LineNr">16936 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"ecx"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:0/register"</span>) <span id="L16937" class="LineNr">16937 </span> <span class="subxComment"># check v->type</span> <span id="L16938" class="LineNr">16938 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16939" class="LineNr">16939 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16940" class="LineNr">16940 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16941" class="LineNr">16941 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16939" class="LineNr">16939 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:0/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16940" class="LineNr">16940 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:0/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16941" class="LineNr">16941 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:0/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16942" class="LineNr">16942 </span><span class="Constant">$test-function-header-with-multiple-args-and-outputs:out1</span>: <span id="L16943" class="LineNr">16943 </span> <span class="subxComment"># outputs = lookup(outputs->next)</span> <span id="L16944" class="LineNr">16944 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -15455,15 +15455,15 @@ if ('onhashchange' in window) { <span id="L16948" class="LineNr">16948 </span> 89/<- %ebx 0/r32/eax <span id="L16949" class="LineNr">16949 </span> <span class="subxComment"># check v->name</span> <span id="L16950" class="LineNr">16950 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L16951" class="LineNr">16951 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"_"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:1"</span>) +<span id="L16951" class="LineNr">16951 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"_"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:1"</span>) <span id="L16952" class="LineNr">16952 </span> <span class="subxComment"># check v->register</span> <span id="L16953" class="LineNr">16953 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L16954" class="LineNr">16954 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"edx"</span> <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:1/register"</span>) +<span id="L16954" class="LineNr">16954 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"edx"</span> <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:1/register"</span>) <span id="L16955" class="LineNr">16955 </span> <span class="subxComment"># check v->type</span> <span id="L16956" class="LineNr">16956 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L16957" class="LineNr">16957 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L16958" class="LineNr">16958 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L16959" class="LineNr">16959 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0c) 0 <span class="Constant">"F - test-function-header-with-multiple-args-and-outputs/output:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L16957" class="LineNr">16957 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:1/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L16958" class="LineNr">16958 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:1/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L16959" class="LineNr">16959 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0c) 0 <span class="Constant">"F - <a href='mu.subx.html#L16850'>test-function-header-with-multiple-args-and-outputs</a>/output:1/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L16960" class="LineNr">16960 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L16961" class="LineNr">16961 </span> 89/<- %esp 5/r32/ebp <span id="L16962" class="LineNr">16962 </span> 5d/pop-to-ebp @@ -15522,7 +15522,7 @@ if ('onhashchange' in window) { <span id="L17015" class="LineNr">17015 </span> (<a href='124next-token.subx.html#L163'>next-token-from-slice</a> *esi *(esi+4) 0x2f %ecx) <span class="subxComment"># Slice-start, Slice-end, '/'</span> <span id="L17016" class="LineNr">17016 </span><span class="Constant">$parse-var-with-type:create-var</span>: <span id="L17017" class="LineNr">17017 </span> <span class="subxComment"># new-var-from-slice(s, out)</span> -<span id="L17018" class="LineNr">17018 </span> (new-var-from-slice <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %ecx *(ebp+0x10)) +<span id="L17018" class="LineNr">17018 </span> (<a href='mu.subx.html#L19980'>new-var-from-slice</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %ecx *(ebp+0x10)) <span id="L17019" class="LineNr">17019 </span> <span class="subxComment"># save out->register</span> <span id="L17020" class="LineNr">17020 </span><span class="Constant">$parse-var-with-type:save-register</span>: <span id="L17021" class="LineNr">17021 </span> <span class="subxS1Comment"># . var out-addr/edi: (addr var) = lookup(*out)</span> @@ -15543,25 +15543,25 @@ if ('onhashchange' in window) { <span id="L17036" class="LineNr">17036 </span> } <span id="L17037" class="LineNr">17037 </span><span class="Constant">$parse-var-with-type:save-type</span>: <span id="L17038" class="LineNr">17038 </span> 8d/copy-address *(edi+8) 0/r32/eax <span class="subxComment"># Var-type</span> -<span id="L17039" class="LineNr">17039 </span> (parse-type <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %eax *(ebp+0x18) *(ebp+0x1c)) +<span id="L17039" class="LineNr">17039 </span> (<a href='mu.subx.html#L17127'>parse-type</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %eax *(ebp+0x18) *(ebp+0x1c)) <span id="L17040" class="LineNr">17040 </span><span class="Constant">$parse-var-with-type:check-register</span>: <span id="L17041" class="LineNr">17041 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+0x18) *(edi+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L17042" class="LineNr">17042 </span> 3d/compare-eax-and 0/imm32 <span id="L17043" class="LineNr">17043 </span> 74/jump-if-= $parse-var-with-type:end/disp8 -<span id="L17044" class="LineNr">17044 </span> (float-register? %eax) <span class="subxComment"># => eax</span> +<span id="L17044" class="LineNr">17044 </span> (<a href='mu.subx.html#L17112'>float-register?</a> %eax) <span class="subxComment"># => eax</span> <span id="L17045" class="LineNr">17045 </span> { <span id="L17046" class="LineNr">17046 </span> 3d/compare-eax-and 0/imm32/false <span id="L17047" class="LineNr">17047 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L17048" class="LineNr">17048 </span> <span class="subxComment"># var is in a float register; ensure type is float</span> <span id="L17049" class="LineNr">17049 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17050" class="LineNr">17050 </span> (simple-mu-type? %eax 0xf) <span class="subxComment"># float => eax</span> +<span id="L17050" class="LineNr">17050 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xf) <span class="subxComment"># float => eax</span> <span id="L17051" class="LineNr">17051 </span> 3d/compare-eax-and 0/imm32/false <span id="L17052" class="LineNr">17052 </span> 0f 84/jump-if-= $parse-var-with-type:error-non-float-in-floating-point-register/disp32 <span id="L17053" class="LineNr">17053 </span> eb/jump $parse-var-with-type:end/disp8 <span id="L17054" class="LineNr">17054 </span> } <span id="L17055" class="LineNr">17055 </span> <span class="subxComment"># var is not in a float register; ensure type is not float</span> <span id="L17056" class="LineNr">17056 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17057" class="LineNr">17057 </span> (simple-mu-type? %eax 0xf) <span class="subxComment"># float => eax</span> +<span id="L17057" class="LineNr">17057 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xf) <span class="subxComment"># float => eax</span> <span id="L17058" class="LineNr">17058 </span> 3d/compare-eax-and 0/imm32/false <span id="L17059" class="LineNr">17059 </span> 0f 85/jump-if-!= $parse-var-with-type:error-float-in-integer-register/disp32 <span id="L17060" class="LineNr">17060 </span><span class="Constant">$parse-var-with-type:end</span>: @@ -15621,7 +15621,7 @@ if ('onhashchange' in window) { <span id="L17114" class="LineNr">17114 </span> 55/push-ebp <span id="L17115" class="LineNr">17115 </span> 89/<- %ebp 4/r32/esp <span id="L17116" class="LineNr">17116 </span> <span class="subxComment">#</span> -<span id="L17117" class="LineNr">17117 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers-unique</span> *(ebp+8) 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> +<span id="L17117" class="LineNr">17117 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19447'>Mu-registers-unique</a></span> *(ebp+8) 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> <span id="L17118" class="LineNr">17118 </span> 81 7/subop/compare *eax 8/imm32/start-of-floating-point-registers <span id="L17119" class="LineNr">17119 </span> 0f 9d/set-if->= %al <span id="L17120" class="LineNr">17120 </span> 25/and-eax-with 0xff/imm32 @@ -15667,7 +15667,7 @@ if ('onhashchange' in window) { <span id="L17160" class="LineNr">17160 </span> 68/push 0/imm32 <span id="L17161" class="LineNr">17161 </span> 89/<- %ecx 4/r32/esp <span id="L17162" class="LineNr">17162 </span> <span class="subxComment"># s = next-mu-token(in)</span> -<span id="L17163" class="LineNr">17163 </span> (next-mu-token *(ebp+0xc) %ecx) +<span id="L17163" class="LineNr">17163 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+0xc) %ecx) <span id="L17164" class="LineNr">17164 </span><span class="CommentedCode">#? (write-buffered Stderr "tok: ")</span> <span id="L17165" class="LineNr">17165 </span><span class="CommentedCode">#? (write-slice-buffered Stderr %ecx)</span> <span id="L17166" class="LineNr">17166 </span><span class="CommentedCode">#? (write-buffered Stderr "$\n")</span> @@ -15693,7 +15693,7 @@ if ('onhashchange' in window) { <span id="L17186" class="LineNr">17186 </span> 3d/compare-eax-and 0/imm32/false <span id="L17187" class="LineNr">17187 </span> 0f 85/jump-if-!= $parse-type:end/disp32 <span id="L17188" class="LineNr">17188 </span> <span class="subxComment"># out = new tree</span> -<span id="L17189" class="LineNr">17189 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Type-tree-size</span> *(ebp+0x10)) +<span id="L17189" class="LineNr">17189 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> *(ebp+0x10)) <span id="L17190" class="LineNr">17190 </span> <span class="subxComment"># var out-addr/edx: (addr type-tree) = lookup(*out)</span> <span id="L17191" class="LineNr">17191 </span> 8b/-> *(ebp+0x10) 2/r32/edx <span id="L17192" class="LineNr">17192 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> @@ -15718,7 +15718,7 @@ if ('onhashchange' in window) { <span id="L17211" class="LineNr">17211 </span> <span class="subxComment"># strip out metadata</span> <span id="L17212" class="LineNr">17212 </span> (<a href='124next-token.subx.html#L163'>next-token-from-slice</a> *ecx *(ecx+4) 0x2f %ecx) <span id="L17213" class="LineNr">17213 </span> <span class="subxComment">#</span> -<span id="L17214" class="LineNr">17214 </span> (check-mu-hex-int %ecx *(ebp+0x14) *(ebp+0x18)) +<span id="L17214" class="LineNr">17214 </span> (<a href='mu.subx.html#L19842'>check-mu-hex-int</a> %ecx *(ebp+0x14) *(ebp+0x18)) <span id="L17215" class="LineNr">17215 </span> (<a href='118parse-hex-int.subx.html#L387'>parse-hex-int-from-slice</a> %ecx) <span class="subxComment"># => eax</span> <span id="L17216" class="LineNr">17216 </span> c7 0/subop/copy *(edx+4) 9/imm32/type-id-array-capacity <span class="subxComment"># Type-tree-value</span> <span id="L17217" class="LineNr">17217 </span> 89/<- *(edx+8) 0/r32/eax <span class="subxComment"># Type-tree-value-size</span> @@ -15746,7 +15746,7 @@ if ('onhashchange' in window) { <span id="L17239" class="LineNr">17239 </span> } <span id="L17240" class="LineNr">17240 </span><span class="Constant">$parse-type:non-type-parameter</span>: <span id="L17241" class="LineNr">17241 </span> <span class="subxComment"># out->value = pos-or-insert-slice(Type-id, s)</span> -<span id="L17242" class="LineNr">17242 </span> (pos-or-insert-slice <span class="SpecialChar">Type-id</span> %ecx) <span class="subxComment"># => eax</span> +<span id="L17242" class="LineNr">17242 </span> (<a href='mu.subx.html#L17498'>pos-or-insert-slice</a> <span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> %ecx) <span class="subxComment"># => eax</span> <span id="L17243" class="LineNr">17243 </span> 89/<- *(edx+4) 0/r32/eax <span class="subxComment"># Type-tree-value</span> <span id="L17244" class="LineNr">17244 </span> e9/jump $parse-type:end/disp32 <span id="L17245" class="LineNr">17245 </span> } @@ -15754,10 +15754,10 @@ if ('onhashchange' in window) { <span id="L17247" class="LineNr">17247 </span> <span class="subxComment"># otherwise s == "("</span> <span id="L17248" class="LineNr">17248 </span> <span class="subxComment"># out->left = parse-type(ad, in)</span> <span id="L17249" class="LineNr">17249 </span> 8d/copy-address *(edx+4) 0/r32/eax <span class="subxComment"># Type-tree-left</span> -<span id="L17250" class="LineNr">17250 </span> (parse-type *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L17250" class="LineNr">17250 </span> (<a href='mu.subx.html#L17127'>parse-type</a> *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) <span id="L17251" class="LineNr">17251 </span> <span class="subxComment"># out->right = parse-type-tree(ad, in)</span> <span id="L17252" class="LineNr">17252 </span> 8d/copy-address *(edx+0xc) 0/r32/eax <span class="subxComment"># Type-tree-right</span> -<span id="L17253" class="LineNr">17253 </span> (parse-type-tree *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L17253" class="LineNr">17253 </span> (<a href='mu.subx.html#L17275'>parse-type-tree</a> *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) <span id="L17254" class="LineNr">17254 </span><span class="Constant">$parse-type:end</span>: <span id="L17255" class="LineNr">17255 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L17256" class="LineNr">17256 </span> 81 0/subop/add %esp 8/imm32 @@ -15802,12 +15802,12 @@ if ('onhashchange' in window) { <span id="L17295" class="LineNr">17295 </span> 68/push 0/imm32 <span id="L17296" class="LineNr">17296 </span> 89/<- %ecx 4/r32/esp <span id="L17297" class="LineNr">17297 </span> <span class="subxComment"># tmp = parse-type(ad, in)</span> -<span id="L17298" class="LineNr">17298 </span> (parse-type *(ebp+8) *(ebp+0xc) %ecx *(ebp+0x14) *(ebp+0x18)) +<span id="L17298" class="LineNr">17298 </span> (<a href='mu.subx.html#L17127'>parse-type</a> *(ebp+8) *(ebp+0xc) %ecx *(ebp+0x14) *(ebp+0x18)) <span id="L17299" class="LineNr">17299 </span> <span class="subxComment"># if (tmp == 0) return</span> <span id="L17300" class="LineNr">17300 </span> 81 7/subop/compare *ecx 0/imm32 <span id="L17301" class="LineNr">17301 </span> 74/jump-if-= $parse-type-tree:end/disp8 <span id="L17302" class="LineNr">17302 </span> <span class="subxComment"># out = new tree</span> -<span id="L17303" class="LineNr">17303 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Type-tree-size</span> *(ebp+0x10)) +<span id="L17303" class="LineNr">17303 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> *(ebp+0x10)) <span id="L17304" class="LineNr">17304 </span> <span class="subxComment"># var out-addr/edx: (addr tree) = lookup(*out)</span> <span id="L17305" class="LineNr">17305 </span> 8b/-> *(ebp+0x10) 2/r32/edx <span id="L17306" class="LineNr">17306 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> @@ -15819,7 +15819,7 @@ if ('onhashchange' in window) { <span id="L17312" class="LineNr">17312 </span> 89/<- *(edx+8) 0/r32/eax <span class="subxComment"># Type-tree-left</span> <span id="L17313" class="LineNr">17313 </span> <span class="subxComment"># out->right = parse-type-tree(ad, in)</span> <span id="L17314" class="LineNr">17314 </span> 8d/copy-address *(edx+0xc) 0/r32/eax <span class="subxComment"># Type-tree-right</span> -<span id="L17315" class="LineNr">17315 </span> (parse-type-tree *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L17315" class="LineNr">17315 </span> (<a href='mu.subx.html#L17275'>parse-type-tree</a> *(ebp+8) *(ebp+0xc) %eax *(ebp+0x14) *(ebp+0x18)) <span id="L17316" class="LineNr">17316 </span><span class="Constant">$parse-type-tree:end</span>: <span id="L17317" class="LineNr">17317 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L17318" class="LineNr">17318 </span> 81 0/subop/add %esp 8/imm32 @@ -16007,7 +16007,7 @@ if ('onhashchange' in window) { <span id="L17500" class="LineNr">17500 </span> 55/push-ebp <span id="L17501" class="LineNr">17501 </span> 89/<- %ebp 4/r32/esp <span id="L17502" class="LineNr">17502 </span> <span class="subxComment"># if (pos-slice(arr, s) != -1) return it</span> -<span id="L17503" class="LineNr">17503 </span> (pos-slice *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L17503" class="LineNr">17503 </span> (<a href='mu.subx.html#L17526'>pos-slice</a> *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L17504" class="LineNr">17504 </span> 3d/compare-eax-and -1/imm32 <span id="L17505" class="LineNr">17505 </span> 75/jump-if-!= $pos-or-insert-slice:end/disp8 <span id="L17506" class="LineNr">17506 </span><span class="Constant">$pos-or-insert-slice:insert</span>: @@ -16019,7 +16019,7 @@ if ('onhashchange' in window) { <span id="L17512" class="LineNr">17512 </span> <span class="subxComment"># throw away alloc-id</span> <span id="L17513" class="LineNr">17513 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L17514" class="LineNr">17514 </span> (<a href='202write-int.subx.html#L8'>write-int</a> *(ebp+8) %eax) -<span id="L17515" class="LineNr">17515 </span> (pos-slice *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L17515" class="LineNr">17515 </span> (<a href='mu.subx.html#L17526'>pos-slice</a> *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L17516" class="LineNr">17516 </span><span class="Constant">$pos-or-insert-slice:end</span>: <span id="L17517" class="LineNr">17517 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L17518" class="LineNr">17518 </span> 81 0/subop/add %esp 8/imm32 @@ -16093,8 +16093,8 @@ if ('onhashchange' in window) { <span id="L17586" class="LineNr">17586 </span> 55/push-ebp <span id="L17587" class="LineNr">17587 </span> 89/<- %ebp 4/r32/esp <span id="L17588" class="LineNr">17588 </span> <span class="subxComment"># setup</span> -<span id="L17589" class="LineNr">17589 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L17590" class="LineNr">17590 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L17589" class="LineNr">17589 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L17590" class="LineNr">17590 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L17591" class="LineNr">17591 </span> <span class="subxComment"># (eax..ecx) = "x:"</span> <span id="L17592" class="LineNr">17592 </span> b8/copy-to-eax <span class="Constant">"x:"</span>/imm32 <span id="L17593" class="LineNr">17593 </span> 8b/-> *eax 1/r32/ecx @@ -16112,18 +16112,18 @@ if ('onhashchange' in window) { <span id="L17605" class="LineNr">17605 </span> 68/push 0/imm32 <span id="L17606" class="LineNr">17606 </span> 89/<- %edx 4/r32/esp <span id="L17607" class="LineNr">17607 </span> <span class="subxComment">#</span> -<span id="L17608" class="LineNr">17608 </span> (parse-var-with-type %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L17608" class="LineNr">17608 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L17609" class="LineNr">17609 </span> <span class="subxComment"># var v-addr/edx: (addr var) = lookup(v)</span> <span id="L17610" class="LineNr">17610 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L17611" class="LineNr">17611 </span> 89/<- %edx 0/r32/eax <span id="L17612" class="LineNr">17612 </span> <span class="subxComment"># check v-addr->name</span> <span id="L17613" class="LineNr">17613 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L17614" class="LineNr">17614 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - test-parse-var-with-type/name"</span>) +<span id="L17614" class="LineNr">17614 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - <a href='mu.subx.html#L17584'>test-parse-var-with-type</a>/name"</span>) <span id="L17615" class="LineNr">17615 </span> <span class="subxComment"># check v-addr->type</span> <span id="L17616" class="LineNr">17616 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17617" class="LineNr">17617 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-type/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17618" class="LineNr">17618 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-var-with-type/type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L17619" class="LineNr">17619 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-var-with-type/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L17617" class="LineNr">17617 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17584'>test-parse-var-with-type</a>/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17618" class="LineNr">17618 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L17584'>test-parse-var-with-type</a>/type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L17619" class="LineNr">17619 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L17584'>test-parse-var-with-type</a>/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L17620" class="LineNr">17620 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17621" class="LineNr">17621 </span> 89/<- %esp 5/r32/ebp <span id="L17622" class="LineNr">17622 </span> 5d/pop-to-ebp @@ -16134,8 +16134,8 @@ if ('onhashchange' in window) { <span id="L17627" class="LineNr">17627 </span> 55/push-ebp <span id="L17628" class="LineNr">17628 </span> 89/<- %ebp 4/r32/esp <span id="L17629" class="LineNr">17629 </span> <span class="subxComment"># setup</span> -<span id="L17630" class="LineNr">17630 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L17631" class="LineNr">17631 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L17630" class="LineNr">17630 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L17631" class="LineNr">17631 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L17632" class="LineNr">17632 </span> <span class="subxComment"># (eax..ecx) = "x/eax:"</span> <span id="L17633" class="LineNr">17633 </span> b8/copy-to-eax <span class="Constant">"x/eax:"</span>/imm32 <span id="L17634" class="LineNr">17634 </span> 8b/-> *eax 1/r32/ecx @@ -16153,21 +16153,21 @@ if ('onhashchange' in window) { <span id="L17646" class="LineNr">17646 </span> 68/push 0/imm32 <span id="L17647" class="LineNr">17647 </span> 89/<- %edx 4/r32/esp <span id="L17648" class="LineNr">17648 </span> <span class="subxComment">#</span> -<span id="L17649" class="LineNr">17649 </span> (parse-var-with-type %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L17649" class="LineNr">17649 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L17650" class="LineNr">17650 </span> <span class="subxComment"># var v-addr/edx: (addr var) = lookup(v)</span> <span id="L17651" class="LineNr">17651 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L17652" class="LineNr">17652 </span> 89/<- %edx 0/r32/eax <span id="L17653" class="LineNr">17653 </span> <span class="subxComment"># check v-addr->name</span> <span id="L17654" class="LineNr">17654 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L17655" class="LineNr">17655 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - test-parse-var-with-type-and-register/name"</span>) +<span id="L17655" class="LineNr">17655 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - <a href='mu.subx.html#L17625'>test-parse-var-with-type-and-register</a>/name"</span>) <span id="L17656" class="LineNr">17656 </span> <span class="subxComment"># check v-addr->register</span> <span id="L17657" class="LineNr">17657 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0x18) *(edx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L17658" class="LineNr">17658 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - test-parse-var-with-type-and-register/register"</span>) +<span id="L17658" class="LineNr">17658 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L17625'>test-parse-var-with-type-and-register</a>/register"</span>) <span id="L17659" class="LineNr">17659 </span> <span class="subxComment"># check v-addr->type</span> <span id="L17660" class="LineNr">17660 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17661" class="LineNr">17661 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-type-and-register/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17662" class="LineNr">17662 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-var-with-type-and-register/type:1"</span>) <span class="subxComment"># Type-tree-left</span> -<span id="L17663" class="LineNr">17663 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-var-with-type-and-register/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L17661" class="LineNr">17661 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17625'>test-parse-var-with-type-and-register</a>/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17662" class="LineNr">17662 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L17625'>test-parse-var-with-type-and-register</a>/type:1"</span>) <span class="subxComment"># Type-tree-left</span> +<span id="L17663" class="LineNr">17663 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L17625'>test-parse-var-with-type-and-register</a>/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L17664" class="LineNr">17664 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17665" class="LineNr">17665 </span> 89/<- %esp 5/r32/ebp <span id="L17666" class="LineNr">17666 </span> 5d/pop-to-ebp @@ -16178,8 +16178,8 @@ if ('onhashchange' in window) { <span id="L17671" class="LineNr">17671 </span> 55/push-ebp <span id="L17672" class="LineNr">17672 </span> 89/<- %ebp 4/r32/esp <span id="L17673" class="LineNr">17673 </span> <span class="subxComment"># setup</span> -<span id="L17674" class="LineNr">17674 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L17675" class="LineNr">17675 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L17674" class="LineNr">17674 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L17675" class="LineNr">17675 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L17676" class="LineNr">17676 </span> <span class="subxComment"># (eax..ecx) = "x:"</span> <span id="L17677" class="LineNr">17677 </span> b8/copy-to-eax <span class="Constant">"x:"</span>/imm32 <span id="L17678" class="LineNr">17678 </span> 8b/-> *eax 1/r32/ecx @@ -16197,20 +16197,20 @@ if ('onhashchange' in window) { <span id="L17690" class="LineNr">17690 </span> 68/push 0/imm32 <span id="L17691" class="LineNr">17691 </span> 89/<- %edx 4/r32/esp <span id="L17692" class="LineNr">17692 </span> <span class="subxComment">#</span> -<span id="L17693" class="LineNr">17693 </span> (parse-var-with-type %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L17693" class="LineNr">17693 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L17694" class="LineNr">17694 </span> <span class="subxComment"># var v-addr/edx: (addr var) = lookup(v)</span> <span id="L17695" class="LineNr">17695 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L17696" class="LineNr">17696 </span> 89/<- %edx 0/r32/eax <span id="L17697" class="LineNr">17697 </span> <span class="subxComment"># check v-addr->name</span> <span id="L17698" class="LineNr">17698 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L17699" class="LineNr">17699 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - test-parse-var-with-trailing-characters/name"</span>) +<span id="L17699" class="LineNr">17699 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - <a href='mu.subx.html#L17669'>test-parse-var-with-trailing-characters</a>/name"</span>) <span id="L17700" class="LineNr">17700 </span> <span class="subxComment"># check v-addr->register</span> -<span id="L17701" class="LineNr">17701 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+0x18) 0 <span class="Constant">"F - test-parse-var-with-trailing-characters/register"</span>) <span class="subxComment"># Var-register</span> +<span id="L17701" class="LineNr">17701 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+0x18) 0 <span class="Constant">"F - <a href='mu.subx.html#L17669'>test-parse-var-with-trailing-characters</a>/register"</span>) <span class="subxComment"># Var-register</span> <span id="L17702" class="LineNr">17702 </span> <span class="subxComment"># check v-addr->type</span> <span id="L17703" class="LineNr">17703 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17704" class="LineNr">17704 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-trailing-characters/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17705" class="LineNr">17705 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-var-with-trailing-characters/type:1"</span>) <span class="subxComment"># Type-tree-left</span> -<span id="L17706" class="LineNr">17706 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-var-with-trailing-characters/type:1"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L17704" class="LineNr">17704 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17669'>test-parse-var-with-trailing-characters</a>/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17705" class="LineNr">17705 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L17669'>test-parse-var-with-trailing-characters</a>/type:1"</span>) <span class="subxComment"># Type-tree-left</span> +<span id="L17706" class="LineNr">17706 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L17669'>test-parse-var-with-trailing-characters</a>/type:1"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L17707" class="LineNr">17707 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17708" class="LineNr">17708 </span> 89/<- %esp 5/r32/ebp <span id="L17709" class="LineNr">17709 </span> 5d/pop-to-ebp @@ -16221,8 +16221,8 @@ if ('onhashchange' in window) { <span id="L17714" class="LineNr">17714 </span> 55/push-ebp <span id="L17715" class="LineNr">17715 </span> 89/<- %ebp 4/r32/esp <span id="L17716" class="LineNr">17716 </span> <span class="subxComment"># setup</span> -<span id="L17717" class="LineNr">17717 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L17718" class="LineNr">17718 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L17717" class="LineNr">17717 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L17718" class="LineNr">17718 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L17719" class="LineNr">17719 </span> <span class="subxComment"># (eax..ecx) = "x/eax:"</span> <span id="L17720" class="LineNr">17720 </span> b8/copy-to-eax <span class="Constant">"x/eax:"</span>/imm32 <span id="L17721" class="LineNr">17721 </span> 8b/-> *eax 1/r32/ecx @@ -16240,21 +16240,21 @@ if ('onhashchange' in window) { <span id="L17733" class="LineNr">17733 </span> 68/push 0/imm32 <span id="L17734" class="LineNr">17734 </span> 89/<- %edx 4/r32/esp <span id="L17735" class="LineNr">17735 </span> <span class="subxComment">#</span> -<span id="L17736" class="LineNr">17736 </span> (parse-var-with-type %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L17736" class="LineNr">17736 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L17737" class="LineNr">17737 </span> <span class="subxComment"># var v-addr/edx: (addr var) = lookup(v)</span> <span id="L17738" class="LineNr">17738 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L17739" class="LineNr">17739 </span> 89/<- %edx 0/r32/eax <span id="L17740" class="LineNr">17740 </span> <span class="subxComment"># check v-addr->name</span> <span id="L17741" class="LineNr">17741 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L17742" class="LineNr">17742 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - test-parse-var-with-register-and-trailing-characters/name"</span>) +<span id="L17742" class="LineNr">17742 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - <a href='mu.subx.html#L17712'>test-parse-var-with-register-and-trailing-characters</a>/name"</span>) <span id="L17743" class="LineNr">17743 </span> <span class="subxComment"># check v-addr->register</span> <span id="L17744" class="LineNr">17744 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0x18) *(edx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L17745" class="LineNr">17745 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - test-parse-var-with-register-and-trailing-characters/register"</span>) +<span id="L17745" class="LineNr">17745 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L17712'>test-parse-var-with-register-and-trailing-characters</a>/register"</span>) <span id="L17746" class="LineNr">17746 </span> <span class="subxComment"># check v-addr->type</span> <span id="L17747" class="LineNr">17747 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L17748" class="LineNr">17748 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-register-and-trailing-characters/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17749" class="LineNr">17749 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-var-with-register-and-trailing-characters/type:1"</span>) <span class="subxComment"># Type-tree-left</span> -<span id="L17750" class="LineNr">17750 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-var-with-register-and-trailing-characters/type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L17748" class="LineNr">17748 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17712'>test-parse-var-with-register-and-trailing-characters</a>/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17749" class="LineNr">17749 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L17712'>test-parse-var-with-register-and-trailing-characters</a>/type:1"</span>) <span class="subxComment"># Type-tree-left</span> +<span id="L17750" class="LineNr">17750 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L17712'>test-parse-var-with-register-and-trailing-characters</a>/type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L17751" class="LineNr">17751 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17752" class="LineNr">17752 </span> 89/<- %esp 5/r32/ebp <span id="L17753" class="LineNr">17753 </span> 5d/pop-to-ebp @@ -16265,8 +16265,8 @@ if ('onhashchange' in window) { <span id="L17758" class="LineNr">17758 </span> 55/push-ebp <span id="L17759" class="LineNr">17759 </span> 89/<- %ebp 4/r32/esp <span id="L17760" class="LineNr">17760 </span> <span class="subxComment"># setup</span> -<span id="L17761" class="LineNr">17761 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L17762" class="LineNr">17762 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L17761" class="LineNr">17761 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L17762" class="LineNr">17762 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L17763" class="LineNr">17763 </span> <span class="subxComment"># (eax..ecx) = "x:"</span> <span id="L17764" class="LineNr">17764 </span> b8/copy-to-eax <span class="Constant">"x:"</span>/imm32 <span id="L17765" class="LineNr">17765 </span> 8b/-> *eax 1/r32/ecx @@ -16284,32 +16284,32 @@ if ('onhashchange' in window) { <span id="L17777" class="LineNr">17777 </span> 68/push 0/imm32 <span id="L17778" class="LineNr">17778 </span> 89/<- %edx 4/r32/esp <span id="L17779" class="LineNr">17779 </span> <span class="subxComment">#</span> -<span id="L17780" class="LineNr">17780 </span> (parse-var-with-type %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L17780" class="LineNr">17780 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %edx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L17781" class="LineNr">17781 </span> <span class="subxComment"># var v-addr/edx: (addr var) = lookup(v)</span> <span id="L17782" class="LineNr">17782 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L17783" class="LineNr">17783 </span> 89/<- %edx 0/r32/eax <span id="L17784" class="LineNr">17784 </span> <span class="subxComment"># check v-addr->name</span> <span id="L17785" class="LineNr">17785 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L17786" class="LineNr">17786 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - test-parse-var-with-compound-type/name"</span>) +<span id="L17786" class="LineNr">17786 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"x"</span> <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/name"</span>) <span id="L17787" class="LineNr">17787 </span> <span class="subxComment"># check v-addr->register</span> -<span id="L17788" class="LineNr">17788 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+0x18) 0 <span class="Constant">"F - test-parse-var-with-compound-type/register"</span>) <span class="subxComment"># Var-register</span> +<span id="L17788" class="LineNr">17788 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(edx+0x18) 0 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/register"</span>) <span class="subxComment"># Var-register</span> <span id="L17789" class="LineNr">17789 </span> <span class="subxH1Comment"># - check v-addr->type</span> <span id="L17790" class="LineNr">17790 </span> <span class="subxComment"># var type/edx: (addr type-tree) = var->type</span> <span id="L17791" class="LineNr">17791 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L17792" class="LineNr">17792 </span> 89/<- %edx 0/r32/eax <span id="L17793" class="LineNr">17793 </span> <span class="subxComment"># type is a non-atom</span> -<span id="L17794" class="LineNr">17794 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 0 <span class="Constant">"F - test-parse-var-with-compound-type/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17794" class="LineNr">17794 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 0 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> <span id="L17795" class="LineNr">17795 </span> <span class="subxComment"># type->left == atom(addr)</span> <span id="L17796" class="LineNr">17796 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L17797" class="LineNr">17797 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-compound-type/type:1"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17798" class="LineNr">17798 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 2 <span class="Constant">"F - test-parse-var-with-compound-type/type:2"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L17797" class="LineNr">17797 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:1"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17798" class="LineNr">17798 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 2 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:2"</span>) <span class="subxComment"># Type-tree-value</span> <span id="L17799" class="LineNr">17799 </span> <span class="subxComment"># type->right->left == atom(int)</span> <span id="L17800" class="LineNr">17800 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0xc) *(edx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L17801" class="LineNr">17801 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L17802" class="LineNr">17802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-var-with-compound-type/type:3"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L17803" class="LineNr">17803 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-var-with-compound-type/type:4"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L17802" class="LineNr">17802 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:3"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L17803" class="LineNr">17803 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:4"</span>) <span class="subxComment"># Type-tree-value</span> <span id="L17804" class="LineNr">17804 </span> <span class="subxComment"># type->right->right == null</span> -<span id="L17805" class="LineNr">17805 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-var-with-compound-type/type:5"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L17805" class="LineNr">17805 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L17756'>test-parse-var-with-compound-type</a>/type:5"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L17806" class="LineNr">17806 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17807" class="LineNr">17807 </span> 89/<- %esp 5/r32/ebp <span id="L17808" class="LineNr">17808 </span> 5d/pop-to-ebp @@ -16371,7 +16371,7 @@ if ('onhashchange' in window) { <span id="L17864" class="LineNr">17864 </span> 50/push-eax <span id="L17865" class="LineNr">17865 </span> 89/<- %ecx 4/r32/esp <span id="L17866" class="LineNr">17866 </span> <span class="subxComment">#</span> -<span id="L17867" class="LineNr">17867 </span> (identifier? %ecx) +<span id="L17867" class="LineNr">17867 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17868" class="LineNr">17868 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-dollar"</span>) <span id="L17869" class="LineNr">17869 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17870" class="LineNr">17870 </span> 89/<- %esp 5/r32/ebp @@ -16392,7 +16392,7 @@ if ('onhashchange' in window) { <span id="L17885" class="LineNr">17885 </span> 50/push-eax <span id="L17886" class="LineNr">17886 </span> 89/<- %ecx 4/r32/esp <span id="L17887" class="LineNr">17887 </span> <span class="subxComment">#</span> -<span id="L17888" class="LineNr">17888 </span> (identifier? %ecx) +<span id="L17888" class="LineNr">17888 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17889" class="LineNr">17889 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-underscore"</span>) <span id="L17890" class="LineNr">17890 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17891" class="LineNr">17891 </span> 89/<- %esp 5/r32/ebp @@ -16413,7 +16413,7 @@ if ('onhashchange' in window) { <span id="L17906" class="LineNr">17906 </span> 50/push-eax <span id="L17907" class="LineNr">17907 </span> 89/<- %ecx 4/r32/esp <span id="L17908" class="LineNr">17908 </span> <span class="subxComment">#</span> -<span id="L17909" class="LineNr">17909 </span> (identifier? %ecx) +<span id="L17909" class="LineNr">17909 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17910" class="LineNr">17910 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-a"</span>) <span id="L17911" class="LineNr">17911 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17912" class="LineNr">17912 </span> 89/<- %esp 5/r32/ebp @@ -16434,7 +16434,7 @@ if ('onhashchange' in window) { <span id="L17927" class="LineNr">17927 </span> 50/push-eax <span id="L17928" class="LineNr">17928 </span> 89/<- %ecx 4/r32/esp <span id="L17929" class="LineNr">17929 </span> <span class="subxComment">#</span> -<span id="L17930" class="LineNr">17930 </span> (identifier? %ecx) +<span id="L17930" class="LineNr">17930 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17931" class="LineNr">17931 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-z"</span>) <span id="L17932" class="LineNr">17932 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17933" class="LineNr">17933 </span> 89/<- %esp 5/r32/ebp @@ -16455,7 +16455,7 @@ if ('onhashchange' in window) { <span id="L17948" class="LineNr">17948 </span> 50/push-eax <span id="L17949" class="LineNr">17949 </span> 89/<- %ecx 4/r32/esp <span id="L17950" class="LineNr">17950 </span> <span class="subxComment">#</span> -<span id="L17951" class="LineNr">17951 </span> (identifier? %ecx) +<span id="L17951" class="LineNr">17951 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17952" class="LineNr">17952 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-A"</span>) <span id="L17953" class="LineNr">17953 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17954" class="LineNr">17954 </span> 89/<- %esp 5/r32/ebp @@ -16476,7 +16476,7 @@ if ('onhashchange' in window) { <span id="L17969" class="LineNr">17969 </span> 50/push-eax <span id="L17970" class="LineNr">17970 </span> 89/<- %ecx 4/r32/esp <span id="L17971" class="LineNr">17971 </span> <span class="subxComment">#</span> -<span id="L17972" class="LineNr">17972 </span> (identifier? %ecx) +<span id="L17972" class="LineNr">17972 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17973" class="LineNr">17973 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 1 <span class="Constant">"F - test-is-identifier-Z"</span>) <span id="L17974" class="LineNr">17974 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17975" class="LineNr">17975 </span> 89/<- %esp 5/r32/ebp @@ -16498,7 +16498,7 @@ if ('onhashchange' in window) { <span id="L17991" class="LineNr">17991 </span> 50/push-eax <span id="L17992" class="LineNr">17992 </span> 89/<- %ecx 4/r32/esp <span id="L17993" class="LineNr">17993 </span> <span class="subxComment">#</span> -<span id="L17994" class="LineNr">17994 </span> (identifier? %ecx) +<span id="L17994" class="LineNr">17994 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L17995" class="LineNr">17995 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-@"</span>) <span id="L17996" class="LineNr">17996 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L17997" class="LineNr">17997 </span> 89/<- %esp 5/r32/ebp @@ -16520,7 +16520,7 @@ if ('onhashchange' in window) { <span id="L18013" class="LineNr">18013 </span> 50/push-eax <span id="L18014" class="LineNr">18014 </span> 89/<- %ecx 4/r32/esp <span id="L18015" class="LineNr">18015 </span> <span class="subxComment">#</span> -<span id="L18016" class="LineNr">18016 </span> (identifier? %ecx) +<span id="L18016" class="LineNr">18016 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L18017" class="LineNr">18017 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-@"</span>) <span id="L18018" class="LineNr">18018 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18019" class="LineNr">18019 </span> 89/<- %esp 5/r32/ebp @@ -16542,7 +16542,7 @@ if ('onhashchange' in window) { <span id="L18035" class="LineNr">18035 </span> 50/push-eax <span id="L18036" class="LineNr">18036 </span> 89/<- %ecx 4/r32/esp <span id="L18037" class="LineNr">18037 </span> <span class="subxComment">#</span> -<span id="L18038" class="LineNr">18038 </span> (identifier? %ecx) +<span id="L18038" class="LineNr">18038 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L18039" class="LineNr">18039 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-backtick"</span>) <span id="L18040" class="LineNr">18040 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18041" class="LineNr">18041 </span> 89/<- %esp 5/r32/ebp @@ -16564,7 +16564,7 @@ if ('onhashchange' in window) { <span id="L18057" class="LineNr">18057 </span> 50/push-eax <span id="L18058" class="LineNr">18058 </span> 89/<- %ecx 4/r32/esp <span id="L18059" class="LineNr">18059 </span> <span class="subxComment">#</span> -<span id="L18060" class="LineNr">18060 </span> (identifier? %ecx) +<span id="L18060" class="LineNr">18060 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L18061" class="LineNr">18061 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-curly-brace-open"</span>) <span id="L18062" class="LineNr">18062 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18063" class="LineNr">18063 </span> 89/<- %esp 5/r32/ebp @@ -16585,7 +16585,7 @@ if ('onhashchange' in window) { <span id="L18078" class="LineNr">18078 </span> 50/push-eax <span id="L18079" class="LineNr">18079 </span> 89/<- %ecx 4/r32/esp <span id="L18080" class="LineNr">18080 </span> <span class="subxComment">#</span> -<span id="L18081" class="LineNr">18081 </span> (identifier? %ecx) +<span id="L18081" class="LineNr">18081 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L18082" class="LineNr">18082 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-curly-brace-close"</span>) <span id="L18083" class="LineNr">18083 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18084" class="LineNr">18084 </span> 89/<- %esp 5/r32/ebp @@ -16607,7 +16607,7 @@ if ('onhashchange' in window) { <span id="L18100" class="LineNr">18100 </span> 50/push-eax <span id="L18101" class="LineNr">18101 </span> 89/<- %ecx 4/r32/esp <span id="L18102" class="LineNr">18102 </span> <span class="subxComment">#</span> -<span id="L18103" class="LineNr">18103 </span> (identifier? %ecx) +<span id="L18103" class="LineNr">18103 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span id="L18104" class="LineNr">18104 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> %eax 0 <span class="Constant">"F - test-is-identifier-hyphen"</span>) <span id="L18105" class="LineNr">18105 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18106" class="LineNr">18106 </span> 89/<- %esp 5/r32/ebp @@ -16627,10 +16627,10 @@ if ('onhashchange' in window) { <span id="L18120" class="LineNr">18120 </span> <span class="subxComment"># edi = out</span> <span id="L18121" class="LineNr">18121 </span> 8b/-> *(ebp+0xc) 7/r32/edi <span id="L18122" class="LineNr">18122 </span> <span class="subxComment"># initialize some global state</span> -<span id="L18123" class="LineNr">18123 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 1/imm32 +<span id="L18123" class="LineNr">18123 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 1/imm32 <span id="L18124" class="LineNr">18124 </span> <span class="subxComment"># parse-mu-block(in, vars, out, out->body)</span> <span id="L18125" class="LineNr">18125 </span> 8d/copy-address *(edi+0x18) 0/r32/eax <span class="subxComment"># Function-body</span> -<span id="L18126" class="LineNr">18126 </span> (parse-mu-block %esi *(ebp+0x10) %edi %eax *(ebp+0x14) *(ebp+0x18)) +<span id="L18126" class="LineNr">18126 </span> (<a href='mu.subx.html#L18138'>parse-mu-block</a> %esi *(ebp+0x10) %edi %eax *(ebp+0x14) *(ebp+0x18)) <span id="L18127" class="LineNr">18127 </span><span class="Constant">$populate-mu-function-body:end</span>: <span id="L18128" class="LineNr">18128 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L18129" class="LineNr">18129 </span> 5f/pop-to-edi @@ -16699,7 +16699,7 @@ if ('onhashchange' in window) { <span id="L18192" class="LineNr">18192 </span> 68/push 0/imm32/start <span id="L18193" class="LineNr">18193 </span> 89/<- %edx 4/r32/esp <span id="L18194" class="LineNr">18194 </span> <span class="subxComment"># allocate into out</span> -<span id="L18195" class="LineNr">18195 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Stmt-size</span> *(ebp+0x14)) +<span id="L18195" class="LineNr">18195 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L330'>Stmt-size</a></span> *(ebp+0x14)) <span id="L18196" class="LineNr">18196 </span> <span class="subxComment"># var out-addr/edi: (addr block) = lookup(*out)</span> <span id="L18197" class="LineNr">18197 </span> 8b/-> *(ebp+0x14) 7/r32/edi <span id="L18198" class="LineNr">18198 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> @@ -16707,13 +16707,13 @@ if ('onhashchange' in window) { <span id="L18200" class="LineNr">18200 </span> <span class="subxComment"># out-addr->tag is 0 (block) by default</span> <span id="L18201" class="LineNr">18201 </span> <span class="subxComment"># set out-addr->var</span> <span id="L18202" class="LineNr">18202 </span> 8d/copy-address *(edi+0xc) 0/r32/eax <span class="subxComment"># Block-var</span> -<span id="L18203" class="LineNr">18203 </span> (new-block-name *(ebp+0x10) %eax) +<span id="L18203" class="LineNr">18203 </span> (<a href='mu.subx.html#L18358'>new-block-name</a> *(ebp+0x10) %eax) <span id="L18204" class="LineNr">18204 </span> <span class="subxComment"># push(vars, out-addr->var)</span> <span id="L18205" class="LineNr">18205 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0xc) *(edi+0xc)) <span class="subxComment"># Block-var</span> <span id="L18206" class="LineNr">18206 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0xc) *(edi+0x10)) <span class="subxComment"># Block-var</span> <span id="L18207" class="LineNr">18207 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0xc) 0) <span class="subxComment"># false</span> <span id="L18208" class="LineNr">18208 </span> <span class="subxComment"># increment *Curr-block-depth</span> -<span id="L18209" class="LineNr">18209 </span> ff 0/subop/increment *<span class="SpecialChar">Curr-block-depth</span> +<span id="L18209" class="LineNr">18209 </span> ff 0/subop/increment *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> <span id="L18210" class="LineNr">18210 </span> { <span id="L18211" class="LineNr">18211 </span><span class="Constant">$parse-mu-block:line-loop</span>: <span id="L18212" class="LineNr">18212 </span> <span class="subxComment"># line = read-line-buffered(in)</span> @@ -16730,7 +16730,7 @@ if ('onhashchange' in window) { <span id="L18223" class="LineNr">18223 </span><span class="CommentedCode">#? (write-buffered Stderr "vars:\n")</span> <span id="L18224" class="LineNr">18224 </span><span class="CommentedCode">#? (dump-vars *(ebp+0xc))</span> <span id="L18225" class="LineNr">18225 </span> <span class="subxComment"># word-slice = next-mu-token(line)</span> -<span id="L18226" class="LineNr">18226 </span> (next-mu-token %ecx %edx) +<span id="L18226" class="LineNr">18226 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> %ecx %edx) <span id="L18227" class="LineNr">18227 </span><span class="CommentedCode">#? (write-buffered Stderr "word: ")</span> <span id="L18228" class="LineNr">18228 </span><span class="CommentedCode">#? (write-slice-buffered Stderr %edx)</span> <span id="L18229" class="LineNr">18229 </span><span class="CommentedCode">#? (write-buffered Stderr Newline)</span> @@ -16753,15 +16753,15 @@ if ('onhashchange' in window) { <span id="L18246" class="LineNr">18246 </span> (<a href='123slice.subx.html#L120'>slice-equal?</a> %edx <span class="Constant">"{"</span>) <span id="L18247" class="LineNr">18247 </span> 3d/compare-eax-and 0/imm32/false <span id="L18248" class="LineNr">18248 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L18249" class="LineNr">18249 </span> (check-no-tokens-left %ecx) +<span id="L18249" class="LineNr">18249 </span> (<a href='mu.subx.html#L18422'>check-no-tokens-left</a> %ecx) <span id="L18250" class="LineNr">18250 </span> <span class="subxComment"># parse new block and append</span> <span id="L18251" class="LineNr">18251 </span> <span class="subxS1Comment"># . var tmp/eax: (handle block)</span> <span id="L18252" class="LineNr">18252 </span> 68/push 0/imm32 <span id="L18253" class="LineNr">18253 </span> 68/push 0/imm32 <span id="L18254" class="LineNr">18254 </span> 89/<- %eax 4/r32/esp <span id="L18255" class="LineNr">18255 </span> <span class="subxS1Comment"># .</span> -<span id="L18256" class="LineNr">18256 </span> (parse-mu-block *(ebp+8) *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) -<span id="L18257" class="LineNr">18257 </span> (append-to-block <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) +<span id="L18256" class="LineNr">18256 </span> (<a href='mu.subx.html#L18138'>parse-mu-block</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) +<span id="L18257" class="LineNr">18257 </span> (<a href='mu.subx.html#L20173'>append-to-block</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) <span id="L18258" class="LineNr">18258 </span> <span class="subxS1Comment"># . reclaim tmp</span> <span id="L18259" class="LineNr">18259 </span> 81 0/subop/add %esp 8/imm32 <span id="L18260" class="LineNr">18260 </span> <span class="subxS1Comment"># .</span> @@ -16792,8 +16792,8 @@ if ('onhashchange' in window) { <span id="L18285" class="LineNr">18285 </span> 68/push 0/imm32 <span id="L18286" class="LineNr">18286 </span> 89/<- %eax 4/r32/esp <span id="L18287" class="LineNr">18287 </span> <span class="subxComment">#</span> -<span id="L18288" class="LineNr">18288 </span> (parse-mu-named-block %edx *(ebp+8) *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) -<span id="L18289" class="LineNr">18289 </span> (append-to-block <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) +<span id="L18288" class="LineNr">18288 </span> (<a href='mu.subx.html#L18468'>parse-mu-named-block</a> %edx *(ebp+8) *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) +<span id="L18289" class="LineNr">18289 </span> (<a href='mu.subx.html#L20173'>append-to-block</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) <span id="L18290" class="LineNr">18290 </span> <span class="subxComment"># reclaim tmp</span> <span id="L18291" class="LineNr">18291 </span> 81 0/subop/add %esp 8/imm32 <span id="L18292" class="LineNr">18292 </span> <span class="subxComment">#</span> @@ -16810,8 +16810,8 @@ if ('onhashchange' in window) { <span id="L18303" class="LineNr">18303 </span> 68/push 0/imm32 <span id="L18304" class="LineNr">18304 </span> 89/<- %eax 4/r32/esp <span id="L18305" class="LineNr">18305 </span> <span class="subxComment">#</span> -<span id="L18306" class="LineNr">18306 </span> (parse-mu-var-def %ecx *(ebp+0xc) %eax *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) -<span id="L18307" class="LineNr">18307 </span> (append-to-block <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) +<span id="L18306" class="LineNr">18306 </span> (<a href='mu.subx.html#L18524'>parse-mu-var-def</a> %ecx *(ebp+0xc) %eax *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) +<span id="L18307" class="LineNr">18307 </span> (<a href='mu.subx.html#L20173'>append-to-block</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) <span id="L18308" class="LineNr">18308 </span> <span class="subxComment"># reclaim tmp</span> <span id="L18309" class="LineNr">18309 </span> 81 0/subop/add %esp 8/imm32 <span id="L18310" class="LineNr">18310 </span> <span class="subxComment">#</span> @@ -16824,16 +16824,16 @@ if ('onhashchange' in window) { <span id="L18317" class="LineNr">18317 </span> 68/push 0/imm32 <span id="L18318" class="LineNr">18318 </span> 89/<- %eax 4/r32/esp <span id="L18319" class="LineNr">18319 </span> <span class="subxComment">#</span> -<span id="L18320" class="LineNr">18320 </span> (parse-mu-stmt %ecx *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) -<span id="L18321" class="LineNr">18321 </span> (append-to-block <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) +<span id="L18320" class="LineNr">18320 </span> (<a href='mu.subx.html#L18788'>parse-mu-stmt</a> %ecx *(ebp+0xc) *(ebp+0x10) %eax *(ebp+0x18) *(ebp+0x1c)) +<span id="L18321" class="LineNr">18321 </span> (<a href='mu.subx.html#L20173'>append-to-block</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edi *eax *(eax+4)) <span id="L18322" class="LineNr">18322 </span> <span class="subxComment"># reclaim tmp</span> <span id="L18323" class="LineNr">18323 </span> 81 0/subop/add %esp 8/imm32 <span id="L18324" class="LineNr">18324 </span> <span class="subxComment">#</span> <span id="L18325" class="LineNr">18325 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L18326" class="LineNr">18326 </span> } <span class="subxComment"># end line loop</span> -<span id="L18327" class="LineNr">18327 </span> (clean-up-blocks *(ebp+0xc) *<span class="SpecialChar">Curr-block-depth</span> *(ebp+0x10)) +<span id="L18327" class="LineNr">18327 </span> (<a href='mu.subx.html#L28465'>clean-up-blocks</a> *(ebp+0xc) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> *(ebp+0x10)) <span id="L18328" class="LineNr">18328 </span> <span class="subxComment"># decrement *Curr-block-depth</span> -<span id="L18329" class="LineNr">18329 </span> ff 1/subop/decrement *<span class="SpecialChar">Curr-block-depth</span> +<span id="L18329" class="LineNr">18329 </span> ff 1/subop/decrement *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> <span id="L18330" class="LineNr">18330 </span> <span class="subxComment"># pop(vars)</span> <span id="L18331" class="LineNr">18331 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L18332" class="LineNr">18332 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0xc)) <span class="subxComment"># => eax</span> @@ -16890,8 +16890,8 @@ if ('onhashchange' in window) { <span id="L18383" class="LineNr">18383 </span> (<a href='108write.subx.html#L24'>write</a> %edx <span class="Constant">"$"</span>) <span id="L18384" class="LineNr">18384 </span> (<a href='108write.subx.html#L24'>write</a> %edx %eax) <span id="L18385" class="LineNr">18385 </span> (<a href='108write.subx.html#L24'>write</a> %edx <span class="Constant">":"</span>) -<span id="L18386" class="LineNr">18386 </span> (<a href='117write-int-hex.subx.html#L178'>write-int32-hex</a> %edx *<span class="SpecialChar">Next-block-index</span>) -<span id="L18387" class="LineNr">18387 </span> ff 0/subop/increment *<span class="SpecialChar">Next-block-index</span> +<span id="L18386" class="LineNr">18386 </span> (<a href='117write-int-hex.subx.html#L178'>write-int32-hex</a> %edx *<span class="SpecialChar"><a href='mu.subx.html#L15736'>Next-block-index</a></span>) +<span id="L18387" class="LineNr">18387 </span> ff 0/subop/increment *<span class="SpecialChar"><a href='mu.subx.html#L15736'>Next-block-index</a></span> <span id="L18388" class="LineNr">18388 </span> <span class="subxComment"># var s/eax: slice = {name->data, name->data + name->write} (clobbering edx)</span> <span id="L18389" class="LineNr">18389 </span> <span class="subxS1Comment"># . eax = name->write</span> <span id="L18390" class="LineNr">18390 </span> 8b/-> *edx 0/r32/eax @@ -16904,7 +16904,7 @@ if ('onhashchange' in window) { <span id="L18397" class="LineNr">18397 </span> ff 6/subop/push %edx <span id="L18398" class="LineNr">18398 </span> 89/<- %eax 4/r32/esp <span id="L18399" class="LineNr">18399 </span> <span class="subxComment"># out = new literal(s)</span> -<span id="L18400" class="LineNr">18400 </span> (new-literal <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %eax *(ebp+0xc)) +<span id="L18400" class="LineNr">18400 </span> (<a href='mu.subx.html#L19900'>new-literal</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %eax *(ebp+0xc)) <span id="L18401" class="LineNr">18401 </span><span class="CommentedCode">#? 8b/-> *(ebp+0xc) 0/r32/eax</span> <span id="L18402" class="LineNr">18402 </span><span class="CommentedCode">#? (write-buffered Stderr "type allocid in caller after new-literal: ")</span> <span id="L18403" class="LineNr">18403 </span><span class="CommentedCode">#? (write-int32-hex-buffered Stderr *(eax+8))</span> @@ -16938,7 +16938,7 @@ if ('onhashchange' in window) { <span id="L18431" class="LineNr">18431 </span> 68/push 0/imm32/start <span id="L18432" class="LineNr">18432 </span> 89/<- %ecx 4/r32/esp <span id="L18433" class="LineNr">18433 </span> <span class="subxComment">#</span> -<span id="L18434" class="LineNr">18434 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L18434" class="LineNr">18434 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L18435" class="LineNr">18435 </span> <span class="subxComment"># if slice-empty?(s) return</span> <span id="L18436" class="LineNr">18436 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span id="L18437" class="LineNr">18437 </span> 3d/compare-eax-and 0/imm32/false @@ -16994,13 +16994,13 @@ if ('onhashchange' in window) { <span id="L18487" class="LineNr">18487 </span> 68/push 0/imm32 <span id="L18488" class="LineNr">18488 </span> 89/<- %ecx 4/r32/esp <span id="L18489" class="LineNr">18489 </span> <span class="subxComment">#</span> -<span id="L18490" class="LineNr">18490 </span> (new-literal <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+8) %ecx) +<span id="L18490" class="LineNr">18490 </span> (<a href='mu.subx.html#L19900'>new-literal</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+8) %ecx) <span id="L18491" class="LineNr">18491 </span> <span class="subxComment"># push(vars, v)</span> <span id="L18492" class="LineNr">18492 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *ecx) <span id="L18493" class="LineNr">18493 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(ecx+4)) <span id="L18494" class="LineNr">18494 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) 0) <span class="subxComment"># false</span> <span id="L18495" class="LineNr">18495 </span> <span class="subxComment">#</span> -<span id="L18496" class="LineNr">18496 </span> (parse-mu-block *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c) *(ebp+0x20)) +<span id="L18496" class="LineNr">18496 </span> (<a href='mu.subx.html#L18138'>parse-mu-block</a> *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c) *(ebp+0x20)) <span id="L18497" class="LineNr">18497 </span> <span class="subxComment"># pop v off vars</span> <span id="L18498" class="LineNr">18498 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L18499" class="LineNr">18499 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> @@ -17049,7 +17049,7 @@ if ('onhashchange' in window) { <span id="L18542" class="LineNr">18542 </span> 68/push 0/imm32 <span id="L18543" class="LineNr">18543 </span> 89/<- %edx 4/r32/esp <span id="L18544" class="LineNr">18544 </span> <span class="subxComment"># v = parse-var-with-type(next-mu-token(line))</span> -<span id="L18545" class="LineNr">18545 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L18545" class="LineNr">18545 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L18546" class="LineNr">18546 </span> { <span id="L18547" class="LineNr">18547 </span> <span class="subxComment"># just for tests, support null fn</span> <span id="L18548" class="LineNr">18548 </span> 8b/-> *(ebp+0x14) 0/r32/eax @@ -17057,12 +17057,12 @@ if ('onhashchange' in window) { <span id="L18550" class="LineNr">18550 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L18551" class="LineNr">18551 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L18552" class="LineNr">18552 </span> } -<span id="L18553" class="LineNr">18553 </span> (parse-var-with-type %ecx *(ebp+8) %edx %eax *(ebp+0x18) *(ebp+0x1c)) +<span id="L18553" class="LineNr">18553 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %ecx *(ebp+8) %edx %eax *(ebp+0x18) *(ebp+0x1c)) <span id="L18554" class="LineNr">18554 </span> <span class="subxComment"># var v-addr/esi: (addr var)</span> <span id="L18555" class="LineNr">18555 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edx *(edx+4)) <span class="subxComment"># => eax</span> <span id="L18556" class="LineNr">18556 </span> 89/<- %esi 0/r32/eax <span id="L18557" class="LineNr">18557 </span> <span class="subxComment"># v->block-depth = *Curr-block-depth</span> -<span id="L18558" class="LineNr">18558 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L18558" class="LineNr">18558 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L18559" class="LineNr">18559 </span> 89/<- *(esi+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L18560" class="LineNr">18560 </span> <span class="subxComment"># either v has no register and there's no more to this line</span> <span id="L18561" class="LineNr">18561 </span> 81 7/subop/compare *(esi+0x18) 0/imm32 @@ -17070,16 +17070,16 @@ if ('onhashchange' in window) { <span id="L18563" class="LineNr">18563 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L18564" class="LineNr">18564 </span> <span class="subxComment"># if v-addr->type == byte, abort</span> <span id="L18565" class="LineNr">18565 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+8) *(esi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L18566" class="LineNr">18566 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L18566" class="LineNr">18566 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L18567" class="LineNr">18567 </span> 3d/compare-eax-and 0/imm32/false <span id="L18568" class="LineNr">18568 </span> 0f 85/jump-if-!= $parse-mu-var-def:error-byte-on-stack/disp32 <span id="L18569" class="LineNr">18569 </span> <span class="subxComment"># ensure that there's nothing else on this line</span> -<span id="L18570" class="LineNr">18570 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L18570" class="LineNr">18570 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L18571" class="LineNr">18571 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L18572" class="LineNr">18572 </span> 3d/compare-eax-and 0/imm32/false <span id="L18573" class="LineNr">18573 </span> 0f 84/jump-if-= $parse-mu-var-def:error2/disp32 <span id="L18574" class="LineNr">18574 </span> <span class="subxComment">#</span> -<span id="L18575" class="LineNr">18575 </span> (new-var-def <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *edx *(edx+4) %edi) +<span id="L18575" class="LineNr">18575 </span> (<a href='mu.subx.html#L20004'>new-var-def</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *edx *(edx+4) %edi) <span id="L18576" class="LineNr">18576 </span> e9/jump $parse-mu-var-def:update-vars/disp32 <span id="L18577" class="LineNr">18577 </span> } <span id="L18578" class="LineNr">18578 </span> <span class="subxComment"># or v has a register and there's more to this line</span> @@ -17088,7 +17088,7 @@ if ('onhashchange' in window) { <span id="L18581" class="LineNr">18581 </span> <span class="subxComment"># if v-addr->type == byte, check for unsupported registers</span> <span id="L18582" class="LineNr">18582 </span> { <span id="L18583" class="LineNr">18583 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+8) *(esi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L18584" class="LineNr">18584 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L18584" class="LineNr">18584 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L18585" class="LineNr">18585 </span> 3d/compare-eax-and 0/imm32/false <span id="L18586" class="LineNr">18586 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L18587" class="LineNr">18587 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x18) *(esi+0x1c)) <span class="subxComment"># => eax</span> @@ -17102,14 +17102,14 @@ if ('onhashchange' in window) { <span id="L18595" class="LineNr">18595 </span> } <span id="L18596" class="LineNr">18596 </span> <span class="subxComment"># TODO: vars of type 'byte' should only be initialized by clearing to 0</span> <span id="L18597" class="LineNr">18597 </span> <span class="subxComment"># ensure that the next word is '<-'</span> -<span id="L18598" class="LineNr">18598 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L18598" class="LineNr">18598 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L18599" class="LineNr">18599 </span> (<a href='123slice.subx.html#L120'>slice-equal?</a> %ecx <span class="Constant">"<-"</span>) <span class="subxComment"># => eax</span> <span id="L18600" class="LineNr">18600 </span> 3d/compare-eax-and 0/imm32/false <span id="L18601" class="LineNr">18601 </span> 0f 84/jump-if-= $parse-mu-var-def:error1/disp32 <span id="L18602" class="LineNr">18602 </span> <span class="subxComment">#</span> -<span id="L18603" class="LineNr">18603 </span> (new-reg-var-def <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *edx *(edx+4) %edi) +<span id="L18603" class="LineNr">18603 </span> (<a href='mu.subx.html#L20032'>new-reg-var-def</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *edx *(edx+4) %edi) <span id="L18604" class="LineNr">18604 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> -<span id="L18605" class="LineNr">18605 </span> (add-operation-and-inputs-to-stmt %eax *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L18605" class="LineNr">18605 </span> (<a href='mu.subx.html#L18905'>add-operation-and-inputs-to-stmt</a> %eax *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L18606" class="LineNr">18606 </span> } <span id="L18607" class="LineNr">18607 </span><span class="Constant">$parse-mu-var-def:update-vars</span>: <span id="L18608" class="LineNr">18608 </span> <span class="subxComment"># push 'v' at end of function</span> @@ -17195,11 +17195,11 @@ if ('onhashchange' in window) { <span id="L18688" class="LineNr">18688 </span> 55/push-ebp <span id="L18689" class="LineNr">18689 </span> 89/<- %ebp 4/r32/esp <span id="L18690" class="LineNr">18690 </span> <span class="subxComment"># setup</span> -<span id="L18691" class="LineNr">18691 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L18692" class="LineNr">18692 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L18691" class="LineNr">18691 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L18692" class="LineNr">18692 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L18693" class="LineNr">18693 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L18694" class="LineNr">18694 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"n: int\n"</span>) <span class="subxComment"># caller has consumed the 'var'</span> -<span id="L18695" class="LineNr">18695 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 1/imm32 +<span id="L18695" class="LineNr">18695 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 1/imm32 <span id="L18696" class="LineNr">18696 </span> <span class="subxComment"># var out/esi: (handle stmt)</span> <span id="L18697" class="LineNr">18697 </span> 68/push 0/imm32 <span id="L18698" class="LineNr">18698 </span> 68/push 0/imm32 @@ -17211,27 +17211,27 @@ if ('onhashchange' in window) { <span id="L18704" class="LineNr">18704 </span> 89/<- %ecx 4/r32/esp <span id="L18705" class="LineNr">18705 </span> (<a href='203stack.subx.html#L13'>clear-stack</a> %ecx) <span id="L18706" class="LineNr">18706 </span> <span class="subxComment"># convert</span> -<span id="L18707" class="LineNr">18707 </span> (parse-mu-var-def <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %esi 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L18707" class="LineNr">18707 </span> (<a href='mu.subx.html#L18524'>parse-mu-var-def</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %esi 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L18708" class="LineNr">18708 </span> <span class="subxComment"># var out-addr/esi: (addr stmt)</span> <span id="L18709" class="LineNr">18709 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L18710" class="LineNr">18710 </span> 89/<- %esi 0/r32/eax <span id="L18711" class="LineNr">18711 </span> <span class="subxComment">#</span> -<span id="L18712" class="LineNr">18712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *esi 2 <span class="Constant">"F - test-parse-mu-var-def/tag"</span>) <span class="subxComment"># Stmt-tag is var-def</span> +<span id="L18712" class="LineNr">18712 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *esi 2 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/tag"</span>) <span class="subxComment"># Stmt-tag is var-def</span> <span id="L18713" class="LineNr">18713 </span> <span class="subxComment"># var v/ecx: (addr var) = lookup(out->var)</span> <span id="L18714" class="LineNr">18714 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+4) *(esi+8)) <span class="subxComment"># Vardef-var Vardef-var => eax</span> <span id="L18715" class="LineNr">18715 </span> 89/<- %ecx 0/r32/eax <span id="L18716" class="LineNr">18716 </span> <span class="subxComment"># v->name</span> <span id="L18717" class="LineNr">18717 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L18718" class="LineNr">18718 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - test-parse-mu-var-def/var-name"</span>) +<span id="L18718" class="LineNr">18718 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/var-name"</span>) <span id="L18719" class="LineNr">18719 </span> <span class="subxComment"># v->register</span> -<span id="L18720" class="LineNr">18720 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x18) 0 <span class="Constant">"F - test-parse-mu-var-def/var-register"</span>) <span class="subxComment"># Var-register</span> +<span id="L18720" class="LineNr">18720 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x18) 0 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/var-register"</span>) <span class="subxComment"># Var-register</span> <span id="L18721" class="LineNr">18721 </span> <span class="subxComment"># v->block-depth</span> -<span id="L18722" class="LineNr">18722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x10) 1 <span class="Constant">"F - test-parse-mu-var-def/output-block-depth"</span>) <span class="subxComment"># Var-block-depth</span> +<span id="L18722" class="LineNr">18722 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x10) 1 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/output-block-depth"</span>) <span class="subxComment"># Var-block-depth</span> <span id="L18723" class="LineNr">18723 </span> <span class="subxComment"># v->type == int</span> <span id="L18724" class="LineNr">18724 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L18725" class="LineNr">18725 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-mu-var-def/var-type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L18726" class="LineNr">18726 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-mu-var-def/var-type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L18727" class="LineNr">18727 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-mu-var-def/var-type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L18725" class="LineNr">18725 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/var-type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L18726" class="LineNr">18726 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/var-type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L18727" class="LineNr">18727 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L18685'>test-parse-mu-var-def</a>/var-type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L18728" class="LineNr">18728 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18729" class="LineNr">18729 </span> 89/<- %esp 5/r32/ebp <span id="L18730" class="LineNr">18730 </span> 5d/pop-to-ebp @@ -17243,11 +17243,11 @@ if ('onhashchange' in window) { <span id="L18736" class="LineNr">18736 </span> 55/push-ebp <span id="L18737" class="LineNr">18737 </span> 89/<- %ebp 4/r32/esp <span id="L18738" class="LineNr">18738 </span> <span class="subxComment"># setup</span> -<span id="L18739" class="LineNr">18739 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L18740" class="LineNr">18740 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L18739" class="LineNr">18739 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L18740" class="LineNr">18740 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L18741" class="LineNr">18741 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L18742" class="LineNr">18742 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"n/eax: int <- copy 0\n"</span>) <span class="subxComment"># caller has consumed the 'var'</span> -<span id="L18743" class="LineNr">18743 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 1/imm32 +<span id="L18743" class="LineNr">18743 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 1/imm32 <span id="L18744" class="LineNr">18744 </span> <span class="subxComment"># var out/esi: (handle stmt)</span> <span id="L18745" class="LineNr">18745 </span> 68/push 0/imm32 <span id="L18746" class="LineNr">18746 </span> 68/push 0/imm32 @@ -17259,34 +17259,34 @@ if ('onhashchange' in window) { <span id="L18752" class="LineNr">18752 </span> 89/<- %ecx 4/r32/esp <span id="L18753" class="LineNr">18753 </span> (<a href='203stack.subx.html#L13'>clear-stack</a> %ecx) <span id="L18754" class="LineNr">18754 </span> <span class="subxComment"># convert</span> -<span id="L18755" class="LineNr">18755 </span> (parse-mu-var-def <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %esi 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L18755" class="LineNr">18755 </span> (<a href='mu.subx.html#L18524'>parse-mu-var-def</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx %esi 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L18756" class="LineNr">18756 </span> <span class="subxComment"># var out-addr/esi: (addr stmt)</span> <span id="L18757" class="LineNr">18757 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L18758" class="LineNr">18758 </span> 89/<- %esi 0/r32/eax <span id="L18759" class="LineNr">18759 </span> <span class="subxComment">#</span> -<span id="L18760" class="LineNr">18760 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *esi 3 <span class="Constant">"F - test-parse-mu-reg-var-def/tag"</span>) <span class="subxComment"># Stmt-tag is reg-var-def</span> +<span id="L18760" class="LineNr">18760 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *esi 3 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/tag"</span>) <span class="subxComment"># Stmt-tag is reg-var-def</span> <span id="L18761" class="LineNr">18761 </span> <span class="subxComment"># var v/ecx: (addr var) = lookup(out->outputs->value)</span> <span id="L18762" class="LineNr">18762 </span> <span class="subxS1Comment"># . eax: (addr stmt-var) = lookup(out->outputs)</span> <span id="L18763" class="LineNr">18763 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x14) *(esi+0x18)) <span class="subxComment"># Regvardef-outputs Regvardef-outputs => eax</span> <span id="L18764" class="LineNr">18764 </span> <span class="subxS1Comment"># .</span> -<span id="L18765" class="LineNr">18765 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+8) 0 <span class="Constant">"F - test-parse-mu-reg-var-def/single-output"</span>) <span class="subxComment"># Stmt-var-next</span> +<span id="L18765" class="LineNr">18765 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+8) 0 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/single-output"</span>) <span class="subxComment"># Stmt-var-next</span> <span id="L18766" class="LineNr">18766 </span> <span class="subxS1Comment"># . eax: (addr var) = lookup(eax->value)</span> <span id="L18767" class="LineNr">18767 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L18768" class="LineNr">18768 </span> <span class="subxS1Comment"># . ecx = eax</span> <span id="L18769" class="LineNr">18769 </span> 89/<- %ecx 0/r32/eax <span id="L18770" class="LineNr">18770 </span> <span class="subxComment"># v->name</span> <span id="L18771" class="LineNr">18771 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Var-name Var-name => eax</span> -<span id="L18772" class="LineNr">18772 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - test-parse-mu-reg-var-def/output-name"</span>) <span class="subxComment"># Var-name</span> +<span id="L18772" class="LineNr">18772 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-name"</span>) <span class="subxComment"># Var-name</span> <span id="L18773" class="LineNr">18773 </span> <span class="subxComment"># v->register</span> <span id="L18774" class="LineNr">18774 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x18) *(ecx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L18775" class="LineNr">18775 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - test-parse-mu-reg-var-def/output-register"</span>) +<span id="L18775" class="LineNr">18775 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"eax"</span> <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-register"</span>) <span id="L18776" class="LineNr">18776 </span> <span class="subxComment"># v->block-depth</span> -<span id="L18777" class="LineNr">18777 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x10) 1 <span class="Constant">"F - test-parse-mu-reg-var-def/output-block-depth"</span>) <span class="subxComment"># Var-block-depth</span> +<span id="L18777" class="LineNr">18777 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(ecx+0x10) 1 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-block-depth"</span>) <span class="subxComment"># Var-block-depth</span> <span id="L18778" class="LineNr">18778 </span> <span class="subxComment"># v->type == int</span> <span id="L18779" class="LineNr">18779 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L18780" class="LineNr">18780 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - test-parse-mu-reg-var-def/output-type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> -<span id="L18781" class="LineNr">18781 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - test-parse-mu-reg-var-def/output-type:1"</span>) <span class="subxComment"># Type-tree-value</span> -<span id="L18782" class="LineNr">18782 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - test-parse-mu-reg-var-def/output-type:2"</span>) <span class="subxComment"># Type-tree-right</span> +<span id="L18780" class="LineNr">18780 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *eax 1 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-type:0"</span>) <span class="subxComment"># Type-tree-is-atom</span> +<span id="L18781" class="LineNr">18781 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+4) 1 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-type:1"</span>) <span class="subxComment"># Type-tree-value</span> +<span id="L18782" class="LineNr">18782 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *(eax+0xc) 0 <span class="Constant">"F - <a href='mu.subx.html#L18733'>test-parse-mu-reg-var-def</a>/output-type:2"</span>) <span class="subxComment"># Type-tree-right</span> <span id="L18783" class="LineNr">18783 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L18784" class="LineNr">18784 </span> 89/<- %esp 5/r32/ebp <span id="L18785" class="LineNr">18785 </span> 5d/pop-to-ebp @@ -17327,7 +17327,7 @@ if ('onhashchange' in window) { <span id="L18820" class="LineNr">18820 </span> 68/push 0/imm32 <span id="L18821" class="LineNr">18821 </span> 89/<- %ebx 4/r32/esp <span id="L18822" class="LineNr">18822 </span> <span class="subxComment">#</span> -<span id="L18823" class="LineNr">18823 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Stmt-size</span> *(ebp+0x14)) +<span id="L18823" class="LineNr">18823 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L330'>Stmt-size</a></span> *(ebp+0x14)) <span id="L18824" class="LineNr">18824 </span> <span class="subxComment"># var out-addr/edi: (addr stmt) = lookup(*out)</span> <span id="L18825" class="LineNr">18825 </span> 8b/-> *(ebp+0x14) 7/r32/edi <span id="L18826" class="LineNr">18826 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> @@ -17335,13 +17335,13 @@ if ('onhashchange' in window) { <span id="L18828" class="LineNr">18828 </span> <span class="subxComment"># out-addr->tag = 1/stmt</span> <span id="L18829" class="LineNr">18829 </span> c7 0/subop/copy *edi 1/imm32/stmt1 <span class="subxComment"># Stmt-tag</span> <span id="L18830" class="LineNr">18830 </span> { -<span id="L18831" class="LineNr">18831 </span> (stmt-has-outputs? *(ebp+8)) +<span id="L18831" class="LineNr">18831 </span> (<a href='mu.subx.html#L19069'>stmt-has-outputs?</a> *(ebp+8)) <span id="L18832" class="LineNr">18832 </span> 3d/compare-eax-and 0/imm32/false <span id="L18833" class="LineNr">18833 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L18834" class="LineNr">18834 </span> { <span id="L18835" class="LineNr">18835 </span><span class="Constant">$parse-mu-stmt:read-outputs</span>: <span id="L18836" class="LineNr">18836 </span> <span class="subxComment"># name = next-mu-token(line)</span> -<span id="L18837" class="LineNr">18837 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L18837" class="LineNr">18837 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L18838" class="LineNr">18838 </span> <span class="subxComment"># if slice-empty?(word-slice) break</span> <span id="L18839" class="LineNr">18839 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L18840" class="LineNr">18840 </span> 3d/compare-eax-and 0/imm32/false @@ -17357,18 +17357,18 @@ if ('onhashchange' in window) { <span id="L18850" class="LineNr">18850 </span> 3d/compare-eax-and 0x2a/imm32/asterisk <span id="L18851" class="LineNr">18851 </span> 0f 84/jump-if-= $parse-mu-stmt:error-output-dereferenced/disp32 <span id="L18852" class="LineNr">18852 </span> <span class="subxComment"># assert(identifier?(name))</span> -<span id="L18853" class="LineNr">18853 </span> (identifier? %ecx) <span class="subxComment"># => eax</span> +<span id="L18853" class="LineNr">18853 </span> (<a href='mu.subx.html#L17814'>identifier?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L18854" class="LineNr">18854 </span> 3d/compare-eax-and 0/imm32/false <span id="L18855" class="LineNr">18855 </span> 0f 84/jump-if-= $parse-mu-stmt:abort/disp32 <span id="L18856" class="LineNr">18856 </span> <span class="subxComment">#</span> -<span id="L18857" class="LineNr">18857 </span> (lookup-var %ecx *(ebp+0xc) %ebx *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) +<span id="L18857" class="LineNr">18857 </span> (<a href='mu.subx.html#L19180'>lookup-var</a> %ecx *(ebp+0xc) %ebx *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) <span id="L18858" class="LineNr">18858 </span> 8d/copy-address *(edi+0x14) 0/r32/eax <span class="subxComment"># Stmt1-outputs</span> -<span id="L18859" class="LineNr">18859 </span> (append-stmt-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x14) *(edi+0x18) 0 %eax) <span class="subxComment"># Stmt1-outputs</span> +<span id="L18859" class="LineNr">18859 </span> (<a href='mu.subx.html#L20115'>append-stmt-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *ebx *(ebx+4) *(edi+0x14) *(edi+0x18) 0 %eax) <span class="subxComment"># Stmt1-outputs</span> <span id="L18860" class="LineNr">18860 </span> <span class="subxComment">#</span> <span id="L18861" class="LineNr">18861 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L18862" class="LineNr">18862 </span> } <span id="L18863" class="LineNr">18863 </span> } -<span id="L18864" class="LineNr">18864 </span> (add-operation-and-inputs-to-stmt %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) +<span id="L18864" class="LineNr">18864 </span> (<a href='mu.subx.html#L18905'>add-operation-and-inputs-to-stmt</a> %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x18) *(ebp+0x1c)) <span id="L18865" class="LineNr">18865 </span><span class="Constant">$parse-mu-stmt:end</span>: <span id="L18866" class="LineNr">18866 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L18867" class="LineNr">18867 </span> 81 0/subop/add %esp 0x10/imm32 @@ -17440,7 +17440,7 @@ if ('onhashchange' in window) { <span id="L18933" class="LineNr">18933 </span> 68/push 0/imm32 <span id="L18934" class="LineNr">18934 </span> 89/<- %esi 4/r32/esp <span id="L18935" class="LineNr">18935 </span><span class="Constant">$add-operation-and-inputs-to-stmt:read-operation</span>: -<span id="L18936" class="LineNr">18936 </span> (next-mu-token *(ebp+0xc) %ecx) +<span id="L18936" class="LineNr">18936 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+0xc) %ecx) <span id="L18937" class="LineNr">18937 </span> 8d/copy-address *(edi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation or Regvardef-operationStmt1-operation or Regvardef-operation</span> <span id="L18938" class="LineNr">18938 </span> (<a href='123slice.subx.html#L1043'>slice-to-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %ecx %eax) <span id="L18939" class="LineNr">18939 </span> <span class="subxComment"># var is-get?/ebx: boolean = (name == "get")</span> @@ -17449,7 +17449,7 @@ if ('onhashchange' in window) { <span id="L18942" class="LineNr">18942 </span> { <span id="L18943" class="LineNr">18943 </span><span class="Constant">$add-operation-and-inputs-to-stmt:read-inouts</span>: <span id="L18944" class="LineNr">18944 </span> <span class="subxComment"># name = next-mu-token(line)</span> -<span id="L18945" class="LineNr">18945 </span> (next-mu-token *(ebp+0xc) %ecx) +<span id="L18945" class="LineNr">18945 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+0xc) %ecx) <span id="L18946" class="LineNr">18946 </span> <span class="subxComment"># if slice-empty?(word-slice) break</span> <span id="L18947" class="LineNr">18947 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L18948" class="LineNr">18948 </span> 3d/compare-eax-and 0/imm32/false @@ -17465,7 +17465,7 @@ if ('onhashchange' in window) { <span id="L18958" class="LineNr">18958 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+0xc) *(edi+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> <span id="L18959" class="LineNr">18959 </span> 3d/compare-eax-and 0/imm32 <span id="L18960" class="LineNr">18960 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L18961" class="LineNr">18961 </span> (lookup-or-create-constant %eax %ecx %esi) +<span id="L18961" class="LineNr">18961 </span> (<a href='mu.subx.html#L20200'>lookup-or-create-constant</a> %eax %ecx %esi) <span id="L18962" class="LineNr">18962 </span><span class="CommentedCode">#? (lookup *esi *(esi+4))</span> <span id="L18963" class="LineNr">18963 </span><span class="CommentedCode">#? (write-buffered Stderr "creating new output var ")</span> <span id="L18964" class="LineNr">18964 </span><span class="CommentedCode">#? (write-int32-hex-buffered Stderr %eax)</span> @@ -17491,7 +17491,7 @@ if ('onhashchange' in window) { <span id="L18984" class="LineNr">18984 </span> ff 0/subop/increment *ecx <span id="L18985" class="LineNr">18985 </span> ba/copy-to-edx 1/imm32/true <span id="L18986" class="LineNr">18986 </span> } -<span id="L18987" class="LineNr">18987 </span> (lookup-var-or-literal %ecx *(ebp+0x10) %esi *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L18987" class="LineNr">18987 </span> (<a href='mu.subx.html#L19117'>lookup-var-or-literal</a> %ecx *(ebp+0x10) %esi *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L18988" class="LineNr">18988 </span> <span class="subxComment"># if (deref?) some additional checks</span> <span id="L18989" class="LineNr">18989 </span> 81 7/subop/compare %edx 0/imm32/false <span id="L18990" class="LineNr">18990 </span> { @@ -17502,13 +17502,13 @@ if ('onhashchange' in window) { <span id="L18995" class="LineNr">18995 </span> 0f 84/jump-if-= $add-operation-and-inputs-to-stmt:error-deref-on-stack/disp32 <span id="L18996" class="LineNr">18996 </span> <span class="subxComment"># if var is not an address, abort</span> <span id="L18997" class="LineNr">18997 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L18998" class="LineNr">18998 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L18998" class="LineNr">18998 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L18999" class="LineNr">18999 </span> 3d/compare-eax-and 0/imm32/false <span id="L19000" class="LineNr">19000 </span> 0f 84/jump-if-= $add-operation-and-inputs-to-stmt:error-deref-non-addr/disp32 <span id="L19001" class="LineNr">19001 </span> } <span id="L19002" class="LineNr">19002 </span><span class="Constant">$add-operation-and-inputs-to-stmt:save-var</span>: <span id="L19003" class="LineNr">19003 </span> 8d/copy-address *(edi+0xc) 0/r32/eax -<span id="L19004" class="LineNr">19004 </span> (append-stmt-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *esi *(esi+4) *(edi+0xc) *(edi+0x10) %edx %eax) <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span> +<span id="L19004" class="LineNr">19004 </span> (<a href='mu.subx.html#L20115'>append-stmt-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *esi *(esi+4) *(edi+0xc) *(edi+0x10) %edx %eax) <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span> <span id="L19005" class="LineNr">19005 </span> <span class="subxComment">#</span> <span id="L19006" class="LineNr">19006 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L19007" class="LineNr">19007 </span> } @@ -17587,7 +17587,7 @@ if ('onhashchange' in window) { <span id="L19080" class="LineNr">19080 </span> b8/copy-to-eax 0/imm32/false <span id="L19081" class="LineNr">19081 </span> (<a href='106stream.subx.html#L56'>rewind-stream</a> *(ebp+8)) <span id="L19082" class="LineNr">19082 </span> { -<span id="L19083" class="LineNr">19083 </span> (next-mu-token *(ebp+8) %ecx) +<span id="L19083" class="LineNr">19083 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> *(ebp+8) %ecx) <span id="L19084" class="LineNr">19084 </span> <span class="subxComment"># if slice-empty?(word-slice) break</span> <span id="L19085" class="LineNr">19085 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %ecx) <span id="L19086" class="LineNr">19086 </span> 3d/compare-eax-and 0/imm32/false @@ -17647,7 +17647,7 @@ if ('onhashchange' in window) { <span id="L19140" class="LineNr">19140 </span> 3d/compare-eax-and 0/imm32/false <span id="L19141" class="LineNr">19141 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L19142" class="LineNr">19142 </span><span class="Constant">$lookup-var-or-literal:literal</span>: -<span id="L19143" class="LineNr">19143 </span> (new-literal-integer <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %esi *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L19143" class="LineNr">19143 </span> (<a href='mu.subx.html#L19787'>new-literal-integer</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %esi *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L19144" class="LineNr">19144 </span> eb/jump $lookup-var-or-literal:end/disp8 <span id="L19145" class="LineNr">19145 </span> } <span id="L19146" class="LineNr">19146 </span> <span class="subxComment"># else if (c == '"') return new var(name)</span> @@ -17655,13 +17655,13 @@ if ('onhashchange' in window) { <span id="L19148" class="LineNr">19148 </span> 81 7/subop/compare %ecx 0x22/imm32/dquote <span id="L19149" class="LineNr">19149 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L19150" class="LineNr">19150 </span><span class="Constant">$lookup-var-or-literal:literal-string</span>: -<span id="L19151" class="LineNr">19151 </span> (new-literal-string <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %esi *(ebp+0x10)) +<span id="L19151" class="LineNr">19151 </span> (<a href='mu.subx.html#L19939'>new-literal-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %esi *(ebp+0x10)) <span id="L19152" class="LineNr">19152 </span> eb/jump $lookup-var-or-literal:end/disp8 <span id="L19153" class="LineNr">19153 </span> } <span id="L19154" class="LineNr">19154 </span> <span class="subxComment"># otherwise return lookup-var(name, vars)</span> <span id="L19155" class="LineNr">19155 </span> { <span id="L19156" class="LineNr">19156 </span><span class="Constant">$lookup-var-or-literal:var</span>: -<span id="L19157" class="LineNr">19157 </span> (lookup-var %esi *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L19157" class="LineNr">19157 </span> (<a href='mu.subx.html#L19180'>lookup-var</a> %esi *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L19158" class="LineNr">19158 </span> } <span id="L19159" class="LineNr">19159 </span><span class="Constant">$lookup-var-or-literal:end</span>: <span id="L19160" class="LineNr">19160 </span> <span class="subxS1Comment"># . restore registers</span> @@ -17691,7 +17691,7 @@ if ('onhashchange' in window) { <span id="L19184" class="LineNr">19184 </span> <span class="subxS1Comment"># . save registers</span> <span id="L19185" class="LineNr">19185 </span> 50/push-eax <span id="L19186" class="LineNr">19186 </span> <span class="subxComment">#</span> -<span id="L19187" class="LineNr">19187 </span> (lookup-var-helper *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L19187" class="LineNr">19187 </span> (<a href='mu.subx.html#L19214'>lookup-var-helper</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L19188" class="LineNr">19188 </span> <span class="subxComment"># if (*out == 0) abort</span> <span id="L19189" class="LineNr">19189 </span> 8b/-> *(ebp+0x10) 0/r32/eax <span id="L19190" class="LineNr">19190 </span> 81 7/subop/compare *eax 0/imm32 @@ -17792,7 +17792,7 @@ if ('onhashchange' in window) { <span id="L19285" class="LineNr">19285 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L19286" class="LineNr">19286 </span><span class="Constant">$lookup-var-helper:found-register</span>: <span id="L19287" class="LineNr">19287 </span> <span class="subxComment"># var reg/eax: int = get(Registers, vr)</span> -<span id="L19288" class="LineNr">19288 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers-unique</span> %eax 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> +<span id="L19288" class="LineNr">19288 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19447'>Mu-registers-unique</a></span> %eax 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> <span id="L19289" class="LineNr">19289 </span> 8b/-> *eax 0/r32/eax <span id="L19290" class="LineNr">19290 </span> <span class="subxComment"># if (var-in-reg[reg]) error</span> <span id="L19291" class="LineNr">19291 </span> 8b/-> *(edi+eax<<2) 0/r32/eax @@ -17817,7 +17817,7 @@ if ('onhashchange' in window) { <span id="L19310" class="LineNr">19310 </span> 3d/compare-eax-and 0/imm32 <span id="L19311" class="LineNr">19311 </span> 74/jump-if-= $lookup-var-helper:continue/disp8 <span id="L19312" class="LineNr">19312 </span> <span class="subxS1Comment"># . var reg/eax: int = get(Registers, vr)</span> -<span id="L19313" class="LineNr">19313 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers-unique</span> %eax 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> +<span id="L19313" class="LineNr">19313 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19447'>Mu-registers-unique</a></span> %eax 0xc <span class="Constant">"Mu-registers-unique"</span>) <span class="subxComment"># => eax</span> <span id="L19314" class="LineNr">19314 </span> 8b/-> *eax 0/r32/eax <span id="L19315" class="LineNr">19315 </span> <span class="subxS1Comment"># . var-in-reg[reg] = v</span> <span id="L19316" class="LineNr">19316 </span> 89/<- *(edi+eax<<2) 1/r32/ecx @@ -17907,7 +17907,7 @@ if ('onhashchange' in window) { <span id="L19400" class="LineNr">19400 </span> 0f 82/jump-if-addr< <span class="Constant">break</span>/disp32 <span id="L19401" class="LineNr">19401 </span> <span class="subxComment">#</span> <span id="L19402" class="LineNr">19402 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">" var@"</span>) -<span id="L19403" class="LineNr">19403 </span> (dump-var 2 %ebx) +<span id="L19403" class="LineNr">19403 </span> (<a href='mu.subx.html#L21242'>dump-var</a> 2 %ebx) <span id="L19404" class="LineNr">19404 </span> <span class="subxComment"># curr -= 12</span> <span id="L19405" class="LineNr">19405 </span> 81 5/subop/subtract %ebx 0xc/imm32 <span id="L19406" class="LineNr">19406 </span> e9/jump <span class="Constant">loop</span>/disp32 @@ -18064,7 +18064,7 @@ if ('onhashchange' in window) { <span id="L19557" class="LineNr">19557 </span> <span class="subxComment"># var out-addr/eax: (addr var)</span> <span id="L19558" class="LineNr">19558 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebp+8) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L19559" class="LineNr">19559 </span> <span class="subxComment">#</span> -<span id="L19560" class="LineNr">19560 </span> (binding-exists? %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L19560" class="LineNr">19560 </span> (<a href='mu.subx.html#L19576'>binding-exists?</a> %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L19561" class="LineNr">19561 </span> 3d/compare-eax-and 0/imm32/false <span id="L19562" class="LineNr">19562 </span> 75/jump-if-!= $maybe-define-var:end/disp8 <span id="L19563" class="LineNr">19563 </span> <span class="subxComment"># otherwise update vars</span> @@ -18143,8 +18143,8 @@ if ('onhashchange' in window) { <span id="L19636" class="LineNr">19636 </span> 55/push-ebp <span id="L19637" class="LineNr">19637 </span> 89/<- %ebp 4/r32/esp <span id="L19638" class="LineNr">19638 </span> <span class="subxComment"># setup</span> -<span id="L19639" class="LineNr">19639 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L19640" class="LineNr">19640 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L19639" class="LineNr">19639 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L19640" class="LineNr">19640 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L19641" class="LineNr">19641 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L19642" class="LineNr">19642 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"increment n\n"</span>) <span id="L19643" class="LineNr">19643 </span> <span class="subxComment"># var vars/ecx: (stack (addr var) 16)</span> @@ -18163,7 +18163,7 @@ if ('onhashchange' in window) { <span id="L19656" class="LineNr">19656 </span> 89/<- %eax 4/r32/esp <span id="L19657" class="LineNr">19657 </span> <span class="subxComment"># v = new var("n")</span> <span id="L19658" class="LineNr">19658 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"n"</span> %eax) -<span id="L19659" class="LineNr">19659 </span> (new-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) +<span id="L19659" class="LineNr">19659 </span> (<a href='mu.subx.html#L19750'>new-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) <span id="L19660" class="LineNr">19660 </span> <span class="subxComment">#</span> <span id="L19661" class="LineNr">19661 </span> (<a href='203stack.subx.html#L114'>push</a> %ecx *edx) <span id="L19662" class="LineNr">19662 </span> (<a href='203stack.subx.html#L114'>push</a> %ecx *(edx+4)) @@ -18173,15 +18173,15 @@ if ('onhashchange' in window) { <span id="L19666" class="LineNr">19666 </span> 68/push 0/imm32 <span id="L19667" class="LineNr">19667 </span> 89/<- %eax 4/r32/esp <span id="L19668" class="LineNr">19668 </span> <span class="subxComment"># convert</span> -<span id="L19669" class="LineNr">19669 </span> (parse-mu-stmt <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx 0 %eax <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L19669" class="LineNr">19669 </span> (<a href='mu.subx.html#L18788'>parse-mu-stmt</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx 0 %eax <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L19670" class="LineNr">19670 </span> <span class="subxComment"># var out-addr/edx: (addr stmt) = lookup(*out)</span> <span id="L19671" class="LineNr">19671 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L19672" class="LineNr">19672 </span> 89/<- %edx 0/r32/eax <span id="L19673" class="LineNr">19673 </span> <span class="subxComment"># out->tag</span> -<span id="L19674" class="LineNr">19674 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 1 <span class="Constant">"F - test-parse-mu-stmt/tag"</span>) <span class="subxComment"># Stmt-tag is Stmt1</span> +<span id="L19674" class="LineNr">19674 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 1 <span class="Constant">"F - <a href='mu.subx.html#L19634'>test-parse-mu-stmt</a>/tag"</span>) <span class="subxComment"># Stmt-tag is Stmt1</span> <span id="L19675" class="LineNr">19675 </span> <span class="subxComment"># out->operation</span> <span id="L19676" class="LineNr">19676 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Stmt1-operation Stmt1-operation => eax</span> -<span id="L19677" class="LineNr">19677 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"increment"</span> <span class="Constant">"F - test-parse-mu-stmt/name"</span>) <span class="subxComment"># Stmt1-operation</span> +<span id="L19677" class="LineNr">19677 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"increment"</span> <span class="Constant">"F - <a href='mu.subx.html#L19634'>test-parse-mu-stmt</a>/name"</span>) <span class="subxComment"># Stmt1-operation</span> <span id="L19678" class="LineNr">19678 </span> <span class="subxComment"># out->inouts->value->name</span> <span id="L19679" class="LineNr">19679 </span> <span class="subxS1Comment"># . eax = out->inouts</span> <span id="L19680" class="LineNr">19680 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0xc) *(edx+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> @@ -18190,7 +18190,7 @@ if ('onhashchange' in window) { <span id="L19683" class="LineNr">19683 </span> <span class="subxS1Comment"># . eax = out->inouts->value->name</span> <span id="L19684" class="LineNr">19684 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L19685" class="LineNr">19685 </span> <span class="subxS1Comment"># .</span> -<span id="L19686" class="LineNr">19686 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - test-parse-mu-stmt/inout:0"</span>) +<span id="L19686" class="LineNr">19686 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - <a href='mu.subx.html#L19634'>test-parse-mu-stmt</a>/inout:0"</span>) <span id="L19687" class="LineNr">19687 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L19688" class="LineNr">19688 </span> 89/<- %esp 5/r32/ebp <span id="L19689" class="LineNr">19689 </span> 5d/pop-to-ebp @@ -18201,8 +18201,8 @@ if ('onhashchange' in window) { <span id="L19694" class="LineNr">19694 </span> 55/push-ebp <span id="L19695" class="LineNr">19695 </span> 89/<- %ebp 4/r32/esp <span id="L19696" class="LineNr">19696 </span> <span class="subxComment"># setup</span> -<span id="L19697" class="LineNr">19697 </span> 8b/-> *<span class="SpecialChar">Primitive-type-ids</span> 0/r32/eax -<span id="L19698" class="LineNr">19698 </span> 89/<- *<span class="SpecialChar">Type-id</span> 0/r32/eax <span class="subxComment"># stream-write</span> +<span id="L19697" class="LineNr">19697 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> 0/r32/eax +<span id="L19698" class="LineNr">19698 </span> 89/<- *<span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> 0/r32/eax <span class="subxComment"># stream-write</span> <span id="L19699" class="LineNr">19699 </span> (<a href='106stream.subx.html#L17'>clear-stream</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a>) <span id="L19700" class="LineNr">19700 </span> (<a href='108write.subx.html#L24'>write</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> <span class="Constant">"copy-to n, 3\n"</span>) <span id="L19701" class="LineNr">19701 </span> <span class="subxComment"># var vars/ecx: (stack (addr var) 16)</span> @@ -18221,7 +18221,7 @@ if ('onhashchange' in window) { <span id="L19714" class="LineNr">19714 </span> 89/<- %eax 4/r32/esp <span id="L19715" class="LineNr">19715 </span> <span class="subxComment"># v = new var("n")</span> <span id="L19716" class="LineNr">19716 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"n"</span> %eax) -<span id="L19717" class="LineNr">19717 </span> (new-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) +<span id="L19717" class="LineNr">19717 </span> (<a href='mu.subx.html#L19750'>new-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) <span id="L19718" class="LineNr">19718 </span> <span class="subxComment">#</span> <span id="L19719" class="LineNr">19719 </span> (<a href='203stack.subx.html#L114'>push</a> %ecx *edx) <span id="L19720" class="LineNr">19720 </span> (<a href='203stack.subx.html#L114'>push</a> %ecx *(edx+4)) @@ -18231,15 +18231,15 @@ if ('onhashchange' in window) { <span id="L19724" class="LineNr">19724 </span> 68/push 0/imm32 <span id="L19725" class="LineNr">19725 </span> 89/<- %eax 4/r32/esp <span id="L19726" class="LineNr">19726 </span> <span class="subxComment"># convert</span> -<span id="L19727" class="LineNr">19727 </span> (parse-mu-stmt <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx 0 %eax <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L19727" class="LineNr">19727 </span> (<a href='mu.subx.html#L18788'>parse-mu-stmt</a> <a href='112read-byte.subx.html#L331'>_test-input-stream</a> %ecx 0 %eax <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L19728" class="LineNr">19728 </span> <span class="subxComment"># var out-addr/edx: (addr stmt) = lookup(*out)</span> <span id="L19729" class="LineNr">19729 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L19730" class="LineNr">19730 </span> 89/<- %edx 0/r32/eax <span id="L19731" class="LineNr">19731 </span> <span class="subxComment"># out->tag</span> -<span id="L19732" class="LineNr">19732 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 1 <span class="Constant">"F - test-parse-mu-stmt-with-comma/tag"</span>) <span class="subxComment"># Stmt-tag is Stmt1</span> +<span id="L19732" class="LineNr">19732 </span> (<a href='102test.subx.html#L23'>check-ints-equal</a> *edx 1 <span class="Constant">"F - <a href='mu.subx.html#L19692'>test-parse-mu-stmt-with-comma</a>/tag"</span>) <span class="subxComment"># Stmt-tag is Stmt1</span> <span id="L19733" class="LineNr">19733 </span> <span class="subxComment"># out->operation</span> <span id="L19734" class="LineNr">19734 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Stmt1-operation Stmt1-operation => eax</span> -<span id="L19735" class="LineNr">19735 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"copy-to"</span> <span class="Constant">"F - test-parse-mu-stmt-with-comma/name"</span>) <span class="subxComment"># Stmt1-operation</span> +<span id="L19735" class="LineNr">19735 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"copy-to"</span> <span class="Constant">"F - <a href='mu.subx.html#L19692'>test-parse-mu-stmt-with-comma</a>/name"</span>) <span class="subxComment"># Stmt1-operation</span> <span id="L19736" class="LineNr">19736 </span> <span class="subxComment"># out->inouts->value->name</span> <span id="L19737" class="LineNr">19737 </span> <span class="subxS1Comment"># . eax = out->inouts</span> <span id="L19738" class="LineNr">19738 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0xc) *(edx+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> @@ -18248,7 +18248,7 @@ if ('onhashchange' in window) { <span id="L19741" class="LineNr">19741 </span> <span class="subxS1Comment"># . eax = out->inouts->value->name</span> <span id="L19742" class="LineNr">19742 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L19743" class="LineNr">19743 </span> <span class="subxS1Comment"># .</span> -<span id="L19744" class="LineNr">19744 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - test-parse-mu-stmt-with-comma/inout:0"</span>) +<span id="L19744" class="LineNr">19744 </span> (<a href='105string-equal.subx.html#L220'>check-strings-equal</a> %eax <span class="Constant">"n"</span> <span class="Constant">"F - <a href='mu.subx.html#L19692'>test-parse-mu-stmt-with-comma</a>/inout:0"</span>) <span id="L19745" class="LineNr">19745 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L19746" class="LineNr">19746 </span> 89/<- %esp 5/r32/ebp <span id="L19747" class="LineNr">19747 </span> 5d/pop-to-ebp @@ -18264,7 +18264,7 @@ if ('onhashchange' in window) { <span id="L19757" class="LineNr">19757 </span> <span class="subxComment"># ecx = out</span> <span id="L19758" class="LineNr">19758 </span> 8b/-> *(ebp+0x14) 1/r32/ecx <span id="L19759" class="LineNr">19759 </span> <span class="subxComment">#</span> -<span id="L19760" class="LineNr">19760 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Var-size</span> %ecx) +<span id="L19760" class="LineNr">19760 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L343'>Var-size</a></span> %ecx) <span id="L19761" class="LineNr">19761 </span> <span class="subxComment"># var out-addr/eax: (addr var)</span> <span id="L19762" class="LineNr">19762 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> <span id="L19763" class="LineNr">19763 </span> <span class="subxComment"># out-addr->name = name</span> @@ -18306,19 +18306,19 @@ if ('onhashchange' in window) { <span id="L19799" class="LineNr">19799 </span> 3d/compare-eax-and 0/imm32/false <span id="L19800" class="LineNr">19800 </span> 0f 84/jump-if-= $new-literal-integer:abort/disp32 <span id="L19801" class="LineNr">19801 </span> <span class="subxComment"># a little more error-checking</span> -<span id="L19802" class="LineNr">19802 </span> (check-mu-hex-int *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L19802" class="LineNr">19802 </span> (<a href='mu.subx.html#L19842'>check-mu-hex-int</a> *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L19803" class="LineNr">19803 </span> <span class="subxComment"># out = new var(s)</span> -<span id="L19804" class="LineNr">19804 </span> (new-var-from-slice *(ebp+8) *(ebp+0xc) *(ebp+0x10)) +<span id="L19804" class="LineNr">19804 </span> (<a href='mu.subx.html#L19980'>new-var-from-slice</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span id="L19805" class="LineNr">19805 </span> <span class="subxComment"># var out-addr/ecx: (addr var) = lookup(*out)</span> <span id="L19806" class="LineNr">19806 </span> 8b/-> *(ebp+0x10) 0/r32/eax <span id="L19807" class="LineNr">19807 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L19808" class="LineNr">19808 </span> 89/<- %ecx 0/r32/eax <span id="L19809" class="LineNr">19809 </span> <span class="subxComment"># out-addr->block-depth = *Curr-block-depth</span> -<span id="L19810" class="LineNr">19810 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L19810" class="LineNr">19810 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L19811" class="LineNr">19811 </span> 89/<- *(ecx+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L19812" class="LineNr">19812 </span> <span class="subxComment"># out-addr->type = new tree()</span> <span id="L19813" class="LineNr">19813 </span> 8d/copy-address *(ecx+8) 0/r32/eax <span class="subxComment"># Var-type</span> -<span id="L19814" class="LineNr">19814 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Type-tree-size</span> %eax) +<span id="L19814" class="LineNr">19814 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> %eax) <span id="L19815" class="LineNr">19815 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L19816" class="LineNr">19816 </span> c7 0/subop/copy *eax 1/imm32/true <span class="subxComment"># Type-tree-is-atom</span> <span id="L19817" class="LineNr">19817 </span> <span class="subxComment"># nothing else to do; default type is 'literal'</span> @@ -18418,17 +18418,17 @@ if ('onhashchange' in window) { <span id="L19911" class="LineNr">19911 </span> <span class="subxComment"># s = slice-to-string(name)</span> <span id="L19912" class="LineNr">19912 </span> (<a href='123slice.subx.html#L1043'>slice-to-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %ecx) <span id="L19913" class="LineNr">19913 </span> <span class="subxComment"># allocate to out</span> -<span id="L19914" class="LineNr">19914 </span> (new-var *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) +<span id="L19914" class="LineNr">19914 </span> (<a href='mu.subx.html#L19750'>new-var</a> *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) <span id="L19915" class="LineNr">19915 </span> <span class="subxComment"># var out-addr/ecx: (addr var) = lookup(*out)</span> <span id="L19916" class="LineNr">19916 </span> 8b/-> *(ebp+0x10) 1/r32/ecx <span id="L19917" class="LineNr">19917 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> <span id="L19918" class="LineNr">19918 </span> 89/<- %ecx 0/r32/eax <span id="L19919" class="LineNr">19919 </span> <span class="subxComment"># out-addr->block-depth = *Curr-block-depth</span> -<span id="L19920" class="LineNr">19920 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L19920" class="LineNr">19920 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L19921" class="LineNr">19921 </span> 89/<- *(ecx+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L19922" class="LineNr">19922 </span> <span class="subxComment"># out-addr->type/eax = new type</span> <span id="L19923" class="LineNr">19923 </span> 8d/copy-address *(ecx+8) 0/r32/eax <span class="subxComment"># Var-type</span> -<span id="L19924" class="LineNr">19924 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Type-tree-size</span> %eax) +<span id="L19924" class="LineNr">19924 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> %eax) <span id="L19925" class="LineNr">19925 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L19926" class="LineNr">19926 </span> <span class="subxComment"># nothing else to do; default type is 'literal'</span> <span id="L19927" class="LineNr">19927 </span> c7 0/subop/copy *eax 1/imm32/true <span class="subxComment"># Type-tree-is-atom</span> @@ -18457,17 +18457,17 @@ if ('onhashchange' in window) { <span id="L19950" class="LineNr">19950 </span> <span class="subxComment"># s = slice-to-string(name)</span> <span id="L19951" class="LineNr">19951 </span> (<a href='123slice.subx.html#L1043'>slice-to-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %ecx) <span id="L19952" class="LineNr">19952 </span> <span class="subxComment"># allocate to out</span> -<span id="L19953" class="LineNr">19953 </span> (new-var *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) +<span id="L19953" class="LineNr">19953 </span> (<a href='mu.subx.html#L19750'>new-var</a> *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) <span id="L19954" class="LineNr">19954 </span> <span class="subxComment"># var out-addr/ecx: (addr var) = lookup(*out)</span> <span id="L19955" class="LineNr">19955 </span> 8b/-> *(ebp+0x10) 1/r32/ecx <span id="L19956" class="LineNr">19956 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> <span id="L19957" class="LineNr">19957 </span> 89/<- %ecx 0/r32/eax <span id="L19958" class="LineNr">19958 </span> <span class="subxComment"># out-addr->block-depth = *Curr-block-depth</span> -<span id="L19959" class="LineNr">19959 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L19959" class="LineNr">19959 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L19960" class="LineNr">19960 </span> 89/<- *(ecx+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L19961" class="LineNr">19961 </span> <span class="subxComment"># out-addr->type/eax = new type</span> <span id="L19962" class="LineNr">19962 </span> 8d/copy-address *(ecx+8) 0/r32/eax <span class="subxComment"># Var-type</span> -<span id="L19963" class="LineNr">19963 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Type-tree-size</span> %eax) +<span id="L19963" class="LineNr">19963 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> %eax) <span id="L19964" class="LineNr">19964 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L19965" class="LineNr">19965 </span> <span class="subxComment"># out-addr->type->value = literal-string</span> <span id="L19966" class="LineNr">19966 </span> c7 0/subop/copy *(eax+4) 0x10/imm32/type-id-string-literal <span class="subxComment"># Type-tree-value</span> @@ -18497,7 +18497,7 @@ if ('onhashchange' in window) { <span id="L19990" class="LineNr">19990 </span> <span class="subxComment"># tmp = slice-to-string(name)</span> <span id="L19991" class="LineNr">19991 </span> (<a href='123slice.subx.html#L1043'>slice-to-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %ecx) <span id="L19992" class="LineNr">19992 </span> <span class="subxComment"># out = new-var(tmp)</span> -<span id="L19993" class="LineNr">19993 </span> (new-var *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) +<span id="L19993" class="LineNr">19993 </span> (<a href='mu.subx.html#L19750'>new-var</a> *(ebp+8) *ecx *(ecx+4) *(ebp+0x10)) <span id="L19994" class="LineNr">19994 </span><span class="Constant">$new-var-from-slice:end</span>: <span id="L19995" class="LineNr">19995 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L19996" class="LineNr">19996 </span> 81 0/subop/add %esp 8/imm32 @@ -18516,7 +18516,7 @@ if ('onhashchange' in window) { <span id="L20009" class="LineNr">20009 </span> 50/push-eax <span id="L20010" class="LineNr">20010 </span> 51/push-ecx <span id="L20011" class="LineNr">20011 </span> <span class="subxComment">#</span> -<span id="L20012" class="LineNr">20012 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Stmt-size</span> *(ebp+0x14)) +<span id="L20012" class="LineNr">20012 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L330'>Stmt-size</a></span> *(ebp+0x14)) <span id="L20013" class="LineNr">20013 </span> <span class="subxComment"># var out-addr/eax: (addr stmt) = lookup(*out)</span> <span id="L20014" class="LineNr">20014 </span> 8b/-> *(ebp+0x14) 0/r32/eax <span id="L20015" class="LineNr">20015 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> @@ -18545,14 +18545,14 @@ if ('onhashchange' in window) { <span id="L20038" class="LineNr">20038 </span> <span class="subxComment"># eax = out</span> <span id="L20039" class="LineNr">20039 </span> 8b/-> *(ebp+0x14) 0/r32/eax <span id="L20040" class="LineNr">20040 </span> <span class="subxComment">#</span> -<span id="L20041" class="LineNr">20041 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Stmt-size</span> %eax) +<span id="L20041" class="LineNr">20041 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L330'>Stmt-size</a></span> %eax) <span id="L20042" class="LineNr">20042 </span> <span class="subxComment"># var out-addr/eax: (addr stmt) = lookup(*out)</span> <span id="L20043" class="LineNr">20043 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L20044" class="LineNr">20044 </span> <span class="subxComment"># set tag</span> <span id="L20045" class="LineNr">20045 </span> c7 0/subop/copy *eax 3/imm32/tag/var-in-register <span class="subxComment"># Stmt-tag</span> <span id="L20046" class="LineNr">20046 </span> <span class="subxComment"># set output</span> <span id="L20047" class="LineNr">20047 </span> 8d/copy-address *(eax+0x14) 0/r32/eax <span class="subxComment"># Regvardef-outputs</span> -<span id="L20048" class="LineNr">20048 </span> (append-stmt-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) *(ebp+0x10) 0 0 0 %eax) +<span id="L20048" class="LineNr">20048 </span> (<a href='mu.subx.html#L20115'>append-stmt-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) *(ebp+0x10) 0 0 0 %eax) <span id="L20049" class="LineNr">20049 </span><span class="Constant">$new-reg-var-def:end</span>: <span id="L20050" class="LineNr">20050 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L20051" class="LineNr">20051 </span> 58/pop-to-eax @@ -18572,7 +18572,7 @@ if ('onhashchange' in window) { <span id="L20065" class="LineNr">20065 </span> <span class="subxComment"># edi = out</span> <span id="L20066" class="LineNr">20066 </span> 8b/-> *(ebp+0x1c) 7/r32/edi <span id="L20067" class="LineNr">20067 </span> <span class="subxComment"># *out = new list</span> -<span id="L20068" class="LineNr">20068 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">List-size</span> %edi) +<span id="L20068" class="LineNr">20068 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L350'>List-size</a></span> %edi) <span id="L20069" class="LineNr">20069 </span> <span class="subxComment"># var out-addr/edi: (addr list _type) = lookup(*out)</span> <span id="L20070" class="LineNr">20070 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> <span id="L20071" class="LineNr">20071 </span> 89/<- %edi 0/r32/eax @@ -18630,7 +18630,7 @@ if ('onhashchange' in window) { <span id="L20123" class="LineNr">20123 </span> <span class="subxComment"># edi = out</span> <span id="L20124" class="LineNr">20124 </span> 8b/-> *(ebp+0x20) 7/r32/edi <span id="L20125" class="LineNr">20125 </span> <span class="subxComment"># out = new stmt-var</span> -<span id="L20126" class="LineNr">20126 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar">Stmt-var-size</span> %edi) +<span id="L20126" class="LineNr">20126 </span> (<a href='120allocate.subx.html#L66'>allocate</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L360'>Stmt-var-size</a></span> %edi) <span id="L20127" class="LineNr">20127 </span> <span class="subxComment"># var out-addr/ecx: (addr stmt-var) = lookup(*out)</span> <span id="L20128" class="LineNr">20128 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> <span id="L20129" class="LineNr">20129 </span> 89/<- %ecx 0/r32/eax @@ -18688,7 +18688,7 @@ if ('onhashchange' in window) { <span id="L20181" class="LineNr">20181 </span> 8b/-> *(ebp+0xc) 6/r32/esi <span id="L20182" class="LineNr">20182 </span> <span class="subxComment"># block->stmts = append(x, block->stmts)</span> <span id="L20183" class="LineNr">20183 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Block-stmts</span> -<span id="L20184" class="LineNr">20184 </span> (append-list *(ebp+8) *(ebp+0x10) *(ebp+0x14) *(esi+4) *(esi+8) %eax) <span class="subxComment"># ad, x, x, Block-stmts, Block-stmts</span> +<span id="L20184" class="LineNr">20184 </span> (<a href='mu.subx.html#L20057'>append-list</a> *(ebp+8) *(ebp+0x10) *(ebp+0x14) *(esi+4) *(esi+8) %eax) <span class="subxComment"># ad, x, x, Block-stmts, Block-stmts</span> <span id="L20185" class="LineNr">20185 </span><span class="Constant">$append-to-block:end</span>: <span id="L20186" class="LineNr">20186 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L20187" class="LineNr">20187 </span> 5e/pop-to-esi @@ -18712,13 +18712,13 @@ if ('onhashchange' in window) { <span id="L20205" class="LineNr">20205 </span> 50/push-eax <span id="L20206" class="LineNr">20206 </span> 56/push-esi <span id="L20207" class="LineNr">20207 </span> <span class="subxComment"># var container-type/esi: type-id</span> -<span id="L20208" class="LineNr">20208 </span> (container-type *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L20208" class="LineNr">20208 </span> (<a href='mu.subx.html#L20251'>container-type</a> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L20209" class="LineNr">20209 </span> 89/<- %esi 0/r32/eax <span id="L20210" class="LineNr">20210 </span> <span class="subxComment"># var tmp/eax: (handle typeinfo) = find-or-create-typeinfo(container-type)</span> <span id="L20211" class="LineNr">20211 </span> 68/push 0/imm32 <span id="L20212" class="LineNr">20212 </span> 68/push 0/imm32 <span id="L20213" class="LineNr">20213 </span> 89/<- %eax 4/r32/esp -<span id="L20214" class="LineNr">20214 </span> (find-or-create-typeinfo %esi %eax) +<span id="L20214" class="LineNr">20214 </span> (<a href='mu.subx.html#L20288'>find-or-create-typeinfo</a> %esi %eax) <span id="L20215" class="LineNr">20215 </span> <span class="subxComment"># var tmp-addr/eax: (addr typeinfo) = lookup(tmp)</span> <span id="L20216" class="LineNr">20216 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L20217" class="LineNr">20217 </span> <span class="subxComment"># result = find-or-create-typeinfo-output-var(typeinfo, field-name)</span> @@ -18726,7 +18726,7 @@ if ('onhashchange' in window) { <span id="L20219" class="LineNr">20219 </span><span class="CommentedCode">#? (write-slice-buffered Stderr *(ebp+0xc))</span> <span id="L20220" class="LineNr">20220 </span><span class="CommentedCode">#? (write-buffered Stderr Newline)</span> <span id="L20221" class="LineNr">20221 </span><span class="CommentedCode">#? (flush Stderr)</span> -<span id="L20222" class="LineNr">20222 </span> (find-or-create-typeinfo-output-var %eax *(ebp+0xc) *(ebp+0x10)) +<span id="L20222" class="LineNr">20222 </span> (<a href='mu.subx.html#L20404'>find-or-create-typeinfo-output-var</a> %eax *(ebp+0xc) *(ebp+0x10)) <span id="L20223" class="LineNr">20223 </span><span class="CommentedCode">#? 8b/-> *(ebp+0x10) 0/r32/eax</span> <span id="L20224" class="LineNr">20224 </span><span class="CommentedCode">#? (write-buffered Stderr "@")</span> <span id="L20225" class="LineNr">20225 </span><span class="CommentedCode">#? (lookup *eax *(eax+4))</span> @@ -18783,7 +18783,7 @@ if ('onhashchange' in window) { <span id="L20276" class="LineNr">20276 </span> <span class="subxComment">#</span> <span id="L20277" class="LineNr">20277 </span> 8b/-> *(ebp+8) 0/r32/eax <span id="L20278" class="LineNr">20278 </span> c1/shift 4/subop/left %eax 2/imm8 -<span id="L20279" class="LineNr">20279 </span> 3b/compare 0/r32/eax *<span class="SpecialChar">Primitive-type-ids</span> +<span id="L20279" class="LineNr">20279 </span> 3b/compare 0/r32/eax *<span class="SpecialChar"><a href='mu.subx.html#L435'>Primitive-type-ids</a></span> <span id="L20280" class="LineNr">20280 </span> 0f 9d/set-if->= %al <span id="L20281" class="LineNr">20281 </span> 25/and-eax-with 0xff/imm32 <span id="L20282" class="LineNr">20282 </span><span class="Constant">$container?:end</span>: @@ -18808,14 +18808,14 @@ if ('onhashchange' in window) { <span id="L20301" class="LineNr">20301 </span> 68/push 0/imm32 <span id="L20302" class="LineNr">20302 </span> 89/<- %ecx 4/r32/esp <span id="L20303" class="LineNr">20303 </span> <span class="subxComment"># find-typeinfo(t, out)</span> -<span id="L20304" class="LineNr">20304 </span> (find-typeinfo *(ebp+8) %edi) +<span id="L20304" class="LineNr">20304 </span> (<a href='mu.subx.html#L20355'>find-typeinfo</a> *(ebp+8) %edi) <span id="L20305" class="LineNr">20305 </span> { <span id="L20306" class="LineNr">20306 </span> <span class="subxComment"># if (*out != 0) break</span> <span id="L20307" class="LineNr">20307 </span> 81 7/subop/compare *edi 0/imm32 <span id="L20308" class="LineNr">20308 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L20309" class="LineNr">20309 </span><span class="Constant">$find-or-create-typeinfo:create</span>: <span id="L20310" class="LineNr">20310 </span> <span class="subxComment"># *out = allocate</span> -<span id="L20311" class="LineNr">20311 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Typeinfo-size</span> %edi) +<span id="L20311" class="LineNr">20311 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L454'>Typeinfo-size</a></span> %edi) <span id="L20312" class="LineNr">20312 </span> <span class="subxComment"># var tmp/eax: (addr typeinfo) = lookup(*out)</span> <span id="L20313" class="LineNr">20313 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> <span id="L20314" class="LineNr">20314 </span><span class="CommentedCode">#? (write-buffered Stderr "created typeinfo at ")</span> @@ -18829,7 +18829,7 @@ if ('onhashchange' in window) { <span id="L20322" class="LineNr">20322 </span> 89/<- *eax 2/r32/edx <span class="subxComment"># Typeinfo-id</span> <span id="L20323" class="LineNr">20323 </span> <span class="subxComment"># tmp->fields = new table</span> <span id="L20324" class="LineNr">20324 </span> <span class="subxS1Comment"># . fields = new table</span> -<span id="L20325" class="LineNr">20325 </span> (<a href='121new-stream.subx.html#L8'>new-stream</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> 0x40 *<span class="SpecialChar">Typeinfo-fields-row-size</span> %ecx) +<span id="L20325" class="LineNr">20325 </span> (<a href='121new-stream.subx.html#L8'>new-stream</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> 0x40 *<span class="SpecialChar"><a href='mu.subx.html#L459'>Typeinfo-fields-row-size</a></span> %ecx) <span id="L20326" class="LineNr">20326 </span> <span class="subxS1Comment"># . tmp->fields = fields</span> <span id="L20327" class="LineNr">20327 </span> 8b/-> *ecx 2/r32/edx <span id="L20328" class="LineNr">20328 </span> 89/<- *(eax+4) 2/r32/edx <span class="subxComment"># Typeinfo-fields</span> @@ -18921,7 +18921,7 @@ if ('onhashchange' in window) { <span id="L20414" class="LineNr">20414 </span> 68/push 0/imm32 <span id="L20415" class="LineNr">20415 </span> 89/<- %edi 4/r32/esp <span id="L20416" class="LineNr">20416 </span> <span class="subxComment"># find-or-create-typeinfo-fields(T, f, dest)</span> -<span id="L20417" class="LineNr">20417 </span> (find-or-create-typeinfo-fields *(ebp+8) *(ebp+0xc) %edi) +<span id="L20417" class="LineNr">20417 </span> (<a href='mu.subx.html#L20469'>find-or-create-typeinfo-fields</a> *(ebp+8) *(ebp+0xc) %edi) <span id="L20418" class="LineNr">20418 </span> <span class="subxComment"># var dest-addr/edi: (addr typeinfo-entry) = lookup(dest)</span> <span id="L20419" class="LineNr">20419 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># => eax</span> <span id="L20420" class="LineNr">20420 </span> 89/<- %edi 0/r32/eax @@ -18937,7 +18937,7 @@ if ('onhashchange' in window) { <span id="L20430" class="LineNr">20430 </span> (<a href='123slice.subx.html#L1043'>slice-to-string</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *(ebp+0xc) %eax) <span id="L20431" class="LineNr">20431 </span> <span class="subxS1Comment"># . new var</span> <span id="L20432" class="LineNr">20432 </span> 8d/copy-address *(edi+0xc) 2/r32/edx -<span id="L20433" class="LineNr">20433 </span> (new-var <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) +<span id="L20433" class="LineNr">20433 </span> (<a href='mu.subx.html#L19750'>new-var</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *eax *(eax+4) %edx) <span id="L20434" class="LineNr">20434 </span> <span class="subxS1Comment"># . reclaim name</span> <span id="L20435" class="LineNr">20435 </span> 81 0/subop/add %esp 8/imm32 <span id="L20436" class="LineNr">20436 </span> <span class="subxComment"># var result/edx: (addr var) = lookup(dest-addr->output-var)</span> @@ -18945,7 +18945,7 @@ if ('onhashchange' in window) { <span id="L20438" class="LineNr">20438 </span> 89/<- %edx 0/r32/eax <span id="L20439" class="LineNr">20439 </span> <span class="subxComment"># result->type = new constant type</span> <span id="L20440" class="LineNr">20440 </span> 8d/copy-address *(edx+8) 0/r32/eax <span class="subxComment"># Var-type</span> -<span id="L20441" class="LineNr">20441 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Type-tree-size</span> %eax) +<span id="L20441" class="LineNr">20441 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L389'>Type-tree-size</a></span> %eax) <span id="L20442" class="LineNr">20442 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># => eax</span> <span id="L20443" class="LineNr">20443 </span> c7 0/subop/copy *eax 1/imm32/true <span class="subxComment"># Type-tree-is-atom</span> <span id="L20444" class="LineNr">20444 </span> c7 0/subop/copy *(eax+4) 6/imm32/constant <span class="subxComment"># Type-tree-value</span> @@ -18987,13 +18987,13 @@ if ('onhashchange' in window) { <span id="L20480" class="LineNr">20480 </span> <span class="subxComment"># edi = out</span> <span id="L20481" class="LineNr">20481 </span> 8b/-> *(ebp+0x10) 7/r32/edi <span id="L20482" class="LineNr">20482 </span> <span class="subxComment"># var src/esi: (addr handle typeinfo-entry) = get-or-insert-slice(T->fields, f)</span> -<span id="L20483" class="LineNr">20483 </span> (<a href='131table.subx.html#L1022'>get-or-insert-slice</a> %eax *(ebp+0xc) *<span class="SpecialChar">Typeinfo-fields-row-size</span> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span>) <span class="subxComment"># => eax</span> +<span id="L20483" class="LineNr">20483 </span> (<a href='131table.subx.html#L1022'>get-or-insert-slice</a> %eax *(ebp+0xc) *<span class="SpecialChar"><a href='mu.subx.html#L459'>Typeinfo-fields-row-size</a></span> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span>) <span class="subxComment"># => eax</span> <span id="L20484" class="LineNr">20484 </span> 89/<- %esi 0/r32/eax <span id="L20485" class="LineNr">20485 </span> <span class="subxComment"># if src doesn't exist, allocate it</span> <span id="L20486" class="LineNr">20486 </span> { <span id="L20487" class="LineNr">20487 </span> 81 7/subop/compare *esi 0/imm32 <span id="L20488" class="LineNr">20488 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L20489" class="LineNr">20489 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar">Typeinfo-entry-size</span> %esi) +<span id="L20489" class="LineNr">20489 </span> (<a href='120allocate.subx.html#L66'>allocate</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L475'>Typeinfo-entry-size</a></span> %esi) <span id="L20490" class="LineNr">20490 </span><span class="CommentedCode">#? (write-buffered Stderr "handle at ")</span> <span id="L20491" class="LineNr">20491 </span><span class="CommentedCode">#? (write-int32-hex-buffered Stderr %esi)</span> <span id="L20492" class="LineNr">20492 </span><span class="CommentedCode">#? (write-buffered Stderr ": ")</span> @@ -19091,7 +19091,7 @@ if ('onhashchange' in window) { <span id="L20584" class="LineNr">20584 </span> 81 7/subop/compare *ecx 0/imm32 <span id="L20585" class="LineNr">20585 </span> 0f 84/jump-if-= $populate-mu-type:error1/disp32 <span id="L20586" class="Folded">20586 </span><span class="Folded">+-- 6 lines: #? # dump line ------------------------------------------------------------------------------------------------------------------------------------------------------</span> -<span id="L20592" class="LineNr">20592 </span> (next-mu-token %ecx %edx) +<span id="L20592" class="LineNr">20592 </span> (<a href='mu.subx.html#L17328'>next-mu-token</a> %ecx %edx) <span id="L20593" class="LineNr">20593 </span> <span class="subxComment"># if slice-empty?(word-slice) continue</span> <span id="L20594" class="LineNr">20594 </span> (<a href='123slice.subx.html#L9'>slice-empty?</a> %edx) <span class="subxComment"># => eax</span> <span id="L20595" class="LineNr">20595 </span> 3d/compare-eax-and 0/imm32 @@ -19105,43 +19105,43 @@ if ('onhashchange' in window) { <span id="L20603" class="LineNr">20603 </span> <span class="subxComment"># must do this first to strip the trailing ':' from word-slice before</span> <span id="L20604" class="LineNr">20604 </span> <span class="subxComment"># using it in find-or-create-typeinfo-fields below</span> <span id="L20605" class="LineNr">20605 </span> <span class="subxComment"># TODO: clean up that mutation in parse-var-with-type</span> -<span id="L20606" class="LineNr">20606 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> -<span id="L20607" class="LineNr">20607 </span> (parse-var-with-type %edx %ecx %esi %eax *(ebp+0x10) *(ebp+0x14)) +<span id="L20606" class="LineNr">20606 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20607" class="LineNr">20607 </span> (<a href='mu.subx.html#L16973'>parse-var-with-type</a> %edx %ecx %esi %eax *(ebp+0x10) *(ebp+0x14)) <span id="L20608" class="LineNr">20608 </span> <span class="subxComment"># if v is an addr, abort</span> <span id="L20609" class="LineNr">20609 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L20610" class="LineNr">20610 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L20611" class="LineNr">20611 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L20611" class="LineNr">20611 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L20612" class="LineNr">20612 </span> 3d/compare-eax-and 0/imm32/false <span id="L20613" class="LineNr">20613 </span> 0f 85/jump-if-!= $populate-mu-type:error2/disp32 <span id="L20614" class="LineNr">20614 </span> <span class="subxComment"># if v is an array, abort (we could support it, but initialization gets complex)</span> <span id="L20615" class="LineNr">20615 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L20616" class="LineNr">20616 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L20617" class="LineNr">20617 </span> (mu-array-type? %eax) <span class="subxComment"># => eax</span> +<span id="L20617" class="LineNr">20617 </span> (<a href='mu.subx.html#L36315'>mu-array-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L20618" class="LineNr">20618 </span> 3d/compare-eax-and 0/imm32/false <span id="L20619" class="LineNr">20619 </span> 0f 85/jump-if-!= $populate-mu-type:error3/disp32 <span id="L20620" class="LineNr">20620 </span> <span class="subxComment"># if v is a byte, abort</span> <span id="L20621" class="LineNr">20621 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L20622" class="LineNr">20622 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L20623" class="LineNr">20623 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L20623" class="LineNr">20623 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L20624" class="LineNr">20624 </span> 3d/compare-eax-and 0/imm32/false <span id="L20625" class="LineNr">20625 </span> 0f 85/jump-if-!= $populate-mu-type:error4/disp32 <span id="L20626" class="LineNr">20626 </span> <span class="subxComment"># if v is a slice, abort</span> <span id="L20627" class="LineNr">20627 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L20628" class="LineNr">20628 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L20629" class="LineNr">20629 </span> (simple-mu-type? %eax 0xc) <span class="subxComment"># slice => eax</span> +<span id="L20629" class="LineNr">20629 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xc) <span class="subxComment"># slice => eax</span> <span id="L20630" class="LineNr">20630 </span> 3d/compare-eax-and 0/imm32/false <span id="L20631" class="LineNr">20631 </span> 0f 85/jump-if-!= $populate-mu-type:error5/disp32 <span id="L20632" class="LineNr">20632 </span> <span class="subxComment"># if v is a stream, abort (we could support it, but initialization gets even more complex)</span> <span id="L20633" class="LineNr">20633 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># => eax</span> <span id="L20634" class="LineNr">20634 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L20635" class="LineNr">20635 </span> (mu-stream-type? %eax) <span class="subxComment"># => eax</span> +<span id="L20635" class="LineNr">20635 </span> (<a href='mu.subx.html#L36377'>mu-stream-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L20636" class="LineNr">20636 </span> 3d/compare-eax-and 0/imm32/false <span id="L20637" class="LineNr">20637 </span> 0f 85/jump-if-!= $populate-mu-type:error6/disp32 <span id="L20638" class="LineNr">20638 </span> <span class="subxComment"># var tmp/ecx</span> <span id="L20639" class="LineNr">20639 </span> 51/push-ecx <span id="L20640" class="LineNr">20640 </span><span class="Constant">$populate-mu-type:create-typeinfo-fields</span>: <span id="L20641" class="LineNr">20641 </span> <span class="subxComment"># var r/ebx: (handle typeinfo-entry)</span> -<span id="L20642" class="LineNr">20642 </span> (find-or-create-typeinfo-fields %edi %edx %ebx) +<span id="L20642" class="LineNr">20642 </span> (<a href='mu.subx.html#L20469'>find-or-create-typeinfo-fields</a> %edi %edx %ebx) <span id="L20643" class="LineNr">20643 </span> <span class="subxComment"># r->index = curr-index</span> <span id="L20644" class="LineNr">20644 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># => eax</span> <span id="L20645" class="LineNr">20645 </span> 8b/-> *(ebp-4) 1/r32/ecx @@ -19168,7 +19168,7 @@ if ('onhashchange' in window) { <span id="L20666" class="LineNr">20666 </span> 81 7/subop/compare *(eax+0xc) 0/imm32 <span class="subxComment"># Typeinfo-entry-output-var</span> <span id="L20667" class="LineNr">20667 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L20668" class="LineNr">20668 </span> 8d/copy-address *(eax+0xc) 0/r32/eax <span class="subxComment"># Typeinfo-entry-output-var</span> -<span id="L20669" class="LineNr">20669 </span> (new-literal <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edx %eax) +<span id="L20669" class="LineNr">20669 </span> (<a href='mu.subx.html#L19900'>new-literal</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> %edx %eax) <span id="L20670" class="LineNr">20670 </span> } <span id="L20671" class="LineNr">20671 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L20672" class="LineNr">20672 </span> } @@ -19197,7 +19197,7 @@ if ('onhashchange' in window) { <span id="L20695" class="LineNr">20695 </span><span class="Constant">$populate-mu-type:error1</span>: <span id="L20696" class="LineNr">20696 </span> <span class="subxComment"># error("incomplete type definition '" t->name "'\n")</span> <span id="L20697" class="LineNr">20697 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"incomplete type definition '"</span>) -<span id="L20698" class="LineNr">20698 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20698" class="LineNr">20698 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20699" class="LineNr">20699 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20700" class="LineNr">20700 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"\n"</span>) <span id="L20701" class="LineNr">20701 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19206,7 +19206,7 @@ if ('onhashchange' in window) { <span id="L20704" class="LineNr">20704 </span> <span id="L20705" class="LineNr">20705 </span><span class="Constant">$populate-mu-type:error2</span>: <span id="L20706" class="LineNr">20706 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"type "</span>) -<span id="L20707" class="LineNr">20707 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20707" class="LineNr">20707 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20708" class="LineNr">20708 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20709" class="LineNr">20709 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": 'addr' elements not allowed\n"</span>) <span id="L20710" class="LineNr">20710 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19215,7 +19215,7 @@ if ('onhashchange' in window) { <span id="L20713" class="LineNr">20713 </span> <span id="L20714" class="LineNr">20714 </span><span class="Constant">$populate-mu-type:error3</span>: <span id="L20715" class="LineNr">20715 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"type "</span>) -<span id="L20716" class="LineNr">20716 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20716" class="LineNr">20716 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20717" class="LineNr">20717 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20718" class="LineNr">20718 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": 'array' elements not allowed for now\n"</span>) <span id="L20719" class="LineNr">20719 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19224,7 +19224,7 @@ if ('onhashchange' in window) { <span id="L20722" class="LineNr">20722 </span> <span id="L20723" class="LineNr">20723 </span><span class="Constant">$populate-mu-type:error4</span>: <span id="L20724" class="LineNr">20724 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"type "</span>) -<span id="L20725" class="LineNr">20725 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20725" class="LineNr">20725 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20726" class="LineNr">20726 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20727" class="LineNr">20727 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": 'byte' elements not allowed\n"</span>) <span id="L20728" class="LineNr">20728 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19233,7 +19233,7 @@ if ('onhashchange' in window) { <span id="L20731" class="LineNr">20731 </span> <span id="L20732" class="LineNr">20732 </span><span class="Constant">$populate-mu-type:error5</span>: <span id="L20733" class="LineNr">20733 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"type "</span>) -<span id="L20734" class="LineNr">20734 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20734" class="LineNr">20734 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20735" class="LineNr">20735 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20736" class="LineNr">20736 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": 'slice' elements not allowed\n"</span>) <span id="L20737" class="LineNr">20737 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19242,7 +19242,7 @@ if ('onhashchange' in window) { <span id="L20740" class="LineNr">20740 </span> <span id="L20741" class="LineNr">20741 </span><span class="Constant">$populate-mu-type:error6</span>: <span id="L20742" class="LineNr">20742 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"type "</span>) -<span id="L20743" class="LineNr">20743 </span> (type-name *edi) <span class="subxComment"># Typeinfo-id => eax</span> +<span id="L20743" class="LineNr">20743 </span> (<a href='mu.subx.html#L20750'>type-name</a> *edi) <span class="subxComment"># Typeinfo-id => eax</span> <span id="L20744" class="LineNr">20744 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L20745" class="LineNr">20745 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": 'stream' elements not allowed for now\n"</span>) <span id="L20746" class="LineNr">20746 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+0x10)) @@ -19254,7 +19254,7 @@ if ('onhashchange' in window) { <span id="L20752" class="LineNr">20752 </span> 55/push-ebp <span id="L20753" class="LineNr">20753 </span> 89/<- %ebp 4/r32/esp <span id="L20754" class="LineNr">20754 </span> <span class="subxComment">#</span> -<span id="L20755" class="LineNr">20755 </span> (index <span class="SpecialChar">Type-id</span> *(ebp+8)) +<span id="L20755" class="LineNr">20755 </span> (index <span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span> *(ebp+8)) <span id="L20756" class="LineNr">20756 </span><span class="Constant">$type-name:end</span>: <span id="L20757" class="LineNr">20757 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L20758" class="LineNr">20758 </span> 89/<- %esp 5/r32/ebp @@ -19302,7 +19302,7 @@ if ('onhashchange' in window) { <span id="L20800" class="LineNr">20800 </span> <span class="subxComment"># if (curr == null) break</span> <span id="L20801" class="LineNr">20801 </span> 3d/compare-eax-and 0/imm32/null <span id="L20802" class="LineNr">20802 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L20803" class="LineNr">20803 </span> (populate-mu-type-sizes-in-type %eax *(ebp+8) *(ebp+0xc)) +<span id="L20803" class="LineNr">20803 </span> (<a href='mu.subx.html#L20829'>populate-mu-type-sizes-in-type</a> %eax *(ebp+8) *(ebp+0xc)) <span id="L20804" class="LineNr">20804 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L20805" class="LineNr">20805 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x10) *(eax+0x14)) <span class="subxComment"># Typeinfo-next Typeinfo-next => eax</span> <span id="L20806" class="LineNr">20806 </span> eb/jump <span class="Constant">loop</span>/disp8 @@ -19314,7 +19314,7 @@ if ('onhashchange' in window) { <span id="L20812" class="LineNr">20812 </span> <span class="subxComment"># if (curr == null) break</span> <span id="L20813" class="LineNr">20813 </span> 3d/compare-eax-and 0/imm32/null <span id="L20814" class="LineNr">20814 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L20815" class="LineNr">20815 </span> (populate-mu-type-offsets %eax *(ebp+8) *(ebp+0xc)) +<span id="L20815" class="LineNr">20815 </span> (<a href='mu.subx.html#L20993'>populate-mu-type-offsets</a> %eax *(ebp+8) *(ebp+0xc)) <span id="L20816" class="LineNr">20816 </span> <span class="subxComment"># curr = curr->next</span> <span id="L20817" class="LineNr">20817 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x10) *(eax+0x14)) <span class="subxComment"># Typeinfo-next Typeinfo-next => eax</span> <span id="L20818" class="LineNr">20818 </span> eb/jump <span class="Constant">loop</span>/disp8 @@ -19372,7 +19372,7 @@ if ('onhashchange' in window) { <span id="L20870" class="LineNr">20870 </span> 74/jump-if-= $populate-mu-type-sizes-in-type:end/disp8 <span id="L20871" class="LineNr">20871 </span> <span class="subxComment"># compute size of t->input-var</span> <span id="L20872" class="LineNr">20872 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Typeinfo-entry-input-var Typeinfo-entry-input-var => eax</span> -<span id="L20873" class="LineNr">20873 </span> (compute-size-of-var %eax *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L20873" class="LineNr">20873 </span> (<a href='mu.subx.html#L20903'>compute-size-of-var</a> %eax *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L20874" class="LineNr">20874 </span> <span class="subxComment"># result += eax</span> <span id="L20875" class="LineNr">20875 </span> 01/add-to %edi 0/r32/eax <span id="L20876" class="LineNr">20876 </span> <span class="subxComment"># curr += row-size</span> @@ -19420,7 +19420,7 @@ if ('onhashchange' in window) { <span id="L20918" class="LineNr">20918 </span> 89/<- %ecx 0/r32/eax <span id="L20919" class="LineNr">20919 </span> } <span id="L20920" class="LineNr">20920 </span> <span class="subxComment"># TODO: ensure t is an atom</span> -<span id="L20921" class="LineNr">20921 </span> (compute-size-of-type-id *(ecx+4) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L20921" class="LineNr">20921 </span> (<a href='mu.subx.html#L20930'>compute-size-of-type-id</a> *(ecx+4) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L20922" class="LineNr">20922 </span><span class="Constant">$compute-size-of-var:end</span>: <span id="L20923" class="LineNr">20923 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L20924" class="LineNr">20924 </span> 59/pop-to-ecx @@ -19467,13 +19467,13 @@ if ('onhashchange' in window) { <span id="L20965" class="LineNr">20965 </span> } <span id="L20966" class="LineNr">20966 </span> <span class="subxComment"># if t is a user-defined type, compute its size</span> <span id="L20967" class="LineNr">20967 </span> <span class="subxComment"># TODO: support non-atom type</span> -<span id="L20968" class="LineNr">20968 </span> (find-typeinfo %eax %ecx) +<span id="L20968" class="LineNr">20968 </span> (<a href='mu.subx.html#L20355'>find-typeinfo</a> %eax %ecx) <span id="L20969" class="LineNr">20969 </span> { <span id="L20970" class="LineNr">20970 </span> 81 7/subop/compare *ecx 0/imm32 <span id="L20971" class="LineNr">20971 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L20972" class="LineNr">20972 </span><span class="Constant">$compute-size-of-type-id:user-defined</span>: <span id="L20973" class="LineNr">20973 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> -<span id="L20974" class="LineNr">20974 </span> (populate-mu-type-sizes-in-type %eax *(ebp+0xc) *(ebp+0x10)) +<span id="L20974" class="LineNr">20974 </span> (<a href='mu.subx.html#L20829'>populate-mu-type-sizes-in-type</a> %eax *(ebp+0xc) *(ebp+0x10)) <span id="L20975" class="LineNr">20975 </span> 8b/-> *(eax+0xc) 0/r32/eax <span class="subxComment"># Typeinfo-total-size-in-bytes</span> <span id="L20976" class="LineNr">20976 </span> eb/jump $compute-size-of-type-id:end/disp8 <span id="L20977" class="LineNr">20977 </span> } @@ -19526,7 +19526,7 @@ if ('onhashchange' in window) { <span id="L21024" class="LineNr">21024 </span><span class="CommentedCode">#? (write-buffered Stderr Newline)</span> <span id="L21025" class="LineNr">21025 </span><span class="CommentedCode">#? (flush Stderr)</span> <span id="L21026" class="LineNr">21026 </span> <span class="subxComment"># var v/esi: (addr typeinfo-entry)</span> -<span id="L21027" class="LineNr">21027 </span> (locate-typeinfo-entry-with-index %ecx %ebx *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L21027" class="LineNr">21027 </span> (<a href='mu.subx.html#L21060'>locate-typeinfo-entry-with-index</a> %ecx %ebx *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L21028" class="LineNr">21028 </span> 89/<- %esi 0/r32/eax <span id="L21029" class="LineNr">21029 </span> <span class="subxComment"># if v is null, silently move on; we'll emit a nice error message while type-checking</span> <span id="L21030" class="LineNr">21030 </span> 81 7/subop/compare %esi 0/imm32 <span class="subxComment"># Typeinfo-entry-input-var</span> @@ -19540,7 +19540,7 @@ if ('onhashchange' in window) { <span id="L21038" class="LineNr">21038 </span> 89/<- *(eax+0x14) 7/r32/edi <span class="subxComment"># Var-offset</span> <span id="L21039" class="LineNr">21039 </span> <span class="subxComment"># curr-offset += size-of(v->input-var)</span> <span id="L21040" class="LineNr">21040 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Typeinfo-entry-input-var Typeinfo-entry-input-var => eax</span> -<span id="L21041" class="LineNr">21041 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L21041" class="LineNr">21041 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L21042" class="LineNr">21042 </span> 01/add-to %edi 0/r32/eax <span id="L21043" class="LineNr">21043 </span> <span class="subxComment"># ++i</span> <span id="L21044" class="LineNr">21044 </span> 43/increment-ebx @@ -19632,7 +19632,7 @@ if ('onhashchange' in window) { <span id="L21130" class="LineNr">21130 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L21131" class="LineNr">21131 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"---\n"</span>) <span id="L21132" class="LineNr">21132 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) -<span id="L21133" class="LineNr">21133 </span> (dump-typeinfo %eax) +<span id="L21133" class="LineNr">21133 </span> (<a href='mu.subx.html#L21146'>dump-typeinfo</a> %eax) <span id="L21134" class="LineNr">21134 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L21135" class="LineNr">21135 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x10) *(eax+0x14)) <span class="subxComment"># Typeinfo-next Typeinfo-next => eax</span> <span id="L21136" class="LineNr">21136 </span> eb/jump <span class="Constant">loop</span>/disp8 @@ -19713,7 +19713,7 @@ if ('onhashchange' in window) { <span id="L21211" class="LineNr">21211 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) <span id="L21212" class="LineNr">21212 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L21213" class="LineNr">21213 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">" input var@"</span>) -<span id="L21214" class="LineNr">21214 </span> (dump-var 5 %eax) +<span id="L21214" class="LineNr">21214 </span> (<a href='mu.subx.html#L21242'>dump-var</a> 5 %eax) <span id="L21215" class="LineNr">21215 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span id="L21216" class="LineNr">21216 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">" index: "</span>) <span id="L21217" class="LineNr">21217 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(eax+8)) @@ -19721,7 +19721,7 @@ if ('onhashchange' in window) { <span id="L21219" class="LineNr">21219 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L21220" class="LineNr">21220 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">" output var@"</span>) <span id="L21221" class="LineNr">21221 </span> 8d/copy-address *(eax+0xc) 0/r32/eax <span class="subxComment"># Typeinfo-entry-output-var</span> -<span id="L21222" class="LineNr">21222 </span> (dump-var 5 %eax) +<span id="L21222" class="LineNr">21222 </span> (<a href='mu.subx.html#L21242'>dump-var</a> 5 %eax) <span id="L21223" class="LineNr">21223 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) <span id="L21224" class="LineNr">21224 </span> <span class="subxComment"># curr += row-size</span> <span id="L21225" class="LineNr">21225 </span> 81 0/subop/add %ecx 0x10/imm32 <span class="subxComment"># Typeinfo-fields-row-size</span> @@ -19762,7 +19762,7 @@ if ('onhashchange' in window) { <span id="L21260" class="LineNr">21260 </span> { <span id="L21261" class="LineNr">21261 </span> 3d/compare-eax-and 0/imm32 <span id="L21262" class="LineNr">21262 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L21263" class="LineNr">21263 </span> (emit-indent <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L21263" class="LineNr">21263 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L21264" class="LineNr">21264 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"name: "</span>) <span id="L21265" class="LineNr">21265 </span> 89/<- %ebx 0/r32/eax <span id="L21266" class="LineNr">21266 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *ebx) <span class="subxComment"># Var-name</span> @@ -19779,17 +19779,17 @@ if ('onhashchange' in window) { <span id="L21277" class="LineNr">21277 </span> } <span id="L21278" class="LineNr">21278 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) <span id="L21279" class="LineNr">21279 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) -<span id="L21280" class="LineNr">21280 </span> (emit-indent <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L21280" class="LineNr">21280 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L21281" class="LineNr">21281 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"block depth: "</span>) <span id="L21282" class="LineNr">21282 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebx+0x10)) <span class="subxComment"># Var-block-depth</span> <span id="L21283" class="LineNr">21283 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) <span id="L21284" class="LineNr">21284 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) -<span id="L21285" class="LineNr">21285 </span> (emit-indent <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L21285" class="LineNr">21285 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L21286" class="LineNr">21286 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"stack offset: "</span>) <span id="L21287" class="LineNr">21287 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebx+0x14)) <span class="subxComment"># Var-offset</span> <span id="L21288" class="LineNr">21288 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) <span id="L21289" class="LineNr">21289 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span>) -<span id="L21290" class="LineNr">21290 </span> (emit-indent <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) +<span id="L21290" class="LineNr">21290 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebp+8)) <span id="L21291" class="LineNr">21291 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">"reg: "</span>) <span id="L21292" class="LineNr">21292 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> *(ebx+0x18)) <span class="subxComment"># Var-register</span> <span id="L21293" class="LineNr">21293 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">","</span>) @@ -19834,7 +19834,7 @@ if ('onhashchange' in window) { <span id="L21332" class="LineNr">21332 </span> 3d/compare-eax-and 0/imm32 <span id="L21333" class="LineNr">21333 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L21334" class="Folded">21334 </span><span class="Folded">+-- 8 lines: #? # dump curr->name ------------------------------------------------------------------------------------------------------------------------------------------------</span> -<span id="L21342" class="LineNr">21342 </span> (check-mu-function %eax *(ebp+8) *(ebp+0xc)) +<span id="L21342" class="LineNr">21342 </span> (<a href='mu.subx.html#L21355'>check-mu-function</a> %eax *(ebp+8) *(ebp+0xc)) <span id="L21343" class="LineNr">21343 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L21344" class="LineNr">21344 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x20) *(eax+0x24)) <span class="subxComment"># Function-next Function-next => eax</span> <span id="L21345" class="LineNr">21345 </span> e9/jump <span class="Constant">loop</span>/disp32 @@ -19858,16 +19858,16 @@ if ('onhashchange' in window) { <span id="L21363" class="LineNr">21363 </span> 8b/-> *(ebp+8) 6/r32/esi <span id="L21364" class="LineNr">21364 </span> <span class="subxComment"># outputs</span> <span id="L21365" class="LineNr">21365 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x10) *(esi+0x14)) <span class="subxComment"># Function-outputs Function-outputs => eax</span> -<span id="L21366" class="LineNr">21366 </span> (check-all-unique-registers %eax %esi *(ebp+0xc) *(ebp+0x10)) +<span id="L21366" class="LineNr">21366 </span> (<a href='mu.subx.html#L23398'>check-all-unique-registers</a> %eax %esi *(ebp+0xc) *(ebp+0x10)) <span id="L21367" class="LineNr">21367 </span> <span class="subxComment"># body</span> <span id="L21368" class="LineNr">21368 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x18) *(esi+0x1c)) <span class="subxComment"># Function-body Function-body => eax</span> -<span id="L21369" class="LineNr">21369 </span> (check-mu-block %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10)) +<span id="L21369" class="LineNr">21369 </span> (<a href='mu.subx.html#L21385'>check-mu-block</a> %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span id="L21370" class="LineNr">21370 </span> <span class="subxComment"># if function has no outputs, we're done</span> <span id="L21371" class="LineNr">21371 </span> 81 7/subop/compare *(esi+0x10) 0/imm32 <span id="L21372" class="LineNr">21372 </span> 74/jump-if-= $check-mu-function:end/disp8 <span id="L21373" class="LineNr">21373 </span> <span class="subxComment"># some final checks on body</span> -<span id="L21374" class="LineNr">21374 </span> (check-final-stmt-is-return %eax %esi *(ebp+0xc) *(ebp+0x10)) -<span id="L21375" class="LineNr">21375 </span> (check-no-breaks %eax %esi *(ebp+0xc) *(ebp+0x10)) +<span id="L21374" class="LineNr">21374 </span> (<a href='mu.subx.html#L23611'>check-final-stmt-is-return</a> %eax %esi *(ebp+0xc) *(ebp+0x10)) +<span id="L21375" class="LineNr">21375 </span> (<a href='mu.subx.html#L23663'>check-no-breaks</a> %eax %esi *(ebp+0xc) *(ebp+0x10)) <span id="L21376" class="LineNr">21376 </span><span class="Constant">$check-mu-function:end</span>: <span id="L21377" class="LineNr">21377 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L21378" class="LineNr">21378 </span> 5e/pop-to-esi @@ -19893,7 +19893,7 @@ if ('onhashchange' in window) { <span id="L21398" class="LineNr">21398 </span> 3d/compare-eax-and 0/imm32 <span id="L21399" class="LineNr">21399 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L21400" class="LineNr">21400 </span> <span class="subxComment"># emit block->statements</span> -<span id="L21401" class="LineNr">21401 </span> (check-mu-stmt-list %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21401" class="LineNr">21401 </span> (<a href='mu.subx.html#L21411'>check-mu-stmt-list</a> %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21402" class="LineNr">21402 </span> } <span id="L21403" class="LineNr">21403 </span><span class="Constant">$check-mu-block:end</span>: <span id="L21404" class="LineNr">21404 </span> <span class="subxS1Comment"># . restore registers</span> @@ -19923,7 +19923,7 @@ if ('onhashchange' in window) { <span id="L21428" class="LineNr">21428 </span> 81 7/subop/compare *eax 0/imm32/block <span class="subxComment"># Stmt-tag</span> <span id="L21429" class="LineNr">21429 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L21430" class="LineNr">21430 </span><span class="Constant">$check-mu-stmt-list:block</span>: -<span id="L21431" class="LineNr">21431 </span> (check-mu-block %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21431" class="LineNr">21431 </span> (<a href='mu.subx.html#L21385'>check-mu-block</a> %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21432" class="LineNr">21432 </span> eb/jump $check-mu-stmt-list:continue/disp8 <span id="L21433" class="LineNr">21433 </span> } <span id="L21434" class="LineNr">21434 </span> { @@ -19931,7 +19931,7 @@ if ('onhashchange' in window) { <span id="L21436" class="LineNr">21436 </span> 81 7/subop/compare *eax 1/imm32/stmt1 <span class="subxComment"># Stmt-tag</span> <span id="L21437" class="LineNr">21437 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L21438" class="LineNr">21438 </span><span class="Constant">$check-mu-stmt-list:stmt1</span>: -<span id="L21439" class="LineNr">21439 </span> (check-mu-stmt %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21439" class="LineNr">21439 </span> (<a href='mu.subx.html#L21465'>check-mu-stmt</a> %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21440" class="LineNr">21440 </span> eb/jump $check-mu-stmt-list:continue/disp8 <span id="L21441" class="LineNr">21441 </span> } <span id="L21442" class="LineNr">21442 </span> { @@ -19939,7 +19939,7 @@ if ('onhashchange' in window) { <span id="L21444" class="LineNr">21444 </span> 81 7/subop/compare *eax 3/imm32/reg-var-def <span class="subxComment"># Stmt-tag</span> <span id="L21445" class="LineNr">21445 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L21446" class="LineNr">21446 </span><span class="Constant">$check-mu-stmt-list:reg-var-def</span>: -<span id="L21447" class="LineNr">21447 </span> (check-mu-stmt %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21447" class="LineNr">21447 </span> (<a href='mu.subx.html#L21465'>check-mu-stmt</a> %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21448" class="LineNr">21448 </span> eb/jump $check-mu-stmt-list:continue/disp8 <span id="L21449" class="LineNr">21449 </span> } <span id="L21450" class="LineNr">21450 </span><span class="Constant">$check-mu-stmt-list:continue</span>: @@ -19964,30 +19964,30 @@ if ('onhashchange' in window) { <span id="L21469" class="LineNr">21469 </span> <span class="subxS1Comment"># . save registers</span> <span id="L21470" class="LineNr">21470 </span> 50/push-eax <span id="L21471" class="LineNr">21471 </span> <span class="subxH1Comment"># - if stmt's operation matches a primitive, check against it</span> -<span id="L21472" class="LineNr">21472 </span> (has-primitive-name? *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L21472" class="LineNr">21472 </span> (<a href='mu.subx.html#L21518'>has-primitive-name?</a> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L21473" class="LineNr">21473 </span> 3d/compare-eax-and 0/imm32/false <span id="L21474" class="LineNr">21474 </span> { <span id="L21475" class="LineNr">21475 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21476" class="LineNr">21476 </span> (check-mu-primitive *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21476" class="LineNr">21476 </span> (<a href='mu.subx.html#L21610'>check-mu-primitive</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21477" class="LineNr">21477 </span> e9/jump $check-mu-stmt:end/disp32 <span id="L21478" class="LineNr">21478 </span> } <span id="L21479" class="LineNr">21479 </span> <span class="subxH1Comment"># - otherwise find a function to check against</span> <span id="L21480" class="LineNr">21480 </span> <span class="subxComment"># var f/eax: (addr function) = lookup(*Program->functions)</span> <span id="L21481" class="LineNr">21481 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *_Program-functions *_Program-functions->payload) <span class="subxComment"># => eax</span> -<span id="L21482" class="LineNr">21482 </span> (find-matching-function %eax *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L21482" class="LineNr">21482 </span> (<a href='mu.subx.html#L36163'>find-matching-function</a> %eax *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L21483" class="LineNr">21483 </span> 3d/compare-eax-and 0/imm32 <span id="L21484" class="LineNr">21484 </span> { <span id="L21485" class="LineNr">21485 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21486" class="LineNr">21486 </span> (check-mu-call *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21486" class="LineNr">21486 </span> (<a href='mu.subx.html#L26141'>check-mu-call</a> *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21487" class="LineNr">21487 </span> eb/jump $check-mu-stmt:end/disp8 <span id="L21488" class="LineNr">21488 </span> } <span id="L21489" class="LineNr">21489 </span> <span class="subxComment"># var f/eax: (addr function) = lookup(*Program->signatures)</span> <span id="L21490" class="LineNr">21490 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *_Program-signatures *_Program-signatures->payload) <span class="subxComment"># => eax</span> -<span id="L21491" class="LineNr">21491 </span> (find-matching-function %eax *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L21491" class="LineNr">21491 </span> (<a href='mu.subx.html#L36163'>find-matching-function</a> %eax *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L21492" class="LineNr">21492 </span> 3d/compare-eax-and 0/imm32 <span id="L21493" class="LineNr">21493 </span> { <span id="L21494" class="LineNr">21494 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21495" class="LineNr">21495 </span> (check-mu-call *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21495" class="LineNr">21495 </span> (<a href='mu.subx.html#L26141'>check-mu-call</a> *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21496" class="LineNr">21496 </span> eb/jump $check-mu-stmt:end/disp8 <span id="L21497" class="LineNr">21497 </span> } <span id="L21498" class="LineNr">21498 </span> <span class="subxH1Comment"># - otherwise abort</span> @@ -20070,7 +20070,7 @@ if ('onhashchange' in window) { <span id="L21575" class="LineNr">21575 </span> 3d/compare-eax-and 0/imm32/false <span id="L21576" class="LineNr">21576 </span> 0f 85/jump-if-!= $has-primitive-name?:end/disp32 <span id="L21577" class="LineNr">21577 </span> <span class="subxComment"># var curr/ecx: (addr primitive) = Primitives</span> -<span id="L21578" class="LineNr">21578 </span> b9/copy-to-ecx <span class="SpecialChar">Primitives</span>/imm32 +<span id="L21578" class="LineNr">21578 </span> b9/copy-to-ecx <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span>/imm32 <span id="L21579" class="LineNr">21579 </span> { <span id="L21580" class="LineNr">21580 </span><span class="Constant">$has-primitive-name?:loop</span>: <span id="L21581" class="LineNr">21581 </span> <span class="subxComment"># if (curr == null) break</span> @@ -20118,7 +20118,7 @@ if ('onhashchange' in window) { <span id="L21623" class="LineNr">21623 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy"</span>) <span class="subxComment"># => eax</span> <span id="L21624" class="LineNr">21624 </span> 3d/compare-eax-and 0/imm32/false <span id="L21625" class="LineNr">21625 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21626" class="LineNr">21626 </span> (check-mu-copy-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21626" class="LineNr">21626 </span> (<a href='mu.subx.html#L22029'>check-mu-copy-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21627" class="LineNr">21627 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21628" class="LineNr">21628 </span> } <span id="L21629" class="LineNr">21629 </span> <span class="subxComment"># if (op == "copy-to") check-mu-copy-to-stmt</span> @@ -20126,7 +20126,7 @@ if ('onhashchange' in window) { <span id="L21631" class="LineNr">21631 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-to"</span>) <span class="subxComment"># => eax</span> <span id="L21632" class="LineNr">21632 </span> 3d/compare-eax-and 0/imm32/false <span id="L21633" class="LineNr">21633 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21634" class="LineNr">21634 </span> (check-mu-copy-to-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21634" class="LineNr">21634 </span> (<a href='mu.subx.html#L22248'>check-mu-copy-to-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21635" class="LineNr">21635 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21636" class="LineNr">21636 </span> } <span id="L21637" class="LineNr">21637 </span> <span class="subxComment"># if (op == "copy-byte") check-mu-copy-byte-stmt</span> @@ -20134,7 +20134,7 @@ if ('onhashchange' in window) { <span id="L21639" class="LineNr">21639 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-byte"</span>) <span class="subxComment"># => eax</span> <span id="L21640" class="LineNr">21640 </span> 3d/compare-eax-and 0/imm32/false <span id="L21641" class="LineNr">21641 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21642" class="LineNr">21642 </span> (check-mu-copy-byte-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21642" class="LineNr">21642 </span> (<a href='mu.subx.html#L22449'>check-mu-copy-byte-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21643" class="LineNr">21643 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21644" class="LineNr">21644 </span> } <span id="L21645" class="LineNr">21645 </span> <span class="subxComment"># if (op == "copy-byte-to") check-mu-copy-byte-to-stmt</span> @@ -20142,7 +20142,7 @@ if ('onhashchange' in window) { <span id="L21647" class="LineNr">21647 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-byte-to"</span>) <span class="subxComment"># => eax</span> <span id="L21648" class="LineNr">21648 </span> 3d/compare-eax-and 0/imm32/false <span id="L21649" class="LineNr">21649 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21650" class="LineNr">21650 </span> (check-mu-copy-byte-to-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21650" class="LineNr">21650 </span> (<a href='mu.subx.html#L22620'>check-mu-copy-byte-to-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21651" class="LineNr">21651 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21652" class="LineNr">21652 </span> } <span id="L21653" class="LineNr">21653 </span> <span class="subxComment"># if (op == "compare") check-mu-compare-stmt</span> @@ -20150,7 +20150,7 @@ if ('onhashchange' in window) { <span id="L21655" class="LineNr">21655 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"compare"</span>) <span class="subxComment"># => eax</span> <span id="L21656" class="LineNr">21656 </span> 3d/compare-eax-and 0/imm32/false <span id="L21657" class="LineNr">21657 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21658" class="LineNr">21658 </span> (check-mu-compare-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21658" class="LineNr">21658 </span> (<a href='mu.subx.html#L22772'>check-mu-compare-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21659" class="LineNr">21659 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21660" class="LineNr">21660 </span> } <span id="L21661" class="LineNr">21661 </span> <span class="subxComment"># if (op == "address") check-mu-address-stmt</span> @@ -20158,7 +20158,7 @@ if ('onhashchange' in window) { <span id="L21663" class="LineNr">21663 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"address"</span>) <span class="subxComment"># => eax</span> <span id="L21664" class="LineNr">21664 </span> 3d/compare-eax-and 0/imm32/false <span id="L21665" class="LineNr">21665 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21666" class="LineNr">21666 </span> (check-mu-address-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21666" class="LineNr">21666 </span> (<a href='mu.subx.html#L22995'>check-mu-address-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21667" class="LineNr">21667 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21668" class="LineNr">21668 </span> } <span id="L21669" class="LineNr">21669 </span> <span class="subxComment"># if (op == "return") check-mu-return-stmt</span> @@ -20166,7 +20166,7 @@ if ('onhashchange' in window) { <span id="L21671" class="LineNr">21671 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"return"</span>) <span class="subxComment"># => eax</span> <span id="L21672" class="LineNr">21672 </span> 3d/compare-eax-and 0/imm32/false <span id="L21673" class="LineNr">21673 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21674" class="LineNr">21674 </span> (check-mu-return-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21674" class="LineNr">21674 </span> (<a href='mu.subx.html#L23239'>check-mu-return-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21675" class="LineNr">21675 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21676" class="LineNr">21676 </span> } <span id="L21677" class="LineNr">21677 </span> <span class="subxComment"># if (op == "get") check-mu-get-stmt</span> @@ -20174,7 +20174,7 @@ if ('onhashchange' in window) { <span id="L21679" class="LineNr">21679 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"get"</span>) <span class="subxComment"># => eax</span> <span id="L21680" class="LineNr">21680 </span> 3d/compare-eax-and 0/imm32/false <span id="L21681" class="LineNr">21681 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21682" class="LineNr">21682 </span> (check-mu-get-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21682" class="LineNr">21682 </span> (<a href='mu.subx.html#L23715'>check-mu-get-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21683" class="LineNr">21683 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21684" class="LineNr">21684 </span> } <span id="L21685" class="LineNr">21685 </span> <span class="subxComment"># if (op == "index") check-mu-index-stmt</span> @@ -20182,7 +20182,7 @@ if ('onhashchange' in window) { <span id="L21687" class="LineNr">21687 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"index"</span>) <span class="subxComment"># => eax</span> <span id="L21688" class="LineNr">21688 </span> 3d/compare-eax-and 0/imm32/false <span id="L21689" class="LineNr">21689 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21690" class="LineNr">21690 </span> (check-mu-index-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21690" class="LineNr">21690 </span> (<a href='mu.subx.html#L24010'>check-mu-index-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21691" class="LineNr">21691 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21692" class="LineNr">21692 </span> } <span id="L21693" class="LineNr">21693 </span> <span class="subxComment"># if (op == "length") check-mu-length-stmt</span> @@ -20190,7 +20190,7 @@ if ('onhashchange' in window) { <span id="L21695" class="LineNr">21695 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"length"</span>) <span class="subxComment"># => eax</span> <span id="L21696" class="LineNr">21696 </span> 3d/compare-eax-and 0/imm32/false <span id="L21697" class="LineNr">21697 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21698" class="LineNr">21698 </span> (check-mu-length-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21698" class="LineNr">21698 </span> (<a href='mu.subx.html#L24393'>check-mu-length-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21699" class="LineNr">21699 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21700" class="LineNr">21700 </span> } <span id="L21701" class="LineNr">21701 </span> <span class="subxComment"># if (op == "compute-offset") check-mu-compute-offset-stmt</span> @@ -20198,7 +20198,7 @@ if ('onhashchange' in window) { <span id="L21703" class="LineNr">21703 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"compute-offset"</span>) <span class="subxComment"># => eax</span> <span id="L21704" class="LineNr">21704 </span> 3d/compare-eax-and 0/imm32/false <span id="L21705" class="LineNr">21705 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21706" class="LineNr">21706 </span> (check-mu-compute-offset-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21706" class="LineNr">21706 </span> (<a href='mu.subx.html#L24683'>check-mu-compute-offset-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21707" class="LineNr">21707 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21708" class="LineNr">21708 </span> } <span id="L21709" class="LineNr">21709 </span> <span class="subxComment"># if (op == "copy-object") check-mu-copy-object-stmt</span> @@ -20206,7 +20206,7 @@ if ('onhashchange' in window) { <span id="L21711" class="LineNr">21711 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-object"</span>) <span class="subxComment"># => eax</span> <span id="L21712" class="LineNr">21712 </span> 3d/compare-eax-and 0/imm32/false <span id="L21713" class="LineNr">21713 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21714" class="LineNr">21714 </span> (check-mu-copy-object-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21714" class="LineNr">21714 </span> (<a href='mu.subx.html#L24971'>check-mu-copy-object-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21715" class="LineNr">21715 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21716" class="LineNr">21716 </span> } <span id="L21717" class="LineNr">21717 </span> <span class="subxComment"># if (op == "clear-object") check-mu-clear-object-stmt</span> @@ -20214,7 +20214,7 @@ if ('onhashchange' in window) { <span id="L21719" class="LineNr">21719 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"clear-object"</span>) <span class="subxComment"># => eax</span> <span id="L21720" class="LineNr">21720 </span> 3d/compare-eax-and 0/imm32/false <span id="L21721" class="LineNr">21721 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21722" class="LineNr">21722 </span> (check-mu-clear-object-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21722" class="LineNr">21722 </span> (<a href='mu.subx.html#L25093'>check-mu-clear-object-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21723" class="LineNr">21723 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21724" class="LineNr">21724 </span> } <span id="L21725" class="LineNr">21725 </span> <span class="subxComment"># if (op == "allocate") check-mu-allocate-stmt</span> @@ -20222,7 +20222,7 @@ if ('onhashchange' in window) { <span id="L21727" class="LineNr">21727 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"allocate"</span>) <span class="subxComment"># => eax</span> <span id="L21728" class="LineNr">21728 </span> 3d/compare-eax-and 0/imm32/false <span id="L21729" class="LineNr">21729 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21730" class="LineNr">21730 </span> (check-mu-allocate-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21730" class="LineNr">21730 </span> (<a href='mu.subx.html#L25187'>check-mu-allocate-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21731" class="LineNr">21731 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21732" class="LineNr">21732 </span> } <span id="L21733" class="LineNr">21733 </span> <span class="subxComment"># if (op == "populate") check-mu-populate-stmt</span> @@ -20230,7 +20230,7 @@ if ('onhashchange' in window) { <span id="L21735" class="LineNr">21735 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"populate"</span>) <span class="subxComment"># => eax</span> <span id="L21736" class="LineNr">21736 </span> 3d/compare-eax-and 0/imm32/false <span id="L21737" class="LineNr">21737 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21738" class="LineNr">21738 </span> (check-mu-populate-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21738" class="LineNr">21738 </span> (<a href='mu.subx.html#L25291'>check-mu-populate-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21739" class="LineNr">21739 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21740" class="LineNr">21740 </span> } <span id="L21741" class="LineNr">21741 </span> <span class="subxComment"># if (op == "populate-stream") check-mu-populate-stream-stmt</span> @@ -20238,7 +20238,7 @@ if ('onhashchange' in window) { <span id="L21743" class="LineNr">21743 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"populate-stream"</span>) <span class="subxComment"># => eax</span> <span id="L21744" class="LineNr">21744 </span> 3d/compare-eax-and 0/imm32/false <span id="L21745" class="LineNr">21745 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21746" class="LineNr">21746 </span> (check-mu-populate-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21746" class="LineNr">21746 </span> (<a href='mu.subx.html#L25441'>check-mu-populate-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21747" class="LineNr">21747 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21748" class="LineNr">21748 </span> } <span id="L21749" class="LineNr">21749 </span> <span class="subxComment"># if (op == "read-from-stream") check-mu-read-from-stream-stmt</span> @@ -20246,7 +20246,7 @@ if ('onhashchange' in window) { <span id="L21751" class="LineNr">21751 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"read-from-stream"</span>) <span class="subxComment"># => eax</span> <span id="L21752" class="LineNr">21752 </span> 3d/compare-eax-and 0/imm32/false <span id="L21753" class="LineNr">21753 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21754" class="LineNr">21754 </span> (check-mu-read-from-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21754" class="LineNr">21754 </span> (<a href='mu.subx.html#L25591'>check-mu-read-from-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21755" class="LineNr">21755 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21756" class="LineNr">21756 </span> } <span id="L21757" class="LineNr">21757 </span> <span class="subxComment"># if (op == "write-to-stream") check-mu-write-to-stream-stmt</span> @@ -20254,7 +20254,7 @@ if ('onhashchange' in window) { <span id="L21759" class="LineNr">21759 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"write-to-stream"</span>) <span class="subxComment"># => eax</span> <span id="L21760" class="LineNr">21760 </span> 3d/compare-eax-and 0/imm32/false <span id="L21761" class="LineNr">21761 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21762" class="LineNr">21762 </span> (check-mu-write-to-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21762" class="LineNr">21762 </span> (<a href='mu.subx.html#L25758'>check-mu-write-to-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21763" class="LineNr">21763 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21764" class="LineNr">21764 </span> } <span id="L21765" class="LineNr">21765 </span> <span class="subxComment"># if (op == "convert") check-mu-convert-stmt</span> @@ -20262,11 +20262,11 @@ if ('onhashchange' in window) { <span id="L21767" class="LineNr">21767 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"convert"</span>) <span class="subxComment"># => eax</span> <span id="L21768" class="LineNr">21768 </span> 3d/compare-eax-and 0/imm32/false <span id="L21769" class="LineNr">21769 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L21770" class="LineNr">21770 </span> (check-mu-convert-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21770" class="LineNr">21770 </span> (<a href='mu.subx.html#L25925'>check-mu-convert-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21771" class="LineNr">21771 </span> e9/jump $check-mu-primitive:end/disp32 <span id="L21772" class="LineNr">21772 </span> } <span id="L21773" class="LineNr">21773 </span> <span class="subxComment"># otherwise check-numberlike-stmt</span> -<span id="L21774" class="LineNr">21774 </span> (check-mu-numberlike-primitive *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21774" class="LineNr">21774 </span> (<a href='mu.subx.html#L21785'>check-mu-numberlike-primitive</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21775" class="LineNr">21775 </span><span class="Constant">$check-mu-primitive:end</span>: <span id="L21776" class="LineNr">21776 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L21777" class="LineNr">21777 </span> 59/pop-to-ecx @@ -20296,7 +20296,7 @@ if ('onhashchange' in window) { <span id="L21801" class="LineNr">21801 </span> 3d/compare-eax-and 0/imm32 <span id="L21802" class="LineNr">21802 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L21803" class="LineNr">21803 </span><span class="Constant">$check-mu-numberlike-primitive:output</span>: -<span id="L21804" class="LineNr">21804 </span> (check-mu-numberlike-output %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21804" class="LineNr">21804 </span> (<a href='mu.subx.html#L21925'>check-mu-numberlike-output</a> %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21805" class="LineNr">21805 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L21806" class="LineNr">21806 </span> 3d/compare-eax-and 0/imm32 <span id="L21807" class="LineNr">21807 </span> 0f 85/jump-if-!= $check-mu-numberlike-primitive:error-too-many-outputs/disp32 @@ -20310,7 +20310,7 @@ if ('onhashchange' in window) { <span id="L21815" class="LineNr">21815 </span> 3d/compare-eax-and 0/imm32 <span id="L21816" class="LineNr">21816 </span> 0f 84/jump-if-= $check-mu-numberlike-primitive:end/disp32 <span id="L21817" class="LineNr">21817 </span><span class="Constant">$check-mu-numberlike-primitive:first-inout</span>: -<span id="L21818" class="LineNr">21818 </span> (check-mu-numberlike-arg %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21818" class="LineNr">21818 </span> (<a href='mu.subx.html#L21874'>check-mu-numberlike-arg</a> %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21819" class="LineNr">21819 </span> <span class="subxComment"># --gas</span> <span id="L21820" class="LineNr">21820 </span> 49/decrement-ecx <span id="L21821" class="LineNr">21821 </span> } @@ -20324,7 +20324,7 @@ if ('onhashchange' in window) { <span id="L21829" class="LineNr">21829 </span> 81 7/subop/compare %ecx 0/imm32 <span id="L21830" class="LineNr">21830 </span> 0f 84/jump-if-= $check-mu-numberlike-primitive:error-too-many-inouts/disp32 <span id="L21831" class="LineNr">21831 </span><span class="Constant">$check-mu-numberlike-primitive:second-inout-permitted</span>: -<span id="L21832" class="LineNr">21832 </span> (check-mu-numberlike-arg %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L21832" class="LineNr">21832 </span> (<a href='mu.subx.html#L21874'>check-mu-numberlike-arg</a> %eax *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L21833" class="LineNr">21833 </span> } <span id="L21834" class="LineNr">21834 </span><span class="Constant">$check-mu-numberlike-primitive:third-inout</span>: <span id="L21835" class="LineNr">21835 </span> <span class="subxComment"># if there's a third arg, raise an error</span> @@ -20380,13 +20380,13 @@ if ('onhashchange' in window) { <span id="L21885" class="LineNr">21885 </span> 89/<- %esi 0/r32/eax <span id="L21886" class="LineNr">21886 </span><span class="Constant">$check-mu-numberlike-arg:check-literal</span>: <span id="L21887" class="LineNr">21887 </span> <span class="subxComment"># if t is an int, return</span> -<span id="L21888" class="LineNr">21888 </span> (simple-mu-type? %esi 0) <span class="subxComment"># literal => eax</span> +<span id="L21888" class="LineNr">21888 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 0) <span class="subxComment"># literal => eax</span> <span id="L21889" class="LineNr">21889 </span> 3d/compare-eax-and 0/imm32/false <span id="L21890" class="LineNr">21890 </span> 0f 85/jump-if-!= $check-mu-numberlike-arg:end/disp32 <span id="L21891" class="LineNr">21891 </span><span class="Constant">$check-mu-numberlike-arg:check-addr</span>: <span id="L21892" class="LineNr">21892 </span> <span class="subxComment"># if t is an addr and v is dereferenced, return whether t->payload is an addr</span> <span id="L21893" class="LineNr">21893 </span> { -<span id="L21894" class="LineNr">21894 </span> (mu-addr-type? %esi) <span class="subxComment"># => eax</span> +<span id="L21894" class="LineNr">21894 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %esi) <span class="subxComment"># => eax</span> <span id="L21895" class="LineNr">21895 </span> 3d/compare-eax-and 0/imm32/false <span id="L21896" class="LineNr">21896 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L21897" class="LineNr">21897 </span> 8b/-> *(ebp+8) 0/r32/eax @@ -20401,13 +20401,13 @@ if ('onhashchange' in window) { <span id="L21906" class="LineNr">21906 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L21907" class="LineNr">21907 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> <span id="L21908" class="LineNr">21908 </span> } -<span id="L21909" class="LineNr">21909 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L21909" class="LineNr">21909 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L21910" class="LineNr">21910 </span> 3d/compare-eax-and 0/imm32/false <span id="L21911" class="LineNr">21911 </span> 74/jump-if-= $check-mu-numberlike-arg:end/disp8 <span id="L21912" class="LineNr">21912 </span> } <span id="L21913" class="LineNr">21913 </span> } <span id="L21914" class="LineNr">21914 </span><span class="Constant">$check-mu-numberlike-arg:output-checks</span>: -<span id="L21915" class="LineNr">21915 </span> (check-mu-numberlike-output *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) +<span id="L21915" class="LineNr">21915 </span> (<a href='mu.subx.html#L21925'>check-mu-numberlike-output</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) <span id="L21916" class="LineNr">21916 </span><span class="Constant">$check-mu-numberlike-arg:end</span>: <span id="L21917" class="LineNr">21917 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L21918" class="LineNr">21918 </span> 5e/pop-to-esi @@ -20424,7 +20424,7 @@ if ('onhashchange' in window) { <span id="L21929" class="LineNr">21929 </span> <span class="subxS1Comment"># . save registers</span> <span id="L21930" class="LineNr">21930 </span> 50/push-eax <span id="L21931" class="LineNr">21931 </span> <span class="subxComment">#</span> -<span id="L21932" class="LineNr">21932 </span> (mu-numberlike-output-var? *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L21932" class="LineNr">21932 </span> (<a href='mu.subx.html#L21963'>mu-numberlike-output-var?</a> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L21933" class="LineNr">21933 </span> 3d/compare-eax-and 0/imm32/false <span id="L21934" class="LineNr">21934 </span> 0f 84/jump-if-= $check-mu-numberlike-output:fail/disp32 <span id="L21935" class="LineNr">21935 </span><span class="Constant">$check-mu-numberlike-output:end</span>: @@ -20463,7 +20463,7 @@ if ('onhashchange' in window) { <span id="L21968" class="LineNr">21968 </span> 8b/-> *(ebp+8) 0/r32/eax <span id="L21969" class="LineNr">21969 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L21970" class="LineNr">21970 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L21971" class="LineNr">21971 </span> (mu-numberlike-output? %eax) <span class="subxComment"># => eax</span> +<span id="L21971" class="LineNr">21971 </span> (<a href='mu.subx.html#L21978'>mu-numberlike-output?</a> %eax) <span class="subxComment"># => eax</span> <span id="L21972" class="LineNr">21972 </span><span class="Constant">$mu-numberlike-output-var?:end</span>: <span id="L21973" class="LineNr">21973 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L21974" class="LineNr">21974 </span> 89/<- %esp 5/r32/ebp @@ -20480,32 +20480,32 @@ if ('onhashchange' in window) { <span id="L21985" class="LineNr">21985 </span> 8b/-> *(ebp+8) 6/r32/esi <span id="L21986" class="LineNr">21986 </span><span class="Constant">$mu-numberlike-output?:check-int</span>: <span id="L21987" class="LineNr">21987 </span> <span class="subxComment"># if t is an int, return</span> -<span id="L21988" class="LineNr">21988 </span> (simple-mu-type? %esi 1) <span class="subxComment"># int => eax</span> +<span id="L21988" class="LineNr">21988 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 1) <span class="subxComment"># int => eax</span> <span id="L21989" class="LineNr">21989 </span> 3d/compare-eax-and 0/imm32/false <span id="L21990" class="LineNr">21990 </span> 0f 85/jump-if-!= $mu-numberlike-output?:return-true/disp32 <span id="L21991" class="LineNr">21991 </span><span class="Constant">$mu-numberlike-output?:check-float</span>: <span id="L21992" class="LineNr">21992 </span> <span class="subxComment"># if t is a float, return</span> -<span id="L21993" class="LineNr">21993 </span> (simple-mu-type? %esi 0xf) <span class="subxComment"># float => eax</span> +<span id="L21993" class="LineNr">21993 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 0xf) <span class="subxComment"># float => eax</span> <span id="L21994" class="LineNr">21994 </span> 3d/compare-eax-and 0/imm32/false <span id="L21995" class="LineNr">21995 </span> 75/jump-if-!= $mu-numberlike-output?:return-true/disp8 <span id="L21996" class="LineNr">21996 </span><span class="Constant">$mu-numberlike-output?:check-boolean</span>: <span id="L21997" class="LineNr">21997 </span> <span class="subxComment"># if t is a boolean, return</span> -<span id="L21998" class="LineNr">21998 </span> (simple-mu-type? %esi 5) <span class="subxComment"># boolean => eax</span> +<span id="L21998" class="LineNr">21998 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 5) <span class="subxComment"># boolean => eax</span> <span id="L21999" class="LineNr">21999 </span> 3d/compare-eax-and 0/imm32/false <span id="L22000" class="LineNr">22000 </span> 75/jump-if-!= $mu-numberlike-output?:return-true/disp8 <span id="L22001" class="LineNr">22001 </span><span class="Constant">$mu-numberlike-output?:check-byte</span>: <span id="L22002" class="LineNr">22002 </span> <span class="subxComment"># if t is a byte, return</span> -<span id="L22003" class="LineNr">22003 </span> (simple-mu-type? %esi 8) <span class="subxComment"># byte => eax</span> +<span id="L22003" class="LineNr">22003 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 8) <span class="subxComment"># byte => eax</span> <span id="L22004" class="LineNr">22004 </span> 3d/compare-eax-and 0/imm32/false <span id="L22005" class="LineNr">22005 </span> 75/jump-if-!= $mu-numberlike-output?:return-true/disp8 <span id="L22006" class="LineNr">22006 </span><span class="Constant">$mu-numberlike-output?:check-code-point</span>: <span id="L22007" class="LineNr">22007 </span> <span class="subxComment"># if t is a code-point, return</span> -<span id="L22008" class="LineNr">22008 </span> (simple-mu-type? %esi 0xd) <span class="subxComment"># code-point => eax</span> +<span id="L22008" class="LineNr">22008 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 0xd) <span class="subxComment"># code-point => eax</span> <span id="L22009" class="LineNr">22009 </span> 3d/compare-eax-and 0/imm32/false <span id="L22010" class="LineNr">22010 </span> 75/jump-if-!= $mu-numberlike-output?:return-true/disp8 <span id="L22011" class="LineNr">22011 </span><span class="Constant">$mu-numberlike-output?:check-grapheme</span>: <span id="L22012" class="LineNr">22012 </span> <span class="subxComment"># if t is a grapheme, return</span> -<span id="L22013" class="LineNr">22013 </span> (simple-mu-type? %esi 0xe) <span class="subxComment"># grapheme => eax</span> +<span id="L22013" class="LineNr">22013 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %esi 0xe) <span class="subxComment"># grapheme => eax</span> <span id="L22014" class="LineNr">22014 </span> 3d/compare-eax-and 0/imm32/false <span id="L22015" class="LineNr">22015 </span> 75/jump-if-!= $mu-numberlike-output?:return-true/disp8 <span id="L22016" class="LineNr">22016 </span><span class="Constant">$mu-numberlike-output?:return-false</span>: @@ -20564,7 +20564,7 @@ if ('onhashchange' in window) { <span id="L22069" class="LineNr">22069 </span><span class="Constant">$check-mu-copy-stmt:types</span>: <span id="L22070" class="LineNr">22070 </span> <span class="subxComment"># if inout is not a scalar, abort</span> <span id="L22071" class="LineNr">22071 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22072" class="LineNr">22072 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22072" class="LineNr">22072 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22073" class="LineNr">22073 </span> 3d/compare-eax-and 4/imm32 <span id="L22074" class="LineNr">22074 </span> 0f 8f/jump-if-> $check-mu-copy-stmt:error-inout-too-large/disp32 <span id="L22075" class="LineNr">22075 </span> <span class="subxComment"># var inout-type/ecx: (addr type-tree) = inout->value->type</span> @@ -20594,14 +20594,14 @@ if ('onhashchange' in window) { <span id="L22099" class="LineNr">22099 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22100" class="LineNr">22100 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L22101" class="LineNr">22101 </span> <span class="subxComment"># if (inout-type == output-type) return</span> -<span id="L22102" class="LineNr">22102 </span> (type-match? %eax %ecx %edx) <span class="subxComment"># => eax</span> +<span id="L22102" class="LineNr">22102 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %eax %ecx %edx) <span class="subxComment"># => eax</span> <span id="L22103" class="LineNr">22103 </span> 3d/compare-eax-and 0/imm32 <span id="L22104" class="LineNr">22104 </span> 0f 85/jump-if-!= $check-mu-copy-stmt:end/disp32 <span id="L22105" class="LineNr">22105 </span> <span class="subxComment"># if output is an addr and inout is 0, return</span> <span id="L22106" class="LineNr">22106 </span> { <span id="L22107" class="LineNr">22107 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22108" class="LineNr">22108 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22109" class="LineNr">22109 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L22109" class="LineNr">22109 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L22110" class="LineNr">22110 </span> 3d/compare-eax-and 0/imm32/false <span id="L22111" class="LineNr">22111 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22112" class="LineNr">22112 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -20618,7 +20618,7 @@ if ('onhashchange' in window) { <span id="L22123" class="LineNr">22123 </span> 81 7/subop/compare *eax 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L22124" class="LineNr">22124 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L22125" class="LineNr">22125 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L22126" class="LineNr">22126 </span> (simple-mu-type? %eax 7) <span class="subxComment"># offset => eax</span> +<span id="L22126" class="LineNr">22126 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># offset => eax</span> <span id="L22127" class="LineNr">22127 </span> 3d/compare-eax-and 0/imm32/false <span id="L22128" class="LineNr">22128 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22129" class="LineNr">22129 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -20632,18 +20632,18 @@ if ('onhashchange' in window) { <span id="L22137" class="LineNr">22137 </span> { <span id="L22138" class="LineNr">22138 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22139" class="LineNr">22139 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22140" class="LineNr">22140 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L22140" class="LineNr">22140 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L22141" class="LineNr">22141 </span> 3d/compare-eax-and 0/imm32/false <span id="L22142" class="LineNr">22142 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22143" class="LineNr">22143 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22144" class="LineNr">22144 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22145" class="LineNr">22145 </span> (simple-mu-type? %eax 0) <span class="subxComment"># literal => eax</span> +<span id="L22145" class="LineNr">22145 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># literal => eax</span> <span id="L22146" class="LineNr">22146 </span> 3d/compare-eax-and 0/imm32/false <span id="L22147" class="LineNr">22147 </span> 0f 84/jump-if-= $check-mu-copy-stmt:error-non-literal-to-byte/disp32 <span id="L22148" class="LineNr">22148 </span> eb/jump $check-mu-copy-stmt:end/disp8 <span id="L22149" class="LineNr">22149 </span> } <span id="L22150" class="LineNr">22150 </span> <span class="subxComment"># if output is not number-like, abort</span> -<span id="L22151" class="LineNr">22151 </span> (check-mu-numberlike-output %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L22151" class="LineNr">22151 </span> (<a href='mu.subx.html#L21925'>check-mu-numberlike-output</a> %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L22152" class="LineNr">22152 </span><span class="Constant">$check-mu-copy-stmt:end</span>: <span id="L22153" class="LineNr">22153 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L22154" class="LineNr">22154 </span> 81 0/subop/add %esp 0x6c/imm32 @@ -20785,7 +20785,7 @@ if ('onhashchange' in window) { <span id="L22290" class="LineNr">22290 </span><span class="Constant">$check-mu-copy-to-stmt:types</span>: <span id="L22291" class="LineNr">22291 </span> <span class="subxComment"># if src is not a scalar, abort</span> <span id="L22292" class="LineNr">22292 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22293" class="LineNr">22293 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22293" class="LineNr">22293 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22294" class="LineNr">22294 </span> 3d/compare-eax-and 4/imm32 <span id="L22295" class="LineNr">22295 </span> 0f 8f/jump-if-> $check-mu-copy-to-stmt:error-src-too-large/disp32 <span id="L22296" class="LineNr">22296 </span> <span class="subxComment"># var src-type/ecx: (addr type-tree) = src->value->type</span> @@ -20797,7 +20797,7 @@ if ('onhashchange' in window) { <span id="L22302" class="LineNr">22302 </span> { <span id="L22303" class="LineNr">22303 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22304" class="LineNr">22304 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22305" class="LineNr">22305 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L22305" class="LineNr">22305 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L22306" class="LineNr">22306 </span> 3d/compare-eax-and 0/imm32 <span id="L22307" class="LineNr">22307 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L22308" class="LineNr">22308 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -20830,21 +20830,21 @@ if ('onhashchange' in window) { <span id="L22335" class="LineNr">22335 </span> <span class="subxComment"># if dest is a byte and src is not a literal, abort</span> <span id="L22336" class="LineNr">22336 </span> { <span id="L22337" class="LineNr">22337 </span><span class="Constant">$check-mu-copy-to-stmt:final-check-byte</span>: -<span id="L22338" class="LineNr">22338 </span> (simple-mu-type? %ebx 8) <span class="subxComment"># byte => eax</span> +<span id="L22338" class="LineNr">22338 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 8) <span class="subxComment"># byte => eax</span> <span id="L22339" class="LineNr">22339 </span> 3d/compare-eax-and 0/imm32/false <span id="L22340" class="LineNr">22340 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L22341" class="LineNr">22341 </span> (simple-mu-type? %ecx 0) <span class="subxComment"># literal => eax</span> +<span id="L22341" class="LineNr">22341 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 0) <span class="subxComment"># literal => eax</span> <span id="L22342" class="LineNr">22342 </span> 3d/compare-eax-and 0/imm32/false <span id="L22343" class="LineNr">22343 </span> 0f 84/jump-if-= $check-mu-copy-to-stmt:error-non-literal-to-byte/disp32 <span id="L22344" class="LineNr">22344 </span> } <span id="L22345" class="LineNr">22345 </span> <span class="subxComment"># if (src-type == dest-type) return</span> -<span id="L22346" class="LineNr">22346 </span> (type-match? %ebx %ecx %edx) <span class="subxComment"># => eax</span> +<span id="L22346" class="LineNr">22346 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %ebx %ecx %edx) <span class="subxComment"># => eax</span> <span id="L22347" class="LineNr">22347 </span> 3d/compare-eax-and 0/imm32 <span id="L22348" class="LineNr">22348 </span> 0f 85/jump-if-!= $check-mu-copy-to-stmt:end/disp32 <span id="L22349" class="LineNr">22349 </span> <span class="subxComment"># if dest is an addr and src is 0, return</span> <span id="L22350" class="LineNr">22350 </span> { <span id="L22351" class="LineNr">22351 </span><span class="Constant">$check-mu-copy-to-stmt:final-check-addr</span>: -<span id="L22352" class="LineNr">22352 </span> (mu-addr-type? %ebx) <span class="subxComment"># => eax</span> +<span id="L22352" class="LineNr">22352 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ebx) <span class="subxComment"># => eax</span> <span id="L22353" class="LineNr">22353 </span> 3d/compare-eax-and 0/imm32/false <span id="L22354" class="LineNr">22354 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22355" class="LineNr">22355 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -20860,7 +20860,7 @@ if ('onhashchange' in window) { <span id="L22365" class="LineNr">22365 </span> 81 7/subop/compare *ebx 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L22366" class="LineNr">22366 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L22367" class="LineNr">22367 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L22368" class="LineNr">22368 </span> (simple-mu-type? %eax 7) <span class="subxComment"># offset => eax</span> +<span id="L22368" class="LineNr">22368 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># offset => eax</span> <span id="L22369" class="LineNr">22369 </span> 3d/compare-eax-and 0/imm32/false <span id="L22370" class="LineNr">22370 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22371" class="LineNr">22371 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -20871,7 +20871,7 @@ if ('onhashchange' in window) { <span id="L22376" class="LineNr">22376 </span> e9/jump $check-mu-copy-to-stmt:end/disp32 <span id="L22377" class="LineNr">22377 </span> } <span id="L22378" class="LineNr">22378 </span> <span class="subxComment"># if dest is not number-like, abort</span> -<span id="L22379" class="LineNr">22379 </span> (check-mu-numberlike-arg %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L22379" class="LineNr">22379 </span> (<a href='mu.subx.html#L21874'>check-mu-numberlike-arg</a> %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L22380" class="LineNr">22380 </span><span class="Constant">$check-mu-copy-to-stmt:end</span>: <span id="L22381" class="LineNr">22381 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L22382" class="LineNr">22382 </span> 81 0/subop/add %esp 0x6c/imm32 @@ -20984,7 +20984,7 @@ if ('onhashchange' in window) { <span id="L22489" class="LineNr">22489 </span><span class="Constant">$check-mu-copy-byte-stmt:types</span>: <span id="L22490" class="LineNr">22490 </span> <span class="subxComment"># if inout is not a scalar, abort</span> <span id="L22491" class="LineNr">22491 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22492" class="LineNr">22492 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22492" class="LineNr">22492 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22493" class="LineNr">22493 </span> 3d/compare-eax-and 4/imm32 <span id="L22494" class="LineNr">22494 </span> 0f 8f/jump-if-> $check-mu-copy-byte-stmt:error-inout-too-large/disp32 <span id="L22495" class="LineNr">22495 </span> <span class="subxComment"># var inout-type/ecx: (addr type-tree) = inout->value->type</span> @@ -21017,7 +21017,7 @@ if ('onhashchange' in window) { <span id="L22522" class="LineNr">22522 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22523" class="LineNr">22523 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L22524" class="LineNr">22524 </span> <span class="subxComment"># if output is not of type byte, abort</span> -<span id="L22525" class="LineNr">22525 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L22525" class="LineNr">22525 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L22526" class="LineNr">22526 </span> 3d/compare-eax-and 0/imm32 <span id="L22527" class="LineNr">22527 </span> 0f 84/jump-if-= $check-mu-copy-byte-stmt:error-invalid-output-type/disp32 <span id="L22528" class="LineNr">22528 </span><span class="Constant">$check-mu-copy-byte-stmt:end</span>: @@ -21156,7 +21156,7 @@ if ('onhashchange' in window) { <span id="L22661" class="LineNr">22661 </span><span class="Constant">$check-mu-copy-byte-to-stmt:types</span>: <span id="L22662" class="LineNr">22662 </span> <span class="subxComment"># if src is not a scalar, abort</span> <span id="L22663" class="LineNr">22663 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22664" class="LineNr">22664 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22664" class="LineNr">22664 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22665" class="LineNr">22665 </span> 3d/compare-eax-and 4/imm32 <span id="L22666" class="LineNr">22666 </span> 0f 8f/jump-if-> $check-mu-copy-byte-to-stmt:error-src-too-large/disp32 <span id="L22667" class="LineNr">22667 </span> <span class="subxComment"># if src not in register, abort</span> @@ -21189,7 +21189,7 @@ if ('onhashchange' in window) { <span id="L22694" class="LineNr">22694 </span> 89/<- %ebx 0/r32/eax <span id="L22695" class="LineNr">22695 </span> } <span id="L22696" class="LineNr">22696 </span> <span class="subxComment"># if dest is not a byte, abort</span> -<span id="L22697" class="LineNr">22697 </span> (simple-mu-type? %ebx 8) <span class="subxComment"># byte => eax</span> +<span id="L22697" class="LineNr">22697 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 8) <span class="subxComment"># byte => eax</span> <span id="L22698" class="LineNr">22698 </span> 3d/compare-eax-and 0/imm32/false <span id="L22699" class="LineNr">22699 </span> 0f 84/jump-if-= $check-mu-copy-byte-to-stmt:error-invalid-dest-type/disp32 <span id="L22700" class="LineNr">22700 </span><span class="Constant">$check-mu-copy-byte-to-stmt:end</span>: @@ -21311,7 +21311,7 @@ if ('onhashchange' in window) { <span id="L22816" class="LineNr">22816 </span><span class="Constant">$check-mu-compare-stmt:both-in-mem</span>: <span id="L22817" class="LineNr">22817 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22818" class="LineNr">22818 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22819" class="LineNr">22819 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L22819" class="LineNr">22819 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L22820" class="LineNr">22820 </span> 3d/compare-eax-and 0/imm32 <span id="L22821" class="LineNr">22821 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L22822" class="LineNr">22822 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -21320,7 +21320,7 @@ if ('onhashchange' in window) { <span id="L22825" class="LineNr">22825 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L22826" class="LineNr">22826 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22827" class="LineNr">22827 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22828" class="LineNr">22828 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L22828" class="LineNr">22828 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L22829" class="LineNr">22829 </span> 3d/compare-eax-and 0/imm32 <span id="L22830" class="LineNr">22830 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L22831" class="LineNr">22831 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -21349,17 +21349,17 @@ if ('onhashchange' in window) { <span id="L22854" class="LineNr">22854 </span> 89/<- %ecx 0/r32/eax <span id="L22855" class="LineNr">22855 </span> } <span id="L22856" class="LineNr">22856 </span> <span class="subxComment"># if right-type is a literal string, abort</span> -<span id="L22857" class="LineNr">22857 </span> (simple-mu-type? %ecx 0x10) <span class="subxComment"># string-literal => eax</span> +<span id="L22857" class="LineNr">22857 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 0x10) <span class="subxComment"># string-literal => eax</span> <span id="L22858" class="LineNr">22858 </span> 3d/compare-eax-and 0/imm32/false <span id="L22859" class="LineNr">22859 </span> 0f 85/jump-if-!= $check-mu-compare-stmt:error-right-string-literal/disp32 <span id="L22860" class="LineNr">22860 </span> <span class="subxComment"># if right is not a scalar, abort</span> <span id="L22861" class="LineNr">22861 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22862" class="LineNr">22862 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22862" class="LineNr">22862 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22863" class="LineNr">22863 </span> 3d/compare-eax-and 4/imm32 <span id="L22864" class="LineNr">22864 </span> 0f 8f/jump-if-> $check-mu-compare-stmt:error-right-too-large/disp32 <span id="L22865" class="LineNr">22865 </span> <span class="subxComment"># if left is not a scalar, abort</span> <span id="L22866" class="LineNr">22866 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L22867" class="LineNr">22867 </span> (size-of %eax) <span class="subxComment"># => eax</span> +<span id="L22867" class="LineNr">22867 </span> (<a href='mu.subx.html#L26595'>size-of</a> %eax) <span class="subxComment"># => eax</span> <span id="L22868" class="LineNr">22868 </span> 3d/compare-eax-and 4/imm32 <span id="L22869" class="LineNr">22869 </span> 0f 8f/jump-if-> $check-mu-compare-stmt:error-left-too-large/disp32 <span id="L22870" class="LineNr">22870 </span> <span class="subxComment"># var left-type/ebx: (addr type-tree) = left->value->type</span> @@ -21381,14 +21381,14 @@ if ('onhashchange' in window) { <span id="L22886" class="LineNr">22886 </span> 89/<- %ebx 0/r32/eax <span id="L22887" class="LineNr">22887 </span> } <span id="L22888" class="LineNr">22888 </span> <span class="subxComment"># if (left-type == right-type) return</span> -<span id="L22889" class="LineNr">22889 </span> (type-match? %ebx %ecx %edx) <span class="subxComment"># => eax</span> +<span id="L22889" class="LineNr">22889 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %ebx %ecx %edx) <span class="subxComment"># => eax</span> <span id="L22890" class="LineNr">22890 </span> 3d/compare-eax-and 0/imm32 <span id="L22891" class="LineNr">22891 </span> 0f 85/jump-if-!= $check-mu-compare-stmt:end/disp32 <span id="L22892" class="LineNr">22892 </span> <span class="subxComment"># if left is an addr and right is 0, return</span> <span id="L22893" class="LineNr">22893 </span> { <span id="L22894" class="LineNr">22894 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L22895" class="LineNr">22895 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L22896" class="LineNr">22896 </span> (mu-addr-type? %eax) <span class="subxComment"># => eax</span> +<span id="L22896" class="LineNr">22896 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L22897" class="LineNr">22897 </span> 3d/compare-eax-and 0/imm32/false <span id="L22898" class="LineNr">22898 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L22899" class="LineNr">22899 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> @@ -21399,7 +21399,7 @@ if ('onhashchange' in window) { <span id="L22904" class="LineNr">22904 </span> eb/jump $check-mu-compare-stmt:end/disp8 <span id="L22905" class="LineNr">22905 </span> } <span id="L22906" class="LineNr">22906 </span> <span class="subxComment"># if left is not number-like, abort</span> -<span id="L22907" class="LineNr">22907 </span> (check-mu-numberlike-arg %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L22907" class="LineNr">22907 </span> (<a href='mu.subx.html#L21874'>check-mu-numberlike-arg</a> %edi *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) <span id="L22908" class="LineNr">22908 </span><span class="Constant">$check-mu-compare-stmt:end</span>: <span id="L22909" class="LineNr">22909 </span> <span class="subxS1Comment"># . reclaim locals</span> <span id="L22910" class="LineNr">22910 </span> 81 0/subop/add %esp 0x6c/imm32 @@ -21532,7 +21532,7 @@ if ('onhashchange' in window) { <span id="L23037" class="LineNr">23037 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L23038" class="LineNr">23038 </span> 89/<- %edx 0/r32/eax <span id="L23039" class="LineNr">23039 </span> <span class="subxComment"># if output-type not an addr, abort</span> -<span id="L23040" class="LineNr">23040 </span> (mu-addr-type? %edx) <span class="subxComment"># => eax</span> +<span id="L23040" class="LineNr">23040 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %edx) <span class="subxComment"># => eax</span> <span id="L23041" class="LineNr">23041 </span> 3d/compare-eax-and 0/imm32/false <span id="L23042" class="LineNr">23042 </span> 0f 84/jump-if-= $check-mu-address-stmt:error-output-not-address/disp32 <span id="L23043" class="LineNr">23043 </span> <span class="subxComment"># output-type = output-type->right</span> @@ -21563,7 +21563,7 @@ if ('onhashchange' in window) { <span id="L23068" class="LineNr">23068 </span> 89/<- %ecx 0/r32/eax <span id="L23069" class="LineNr">23069 </span> } <span id="L23070" class="LineNr">23070 </span> <span class="subxComment"># if (inout-type != output-type) abort</span> -<span id="L23071" class="LineNr">23071 </span> (type-equal-ignoring-capacity? %edx %ecx) <span class="subxComment"># => eax</span> +<span id="L23071" class="LineNr">23071 </span> (<a href='mu.subx.html#L23172'>type-equal-ignoring-capacity?</a> %edx %ecx) <span class="subxComment"># => eax</span> <span id="L23072" class="LineNr">23072 </span> 3d/compare-eax-and 0/imm32 <span id="L23073" class="LineNr">23073 </span> 0f 84/jump-if-= $check-mu-address-stmt:error-type-mismatch/disp32 <span id="L23074" class="LineNr">23074 </span><span class="Constant">$check-mu-address-stmt:end</span>: @@ -21683,12 +21683,12 @@ if ('onhashchange' in window) { <span id="L23188" class="LineNr">23188 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+4) *(ecx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> <span id="L23189" class="LineNr">23189 </span> 89/<- %edx 0/r32/eax <span id="L23190" class="LineNr">23190 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L23191" class="LineNr">23191 </span> (type-equal? %edx %eax) <span class="subxComment"># => eax</span> +<span id="L23191" class="LineNr">23191 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %edx %eax) <span class="subxComment"># => eax</span> <span id="L23192" class="LineNr">23192 </span> 3d/compare-eax-and 0/imm32/false <span id="L23193" class="LineNr">23193 </span> 0f 84/jump-if-= $type-equal-ignoring-capacity?:end/disp32 <span class="subxComment"># eax switches meaning</span> <span id="L23194" class="LineNr">23194 </span> <span class="subxComment"># if (curr-a->left == "array") curr-a = curr-a->element-type</span> <span id="L23195" class="LineNr">23195 </span> { -<span id="L23196" class="LineNr">23196 </span> (mu-array? %edx) <span class="subxComment"># => eax</span> +<span id="L23196" class="LineNr">23196 </span> (<a href='mu.subx.html#L26692'>mu-array?</a> %edx) <span class="subxComment"># => eax</span> <span id="L23197" class="LineNr">23197 </span> 3d/compare-eax-and 0/imm32/false <span id="L23198" class="LineNr">23198 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L23199" class="LineNr">23199 </span><span class="Constant">$type-equal-ignoring-capacity?:array</span>: @@ -21704,7 +21704,7 @@ if ('onhashchange' in window) { <span id="L23209" class="LineNr">23209 </span> } <span id="L23210" class="LineNr">23210 </span> <span class="subxComment"># if (curr-a->left == "stream") curr-a = curr-a->element-type</span> <span id="L23211" class="LineNr">23211 </span> { -<span id="L23212" class="LineNr">23212 </span> (mu-stream? %edx) <span class="subxComment"># => eax</span> +<span id="L23212" class="LineNr">23212 </span> (<a href='mu.subx.html#L26757'>mu-stream?</a> %edx) <span class="subxComment"># => eax</span> <span id="L23213" class="LineNr">23213 </span> 3d/compare-eax-and 0/imm32/false <span id="L23214" class="LineNr">23214 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L23215" class="LineNr">23215 </span><span class="Constant">$type-equal-ignoring-capacity?:stream</span>: @@ -21720,7 +21720,7 @@ if ('onhashchange' in window) { <span id="L23225" class="LineNr">23225 </span> } <span id="L23226" class="LineNr">23226 </span><span class="Constant">$type-equal-ignoring-capacity?:base-case</span>: <span id="L23227" class="LineNr">23227 </span> <span class="subxComment"># return type-equal?(curr-a, curr-b)</span> -<span id="L23228" class="LineNr">23228 </span> (type-equal? %ecx %ebx) <span class="subxComment"># => eax</span> +<span id="L23228" class="LineNr">23228 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ecx %ebx) <span class="subxComment"># => eax</span> <span id="L23229" class="LineNr">23229 </span><span class="Constant">$type-equal-ignoring-capacity?:end</span>: <span id="L23230" class="LineNr">23230 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L23231" class="LineNr">23231 </span> 5b/pop-to-ebx @@ -21785,20 +21785,20 @@ if ('onhashchange' in window) { <span id="L23290" class="LineNr">23290 </span> <span class="subxComment"># if curr-type is literal and template-type is float, abort</span> <span id="L23291" class="LineNr">23291 </span> 50/push-eax <span id="L23292" class="LineNr">23292 </span> { -<span id="L23293" class="LineNr">23293 </span> (simple-mu-type? %eax 0) <span class="subxComment"># literal => eax</span> +<span id="L23293" class="LineNr">23293 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># literal => eax</span> <span id="L23294" class="LineNr">23294 </span> 3d/compare-eax-and 0/imm32/false <span id="L23295" class="LineNr">23295 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L23296" class="LineNr">23296 </span> (simple-mu-type? %ecx 0xf) <span class="subxComment"># float => eax</span> +<span id="L23296" class="LineNr">23296 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 0xf) <span class="subxComment"># float => eax</span> <span id="L23297" class="LineNr">23297 </span> 3d/compare-eax-and 0/imm32/false <span id="L23298" class="LineNr">23298 </span> 0f 85/jump-if-!= $check-mu-return-stmt:error-literal-to-float/disp32 <span id="L23299" class="LineNr">23299 </span> } <span id="L23300" class="LineNr">23300 </span> 58/pop-to-eax <span id="L23301" class="LineNr">23301 </span> <span class="subxComment"># if (curr-type != template-type) abort</span> -<span id="L23302" class="LineNr">23302 </span> (type-match? %ecx %eax %edx) <span class="subxComment"># => eax</span> +<span id="L23302" class="LineNr">23302 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %ecx %eax %edx) <span class="subxComment"># => eax</span> <span id="L23303" class="LineNr">23303 </span> 3d/compare-eax-and 0/imm32/false <span id="L23304" class="LineNr">23304 </span> 0f 84/jump-if-= $check-mu-return-stmt:error1/disp32 <span id="L23305" class="LineNr">23305 </span> <span class="subxComment"># if register-within-list-with-conflict?(curr, original template, curr-template, stmt) abort</span> -<span id="L23306" class="LineNr">23306 </span> (register-within-list-with-conflict? %edi %esi %ebx *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L23306" class="LineNr">23306 </span> (<a href='mu.subx.html#L23459'>register-within-list-with-conflict?</a> %edi %esi %ebx *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L23307" class="LineNr">23307 </span> 3d/compare-eax-and 0/imm32/false <span id="L23308" class="LineNr">23308 </span> 0f 85/jump-if-!= $check-mu-return-stmt:error2/disp32 <span id="L23309" class="LineNr">23309 </span> <span class="subxComment"># template = template->next</span> @@ -22000,7 +22000,7 @@ if ('onhashchange' in window) { <span id="L23505" class="LineNr">23505 </span> <span class="subxComment"># var return-inouts/eax: (addr stmt-var) = stmt->inouts</span> <span id="L23506" class="LineNr">23506 </span> 8b/-> *(ebp+0x14) 0/r32/eax <span id="L23507" class="LineNr">23507 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0xc) *(eax+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> -<span id="L23508" class="LineNr">23508 </span> (register-conflict? %ebx %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L23508" class="LineNr">23508 </span> (<a href='mu.subx.html#L23535'>register-conflict?</a> %ebx %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L23509" class="LineNr">23509 </span> eb/jump $register-within-list-with-conflict?:end/disp8 <span id="L23510" class="LineNr">23510 </span> } <span id="L23511" class="LineNr">23511 </span><span class="Constant">$register-within-list-with-conflict?:continue</span>: @@ -22239,7 +22239,7 @@ if ('onhashchange' in window) { <span id="L23744" class="LineNr">23744 </span><span class="Constant">$check-mu-get-stmt:base-is-compound</span>: <span id="L23745" class="LineNr">23745 </span> <span class="subxComment"># if (type->left != addr) break</span> <span id="L23746" class="LineNr">23746 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L23747" class="LineNr">23747 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L23747" class="LineNr">23747 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L23748" class="LineNr">23748 </span> 3d/compare-eax-and 0/imm32/false <span id="L23749" class="LineNr">23749 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L23750" class="LineNr">23750 </span><span class="Constant">$check-mu-get-stmt:base-is-addr</span>: @@ -22265,7 +22265,7 @@ if ('onhashchange' in window) { <span id="L23770" class="LineNr">23770 </span> } <span id="L23771" class="LineNr">23771 </span> <span class="subxComment"># var base-type-id/ebx: type-id = base-type->value</span> <span id="L23772" class="LineNr">23772 </span> 8b/-> *(ebx+4) 3/r32/ebx <span class="subxComment"># Type-tree-value</span> -<span id="L23773" class="LineNr">23773 </span> (container? %ebx) <span class="subxComment"># => eax</span> +<span id="L23773" class="LineNr">23773 </span> (<a href='mu.subx.html#L20272'>container?</a> %ebx) <span class="subxComment"># => eax</span> <span id="L23774" class="LineNr">23774 </span> 3d/compare-eax-and 0/imm32/false <span id="L23775" class="LineNr">23775 </span> 0f 84/jump-if-= $check-mu-get-stmt:error-bad-base/disp32 <span id="L23776" class="LineNr">23776 </span> <span class="subxComment"># var base-typeinfo/edx: (addr typeinfo) = find-typeinfo(base-type-id)</span> @@ -22274,7 +22274,7 @@ if ('onhashchange' in window) { <span id="L23779" class="LineNr">23779 </span> 68/push 0/imm32 <span id="L23780" class="LineNr">23780 </span> 89/<- %ecx 4/r32/esp <span id="L23781" class="LineNr">23781 </span> <span class="subxS1Comment"># .</span> -<span id="L23782" class="LineNr">23782 </span> (find-typeinfo %ebx %ecx) +<span id="L23782" class="LineNr">23782 </span> (<a href='mu.subx.html#L20355'>find-typeinfo</a> %ebx %ecx) <span id="L23783" class="LineNr">23783 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># => eax</span> <span id="L23784" class="LineNr">23784 </span> <span class="subxS1Comment"># . reclaim container</span> <span id="L23785" class="LineNr">23785 </span> 81 0/subop/add %esp 8/imm32 @@ -22318,7 +22318,7 @@ if ('onhashchange' in window) { <span id="L23823" class="LineNr">23823 </span> 0f 85/jump-if-!= $check-mu-get-stmt:error-output-type-not-address/disp32 <span id="L23824" class="LineNr">23824 </span> <span class="subxComment"># type must start with (addr ...)</span> <span id="L23825" class="LineNr">23825 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L23826" class="LineNr">23826 </span> (simple-mu-type? %eax 2) <span class="subxComment"># => eax</span> +<span id="L23826" class="LineNr">23826 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># => eax</span> <span id="L23827" class="LineNr">23827 </span> 3d/compare-eax-and 0/imm32/false <span id="L23828" class="LineNr">23828 </span> 0f 84/jump-if-= $check-mu-get-stmt:error-output-type-not-address/disp32 <span id="L23829" class="LineNr">23829 </span><span class="Constant">$check-mu-get-stmt:check-output-type-match</span>: @@ -22343,7 +22343,7 @@ if ('onhashchange' in window) { <span id="L23848" class="LineNr">23848 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Typeinfo-entry-input-var Typeinfo-entry-input-var => eax</span> <span id="L23849" class="LineNr">23849 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L23850" class="LineNr">23850 </span> <span class="subxS1Comment"># .</span> -<span id="L23851" class="LineNr">23851 </span> (type-equal? %edi %eax) <span class="subxComment"># => eax</span> +<span id="L23851" class="LineNr">23851 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %edi %eax) <span class="subxComment"># => eax</span> <span id="L23852" class="LineNr">23852 </span> 3d/compare-eax-and 0/imm32/false <span id="L23853" class="LineNr">23853 </span> 0f 84/jump-if-= $check-mu-get-stmt:error-bad-output-type/disp32 <span id="L23854" class="LineNr">23854 </span> <span class="subxH1Comment"># - check for too many outputs</span> @@ -22443,7 +22443,7 @@ if ('onhashchange' in window) { <span id="L23948" class="LineNr">23948 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %eax) <span id="L23949" class="LineNr">23949 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": stmt <a href='131table.subx.html#L26'>get</a>: type '"</span>) <span id="L23950" class="LineNr">23950 </span> <span class="subxS1Comment"># . write(Type-id->data[tmp])</span> -<span id="L23951" class="LineNr">23951 </span> bf/copy-to-edi <span class="SpecialChar">Type-id</span>/imm32 +<span id="L23951" class="LineNr">23951 </span> bf/copy-to-edi <span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span>/imm32 <span id="L23952" class="LineNr">23952 </span> 8b/-> *(edi+ebx<<2+0xc) 6/r32/esi <span id="L23953" class="LineNr">23953 </span> { <span id="L23954" class="LineNr">23954 </span> 81 7/subop/compare %esi 0/imm32 @@ -22490,7 +22490,7 @@ if ('onhashchange' in window) { <span id="L23995" class="LineNr">23995 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">": stmt <a href='131table.subx.html#L26'>get</a>: wrong output type for member '"</span>) <span id="L23996" class="LineNr">23996 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) %ecx) <span id="L23997" class="LineNr">23997 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0x10) <span class="Constant">"' of type '"</span>) -<span id="L23998" class="LineNr">23998 </span> bf/copy-to-edi <span class="SpecialChar">Type-id</span>/imm32 +<span id="L23998" class="LineNr">23998 </span> bf/copy-to-edi <span class="SpecialChar"><a href='mu.subx.html#L395'>Type-id</a></span>/imm32 <span id="L23999" class="LineNr">23999 </span> 8b/-> *(edi+ebx<<2+0xc) 6/r32/esi <span id="L24000" class="LineNr">24000 </span> { <span id="L24001" class="LineNr">24001 </span> 81 7/subop/compare %esi 0/imm32 @@ -22531,7 +22531,7 @@ if ('onhashchange' in window) { <span id="L24036" class="LineNr">24036 </span> 81 7/subop/compare *ebx 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L24037" class="LineNr">24037 </span> { <span id="L24038" class="LineNr">24038 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L24039" class="LineNr">24039 </span> (simple-mu-type? %ebx 3) <span class="subxComment"># array => eax</span> +<span id="L24039" class="LineNr">24039 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 3) <span class="subxComment"># array => eax</span> <span id="L24040" class="LineNr">24040 </span> 3d/compare-eax-and 0/imm32/false <span id="L24041" class="LineNr">24041 </span> 0f 85/jump-if-!= $check-mu-index-stmt:error-base-array-atom-type/disp32 <span id="L24042" class="LineNr">24042 </span> 0f 84/jump-if-= $check-mu-index-stmt:error-base-non-array-type/disp32 @@ -22540,11 +22540,11 @@ if ('onhashchange' in window) { <span id="L24045" class="LineNr">24045 </span> <span class="subxComment"># if type->left not addr or array, abort</span> <span id="L24046" class="LineNr">24046 </span> { <span id="L24047" class="LineNr">24047 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24048" class="LineNr">24048 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24048" class="LineNr">24048 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24049" class="LineNr">24049 </span> 3d/compare-eax-and 0/imm32/false <span id="L24050" class="LineNr">24050 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24051" class="LineNr">24051 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24052" class="LineNr">24052 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24052" class="LineNr">24052 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24053" class="LineNr">24053 </span> 3d/compare-eax-and 0/imm32/false <span id="L24054" class="LineNr">24054 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24055" class="LineNr">24055 </span> e9/jump $check-mu-index-stmt:error-base-non-array-type/disp32 @@ -22552,13 +22552,13 @@ if ('onhashchange' in window) { <span id="L24057" class="LineNr">24057 </span> <span class="subxComment"># if (type->left == addr) ensure type->right->left == array and type->register exists</span> <span id="L24058" class="LineNr">24058 </span> { <span id="L24059" class="LineNr">24059 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24060" class="LineNr">24060 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24060" class="LineNr">24060 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24061" class="LineNr">24061 </span> 3d/compare-eax-and 0/imm32/false <span id="L24062" class="LineNr">24062 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24063" class="LineNr">24063 </span><span class="Constant">$check-mu-index-stmt:base-is-addr</span>: <span id="L24064" class="LineNr">24064 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L24065" class="LineNr">24065 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24066" class="LineNr">24066 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24066" class="LineNr">24066 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24067" class="LineNr">24067 </span> 3d/compare-eax-and 0/imm32/false <span id="L24068" class="LineNr">24068 </span> 0f 84/jump-if-= $check-mu-index-stmt:error-base-non-array-type/disp32 <span id="L24069" class="LineNr">24069 </span><span class="Constant">$check-mu-index-stmt:check-base-addr-is-register</span>: @@ -22568,7 +22568,7 @@ if ('onhashchange' in window) { <span id="L24073" class="LineNr">24073 </span> <span class="subxComment"># if (type->left == array) ensure type->register doesn't exist</span> <span id="L24074" class="LineNr">24074 </span> { <span id="L24075" class="LineNr">24075 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24076" class="LineNr">24076 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24076" class="LineNr">24076 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24077" class="LineNr">24077 </span> 3d/compare-eax-and 0/imm32/false <span id="L24078" class="LineNr">24078 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24079" class="LineNr">24079 </span><span class="Constant">$check-mu-index-stmt:base-is-array</span>: @@ -22578,7 +22578,7 @@ if ('onhashchange' in window) { <span id="L24083" class="LineNr">24083 </span> <span class="subxComment"># if (base-type->left == addr) base-type = base-type->right</span> <span id="L24084" class="LineNr">24084 </span> { <span id="L24085" class="LineNr">24085 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24086" class="LineNr">24086 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24086" class="LineNr">24086 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24087" class="LineNr">24087 </span> 3d/compare-eax-and 0/imm32/false <span id="L24088" class="LineNr">24088 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24089" class="LineNr">24089 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> @@ -22602,13 +22602,13 @@ if ('onhashchange' in window) { <span id="L24107" class="LineNr">24107 </span> { <span id="L24108" class="LineNr">24108 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24109" class="LineNr">24109 </span><span class="Constant">$check-mu-index-stmt:index-type-is-atom</span>: -<span id="L24110" class="LineNr">24110 </span> (simple-mu-type? %edx 0) <span class="subxComment"># literal => eax</span> +<span id="L24110" class="LineNr">24110 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 0) <span class="subxComment"># literal => eax</span> <span id="L24111" class="LineNr">24111 </span> 3d/compare-eax-and 0/imm32/false <span id="L24112" class="LineNr">24112 </span> 75/jump-if-!= $check-mu-index-stmt:index-type-done/disp8 -<span id="L24113" class="LineNr">24113 </span> (simple-mu-type? %edx 1) <span class="subxComment"># int => eax</span> +<span id="L24113" class="LineNr">24113 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 1) <span class="subxComment"># int => eax</span> <span id="L24114" class="LineNr">24114 </span> 3d/compare-eax-and 0/imm32/false <span id="L24115" class="LineNr">24115 </span> 75/jump-if-!= $check-mu-index-stmt:index-type-done/disp8 -<span id="L24116" class="LineNr">24116 </span> (simple-mu-type? %edx 7) <span class="subxComment"># offset => eax</span> +<span id="L24116" class="LineNr">24116 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 7) <span class="subxComment"># offset => eax</span> <span id="L24117" class="LineNr">24117 </span> 3d/compare-eax-and 0/imm32/false <span id="L24118" class="LineNr">24118 </span> 0f 85/jump-if-!= $check-mu-index-stmt:error-index-offset-atom-type/disp32 <span id="L24119" class="LineNr">24119 </span> e9/jump $check-mu-index-stmt:error-invalid-index-type/disp32 @@ -22618,14 +22618,14 @@ if ('onhashchange' in window) { <span id="L24123" class="LineNr">24123 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24124" class="LineNr">24124 </span><span class="Constant">$check-mu-index-stmt:index-type-is-non-atom</span>: <span id="L24125" class="LineNr">24125 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24126" class="LineNr">24126 </span> (simple-mu-type? %eax 7) <span class="subxComment"># offset => eax</span> +<span id="L24126" class="LineNr">24126 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># offset => eax</span> <span id="L24127" class="LineNr">24127 </span> 3d/compare-eax-and 0/imm32/false <span id="L24128" class="LineNr">24128 </span> 0f 84/jump-if-= $check-mu-index-stmt:error-invalid-index-type/disp32 <span id="L24129" class="LineNr">24129 </span> } <span id="L24130" class="LineNr">24130 </span><span class="Constant">$check-mu-index-stmt:index-type-done</span>: <span id="L24131" class="LineNr">24131 </span> <span class="subxComment"># check index is either a literal or in a register</span> <span id="L24132" class="LineNr">24132 </span> { -<span id="L24133" class="LineNr">24133 </span> (simple-mu-type? %edx 0) <span class="subxComment"># literal => eax</span> +<span id="L24133" class="LineNr">24133 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 0) <span class="subxComment"># literal => eax</span> <span id="L24134" class="LineNr">24134 </span> 3d/compare-eax-and 0/imm32/false <span id="L24135" class="LineNr">24135 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24136" class="LineNr">24136 </span><span class="Constant">$check-mu-index-stmt:check-index-in-register</span>: @@ -22634,13 +22634,13 @@ if ('onhashchange' in window) { <span id="L24139" class="LineNr">24139 </span> } <span id="L24140" class="LineNr">24140 </span> <span class="subxH1Comment"># - if index is an 'int', check that element type of base has size 1, 2, 4 or 8 bytes.</span> <span id="L24141" class="LineNr">24141 </span> { -<span id="L24142" class="LineNr">24142 </span> (simple-mu-type? %edx 1) <span class="subxComment"># int => eax</span> +<span id="L24142" class="LineNr">24142 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 1) <span class="subxComment"># int => eax</span> <span id="L24143" class="LineNr">24143 </span> 3d/compare-eax-and 0/imm32/false <span id="L24144" class="LineNr">24144 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24145" class="LineNr">24145 </span><span class="Constant">$check-mu-index-stmt:check-index-can-be-int</span>: <span id="L24146" class="LineNr">24146 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> <span id="L24147" class="LineNr">24147 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> -<span id="L24148" class="LineNr">24148 </span> (array-element-size %eax) <span class="subxComment"># => eax</span> +<span id="L24148" class="LineNr">24148 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %eax) <span class="subxComment"># => eax</span> <span id="L24149" class="LineNr">24149 </span> 3d/compare-eax-and 1/imm32 <span id="L24150" class="LineNr">24150 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24151" class="LineNr">24151 </span> 3d/compare-eax-and 2/imm32 @@ -22672,14 +22672,14 @@ if ('onhashchange' in window) { <span id="L24177" class="LineNr">24177 </span> 0f 85/jump-if-!= $check-mu-index-stmt:error-output-type-not-address/disp32 <span id="L24178" class="LineNr">24178 </span> <span class="subxComment"># type must start with (addr ...)</span> <span id="L24179" class="LineNr">24179 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24180" class="LineNr">24180 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24180" class="LineNr">24180 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24181" class="LineNr">24181 </span> 3d/compare-eax-and 0/imm32/false <span id="L24182" class="LineNr">24182 </span> 0f 84/jump-if-= $check-mu-index-stmt:error-output-type-not-address/disp32 <span id="L24183" class="LineNr">24183 </span> <span class="subxComment"># if tail(base-type) != tail(output-type) abort</span> -<span id="L24184" class="LineNr">24184 </span> (type-tail %ebx) <span class="subxComment"># => eax</span> +<span id="L24184" class="LineNr">24184 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %ebx) <span class="subxComment"># => eax</span> <span id="L24185" class="LineNr">24185 </span> 89/<- %ebx 0/r32/eax -<span id="L24186" class="LineNr">24186 </span> (type-tail %edx) <span class="subxComment"># => eax</span> -<span id="L24187" class="LineNr">24187 </span> (type-equal? %ebx %eax) <span class="subxComment"># => eax</span> +<span id="L24186" class="LineNr">24186 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %edx) <span class="subxComment"># => eax</span> +<span id="L24187" class="LineNr">24187 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ebx %eax) <span class="subxComment"># => eax</span> <span id="L24188" class="LineNr">24188 </span> 3d/compare-eax-and 0/imm32/false <span id="L24189" class="LineNr">24189 </span> 0f 84/jump-if-= $check-mu-index-stmt:error-bad-output-type/disp32 <span id="L24190" class="LineNr">24190 </span> <span class="subxH1Comment"># - check for too many outputs</span> @@ -22914,7 +22914,7 @@ if ('onhashchange' in window) { <span id="L24419" class="LineNr">24419 </span> 81 7/subop/compare *ebx 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L24420" class="LineNr">24420 </span> { <span id="L24421" class="LineNr">24421 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L24422" class="LineNr">24422 </span> (simple-mu-type? %ebx 3) <span class="subxComment"># array => eax</span> +<span id="L24422" class="LineNr">24422 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 3) <span class="subxComment"># array => eax</span> <span id="L24423" class="LineNr">24423 </span> 3d/compare-eax-and 0/imm32/false <span id="L24424" class="LineNr">24424 </span> 0f 85/jump-if-!= $check-mu-length-stmt:error-base-array-atom-type/disp32 <span id="L24425" class="LineNr">24425 </span> 0f 84/jump-if-= $check-mu-length-stmt:error-base-non-array-type/disp32 @@ -22923,11 +22923,11 @@ if ('onhashchange' in window) { <span id="L24428" class="LineNr">24428 </span> <span class="subxComment"># if type->left not addr or array, abort</span> <span id="L24429" class="LineNr">24429 </span> { <span id="L24430" class="LineNr">24430 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24431" class="LineNr">24431 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24431" class="LineNr">24431 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24432" class="LineNr">24432 </span> 3d/compare-eax-and 0/imm32/false <span id="L24433" class="LineNr">24433 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24434" class="LineNr">24434 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24435" class="LineNr">24435 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24435" class="LineNr">24435 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24436" class="LineNr">24436 </span> 3d/compare-eax-and 0/imm32/false <span id="L24437" class="LineNr">24437 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24438" class="LineNr">24438 </span> e9/jump $check-mu-length-stmt:error-base-non-array-type/disp32 @@ -22935,13 +22935,13 @@ if ('onhashchange' in window) { <span id="L24440" class="LineNr">24440 </span> <span class="subxComment"># if (type->left == addr) ensure type->right->left == array and type->register exists</span> <span id="L24441" class="LineNr">24441 </span> { <span id="L24442" class="LineNr">24442 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24443" class="LineNr">24443 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24443" class="LineNr">24443 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24444" class="LineNr">24444 </span> 3d/compare-eax-and 0/imm32/false <span id="L24445" class="LineNr">24445 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24446" class="LineNr">24446 </span><span class="Constant">$check-mu-length-stmt:base-is-addr</span>: <span id="L24447" class="LineNr">24447 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L24448" class="LineNr">24448 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24449" class="LineNr">24449 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24449" class="LineNr">24449 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24450" class="LineNr">24450 </span> 3d/compare-eax-and 0/imm32/false <span id="L24451" class="LineNr">24451 </span> 0f 84/jump-if-= $check-mu-length-stmt:error-base-non-array-type/disp32 <span id="L24452" class="LineNr">24452 </span><span class="Constant">$check-mu-length-stmt:check-base-addr-is-register</span>: @@ -22951,7 +22951,7 @@ if ('onhashchange' in window) { <span id="L24456" class="LineNr">24456 </span> <span class="subxComment"># if (type->left == array) ensure type->register doesn't exist</span> <span id="L24457" class="LineNr">24457 </span> { <span id="L24458" class="LineNr">24458 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24459" class="LineNr">24459 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24459" class="LineNr">24459 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24460" class="LineNr">24460 </span> 3d/compare-eax-and 0/imm32/false <span id="L24461" class="LineNr">24461 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24462" class="LineNr">24462 </span><span class="Constant">$check-mu-length-stmt:base-is-array</span>: @@ -22961,7 +22961,7 @@ if ('onhashchange' in window) { <span id="L24466" class="LineNr">24466 </span> <span class="subxComment"># if (base-type->left == addr) base-type = base-type->right</span> <span id="L24467" class="LineNr">24467 </span> { <span id="L24468" class="LineNr">24468 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24469" class="LineNr">24469 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24469" class="LineNr">24469 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24470" class="LineNr">24470 </span> 3d/compare-eax-and 0/imm32/false <span id="L24471" class="LineNr">24471 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24472" class="LineNr">24472 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> @@ -22982,7 +22982,7 @@ if ('onhashchange' in window) { <span id="L24487" class="LineNr">24487 </span> <span class="subxH1Comment"># - check output type</span> <span id="L24488" class="LineNr">24488 </span> <span class="subxComment"># must have a non-atomic type</span> <span id="L24489" class="LineNr">24489 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L24490" class="LineNr">24490 </span> (simple-mu-type? %eax 1) <span class="subxComment"># int => eax</span> +<span id="L24490" class="LineNr">24490 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 1) <span class="subxComment"># int => eax</span> <span id="L24491" class="LineNr">24491 </span> 3d/compare-eax-and 0/imm32/false <span id="L24492" class="LineNr">24492 </span> 0f 84/jump-if-= $check-mu-length-stmt:error-invalid-output-type/disp32 <span id="L24493" class="LineNr">24493 </span> <span class="subxH1Comment"># - check for too many outputs</span> @@ -23204,7 +23204,7 @@ if ('onhashchange' in window) { <span id="L24709" class="LineNr">24709 </span> 81 7/subop/compare *ebx 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L24710" class="LineNr">24710 </span> { <span id="L24711" class="LineNr">24711 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L24712" class="LineNr">24712 </span> (simple-mu-type? %ebx 3) <span class="subxComment"># array => eax</span> +<span id="L24712" class="LineNr">24712 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 3) <span class="subxComment"># array => eax</span> <span id="L24713" class="LineNr">24713 </span> 3d/compare-eax-and 0/imm32/false <span id="L24714" class="LineNr">24714 </span> 0f 85/jump-if-!= $check-mu-compute-offset-stmt:error-base-array-atom-type/disp32 <span id="L24715" class="LineNr">24715 </span> 0f 84/jump-if-= $check-mu-compute-offset-stmt:error-base-non-array-type/disp32 @@ -23213,11 +23213,11 @@ if ('onhashchange' in window) { <span id="L24718" class="LineNr">24718 </span> <span class="subxComment"># if type->left not addr or array, abort</span> <span id="L24719" class="LineNr">24719 </span> { <span id="L24720" class="LineNr">24720 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24721" class="LineNr">24721 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24721" class="LineNr">24721 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24722" class="LineNr">24722 </span> 3d/compare-eax-and 0/imm32/false <span id="L24723" class="LineNr">24723 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24724" class="LineNr">24724 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24725" class="LineNr">24725 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24725" class="LineNr">24725 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24726" class="LineNr">24726 </span> 3d/compare-eax-and 0/imm32/false <span id="L24727" class="LineNr">24727 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24728" class="LineNr">24728 </span> e9/jump $check-mu-compute-offset-stmt:error-base-non-array-type/disp32 @@ -23225,20 +23225,20 @@ if ('onhashchange' in window) { <span id="L24730" class="LineNr">24730 </span> <span class="subxComment"># if (type->left == addr) ensure type->right->left == array and type->register exists</span> <span id="L24731" class="LineNr">24731 </span> { <span id="L24732" class="LineNr">24732 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24733" class="LineNr">24733 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24733" class="LineNr">24733 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24734" class="LineNr">24734 </span> 3d/compare-eax-and 0/imm32/false <span id="L24735" class="LineNr">24735 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24736" class="LineNr">24736 </span><span class="Constant">$check-mu-compute-offset-stmt:base-is-addr</span>: <span id="L24737" class="LineNr">24737 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L24738" class="LineNr">24738 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24739" class="LineNr">24739 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L24739" class="LineNr">24739 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L24740" class="LineNr">24740 </span> 3d/compare-eax-and 0/imm32/false <span id="L24741" class="LineNr">24741 </span> 0f 84/jump-if-= $check-mu-compute-offset-stmt:error-base-non-array-type/disp32 <span id="L24742" class="LineNr">24742 </span> } <span id="L24743" class="LineNr">24743 </span> <span class="subxComment"># if (base-type->left == addr) base-type = base-type->right</span> <span id="L24744" class="LineNr">24744 </span> { <span id="L24745" class="LineNr">24745 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24746" class="LineNr">24746 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L24746" class="LineNr">24746 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L24747" class="LineNr">24747 </span> 3d/compare-eax-and 0/imm32/false <span id="L24748" class="LineNr">24748 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L24749" class="LineNr">24749 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0xc) *(ebx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> @@ -23262,10 +23262,10 @@ if ('onhashchange' in window) { <span id="L24767" class="LineNr">24767 </span> 0f 84/jump-if-= $check-mu-compute-offset-stmt:error-invalid-index-type/disp32 <span id="L24768" class="LineNr">24768 </span> { <span id="L24769" class="LineNr">24769 </span><span class="Constant">$check-mu-compute-offset-stmt:index-type-is-atom</span>: -<span id="L24770" class="LineNr">24770 </span> (simple-mu-type? %edx 0) <span class="subxComment"># literal => eax</span> +<span id="L24770" class="LineNr">24770 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 0) <span class="subxComment"># literal => eax</span> <span id="L24771" class="LineNr">24771 </span> 3d/compare-eax-and 0/imm32/false <span id="L24772" class="LineNr">24772 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L24773" class="LineNr">24773 </span> (simple-mu-type? %edx 1) <span class="subxComment"># int => eax</span> +<span id="L24773" class="LineNr">24773 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 1) <span class="subxComment"># int => eax</span> <span id="L24774" class="LineNr">24774 </span> 3d/compare-eax-and 0/imm32/false <span id="L24775" class="LineNr">24775 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L24776" class="LineNr">24776 </span> e9/jump $check-mu-compute-offset-stmt:error-invalid-index-type/disp32 @@ -23291,14 +23291,14 @@ if ('onhashchange' in window) { <span id="L24796" class="LineNr">24796 </span> 0f 85/jump-if-!= $check-mu-compute-offset-stmt:error-output-type-not-offset/disp32 <span id="L24797" class="LineNr">24797 </span> <span class="subxComment"># type must start with (offset ...)</span> <span id="L24798" class="LineNr">24798 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L24799" class="LineNr">24799 </span> (simple-mu-type? %eax 7) <span class="subxComment"># offset => eax</span> +<span id="L24799" class="LineNr">24799 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># offset => eax</span> <span id="L24800" class="LineNr">24800 </span> 3d/compare-eax-and 0/imm32/false <span id="L24801" class="LineNr">24801 </span> 0f 84/jump-if-= $check-mu-compute-offset-stmt:error-output-type-not-offset/disp32 <span id="L24802" class="LineNr">24802 </span> <span class="subxComment"># if tail(base-type) != tail(output-type) abort</span> -<span id="L24803" class="LineNr">24803 </span> (type-tail %ebx) <span class="subxComment"># => eax</span> +<span id="L24803" class="LineNr">24803 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %ebx) <span class="subxComment"># => eax</span> <span id="L24804" class="LineNr">24804 </span> 89/<- %ebx 0/r32/eax -<span id="L24805" class="LineNr">24805 </span> (type-tail %edx) <span class="subxComment"># => eax</span> -<span id="L24806" class="LineNr">24806 </span> (type-equal? %ebx %eax) <span class="subxComment"># => eax</span> +<span id="L24805" class="LineNr">24805 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %edx) <span class="subxComment"># => eax</span> +<span id="L24806" class="LineNr">24806 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ebx %eax) <span class="subxComment"># => eax</span> <span id="L24807" class="LineNr">24807 </span> 3d/compare-eax-and 0/imm32/false <span id="L24808" class="LineNr">24808 </span> 0f 84/jump-if-= $check-mu-compute-offset-stmt:error-bad-output-type/disp32 <span id="L24809" class="LineNr">24809 </span> <span class="subxH1Comment"># - check for too many outputs</span> @@ -23518,7 +23518,7 @@ if ('onhashchange' in window) { <span id="L25023" class="LineNr">25023 </span> 89/<- %ecx 0/r32/eax <span id="L25024" class="LineNr">25024 </span> } <span id="L25025" class="LineNr">25025 </span> <span class="subxComment"># if src-type is not addr, abort</span> -<span id="L25026" class="LineNr">25026 </span> (mu-addr-type? %ecx) <span class="subxComment"># => eax</span> +<span id="L25026" class="LineNr">25026 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L25027" class="LineNr">25027 </span> 3d/compare-eax-and 0/imm32/false <span id="L25028" class="LineNr">25028 </span> 0f 84/jump-if-= $check-mu-copy-object-stmt:error-invalid-types/disp32 <span id="L25029" class="LineNr">25029 </span> <span class="subxComment"># var dest-type/ebx: (addr type-tree) = dest->value->type</span> @@ -23540,7 +23540,7 @@ if ('onhashchange' in window) { <span id="L25045" class="LineNr">25045 </span> 89/<- %ebx 0/r32/eax <span id="L25046" class="LineNr">25046 </span> } <span id="L25047" class="LineNr">25047 </span> <span class="subxComment"># if (dest-type != src-type) abort</span> -<span id="L25048" class="LineNr">25048 </span> (type-equal? %ecx %ebx) <span class="subxComment"># => eax</span> +<span id="L25048" class="LineNr">25048 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ecx %ebx) <span class="subxComment"># => eax</span> <span id="L25049" class="LineNr">25049 </span> 3d/compare-eax-and 0/imm32 <span id="L25050" class="LineNr">25050 </span> 0f 84/jump-if-= $check-mu-copy-object-stmt:error-invalid-types/disp32 <span id="L25051" class="LineNr">25051 </span><span class="Constant">$check-mu-copy-object-stmt:end</span>: @@ -23634,7 +23634,7 @@ if ('onhashchange' in window) { <span id="L25139" class="LineNr">25139 </span> 89/<- %ecx 0/r32/eax <span id="L25140" class="LineNr">25140 </span> } <span id="L25141" class="LineNr">25141 </span> <span class="subxComment"># if src-type is not addr, abort</span> -<span id="L25142" class="LineNr">25142 </span> (mu-addr-type? %ecx) <span class="subxComment"># => eax</span> +<span id="L25142" class="LineNr">25142 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L25143" class="LineNr">25143 </span> 3d/compare-eax-and 0/imm32/false <span id="L25144" class="LineNr">25144 </span> 0f 84/jump-if-= $check-mu-clear-object-stmt:error-invalid-type/disp32 <span id="L25145" class="LineNr">25145 </span><span class="Constant">$check-mu-clear-object-stmt:end</span>: @@ -23726,7 +23726,7 @@ if ('onhashchange' in window) { <span id="L25231" class="LineNr">25231 </span> 89/<- %ebx 0/r32/eax <span id="L25232" class="LineNr">25232 </span> } <span id="L25233" class="LineNr">25233 </span> <span class="subxComment"># if target-type is not addr, abort</span> -<span id="L25234" class="LineNr">25234 </span> (mu-addr-type? %ebx) <span class="subxComment"># => eax</span> +<span id="L25234" class="LineNr">25234 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ebx) <span class="subxComment"># => eax</span> <span id="L25235" class="LineNr">25235 </span> 3d/compare-eax-and 0/imm32/false <span id="L25236" class="LineNr">25236 </span> 0f 84/jump-if-= $check-mu-allocate-stmt:error-invalid-type/disp32 <span id="L25237" class="LineNr">25237 </span> <span class="subxComment"># if target-type->right is an atom, abort</span> @@ -23735,7 +23735,7 @@ if ('onhashchange' in window) { <span id="L25240" class="LineNr">25240 </span> 0f 85/jump-if-!= $check-mu-allocate-stmt:error-invalid-type/disp32 <span id="L25241" class="LineNr">25241 </span> <span class="subxComment"># if target-type->right->left is not handle, abort</span> <span id="L25242" class="LineNr">25242 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25243" class="LineNr">25243 </span> (simple-mu-type? %eax 4) <span class="subxComment"># handle => eax</span> +<span id="L25243" class="LineNr">25243 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 4) <span class="subxComment"># handle => eax</span> <span id="L25244" class="LineNr">25244 </span> 3d/compare-eax-and 0/imm32/false <span id="L25245" class="LineNr">25245 </span> 0f 84/jump-if-= $check-mu-allocate-stmt:error-invalid-type/disp32 <span id="L25246" class="LineNr">25246 </span><span class="Constant">$check-mu-allocate-stmt:end</span>: @@ -23839,7 +23839,7 @@ if ('onhashchange' in window) { <span id="L25344" class="LineNr">25344 </span> } <span id="L25345" class="LineNr">25345 </span><span class="Constant">$check-mu-populate-stmt:check-target-type-addr</span>: <span id="L25346" class="LineNr">25346 </span> <span class="subxComment"># if target-type is not addr, abort</span> -<span id="L25347" class="LineNr">25347 </span> (mu-addr-type? %ebx) <span class="subxComment"># => eax</span> +<span id="L25347" class="LineNr">25347 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ebx) <span class="subxComment"># => eax</span> <span id="L25348" class="LineNr">25348 </span> 3d/compare-eax-and 0/imm32/false <span id="L25349" class="LineNr">25349 </span> 0f 84/jump-if-= $check-mu-populate-stmt:error-invalid-target-type/disp32 <span id="L25350" class="LineNr">25350 </span> <span class="subxComment"># if target-type->right is an atom, abort</span> @@ -23850,7 +23850,7 @@ if ('onhashchange' in window) { <span id="L25355" class="LineNr">25355 </span><span class="Constant">$check-mu-populate-stmt:check-target-type-handle</span>: <span id="L25356" class="LineNr">25356 </span> <span class="subxComment"># if target-type->right->left is not handle, abort</span> <span id="L25357" class="LineNr">25357 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25358" class="LineNr">25358 </span> (simple-mu-type? %eax 4) <span class="subxComment"># handle => eax</span> +<span id="L25358" class="LineNr">25358 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 4) <span class="subxComment"># handle => eax</span> <span id="L25359" class="LineNr">25359 </span> 3d/compare-eax-and 0/imm32/false <span id="L25360" class="LineNr">25360 </span> 0f 84/jump-if-= $check-mu-populate-stmt:error-invalid-target-type/disp32 <span id="L25361" class="LineNr">25361 </span> <span class="subxComment"># if target-type->right->right is an atom, abort</span> @@ -23861,17 +23861,17 @@ if ('onhashchange' in window) { <span id="L25366" class="LineNr">25366 </span><span class="Constant">$check-mu-populate-stmt:check-target-type-array</span>: <span id="L25367" class="LineNr">25367 </span> <span class="subxComment"># if target-type->right->right->left is not array, abort</span> <span id="L25368" class="LineNr">25368 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25369" class="LineNr">25369 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L25369" class="LineNr">25369 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L25370" class="LineNr">25370 </span> 3d/compare-eax-and 0/imm32/false <span id="L25371" class="LineNr">25371 </span> 0f 84/jump-if-= $check-mu-populate-stmt:error-invalid-target-type/disp32 <span id="L25372" class="LineNr">25372 </span><span class="Constant">$check-mu-populate-stmt:check-length-type</span>: <span id="L25373" class="LineNr">25373 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L25374" class="LineNr">25374 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L25375" class="LineNr">25375 </span> 89/<- %ebx 0/r32/eax -<span id="L25376" class="LineNr">25376 </span> (simple-mu-type? %ebx 0) <span class="subxComment"># literal => eax</span> +<span id="L25376" class="LineNr">25376 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 0) <span class="subxComment"># literal => eax</span> <span id="L25377" class="LineNr">25377 </span> 3d/compare-eax-and 0/imm32/false <span id="L25378" class="LineNr">25378 </span> 75/jump-if-!= $check-mu-populate-stmt:end/disp8 -<span id="L25379" class="LineNr">25379 </span> (simple-mu-type? %ebx 1) <span class="subxComment"># int => eax</span> +<span id="L25379" class="LineNr">25379 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 1) <span class="subxComment"># int => eax</span> <span id="L25380" class="LineNr">25380 </span> 3d/compare-eax-and 0/imm32/false <span id="L25381" class="LineNr">25381 </span> 0f 84/jump-if-= $check-mu-populate-stmt:error-invalid-length-type/disp32 <span id="L25382" class="LineNr">25382 </span><span class="Constant">$check-mu-populate-stmt:end</span>: @@ -23989,7 +23989,7 @@ if ('onhashchange' in window) { <span id="L25494" class="LineNr">25494 </span> } <span id="L25495" class="LineNr">25495 </span><span class="Constant">$check-mu-populate-stream-stmt:check-target-type-addr</span>: <span id="L25496" class="LineNr">25496 </span> <span class="subxComment"># if target-type is not addr, abort</span> -<span id="L25497" class="LineNr">25497 </span> (mu-addr-type? %ebx) <span class="subxComment"># => eax</span> +<span id="L25497" class="LineNr">25497 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %ebx) <span class="subxComment"># => eax</span> <span id="L25498" class="LineNr">25498 </span> 3d/compare-eax-and 0/imm32/false <span id="L25499" class="LineNr">25499 </span> 0f 84/jump-if-= $check-mu-populate-stream-stmt:error-invalid-target-type/disp32 <span id="L25500" class="LineNr">25500 </span> <span class="subxComment"># if target-type->right is an atom, abort</span> @@ -24000,7 +24000,7 @@ if ('onhashchange' in window) { <span id="L25505" class="LineNr">25505 </span><span class="Constant">$check-mu-populate-stream-stmt:check-target-type-handle</span>: <span id="L25506" class="LineNr">25506 </span> <span class="subxComment"># if target-type->right->left is not handle, abort</span> <span id="L25507" class="LineNr">25507 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25508" class="LineNr">25508 </span> (simple-mu-type? %eax 4) <span class="subxComment"># handle => eax</span> +<span id="L25508" class="LineNr">25508 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 4) <span class="subxComment"># handle => eax</span> <span id="L25509" class="LineNr">25509 </span> 3d/compare-eax-and 0/imm32/false <span id="L25510" class="LineNr">25510 </span> 0f 84/jump-if-= $check-mu-populate-stream-stmt:error-invalid-target-type/disp32 <span id="L25511" class="LineNr">25511 </span> <span class="subxComment"># if target-type->right->right is an atom, abort</span> @@ -24011,17 +24011,17 @@ if ('onhashchange' in window) { <span id="L25516" class="LineNr">25516 </span><span class="Constant">$check-mu-populate-stream-stmt:check-target-type-stream</span>: <span id="L25517" class="LineNr">25517 </span> <span class="subxComment"># if target-type->right->right->left is not stream, abort</span> <span id="L25518" class="LineNr">25518 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25519" class="LineNr">25519 </span> (simple-mu-type? %eax 0xb) <span class="subxComment"># stream => eax</span> +<span id="L25519" class="LineNr">25519 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xb) <span class="subxComment"># stream => eax</span> <span id="L25520" class="LineNr">25520 </span> 3d/compare-eax-and 0/imm32/false <span id="L25521" class="LineNr">25521 </span> 0f 84/jump-if-= $check-mu-populate-stream-stmt:error-invalid-target-type/disp32 <span id="L25522" class="LineNr">25522 </span><span class="Constant">$check-mu-populate-stream-stmt:check-length-type</span>: <span id="L25523" class="LineNr">25523 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *esi *(esi+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L25524" class="LineNr">25524 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L25525" class="LineNr">25525 </span> 89/<- %ebx 0/r32/eax -<span id="L25526" class="LineNr">25526 </span> (simple-mu-type? %ebx 0) <span class="subxComment"># literal => eax</span> +<span id="L25526" class="LineNr">25526 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 0) <span class="subxComment"># literal => eax</span> <span id="L25527" class="LineNr">25527 </span> 3d/compare-eax-and 0/imm32/false <span id="L25528" class="LineNr">25528 </span> 75/jump-if-!= $check-mu-populate-stream-stmt:end/disp8 -<span id="L25529" class="LineNr">25529 </span> (simple-mu-type? %ebx 1) <span class="subxComment"># int => eax</span> +<span id="L25529" class="LineNr">25529 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ebx 1) <span class="subxComment"># int => eax</span> <span id="L25530" class="LineNr">25530 </span> 3d/compare-eax-and 0/imm32/false <span id="L25531" class="LineNr">25531 </span> 0f 84/jump-if-= $check-mu-populate-stream-stmt:error-invalid-length-type/disp32 <span id="L25532" class="LineNr">25532 </span><span class="Constant">$check-mu-populate-stream-stmt:end</span>: @@ -24115,7 +24115,7 @@ if ('onhashchange' in window) { <span id="L25620" class="LineNr">25620 </span><span class="Constant">$check-mu-read-from-stream-stmt:check-base-is-addr</span>: <span id="L25621" class="LineNr">25621 </span> <span class="subxComment"># if type->left not addr, abort</span> <span id="L25622" class="LineNr">25622 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25623" class="LineNr">25623 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L25623" class="LineNr">25623 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L25624" class="LineNr">25624 </span> 3d/compare-eax-and 0/imm32/false <span id="L25625" class="LineNr">25625 </span> 0f 84/jump-if-= $check-mu-read-from-stream-stmt:error-invalid-base-type/disp32 <span id="L25626" class="LineNr">25626 </span><span class="Constant">$check-mu-read-from-stream-stmt:check-base-is-addr-to-stream</span>: @@ -24124,7 +24124,7 @@ if ('onhashchange' in window) { <span id="L25629" class="LineNr">25629 </span> 89/<- %ebx 0/r32/eax <span id="L25630" class="LineNr">25630 </span> <span class="subxComment"># ensure base-type->left == stream</span> <span id="L25631" class="LineNr">25631 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25632" class="LineNr">25632 </span> (simple-mu-type? %eax 0xb) <span class="subxComment"># stream => eax</span> +<span id="L25632" class="LineNr">25632 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xb) <span class="subxComment"># stream => eax</span> <span id="L25633" class="LineNr">25633 </span> 3d/compare-eax-and 0/imm32/false <span id="L25634" class="LineNr">25634 </span> 0f 84/jump-if-= $check-mu-read-from-stream-stmt:error-invalid-base-type/disp32 <span id="L25635" class="LineNr">25635 </span> <span class="subxH1Comment"># - check target type is (addr T)</span> @@ -24146,14 +24146,14 @@ if ('onhashchange' in window) { <span id="L25651" class="LineNr">25651 </span><span class="Constant">$check-mu-read-from-stream-stmt:check-target-type</span>: <span id="L25652" class="LineNr">25652 </span> <span class="subxComment"># target type must start with (addr ...)</span> <span id="L25653" class="LineNr">25653 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25654" class="LineNr">25654 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L25654" class="LineNr">25654 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L25655" class="LineNr">25655 </span> 3d/compare-eax-and 0/imm32/false <span id="L25656" class="LineNr">25656 </span> 0f 84/jump-if-= $check-mu-read-from-stream-stmt:error-target-type-not-address/disp32 <span id="L25657" class="LineNr">25657 </span> <span class="subxComment"># if tail(base-type) != tail(target-type) abort</span> -<span id="L25658" class="LineNr">25658 </span> (type-tail %ebx) <span class="subxComment"># => eax</span> +<span id="L25658" class="LineNr">25658 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %ebx) <span class="subxComment"># => eax</span> <span id="L25659" class="LineNr">25659 </span> 89/<- %ebx 0/r32/eax -<span id="L25660" class="LineNr">25660 </span> (type-tail %edx) <span class="subxComment"># => eax</span> -<span id="L25661" class="LineNr">25661 </span> (type-equal? %ebx %eax) <span class="subxComment"># => eax</span> +<span id="L25660" class="LineNr">25660 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %edx) <span class="subxComment"># => eax</span> +<span id="L25661" class="LineNr">25661 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ebx %eax) <span class="subxComment"># => eax</span> <span id="L25662" class="LineNr">25662 </span> 3d/compare-eax-and 0/imm32/false <span id="L25663" class="LineNr">25663 </span> 0f 84/jump-if-= $check-mu-read-from-stream-stmt:error-invalid-target-type/disp32 <span id="L25664" class="LineNr">25664 </span><span class="Constant">$check-mu-read-from-stream-stmt:check-too-many-inouts</span>: @@ -24282,7 +24282,7 @@ if ('onhashchange' in window) { <span id="L25787" class="LineNr">25787 </span><span class="Constant">$check-mu-write-to-stream-stmt:check-base-is-addr</span>: <span id="L25788" class="LineNr">25788 </span> <span class="subxComment"># if type->left not addr, abort</span> <span id="L25789" class="LineNr">25789 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+4) *(ebx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25790" class="LineNr">25790 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L25790" class="LineNr">25790 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L25791" class="LineNr">25791 </span> 3d/compare-eax-and 0/imm32/false <span id="L25792" class="LineNr">25792 </span> 0f 84/jump-if-= $check-mu-write-to-stream-stmt:error-invalid-base-type/disp32 <span id="L25793" class="LineNr">25793 </span><span class="Constant">$check-mu-write-to-stream-stmt:check-base-is-addr-to-stream</span>: @@ -24291,7 +24291,7 @@ if ('onhashchange' in window) { <span id="L25796" class="LineNr">25796 </span> 89/<- %ebx 0/r32/eax <span id="L25797" class="LineNr">25797 </span> <span class="subxComment"># ensure base-type->left == stream</span> <span id="L25798" class="LineNr">25798 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25799" class="LineNr">25799 </span> (simple-mu-type? %eax 0xb) <span class="subxComment"># stream => eax</span> +<span id="L25799" class="LineNr">25799 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xb) <span class="subxComment"># stream => eax</span> <span id="L25800" class="LineNr">25800 </span> 3d/compare-eax-and 0/imm32/false <span id="L25801" class="LineNr">25801 </span> 0f 84/jump-if-= $check-mu-write-to-stream-stmt:error-invalid-base-type/disp32 <span id="L25802" class="LineNr">25802 </span> <span class="subxH1Comment"># - check target type is (addr T)</span> @@ -24313,14 +24313,14 @@ if ('onhashchange' in window) { <span id="L25818" class="LineNr">25818 </span><span class="Constant">$check-mu-write-to-stream-stmt:check-target-type</span>: <span id="L25819" class="LineNr">25819 </span> <span class="subxComment"># target type must start with (addr ...)</span> <span id="L25820" class="LineNr">25820 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L25821" class="LineNr">25821 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L25821" class="LineNr">25821 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L25822" class="LineNr">25822 </span> 3d/compare-eax-and 0/imm32/false <span id="L25823" class="LineNr">25823 </span> 0f 84/jump-if-= $check-mu-write-to-stream-stmt:error-target-type-not-address/disp32 <span id="L25824" class="LineNr">25824 </span> <span class="subxComment"># if tail(base-type) != tail(target-type) abort</span> -<span id="L25825" class="LineNr">25825 </span> (type-tail %ebx) <span class="subxComment"># => eax</span> +<span id="L25825" class="LineNr">25825 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %ebx) <span class="subxComment"># => eax</span> <span id="L25826" class="LineNr">25826 </span> 89/<- %ebx 0/r32/eax -<span id="L25827" class="LineNr">25827 </span> (type-tail %edx) <span class="subxComment"># => eax</span> -<span id="L25828" class="LineNr">25828 </span> (type-equal? %ebx %eax) <span class="subxComment"># => eax</span> +<span id="L25827" class="LineNr">25827 </span> (<a href='mu.subx.html#L26863'>type-tail</a> %edx) <span class="subxComment"># => eax</span> +<span id="L25828" class="LineNr">25828 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %ebx %eax) <span class="subxComment"># => eax</span> <span id="L25829" class="LineNr">25829 </span> 3d/compare-eax-and 0/imm32/false <span id="L25830" class="LineNr">25830 </span> 0f 84/jump-if-= $check-mu-write-to-stream-stmt:error-invalid-target-type/disp32 <span id="L25831" class="LineNr">25831 </span><span class="Constant">$check-mu-write-to-stream-stmt:check-too-many-inouts</span>: @@ -24472,10 +24472,10 @@ if ('onhashchange' in window) { <span id="L25977" class="LineNr">25977 </span> } <span id="L25978" class="LineNr">25978 </span> <span class="subxComment"># if input is not int or float, abort</span> <span id="L25979" class="LineNr">25979 </span> { -<span id="L25980" class="LineNr">25980 </span> (simple-mu-type? %ecx 1) <span class="subxComment"># int => eax</span> +<span id="L25980" class="LineNr">25980 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 1) <span class="subxComment"># int => eax</span> <span id="L25981" class="LineNr">25981 </span> 3d/compare-eax-and 0/imm32/false <span id="L25982" class="LineNr">25982 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L25983" class="LineNr">25983 </span> (simple-mu-type? %ecx 0xf) <span class="subxComment"># float => eax</span> +<span id="L25983" class="LineNr">25983 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 0xf) <span class="subxComment"># float => eax</span> <span id="L25984" class="LineNr">25984 </span> 3d/compare-eax-and 0/imm32/false <span id="L25985" class="LineNr">25985 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L25986" class="LineNr">25986 </span> e9/jump $check-mu-convert-stmt:error-invalid-inout-type/disp32 @@ -24491,30 +24491,30 @@ if ('onhashchange' in window) { <span id="L25996" class="LineNr">25996 </span> 89/<- %edx 0/r32/eax <span id="L25997" class="LineNr">25997 </span> <span class="subxComment"># if output is not int or float, abort</span> <span id="L25998" class="LineNr">25998 </span> { -<span id="L25999" class="LineNr">25999 </span> (simple-mu-type? %edx 1) <span class="subxComment"># int => eax</span> +<span id="L25999" class="LineNr">25999 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 1) <span class="subxComment"># int => eax</span> <span id="L26000" class="LineNr">26000 </span> 3d/compare-eax-and 0/imm32/false <span id="L26001" class="LineNr">26001 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L26002" class="LineNr">26002 </span> (simple-mu-type? %edx 0xf) <span class="subxComment"># float => eax</span> +<span id="L26002" class="LineNr">26002 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 0xf) <span class="subxComment"># float => eax</span> <span id="L26003" class="LineNr">26003 </span> 3d/compare-eax-and 0/imm32/false <span id="L26004" class="LineNr">26004 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L26005" class="LineNr">26005 </span> e9/jump $check-mu-convert-stmt:error-invalid-output-type/disp32 <span id="L26006" class="LineNr">26006 </span> } <span id="L26007" class="LineNr">26007 </span> <span class="subxComment"># if both are ints, abort</span> <span id="L26008" class="LineNr">26008 </span> { -<span id="L26009" class="LineNr">26009 </span> (simple-mu-type? %edx 1) <span class="subxComment"># int => eax</span> +<span id="L26009" class="LineNr">26009 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 1) <span class="subxComment"># int => eax</span> <span id="L26010" class="LineNr">26010 </span> 3d/compare-eax-and 0/imm32/false <span id="L26011" class="LineNr">26011 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26012" class="LineNr">26012 </span> (simple-mu-type? %ecx 1) <span class="subxComment"># int => eax</span> +<span id="L26012" class="LineNr">26012 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 1) <span class="subxComment"># int => eax</span> <span id="L26013" class="LineNr">26013 </span> 3d/compare-eax-and 0/imm32/false <span id="L26014" class="LineNr">26014 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L26015" class="LineNr">26015 </span> e9/jump $check-mu-convert-stmt:error-int-to-int/disp32 <span id="L26016" class="LineNr">26016 </span> } <span id="L26017" class="LineNr">26017 </span> <span class="subxComment"># if both are floats, abort</span> <span id="L26018" class="LineNr">26018 </span> { -<span id="L26019" class="LineNr">26019 </span> (simple-mu-type? %edx 0xf) <span class="subxComment"># float => eax</span> +<span id="L26019" class="LineNr">26019 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %edx 0xf) <span class="subxComment"># float => eax</span> <span id="L26020" class="LineNr">26020 </span> 3d/compare-eax-and 0/imm32/false <span id="L26021" class="LineNr">26021 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26022" class="LineNr">26022 </span> (simple-mu-type? %ecx 0xf) <span class="subxComment"># float => eax</span> +<span id="L26022" class="LineNr">26022 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %ecx 0xf) <span class="subxComment"># float => eax</span> <span id="L26023" class="LineNr">26023 </span> 3d/compare-eax-and 0/imm32/false <span id="L26024" class="LineNr">26024 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L26025" class="LineNr">26025 </span> e9/jump $check-mu-convert-stmt:error-float-to-float/disp32 @@ -24701,7 +24701,7 @@ if ('onhashchange' in window) { <span id="L26206" class="LineNr">26206 </span> <span class="subxComment"># var t2/eax: (addr type-tree) = lookup(v2->type)</span> <span id="L26207" class="LineNr">26207 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L26208" class="LineNr">26208 </span> <span class="subxComment"># if (t != t2) error</span> -<span id="L26209" class="LineNr">26209 </span> (type-match? %eax %ebx *(ebp-4)) <span class="subxComment"># => eax</span> +<span id="L26209" class="LineNr">26209 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %eax %ebx *(ebp-4)) <span class="subxComment"># => eax</span> <span id="L26210" class="LineNr">26210 </span> 3d/compare-eax-and 0/imm32/false <span id="L26211" class="LineNr">26211 </span> { <span id="L26212" class="LineNr">26212 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 @@ -24800,7 +24800,7 @@ if ('onhashchange' in window) { <span id="L26305" class="LineNr">26305 </span> <span class="subxComment"># var t2/eax: (addr type-tree) = lookup(v2->type)</span> <span id="L26306" class="LineNr">26306 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> <span id="L26307" class="LineNr">26307 </span> <span class="subxComment"># if (t != t2) error</span> -<span id="L26308" class="LineNr">26308 </span> (type-match? %eax %ebx *(ebp-4)) <span class="subxComment"># => eax</span> +<span id="L26308" class="LineNr">26308 </span> (<a href='mu.subx.html#L26439'>type-match?</a> %eax %ebx *(ebp-4)) <span class="subxComment"># => eax</span> <span id="L26309" class="LineNr">26309 </span> 3d/compare-eax-and 0/imm32/false <span id="L26310" class="LineNr">26310 </span> { <span id="L26311" class="LineNr">26311 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 @@ -24938,10 +24938,10 @@ if ('onhashchange' in window) { <span id="L26443" class="LineNr">26443 </span> <span class="subxComment"># if call is literal and def is numberlike, return true</span> <span id="L26444" class="LineNr">26444 </span> { <span id="L26445" class="LineNr">26445 </span><span class="Constant">$type-match?:check-literal-int</span>: -<span id="L26446" class="LineNr">26446 </span> (simple-mu-type? *(ebp+0xc) 0) <span class="subxComment"># literal => eax</span> +<span id="L26446" class="LineNr">26446 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> *(ebp+0xc) 0) <span class="subxComment"># literal => eax</span> <span id="L26447" class="LineNr">26447 </span> 3d/compare-eax-and 0/imm32/false <span id="L26448" class="LineNr">26448 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26449" class="LineNr">26449 </span> (mu-numberlike-output? *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L26449" class="LineNr">26449 </span> (<a href='mu.subx.html#L21978'>mu-numberlike-output?</a> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L26450" class="LineNr">26450 </span> 3d/compare-eax-and 0/imm32/false <span id="L26451" class="LineNr">26451 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L26452" class="LineNr">26452 </span> b8/copy-to-eax 1/imm32/true @@ -24950,15 +24950,15 @@ if ('onhashchange' in window) { <span id="L26455" class="LineNr">26455 </span> <span class="subxComment"># if call is literal-string, match against (addr array byte)</span> <span id="L26456" class="LineNr">26456 </span> { <span id="L26457" class="LineNr">26457 </span><span class="Constant">$type-match?:check-literal-string</span>: -<span id="L26458" class="LineNr">26458 </span> (simple-mu-type? *(ebp+0xc) 0x10) <span class="subxComment"># literal-string => eax</span> +<span id="L26458" class="LineNr">26458 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> *(ebp+0xc) 0x10) <span class="subxComment"># literal-string => eax</span> <span id="L26459" class="LineNr">26459 </span> 3d/compare-eax-and 0/imm32/false <span id="L26460" class="LineNr">26460 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26461" class="LineNr">26461 </span> (type-component-match? *(ebp+8) <span class="SpecialChar">Addr-type-string</span> *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26461" class="LineNr">26461 </span> (<a href='mu.subx.html#L26473'>type-component-match?</a> *(ebp+8) <span class="SpecialChar"><a href='mu.subx.html#L35301'>Addr-type-string</a></span> *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26462" class="LineNr">26462 </span> e9/jump $type-match?:end/disp32 <span id="L26463" class="LineNr">26463 </span> } <span id="L26464" class="LineNr">26464 </span><span class="Constant">$type-match?:baseline</span>: <span id="L26465" class="LineNr">26465 </span> <span class="subxComment"># otherwise fall back</span> -<span id="L26466" class="LineNr">26466 </span> (type-component-match? *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26466" class="LineNr">26466 </span> (<a href='mu.subx.html#L26473'>type-component-match?</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26467" class="LineNr">26467 </span><span class="Constant">$type-match?:end</span>: <span id="L26468" class="LineNr">26468 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L26469" class="LineNr">26469 </span> 89/<- %esp 5/r32/ebp @@ -24998,7 +24998,7 @@ if ('onhashchange' in window) { <span id="L26503" class="LineNr">26503 </span> 81 7/subop/compare *(ecx+4) 0xa/imm32/type-parameter <span class="subxComment"># Type-tree-value</span> <span id="L26504" class="LineNr">26504 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L26505" class="LineNr">26505 </span><span class="Constant">$type-component-match?:type-parameter</span>: -<span id="L26506" class="LineNr">26506 </span> (type-parameter-match? *(ecx+8) *(ecx+0xc) %edx *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26506" class="LineNr">26506 </span> (<a href='mu.subx.html#L26570'>type-parameter-match?</a> *(ecx+8) *(ecx+0xc) %edx *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26507" class="LineNr">26507 </span> e9/jump $type-component-match?:end/disp32 <span id="L26508" class="LineNr">26508 </span> } <span id="L26509" class="LineNr">26509 </span> <span class="subxComment"># if def is a list containing just a type parameter, just check in type-parameters</span> @@ -25017,7 +25017,7 @@ if ('onhashchange' in window) { <span id="L26522" class="LineNr">26522 </span> 81 7/subop/compare *(eax+4) 0xa/imm32/type-parameter <span class="subxComment"># Type-tree-value</span> <span id="L26523" class="LineNr">26523 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L26524" class="LineNr">26524 </span><span class="Constant">$type-component-match?:list-type-parameter</span>: -<span id="L26525" class="LineNr">26525 </span> (type-parameter-match? *(eax+8) *(eax+0xc) %edx *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26525" class="LineNr">26525 </span> (<a href='mu.subx.html#L26570'>type-parameter-match?</a> *(eax+8) *(eax+0xc) %edx *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26526" class="LineNr">26526 </span> e9/jump $type-component-match?:end/disp32 <span id="L26527" class="LineNr">26527 </span> } <span id="L26528" class="LineNr">26528 </span><span class="Constant">$type-component-match?:compare-atom-state</span>: @@ -25043,7 +25043,7 @@ if ('onhashchange' in window) { <span id="L26548" class="LineNr">26548 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+4) *(ecx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> <span id="L26549" class="LineNr">26549 </span> 89/<- %ebx 0/r32/eax <span id="L26550" class="LineNr">26550 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L26551" class="LineNr">26551 </span> (type-component-match? %ebx %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26551" class="LineNr">26551 </span> (<a href='mu.subx.html#L26473'>type-component-match?</a> %ebx %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26552" class="LineNr">26552 </span> 3d/compare-eax-and 0/imm32/false <span id="L26553" class="LineNr">26553 </span> 74/jump-if-= $type-component-match?:end/disp8 <span id="L26554" class="LineNr">26554 </span><span class="Constant">$type-component-match?:check-right</span>: @@ -25051,7 +25051,7 @@ if ('onhashchange' in window) { <span id="L26556" class="LineNr">26556 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0xc) *(ecx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L26557" class="LineNr">26557 </span> 89/<- %ebx 0/r32/eax <span id="L26558" class="LineNr">26558 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0xc) *(edx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> -<span id="L26559" class="LineNr">26559 </span> (type-component-match? %ebx %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L26559" class="LineNr">26559 </span> (<a href='mu.subx.html#L26473'>type-component-match?</a> %ebx %eax *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L26560" class="LineNr">26560 </span><span class="Constant">$type-component-match?:end</span>: <span id="L26561" class="LineNr">26561 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L26562" class="LineNr">26562 </span> 5b/pop-to-ebx @@ -25078,7 +25078,7 @@ if ('onhashchange' in window) { <span id="L26583" class="LineNr">26583 </span> 89/<- *eax 1/r32/ecx <span id="L26584" class="LineNr">26584 </span> } <span id="L26585" class="LineNr">26585 </span> <span class="subxComment">#</span> -<span id="L26586" class="LineNr">26586 </span> (type-equal? *(ebp+0x10) *eax) <span class="subxComment"># => eax</span> +<span id="L26586" class="LineNr">26586 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> *(ebp+0x10) *eax) <span class="subxComment"># => eax</span> <span id="L26587" class="LineNr">26587 </span><span class="Constant">$type-parameter-match?:end</span>: <span id="L26588" class="LineNr">26588 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L26589" class="LineNr">26589 </span> 59/pop-to-ecx @@ -25106,18 +25106,18 @@ if ('onhashchange' in window) { <span id="L26611" class="LineNr">26611 </span> 89/<- %ecx 0/r32/eax <span id="L26612" class="LineNr">26612 </span> <span class="subxComment"># if mu-array?(t) return size-of-array(t)</span> <span id="L26613" class="LineNr">26613 </span> { -<span id="L26614" class="LineNr">26614 </span> (mu-array? %ecx) <span class="subxComment"># => eax</span> +<span id="L26614" class="LineNr">26614 </span> (<a href='mu.subx.html#L26692'>mu-array?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26615" class="LineNr">26615 </span> 3d/compare-eax-and 0/imm32/false <span id="L26616" class="LineNr">26616 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26617" class="LineNr">26617 </span> (size-of-array %ecx) <span class="subxComment"># => eax</span> +<span id="L26617" class="LineNr">26617 </span> (<a href='mu.subx.html#L26723'>size-of-array</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26618" class="LineNr">26618 </span> eb/jump $size-of:end/disp8 <span id="L26619" class="LineNr">26619 </span> } <span id="L26620" class="LineNr">26620 </span> <span class="subxComment"># if mu-stream?(t) return size-of-stream(t)</span> <span id="L26621" class="LineNr">26621 </span> { -<span id="L26622" class="LineNr">26622 </span> (mu-stream? %ecx) <span class="subxComment"># => eax</span> +<span id="L26622" class="LineNr">26622 </span> (<a href='mu.subx.html#L26757'>mu-stream?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26623" class="LineNr">26623 </span> 3d/compare-eax-and 0/imm32/false <span id="L26624" class="LineNr">26624 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26625" class="LineNr">26625 </span> (size-of-stream %ecx) <span class="subxComment"># => eax</span> +<span id="L26625" class="LineNr">26625 </span> (<a href='mu.subx.html#L26788'>size-of-stream</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26626" class="LineNr">26626 </span> eb/jump $size-of:end/disp8 <span id="L26627" class="LineNr">26627 </span> } <span id="L26628" class="LineNr">26628 </span> <span class="subxComment"># if (!t->is-atom?) t = lookup(t->left)</span> @@ -25128,7 +25128,7 @@ if ('onhashchange' in window) { <span id="L26633" class="LineNr">26633 </span> 89/<- %ecx 0/r32/eax <span id="L26634" class="LineNr">26634 </span> } <span id="L26635" class="LineNr">26635 </span> <span class="subxComment"># TODO: assert t->is-atom?</span> -<span id="L26636" class="LineNr">26636 </span> (size-of-type-id *(ecx+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L26636" class="LineNr">26636 </span> (<a href='mu.subx.html#L26801'>size-of-type-id</a> *(ecx+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L26637" class="LineNr">26637 </span><span class="Constant">$size-of:end</span>: <span id="L26638" class="LineNr">26638 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L26639" class="LineNr">26639 </span> 59/pop-to-ecx @@ -25153,18 +25153,18 @@ if ('onhashchange' in window) { <span id="L26658" class="LineNr">26658 </span> 89/<- %ecx 0/r32/eax <span id="L26659" class="LineNr">26659 </span> <span class="subxComment"># if mu-array?(t) return size-of-array(t)</span> <span id="L26660" class="LineNr">26660 </span> { -<span id="L26661" class="LineNr">26661 </span> (mu-array? %ecx) <span class="subxComment"># => eax</span> +<span id="L26661" class="LineNr">26661 </span> (<a href='mu.subx.html#L26692'>mu-array?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26662" class="LineNr">26662 </span> 3d/compare-eax-and 0/imm32/false <span id="L26663" class="LineNr">26663 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26664" class="LineNr">26664 </span> (size-of-array %ecx) <span class="subxComment"># => eax</span> +<span id="L26664" class="LineNr">26664 </span> (<a href='mu.subx.html#L26723'>size-of-array</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26665" class="LineNr">26665 </span> eb/jump $size-of-deref:end/disp8 <span id="L26666" class="LineNr">26666 </span> } <span id="L26667" class="LineNr">26667 </span> <span class="subxComment"># if mu-stream?(t) return size-of-stream(t)</span> <span id="L26668" class="LineNr">26668 </span> { -<span id="L26669" class="LineNr">26669 </span> (mu-stream? %ecx) <span class="subxComment"># => eax</span> +<span id="L26669" class="LineNr">26669 </span> (<a href='mu.subx.html#L26757'>mu-stream?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26670" class="LineNr">26670 </span> 3d/compare-eax-and 0/imm32/false <span id="L26671" class="LineNr">26671 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 -<span id="L26672" class="LineNr">26672 </span> (size-of-stream %ecx) <span class="subxComment"># => eax</span> +<span id="L26672" class="LineNr">26672 </span> (<a href='mu.subx.html#L26788'>size-of-stream</a> %ecx) <span class="subxComment"># => eax</span> <span id="L26673" class="LineNr">26673 </span> eb/jump $size-of-deref:end/disp8 <span id="L26674" class="LineNr">26674 </span> } <span id="L26675" class="LineNr">26675 </span> <span class="subxComment"># if (!t->is-atom?) t = lookup(t->left)</span> @@ -25175,7 +25175,7 @@ if ('onhashchange' in window) { <span id="L26680" class="LineNr">26680 </span> 89/<- %ecx 0/r32/eax <span id="L26681" class="LineNr">26681 </span> } <span id="L26682" class="LineNr">26682 </span> <span class="subxComment"># TODO: assert t->is-atom?</span> -<span id="L26683" class="LineNr">26683 </span> (size-of-type-id *(ecx+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L26683" class="LineNr">26683 </span> (<a href='mu.subx.html#L26801'>size-of-type-id</a> *(ecx+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L26684" class="LineNr">26684 </span><span class="Constant">$size-of-deref:end</span>: <span id="L26685" class="LineNr">26685 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L26686" class="LineNr">26686 </span> 59/pop-to-ecx @@ -25236,7 +25236,7 @@ if ('onhashchange' in window) { <span id="L26741" class="LineNr">26741 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> <span id="L26742" class="LineNr">26742 </span> 8b/-> *(eax+8) 1/r32/ecx <span class="subxComment"># Type-tree-value-size</span> <span id="L26743" class="LineNr">26743 </span> <span class="subxComment"># return 4 + array-size * size-of(elem-type)</span> -<span id="L26744" class="LineNr">26744 </span> (size-of-type-id-as-array-element %edx) <span class="subxComment"># => eax</span> +<span id="L26744" class="LineNr">26744 </span> (<a href='mu.subx.html#L29115'>size-of-type-id-as-array-element</a> %edx) <span class="subxComment"># => eax</span> <span id="L26745" class="LineNr">26745 </span> f7 4/subop/multiply-into-edx-eax %ecx <span id="L26746" class="LineNr">26746 </span> 05/add-to-eax 4/imm32 <span class="subxComment"># for array size</span> <span id="L26747" class="LineNr">26747 </span> <span class="subxComment"># TODO: check edx for overflow</span> @@ -25285,7 +25285,7 @@ if ('onhashchange' in window) { <span id="L26790" class="LineNr">26790 </span> 55/push-ebp <span id="L26791" class="LineNr">26791 </span> 89/<- %ebp 4/r32/esp <span id="L26792" class="LineNr">26792 </span> <span class="subxComment">#</span> -<span id="L26793" class="LineNr">26793 </span> (size-of-array *(ebp+8)) <span class="subxComment"># assumes we ignore the actual type name 'array' in the type</span> +<span id="L26793" class="LineNr">26793 </span> (<a href='mu.subx.html#L26723'>size-of-array</a> *(ebp+8)) <span class="subxComment"># assumes we ignore the actual type name 'array' in the type</span> <span id="L26794" class="LineNr">26794 </span> 05/add-to-eax 8/imm32 <span class="subxComment"># for read/write pointers</span> <span id="L26795" class="LineNr">26795 </span><span class="Constant">$size-of-stream:end</span>: <span id="L26796" class="LineNr">26796 </span> <span class="subxS1Comment"># . epilogue</span> @@ -25331,7 +25331,7 @@ if ('onhashchange' in window) { <span id="L26836" class="LineNr">26836 </span> } <span id="L26837" class="LineNr">26837 </span> <span class="subxComment"># if t is a user-defined type, return its size</span> <span id="L26838" class="LineNr">26838 </span> <span class="subxComment"># TODO: support non-atom type</span> -<span id="L26839" class="LineNr">26839 </span> (find-typeinfo %eax %ecx) +<span id="L26839" class="LineNr">26839 </span> (<a href='mu.subx.html#L20355'>find-typeinfo</a> %eax %ecx) <span id="L26840" class="LineNr">26840 </span> { <span id="L26841" class="LineNr">26841 </span> 81 7/subop/compare *ecx 0/imm32 <span id="L26842" class="LineNr">26842 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 @@ -25391,7 +25391,7 @@ if ('onhashchange' in window) { <span id="L26896" class="LineNr">26896 </span> 3d/compare-eax-and 0/imm32 <span id="L26897" class="LineNr">26897 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L26898" class="LineNr">26898 </span><span class="Constant">$type-tail:check-array-capacity-2</span>: -<span id="L26899" class="LineNr">26899 </span> (simple-mu-type? %eax 9) <span class="subxComment"># array-capacity => eax</span> +<span id="L26899" class="LineNr">26899 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 9) <span class="subxComment"># array-capacity => eax</span> <span id="L26900" class="LineNr">26900 </span> 3d/compare-eax-and 0/imm32/false <span id="L26901" class="LineNr">26901 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L26902" class="LineNr">26902 </span><span class="Constant">$type-tail:array-capacity</span>: @@ -25464,7 +25464,7 @@ if ('onhashchange' in window) { <span id="L26969" class="LineNr">26969 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+4) *(ecx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> <span id="L26970" class="LineNr">26970 </span> 89/<- %ebx 0/r32/eax <span id="L26971" class="LineNr">26971 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+4) *(edx+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L26972" class="LineNr">26972 </span> (type-equal? %eax %ebx) <span class="subxComment"># => eax</span> +<span id="L26972" class="LineNr">26972 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %eax %ebx) <span class="subxComment"># => eax</span> <span id="L26973" class="LineNr">26973 </span> 3d/compare-eax-and 0/imm32/false <span id="L26974" class="LineNr">26974 </span> 74/jump-if-= $type-equal?:end/disp8 <span id="L26975" class="LineNr">26975 </span><span class="Constant">$type-equal?:check-right</span>: @@ -25472,7 +25472,7 @@ if ('onhashchange' in window) { <span id="L26977" class="LineNr">26977 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0xc) *(ecx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> <span id="L26978" class="LineNr">26978 </span> 89/<- %ebx 0/r32/eax <span id="L26979" class="LineNr">26979 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+0xc) *(edx+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> -<span id="L26980" class="LineNr">26980 </span> (type-equal? %eax %ebx) <span class="subxComment"># => eax</span> +<span id="L26980" class="LineNr">26980 </span> (<a href='mu.subx.html#L26922'>type-equal?</a> %eax %ebx) <span class="subxComment"># => eax</span> <span id="L26981" class="LineNr">26981 </span><span class="Constant">$type-equal?:end</span>: <span id="L26982" class="LineNr">26982 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L26983" class="LineNr">26983 </span> 5b/pop-to-ebx @@ -25512,7 +25512,7 @@ if ('onhashchange' in window) { <span id="L27017" class="LineNr">27017 </span> <span class="subxComment"># if (curr == null) break</span> <span id="L27018" class="LineNr">27018 </span> 3d/compare-eax-and 0/imm32 <span id="L27019" class="LineNr">27019 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L27020" class="LineNr">27020 </span> (emit-subx-function *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10)) +<span id="L27020" class="LineNr">27020 </span> (<a href='mu.subx.html#L27033'>emit-subx-function</a> *(ebp+8) %eax *(ebp+0xc) *(ebp+0x10)) <span id="L27021" class="LineNr">27021 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L27022" class="LineNr">27022 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x20) *(eax+0x24)) <span class="subxComment"># Function-next Function-next => eax</span> <span id="L27023" class="LineNr">27023 </span> e9/jump <span class="Constant">loop</span>/disp32 @@ -25530,14 +25530,14 @@ if ('onhashchange' in window) { <span id="L27035" class="LineNr">27035 </span> 55/push-ebp <span id="L27036" class="LineNr">27036 </span> 89/<- %ebp 4/r32/esp <span id="L27037" class="LineNr">27037 </span> <span class="subxComment"># some preprocessing</span> -<span id="L27038" class="LineNr">27038 </span> (populate-mu-type-offsets-in-inouts *(ebp+0xc)) +<span id="L27038" class="LineNr">27038 </span> (<a href='mu.subx.html#L27078'>populate-mu-type-offsets-in-inouts</a> *(ebp+0xc)) <span id="L27039" class="LineNr">27039 </span> <span class="subxS1Comment"># . save registers</span> <span id="L27040" class="LineNr">27040 </span> 50/push-eax <span id="L27041" class="LineNr">27041 </span> 51/push-ecx <span id="L27042" class="LineNr">27042 </span> 52/push-edx <span id="L27043" class="LineNr">27043 </span> <span class="subxComment"># initialize some global state</span> -<span id="L27044" class="LineNr">27044 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 1/imm32 <span class="subxComment"># Important: keep this in sync with the parse phase</span> -<span id="L27045" class="LineNr">27045 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-local-stack-offset</span> 0/imm32 +<span id="L27044" class="LineNr">27044 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 1/imm32 <span class="subxComment"># Important: keep this in sync with the parse phase</span> +<span id="L27045" class="LineNr">27045 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 0/imm32 <span id="L27046" class="LineNr">27046 </span> <span class="subxComment"># ecx = f</span> <span id="L27047" class="LineNr">27047 </span> 8b/-> *(ebp+0xc) 1/r32/ecx <span id="L27048" class="LineNr">27048 </span> <span class="subxComment"># var vars/edx: (stack (addr var) 256)</span> @@ -25550,12 +25550,12 @@ if ('onhashchange' in window) { <span id="L27055" class="LineNr">27055 </span> <span class="subxComment">#</span> <span id="L27056" class="LineNr">27056 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L27057" class="LineNr">27057 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">":\n"</span>) -<span id="L27058" class="LineNr">27058 </span> (emit-subx-prologue *(ebp+8)) +<span id="L27058" class="LineNr">27058 </span> (<a href='mu.subx.html#L38850'>emit-subx-prologue</a> *(ebp+8)) <span id="L27059" class="LineNr">27059 </span> <span class="subxComment"># var body/eax: (addr block) = lookup(f->body)</span> <span id="L27060" class="LineNr">27060 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x18) *(ecx+0x1c)) <span class="subxComment"># Function-body Function-body => eax</span> <span id="L27061" class="LineNr">27061 </span> <span class="subxComment">#</span> -<span id="L27062" class="LineNr">27062 </span> (emit-subx-block *(ebp+8) %eax %edx *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) -<span id="L27063" class="LineNr">27063 </span> (emit-subx-epilogue *(ebp+8)) +<span id="L27062" class="LineNr">27062 </span> (<a href='mu.subx.html#L30362'>emit-subx-block</a> *(ebp+8) %eax %edx *(ebp+0xc) *(ebp+0x10) *(ebp+0x14)) +<span id="L27063" class="LineNr">27063 </span> (<a href='mu.subx.html#L38864'>emit-subx-epilogue</a> *(ebp+8)) <span id="L27064" class="LineNr">27064 </span> <span class="subxComment"># TODO: validate that *Curr-block-depth and *Curr-local-stack-offset have</span> <span id="L27065" class="LineNr">27065 </span> <span class="subxComment"># been cleaned up</span> <span id="L27066" class="LineNr">27066 </span><span class="Constant">$emit-subx-function:end</span>: @@ -25605,7 +25605,7 @@ if ('onhashchange' in window) { <span id="L27110" class="LineNr">27110 </span> <span class="subxComment"># v->offset = next-offset</span> <span id="L27111" class="LineNr">27111 </span> 89/<- *(ebx+0x14) 2/r32/edx <span class="subxComment"># Var-offset</span> <span id="L27112" class="LineNr">27112 </span> <span class="subxComment"># next-offset += size-of(v)</span> -<span id="L27113" class="LineNr">27113 </span> (size-of %ebx) <span class="subxComment"># => eax</span> +<span id="L27113" class="LineNr">27113 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> <span id="L27114" class="LineNr">27114 </span> 01/add-to %edx 0/r32/eax <span id="L27115" class="LineNr">27115 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L27116" class="LineNr">27116 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># List-next List-next => eax</span> @@ -25649,7 +25649,7 @@ if ('onhashchange' in window) { <span id="L27154" class="LineNr">27154 </span> 81 7/subop/compare *ecx 0/imm32/block <span class="subxComment"># Stmt-tag</span> <span id="L27155" class="LineNr">27155 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L27156" class="LineNr">27156 </span><span class="Constant">$emit-subx-stmt-list:block</span>: -<span id="L27157" class="LineNr">27157 </span> (emit-subx-block *(ebp+8) %ecx *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L27157" class="LineNr">27157 </span> (<a href='mu.subx.html#L30362'>emit-subx-block</a> *(ebp+8) %ecx *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L27158" class="LineNr">27158 </span> } <span id="L27159" class="LineNr">27159 </span> { <span id="L27160" class="LineNr">27160 </span><span class="Constant">$emit-subx-stmt-list:check-for-stmt</span>: @@ -25657,7 +25657,7 @@ if ('onhashchange' in window) { <span id="L27162" class="LineNr">27162 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27163" class="LineNr">27163 </span><span class="Constant">$emit-subx-stmt-list:stmt1</span>: <span id="L27164" class="LineNr">27164 </span> { -<span id="L27165" class="LineNr">27165 </span> (mu-branch? %ecx) <span class="subxComment"># => eax</span> +<span id="L27165" class="LineNr">27165 </span> (<a href='mu.subx.html#L27577'>mu-branch?</a> %ecx) <span class="subxComment"># => eax</span> <span id="L27166" class="LineNr">27166 </span> 3d/compare-eax-and 0/imm32/false <span id="L27167" class="LineNr">27167 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L27168" class="LineNr">27168 </span><span class="Constant">$emit-subx-stmt-list:branch-stmt</span>: @@ -25668,7 +25668,7 @@ if ('onhashchange' in window) { <span id="L27275" class="Folded">27275 </span><span class="Folded">+-- 19 lines: # conditional branches with an explicit target ----------------------------------------------------------------------------------------------------------------------------</span> <span id="L27294" class="LineNr">27294 </span> } <span id="L27295" class="LineNr">27295 </span><span class="Constant">$emit-subx-stmt-list:1-to-1</span>: -<span id="L27296" class="LineNr">27296 </span> (emit-subx-stmt *(ebp+8) %ecx <span class="SpecialChar">Primitives</span> *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L27296" class="LineNr">27296 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L27297" class="LineNr">27297 </span> e9/jump $emit-subx-stmt-list:continue/disp32 <span id="L27298" class="LineNr">27298 </span> } <span id="L27299" class="LineNr">27299 </span> { @@ -25676,7 +25676,7 @@ if ('onhashchange' in window) { <span id="L27301" class="LineNr">27301 </span> 81 7/subop/compare *ecx 2/imm32/var-def <span class="subxComment"># Stmt-tag</span> <span id="L27302" class="LineNr">27302 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L27303" class="LineNr">27303 </span><span class="Constant">$emit-subx-stmt-list:var-def</span>: -<span id="L27304" class="LineNr">27304 </span> (emit-subx-var-def *(ebp+8) %ecx *(ebp+0x18) *(ebp+0x1c)) +<span id="L27304" class="LineNr">27304 </span> (<a href='mu.subx.html#L28541'>emit-subx-var-def</a> *(ebp+8) %ecx *(ebp+0x18) *(ebp+0x1c)) <span id="L27305" class="LineNr">27305 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(ecx+4)) <span class="subxComment"># Vardef-var</span> <span id="L27306" class="LineNr">27306 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(ecx+8)) <span class="subxComment"># Vardef-var</span> <span id="L27307" class="LineNr">27307 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) 0) <span class="subxComment"># Live-var-register-spilled = 0 for vars on the stack</span> @@ -25689,9 +25689,9 @@ if ('onhashchange' in window) { <span id="L27314" class="LineNr">27314 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27315" class="LineNr">27315 </span><span class="Constant">$emit-subx-stmt-list:reg-var-def</span>: <span id="L27316" class="LineNr">27316 </span> <span class="subxComment"># TODO: ensure that there's exactly one output</span> -<span id="L27317" class="LineNr">27317 </span> (push-output-and-maybe-emit-spill *(ebp+8) %ecx *(ebp+0x10) %esi *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L27317" class="LineNr">27317 </span> (<a href='mu.subx.html#L27346'>push-output-and-maybe-emit-spill</a> *(ebp+8) %ecx *(ebp+0x10) %esi *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L27318" class="LineNr">27318 </span> <span class="subxComment"># emit the instruction as usual</span> -<span id="L27319" class="LineNr">27319 </span> (emit-subx-stmt *(ebp+8) %ecx <span class="SpecialChar">Primitives</span> *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L27319" class="LineNr">27319 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L27320" class="LineNr">27320 </span> <span class="subxComment">#</span> <span id="L27321" class="LineNr">27321 </span> eb/jump $emit-subx-stmt-list:continue/disp8 <span id="L27322" class="LineNr">27322 </span> } @@ -25702,10 +25702,10 @@ if ('onhashchange' in window) { <span id="L27327" class="LineNr">27327 </span> e9/jump <span class="Constant">loop</span>/disp32 <span id="L27328" class="LineNr">27328 </span> } <span id="L27329" class="LineNr">27329 </span><span class="Constant">$emit-subx-stmt-list:emit-cleanup</span>: -<span id="L27330" class="LineNr">27330 </span> (emit-cleanup-code-until-depth *(ebp+8) *(ebp+0x10) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27330" class="LineNr">27330 </span> (<a href='mu.subx.html#L27747'>emit-cleanup-code-until-depth</a> *(ebp+8) *(ebp+0x10) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27331" class="LineNr">27331 </span><span class="Constant">$emit-subx-stmt-list:clean-up</span>: -<span id="L27332" class="LineNr">27332 </span> (clean-up-stack-offset-state *(ebp+0x10) *<span class="SpecialChar">Curr-block-depth</span>) -<span id="L27333" class="LineNr">27333 </span> (clean-up-blocks *(ebp+0x10) *<span class="SpecialChar">Curr-block-depth</span> *(ebp+0x14)) +<span id="L27332" class="LineNr">27332 </span> (<a href='mu.subx.html#L28077'>clean-up-stack-offset-state</a> *(ebp+0x10) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) +<span id="L27333" class="LineNr">27333 </span> (<a href='mu.subx.html#L28465'>clean-up-blocks</a> *(ebp+0x10) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> *(ebp+0x14)) <span id="L27334" class="LineNr">27334 </span><span class="Constant">$emit-subx-stmt-list:end</span>: <span id="L27335" class="LineNr">27335 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L27336" class="LineNr">27336 </span> 5e/pop-to-esi @@ -25735,7 +25735,7 @@ if ('onhashchange' in window) { <span id="L27360" class="LineNr">27360 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L27361" class="LineNr">27361 </span> 89/<- %ecx 0/r32/eax <span id="L27362" class="LineNr">27362 </span> <span class="subxComment"># v->block-depth = *Curr-block-depth</span> -<span id="L27363" class="LineNr">27363 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L27363" class="LineNr">27363 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L27364" class="LineNr">27364 </span> 89/<- *(ecx+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L27365" class="LineNr">27365 </span><span class="CommentedCode">#? (write-buffered Stderr "var ")</span> <span id="L27366" class="LineNr">27366 </span><span class="CommentedCode">#? (lookup *ecx *(ecx+4))</span> @@ -25748,21 +25748,21 @@ if ('onhashchange' in window) { <span id="L27373" class="LineNr">27373 </span> 81 7/subop/compare *(ecx+0x18) 0/imm32 <span class="subxComment"># Var-register</span> <span id="L27374" class="LineNr">27374 </span> 0f 84/jump-if-= $push-output-and-maybe-emit-spill:abort/disp32 <span id="L27375" class="LineNr">27375 </span> <span class="subxComment"># var emit-spill?/edx: boolean = not-yet-spilled-this-block? && will-not-write-some-register?(fn)</span> -<span id="L27376" class="LineNr">27376 </span> (not-yet-spilled-this-block? %ecx *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L27376" class="LineNr">27376 </span> (<a href='mu.subx.html#L28149'>not-yet-spilled-this-block?</a> %ecx *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L27377" class="LineNr">27377 </span> 89/<- %edx 0/r32/eax <span id="L27378" class="LineNr">27378 </span> 3d/compare-eax-and 0/imm32/false <span id="L27379" class="LineNr">27379 </span> 0f 84/jump-if-= $push-output-and-maybe-emit-spill:<a href='203stack.subx.html#L114'>push</a>/disp32 -<span id="L27380" class="LineNr">27380 </span> (will-not-write-some-register? %ecx *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> +<span id="L27380" class="LineNr">27380 </span> (<a href='mu.subx.html#L28222'>will-not-write-some-register?</a> %ecx *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> <span id="L27381" class="LineNr">27381 </span> 89/<- %edx 0/r32/eax <span id="L27382" class="LineNr">27382 </span> <span class="subxComment"># check emit-spill?</span> <span id="L27383" class="LineNr">27383 </span> 3d/compare-eax-and 0/imm32/false <span id="L27384" class="LineNr">27384 </span> 0f 84/jump-if-= $push-output-and-maybe-emit-spill:<a href='203stack.subx.html#L114'>push</a>/disp32 <span id="L27385" class="LineNr">27385 </span> <span class="subxComment"># TODO: assert(size-of(output) == 4)</span> <span id="L27386" class="LineNr">27386 </span> <span class="subxComment"># *Curr-local-stack-offset -= 4</span> -<span id="L27387" class="LineNr">27387 </span> 81 5/subop/subtract *<span class="SpecialChar">Curr-local-stack-offset</span> 4/imm32 +<span id="L27387" class="LineNr">27387 </span> 81 5/subop/subtract *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 4/imm32 <span id="L27388" class="LineNr">27388 </span> <span class="subxComment"># emit spill</span> <span id="L27389" class="LineNr">27389 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x18) *(ecx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L27390" class="LineNr">27390 </span> (emit-push-register *(ebp+8) %eax) +<span id="L27390" class="LineNr">27390 </span> (<a href='mu.subx.html#L27920'>emit-push-register</a> *(ebp+8) %eax) <span id="L27391" class="LineNr">27391 </span><span class="Constant">$push-output-and-maybe-emit-spill:<a href='203stack.subx.html#L114'>push</a></span>: <span id="L27392" class="LineNr">27392 </span> 8b/-> *(ebp+0xc) 1/r32/ecx <span id="L27393" class="LineNr">27393 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x14) *(ecx+0x18)) <span class="subxComment"># Regvardef-outputs Regvardef-outputs => eax</span> @@ -25803,9 +25803,9 @@ if ('onhashchange' in window) { <span id="L27428" class="LineNr">27428 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L27429" class="LineNr">27429 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L27430" class="LineNr">27430 </span> <span class="subxComment"># clean up until target block</span> -<span id="L27431" class="LineNr">27431 </span> (emit-cleanup-code-until-target *(ebp+8) *(ebp+0x10) %eax) +<span id="L27431" class="LineNr">27431 </span> (<a href='mu.subx.html#L28000'>emit-cleanup-code-until-target</a> *(ebp+8) *(ebp+0x10) %eax) <span id="L27432" class="LineNr">27432 </span> <span class="subxComment"># emit jump to target block</span> -<span id="L27433" class="LineNr">27433 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27433" class="LineNr">27433 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27434" class="LineNr">27434 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"e9/jump "</span>) <span id="L27435" class="LineNr">27435 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L27436" class="LineNr">27436 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+4) *(ecx+8)) <span class="subxComment"># Stmt1-operation Stmt1-operation => eax</span> @@ -25858,11 +25858,11 @@ if ('onhashchange' in window) { <span id="L27483" class="LineNr">27483 </span> 3d/compare-eax-and 0x78/imm32/x <span id="L27484" class="LineNr">27484 </span> { <span id="L27485" class="LineNr">27485 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L27486" class="LineNr">27486 </span> (emit-float-output *(ebp+8) %esi %ecx) +<span id="L27486" class="LineNr">27486 </span> (<a href='mu.subx.html#L27555'>emit-float-output</a> *(ebp+8) %esi %ecx) <span id="L27487" class="LineNr">27487 </span> eb/jump $emit-outputs:continue/disp8 <span id="L27488" class="LineNr">27488 </span> } <span id="L27489" class="LineNr">27489 </span> <span class="subxComment"># otherwise emit an int copy</span> -<span id="L27490" class="LineNr">27490 </span> (emit-int-output *(ebp+8) %esi %ecx) +<span id="L27490" class="LineNr">27490 </span> (<a href='mu.subx.html#L27512'>emit-int-output</a> *(ebp+8) %esi %ecx) <span id="L27491" class="LineNr">27491 </span><span class="Constant">$emit-outputs:continue</span>: <span id="L27492" class="LineNr">27492 </span> <span class="subxComment"># curr-inout = curr-inout->next</span> <span id="L27493" class="LineNr">27493 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+8) *(esi+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> @@ -25897,11 +25897,11 @@ if ('onhashchange' in window) { <span id="L27522" class="LineNr">27522 </span> 89/<- %ecx 0/r32/eax <span id="L27523" class="LineNr">27523 </span> <span class="subxComment"># if curr-var is a literal, emit copy of a literal to the output</span> <span id="L27524" class="LineNr">27524 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L27525" class="LineNr">27525 </span> (simple-mu-type? %eax 0) <span class="subxComment"># literal => eax</span> +<span id="L27525" class="LineNr">27525 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># literal => eax</span> <span id="L27526" class="LineNr">27526 </span> { <span id="L27527" class="LineNr">27527 </span> 3d/compare-eax-and 0/imm32/false <span id="L27528" class="LineNr">27528 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L27529" class="LineNr">27529 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27529" class="LineNr">27529 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27530" class="LineNr">27530 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"c7 0/subop/copy %"</span>) <span id="L27531" class="LineNr">27531 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebp+0x10)) <span id="L27532" class="LineNr">27532 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" "</span>) @@ -25911,11 +25911,11 @@ if ('onhashchange' in window) { <span id="L27536" class="LineNr">27536 </span> e9/jump $emit-int-output:end/disp32 <span id="L27537" class="LineNr">27537 </span> } <span id="L27538" class="LineNr">27538 </span> <span class="subxComment"># otherwise emit an integer copy</span> -<span id="L27539" class="LineNr">27539 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27539" class="LineNr">27539 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27540" class="LineNr">27540 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8b/->"</span>) -<span id="L27541" class="LineNr">27541 </span> (emit-subx-var-as-rm32 *(ebp+8) *(ebp+0xc)) +<span id="L27541" class="LineNr">27541 </span> (<a href='mu.subx.html#L35793'>emit-subx-var-as-rm32</a> *(ebp+8) *(ebp+0xc)) <span id="L27542" class="LineNr">27542 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" "</span>) -<span id="L27543" class="LineNr">27543 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> +<span id="L27543" class="LineNr">27543 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> <span id="L27544" class="LineNr">27544 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L27545" class="LineNr">27545 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L27546" class="LineNr">27546 </span><span class="Constant">$emit-int-output:end</span>: @@ -25934,11 +25934,11 @@ if ('onhashchange' in window) { <span id="L27559" class="LineNr">27559 </span> <span class="subxS1Comment"># . save registers</span> <span id="L27560" class="LineNr">27560 </span> 50/push-eax <span id="L27561" class="LineNr">27561 </span> <span class="subxComment">#</span> -<span id="L27562" class="LineNr">27562 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27562" class="LineNr">27562 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27563" class="LineNr">27563 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"f3 0f 10/->"</span>) -<span id="L27564" class="LineNr">27564 </span> (emit-subx-var-as-rm32 *(ebp+8) *(ebp+0xc)) +<span id="L27564" class="LineNr">27564 </span> (<a href='mu.subx.html#L35793'>emit-subx-var-as-rm32</a> *(ebp+8) *(ebp+0xc)) <span id="L27565" class="LineNr">27565 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" "</span>) -<span id="L27566" class="LineNr">27566 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> +<span id="L27566" class="LineNr">27566 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> <span id="L27567" class="LineNr">27567 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L27568" class="LineNr">27568 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/x32\n"</span>) <span id="L27569" class="LineNr">27569 </span><span class="Constant">$emit-float-output:end</span>: @@ -25987,8 +25987,8 @@ if ('onhashchange' in window) { <span id="L27612" class="LineNr">27612 </span> 8b/-> *(ebp+0xc) 0/r32/eax <span id="L27613" class="LineNr">27613 </span> <span class="subxComment">#</span> <span id="L27614" class="LineNr">27614 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Stmt1-operation Stmt1-operation => eax</span> -<span id="L27615" class="LineNr">27615 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Reverse-branch</span> %eax 0x10 <span class="Constant">"reverse-branch: "</span>) <span class="subxComment"># => eax: (addr handle array byte)</span> -<span id="L27616" class="LineNr">27616 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27615" class="LineNr">27615 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L27631'>Reverse-branch</a></span> %eax 0x10 <span class="Constant">"reverse-branch: "</span>) <span class="subxComment"># => eax: (addr handle array byte)</span> +<span id="L27616" class="LineNr">27616 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27617" class="LineNr">27617 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># => eax</span> <span id="L27618" class="LineNr">27618 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L27619" class="LineNr">27619 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" break/disp32\n"</span>) @@ -26009,42 +26009,42 @@ if ('onhashchange' in window) { <span id="L27634" class="LineNr">27634 </span> 0/imm32/read <span id="L27635" class="LineNr">27635 </span> 0x240/imm32/size <span id="L27636" class="LineNr">27636 </span> <span class="subxComment"># data</span> -<span id="L27637" class="LineNr">27637 </span> 0x11/imm32/alloc-id _string-break-if-=/imm32 0x11/imm32/alloc-id _string_0f_85_jump_label/imm32 -<span id="L27638" class="LineNr">27638 </span> 0x11/imm32/alloc-id _string-loop-if-=/imm32 0x11/imm32/alloc-id _string_0f_85_jump_label/imm32 -<span id="L27639" class="LineNr">27639 </span> 0x11/imm32/alloc-id _string-break-if-!=/imm32 0x11/imm32/alloc-id _string_0f_84_jump_label/imm32 -<span id="L27640" class="LineNr">27640 </span> 0x11/imm32/alloc-id _string-loop-if-!=/imm32 0x11/imm32/alloc-id _string_0f_84_jump_label/imm32 -<span id="L27641" class="LineNr">27641 </span> 0x11/imm32/alloc-id _string-break-if-</imm32 0x11/imm32/alloc-id _string_0f_8d_jump_label/imm32 -<span id="L27642" class="LineNr">27642 </span> 0x11/imm32/alloc-id _string-loop-if-</imm32 0x11/imm32/alloc-id _string_0f_8d_jump_label/imm32 -<span id="L27643" class="LineNr">27643 </span> 0x11/imm32/alloc-id _string-break-if->/imm32 0x11/imm32/alloc-id _string_0f_8e_jump_label/imm32 -<span id="L27644" class="LineNr">27644 </span> 0x11/imm32/alloc-id _string-loop-if->/imm32 0x11/imm32/alloc-id _string_0f_8e_jump_label/imm32 -<span id="L27645" class="LineNr">27645 </span> 0x11/imm32/alloc-id _string-break-if-<=/imm32 0x11/imm32/alloc-id _string_0f_8f_jump_label/imm32 -<span id="L27646" class="LineNr">27646 </span> 0x11/imm32/alloc-id _string-loop-if-<=/imm32 0x11/imm32/alloc-id _string_0f_8f_jump_label/imm32 -<span id="L27647" class="LineNr">27647 </span> 0x11/imm32/alloc-id _string-break-if->=/imm32 0x11/imm32/alloc-id _string_0f_8c_jump_label/imm32 -<span id="L27648" class="LineNr">27648 </span> 0x11/imm32/alloc-id _string-loop-if->=/imm32 0x11/imm32/alloc-id _string_0f_8c_jump_label/imm32 -<span id="L27649" class="LineNr">27649 </span> 0x11/imm32/alloc-id _string-break-if-addr</imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27650" class="LineNr">27650 </span> 0x11/imm32/alloc-id _string-loop-if-addr</imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27651" class="LineNr">27651 </span> 0x11/imm32/alloc-id _string-break-if-addr>/imm32 0x11/imm32/alloc-id _string_0f_86_jump_label/imm32 -<span id="L27652" class="LineNr">27652 </span> 0x11/imm32/alloc-id _string-loop-if-addr>/imm32 0x11/imm32/alloc-id _string_0f_86_jump_label/imm32 -<span id="L27653" class="LineNr">27653 </span> 0x11/imm32/alloc-id _string-break-if-addr<=/imm32 0x11/imm32/alloc-id _string_0f_87_jump_label/imm32 -<span id="L27654" class="LineNr">27654 </span> 0x11/imm32/alloc-id _string-loop-if-addr<=/imm32 0x11/imm32/alloc-id _string_0f_87_jump_label/imm32 -<span id="L27655" class="LineNr">27655 </span> 0x11/imm32/alloc-id _string-break-if-addr>=/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27656" class="LineNr">27656 </span> 0x11/imm32/alloc-id _string-loop-if-addr>=/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27657" class="LineNr">27657 </span> 0x11/imm32/alloc-id _string-break-if-float</imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27658" class="LineNr">27658 </span> 0x11/imm32/alloc-id _string-loop-if-float</imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27659" class="LineNr">27659 </span> 0x11/imm32/alloc-id _string-break-if-float>/imm32 0x11/imm32/alloc-id _string_0f_86_jump_label/imm32 -<span id="L27660" class="LineNr">27660 </span> 0x11/imm32/alloc-id _string-loop-if-float>/imm32 0x11/imm32/alloc-id _string_0f_86_jump_label/imm32 -<span id="L27661" class="LineNr">27661 </span> 0x11/imm32/alloc-id _string-break-if-float<=/imm32 0x11/imm32/alloc-id _string_0f_87_jump_label/imm32 -<span id="L27662" class="LineNr">27662 </span> 0x11/imm32/alloc-id _string-loop-if-float<=/imm32 0x11/imm32/alloc-id _string_0f_87_jump_label/imm32 -<span id="L27663" class="LineNr">27663 </span> 0x11/imm32/alloc-id _string-break-if-float>=/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27664" class="LineNr">27664 </span> 0x11/imm32/alloc-id _string-loop-if-float>=/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27665" class="LineNr">27665 </span> 0x11/imm32/alloc-id _string-break-if-carry/imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27666" class="LineNr">27666 </span> 0x11/imm32/alloc-id _string-loop-if-carry/imm32 0x11/imm32/alloc-id _string_0f_83_jump_label/imm32 -<span id="L27667" class="LineNr">27667 </span> 0x11/imm32/alloc-id _string-break-if-not-carry/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27668" class="LineNr">27668 </span> 0x11/imm32/alloc-id _string-loop-if-not-carry/imm32 0x11/imm32/alloc-id _string_0f_82_jump_label/imm32 -<span id="L27669" class="LineNr">27669 </span> 0x11/imm32/alloc-id _string-break-if-overflow/imm32 0x11/imm32/alloc-id _string_0f_81_jump_label/imm32 -<span id="L27670" class="LineNr">27670 </span> 0x11/imm32/alloc-id _string-loop-if-overflow/imm32 0x11/imm32/alloc-id _string_0f_81_jump_label/imm32 -<span id="L27671" class="LineNr">27671 </span> 0x11/imm32/alloc-id _string-break-if-not-overflow/imm32 0x11/imm32/alloc-id _string_0f_80_jump_label/imm32 -<span id="L27672" class="LineNr">27672 </span> 0x11/imm32/alloc-id _string-loop-if-not-overflow/imm32 0x11/imm32/alloc-id _string_0f_80_jump_label/imm32 +<span id="L27637" class="LineNr">27637 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34054'>_string-break-if-=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34476'>_string_0f_85_jump_label</a>/imm32 +<span id="L27638" class="LineNr">27638 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34184'>_string-loop-if-=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34476'>_string_0f_85_jump_label</a>/imm32 +<span id="L27639" class="LineNr">27639 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34069'>_string-break-if-!=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34461'>_string_0f_84_jump_label</a>/imm32 +<span id="L27640" class="LineNr">27640 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34199'>_string-loop-if-!=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34461'>_string_0f_84_jump_label</a>/imm32 +<span id="L27641" class="LineNr">27641 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34044'>_string-break-if-<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34536'>_string_0f_8d_jump_label</a>/imm32 +<span id="L27642" class="LineNr">27642 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34174'>_string-loop-if-<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34536'>_string_0f_8d_jump_label</a>/imm32 +<span id="L27643" class="LineNr">27643 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34059'>_string-break-if-></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34551'>_string_0f_8e_jump_label</a>/imm32 +<span id="L27644" class="LineNr">27644 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34189'>_string-loop-if-></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34551'>_string_0f_8e_jump_label</a>/imm32 +<span id="L27645" class="LineNr">27645 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34049'>_string-break-if-<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34566'>_string_0f_8f_jump_label</a>/imm32 +<span id="L27646" class="LineNr">27646 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34179'>_string-loop-if-<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34566'>_string_0f_8f_jump_label</a>/imm32 +<span id="L27647" class="LineNr">27647 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34064'>_string-break-if->=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34521'>_string_0f_8c_jump_label</a>/imm32 +<span id="L27648" class="LineNr">27648 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34194'>_string-loop-if->=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34521'>_string_0f_8c_jump_label</a>/imm32 +<span id="L27649" class="LineNr">27649 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34074'>_string-break-if-addr<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27650" class="LineNr">27650 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34204'>_string-loop-if-addr<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27651" class="LineNr">27651 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34084'>_string-break-if-addr></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32 +<span id="L27652" class="LineNr">27652 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34214'>_string-loop-if-addr></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32 +<span id="L27653" class="LineNr">27653 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34079'>_string-break-if-addr<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32 +<span id="L27654" class="LineNr">27654 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34209'>_string-loop-if-addr<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32 +<span id="L27655" class="LineNr">27655 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34089'>_string-break-if-addr>=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27656" class="LineNr">27656 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34219'>_string-loop-if-addr>=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27657" class="LineNr">27657 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34094'>_string-break-if-float<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27658" class="LineNr">27658 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34224'>_string-loop-if-float<</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27659" class="LineNr">27659 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34104'>_string-break-if-float></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32 +<span id="L27660" class="LineNr">27660 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34234'>_string-loop-if-float></a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32 +<span id="L27661" class="LineNr">27661 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34099'>_string-break-if-float<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32 +<span id="L27662" class="LineNr">27662 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34229'>_string-loop-if-float<=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32 +<span id="L27663" class="LineNr">27663 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34109'>_string-break-if-float>=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27664" class="LineNr">27664 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34239'>_string-loop-if-float>=</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27665" class="LineNr">27665 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34114'>_string-break-if-carry</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27666" class="LineNr">27666 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34244'>_string-loop-if-carry</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32 +<span id="L27667" class="LineNr">27667 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34119'>_string-break-if-not-carry</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27668" class="LineNr">27668 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34249'>_string-loop-if-not-carry</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32 +<span id="L27669" class="LineNr">27669 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34124'>_string-break-if-overflow</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34416'>_string_0f_81_jump_label</a>/imm32 +<span id="L27670" class="LineNr">27670 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34254'>_string-loop-if-overflow</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34416'>_string_0f_81_jump_label</a>/imm32 +<span id="L27671" class="LineNr">27671 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34129'>_string-break-if-not-overflow</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34401'>_string_0f_80_jump_label</a>/imm32 +<span id="L27672" class="LineNr">27672 </span> 0x11/imm32/alloc-id <a href='mu.subx.html#L34259'>_string-loop-if-not-overflow</a>/imm32 0x11/imm32/alloc-id <a href='mu.subx.html#L34401'>_string_0f_80_jump_label</a>/imm32 <span id="L27673" class="LineNr">27673 </span> <span id="L27674" class="LineNr">27674 </span>== code <span id="L27675" class="LineNr">27675 </span> @@ -26086,12 +26086,12 @@ if ('onhashchange' in window) { <span id="L27711" class="LineNr">27711 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27712" class="LineNr">27712 </span><span class="Constant">$emit-unconditional-jump-to-depth:depth-found</span>: <span id="L27713" class="LineNr">27713 </span> <span class="subxComment"># if v is not a literal, continue</span> -<span id="L27714" class="LineNr">27714 </span> (size-of %ebx) <span class="subxComment"># => eax</span> +<span id="L27714" class="LineNr">27714 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> <span id="L27715" class="LineNr">27715 </span> 3d/compare-eax-and 0/imm32 <span id="L27716" class="LineNr">27716 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27717" class="LineNr">27717 </span><span class="Constant">$emit-unconditional-jump-to-depth:label-found</span>: <span id="L27718" class="LineNr">27718 </span> <span class="subxComment"># emit unconditional jump, then return</span> -<span id="L27719" class="LineNr">27719 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27719" class="LineNr">27719 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27720" class="LineNr">27720 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"e9/jump "</span>) <span id="L27721" class="LineNr">27721 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L27722" class="LineNr">27722 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) @@ -26168,7 +26168,7 @@ if ('onhashchange' in window) { <span id="L27793" class="LineNr">27793 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L27794" class="LineNr">27794 </span><span class="Constant">$emit-cleanup-code-until-depth:reclaim-var-in-register</span>: <span id="L27795" class="LineNr">27795 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L27796" class="LineNr">27796 </span> (emit-pop-register *(ebp+8) %eax) +<span id="L27796" class="LineNr">27796 </span> (<a href='mu.subx.html#L27957'>emit-pop-register</a> *(ebp+8) %eax) <span id="L27797" class="LineNr">27797 </span> } <span id="L27798" class="LineNr">27798 </span> eb/jump $emit-cleanup-code-until-depth:continue/disp8 <span id="L27799" class="LineNr">27799 </span> } @@ -26176,12 +26176,12 @@ if ('onhashchange' in window) { <span id="L27801" class="LineNr">27801 </span> { <span id="L27802" class="LineNr">27802 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L27803" class="LineNr">27803 </span><span class="Constant">$emit-cleanup-code-until-depth:var-on-stack</span>: -<span id="L27804" class="LineNr">27804 </span> (size-of %ebx) <span class="subxComment"># => eax</span> +<span id="L27804" class="LineNr">27804 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> <span id="L27805" class="LineNr">27805 </span> <span class="subxComment"># don't emit code for labels</span> <span id="L27806" class="LineNr">27806 </span> 3d/compare-eax-and 0/imm32 <span id="L27807" class="LineNr">27807 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L27808" class="LineNr">27808 </span><span class="Constant">$emit-cleanup-code-until-depth:reclaim-var-on-stack</span>: -<span id="L27809" class="LineNr">27809 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27809" class="LineNr">27809 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27810" class="LineNr">27810 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 0/subop/add %esp "</span>) <span id="L27811" class="LineNr">27811 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L27812" class="LineNr">27812 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) @@ -26246,15 +26246,15 @@ if ('onhashchange' in window) { <span id="L27871" class="LineNr">27871 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L27872" class="LineNr">27872 </span> 89/<- %edi 0/r32/eax <span id="L27873" class="LineNr">27873 </span> <span class="subxComment"># if reg is not in function outputs, emit a pop</span> -<span id="L27874" class="LineNr">27874 </span> (reg-in-function-outputs? *(ebp+0x10) %edi) <span class="subxComment"># => eax</span> +<span id="L27874" class="LineNr">27874 </span> (<a href='mu.subx.html#L28503'>reg-in-function-outputs?</a> *(ebp+0x10) %edi) <span class="subxComment"># => eax</span> <span id="L27875" class="LineNr">27875 </span> 3d/compare-eax-and 0/imm32/false <span id="L27876" class="LineNr">27876 </span> { <span id="L27877" class="LineNr">27877 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L27878" class="LineNr">27878 </span> (emit-pop-register *(ebp+8) %edi) +<span id="L27878" class="LineNr">27878 </span> (<a href='mu.subx.html#L27957'>emit-pop-register</a> *(ebp+8) %edi) <span id="L27879" class="LineNr">27879 </span> eb/jump $emit-cleanup-code-for-non-outputs:reclaim-var-in-register-done/disp8 <span id="L27880" class="LineNr">27880 </span> } <span id="L27881" class="LineNr">27881 </span> <span class="subxComment"># otherwise just drop it from the stack</span> -<span id="L27882" class="LineNr">27882 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27882" class="LineNr">27882 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27883" class="LineNr">27883 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 0/subop/add %esp 4/imm32\n"</span>) <span id="L27884" class="LineNr">27884 </span> } <span id="L27885" class="LineNr">27885 </span><span class="Constant">$emit-cleanup-code-for-non-outputs:reclaim-var-in-register-done</span>: @@ -26264,12 +26264,12 @@ if ('onhashchange' in window) { <span id="L27889" class="LineNr">27889 </span> { <span id="L27890" class="LineNr">27890 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L27891" class="LineNr">27891 </span><span class="Constant">$emit-cleanup-code-for-non-outputs:var-on-stack</span>: -<span id="L27892" class="LineNr">27892 </span> (size-of %ebx) <span class="subxComment"># => eax</span> +<span id="L27892" class="LineNr">27892 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> <span id="L27893" class="LineNr">27893 </span> <span class="subxComment"># don't emit code for labels</span> <span id="L27894" class="LineNr">27894 </span> 3d/compare-eax-and 0/imm32 <span id="L27895" class="LineNr">27895 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L27896" class="LineNr">27896 </span><span class="Constant">$emit-cleanup-code-for-non-outputs:reclaim-var-on-stack</span>: -<span id="L27897" class="LineNr">27897 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27897" class="LineNr">27897 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27898" class="LineNr">27898 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 0/subop/add %esp "</span>) <span id="L27899" class="LineNr">27899 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L27900" class="LineNr">27900 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) @@ -26306,9 +26306,9 @@ if ('onhashchange' in window) { <span id="L27931" class="LineNr">27931 </span> 3d/compare-eax-and 0x78/imm32/x <span id="L27932" class="LineNr">27932 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27933" class="LineNr">27933 </span> <span class="subxComment"># TODO validate register</span> -<span id="L27934" class="LineNr">27934 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27934" class="LineNr">27934 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27935" class="LineNr">27935 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 5/subop/subtract %esp 4/imm32\n"</span>) -<span id="L27936" class="LineNr">27936 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27936" class="LineNr">27936 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27937" class="LineNr">27937 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"f3 0f 11/<- *esp "</span>) <span id="L27938" class="LineNr">27938 </span> <span class="subxComment"># var prefix/eax: byte = reg->data[3]</span> <span id="L27939" class="LineNr">27939 </span> 8b/-> *(ebp+0xc) 0/r32/eax @@ -26319,7 +26319,7 @@ if ('onhashchange' in window) { <span id="L27944" class="LineNr">27944 </span> e9/jump $emit-push-register:end/disp32 <span id="L27945" class="LineNr">27945 </span> } <span id="L27946" class="LineNr">27946 </span> <span class="subxComment"># otherwise push gp register</span> -<span id="L27947" class="LineNr">27947 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27947" class="LineNr">27947 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27948" class="LineNr">27948 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"ff 6/subop/push %"</span>) <span id="L27949" class="LineNr">27949 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L27950" class="LineNr">27950 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) @@ -26345,7 +26345,7 @@ if ('onhashchange' in window) { <span id="L27970" class="LineNr">27970 </span> 3d/compare-eax-and 0x78/imm32/x <span id="L27971" class="LineNr">27971 </span> 0f 85/jump-if-!= <span class="Constant">break</span>/disp32 <span id="L27972" class="LineNr">27972 </span> <span class="subxComment"># TODO validate register</span> -<span id="L27973" class="LineNr">27973 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27973" class="LineNr">27973 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27974" class="LineNr">27974 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"f3 0f 10/-> *esp "</span>) <span id="L27975" class="LineNr">27975 </span> <span class="subxComment"># var prefix/eax: byte = reg->data[3]</span> <span id="L27976" class="LineNr">27976 </span> 8b/-> *(ebp+0xc) 0/r32/eax @@ -26353,12 +26353,12 @@ if ('onhashchange' in window) { <span id="L27978" class="LineNr">27978 </span> 25/and-eax-with 0xff/imm32 <span id="L27979" class="LineNr">27979 </span> (<a href='115write-byte.subx.html#L33'>write-byte-buffered</a> *(ebp+8) %eax) <span id="L27980" class="LineNr">27980 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/x32\n"</span>) -<span id="L27981" class="LineNr">27981 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27981" class="LineNr">27981 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27982" class="LineNr">27982 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 0/subop/add %esp 4/imm32\n"</span>) <span id="L27983" class="LineNr">27983 </span> e9/jump $emit-pop-register:end/disp32 <span id="L27984" class="LineNr">27984 </span> } <span id="L27985" class="LineNr">27985 </span> <span class="subxComment"># otherwise pop to gp register</span> -<span id="L27986" class="LineNr">27986 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L27986" class="LineNr">27986 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L27987" class="LineNr">27987 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8f 0/subop/pop %"</span>) <span id="L27988" class="LineNr">27988 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L27989" class="LineNr">27989 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) @@ -26413,7 +26413,7 @@ if ('onhashchange' in window) { <span id="L28038" class="LineNr">28038 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28039" class="LineNr">28039 </span><span class="Constant">$emit-cleanup-code-until-target:reclaim-var-in-register</span>: <span id="L28040" class="LineNr">28040 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L28041" class="LineNr">28041 </span> (emit-pop-register *(ebp+8) %eax) +<span id="L28041" class="LineNr">28041 </span> (<a href='mu.subx.html#L27957'>emit-pop-register</a> *(ebp+8) %eax) <span id="L28042" class="LineNr">28042 </span> } <span id="L28043" class="LineNr">28043 </span> eb/jump $emit-cleanup-code-until-target:continue/disp8 <span id="L28044" class="LineNr">28044 </span> } @@ -26421,12 +26421,12 @@ if ('onhashchange' in window) { <span id="L28046" class="LineNr">28046 </span> { <span id="L28047" class="LineNr">28047 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28048" class="LineNr">28048 </span><span class="Constant">$emit-cleanup-code-until-target:reclaim-var-on-stack</span>: -<span id="L28049" class="LineNr">28049 </span> (size-of %ebx) <span class="subxComment"># => eax</span> +<span id="L28049" class="LineNr">28049 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> <span id="L28050" class="LineNr">28050 </span> <span class="subxComment"># don't emit code for labels</span> <span id="L28051" class="LineNr">28051 </span> 3d/compare-eax-and 0/imm32 <span id="L28052" class="LineNr">28052 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28053" class="LineNr">28053 </span> <span class="subxComment">#</span> -<span id="L28054" class="LineNr">28054 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28054" class="LineNr">28054 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28055" class="LineNr">28055 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 0/subop/add %esp "</span>) <span id="L28056" class="LineNr">28056 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L28057" class="LineNr">28057 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) @@ -26490,7 +26490,7 @@ if ('onhashchange' in window) { <span id="L28115" class="LineNr">28115 </span> 3d/compare-eax-and 0/imm32/false <span id="L28116" class="LineNr">28116 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28117" class="LineNr">28117 </span><span class="Constant">$clean-up-stack-offset-state:reclaim-var-in-register</span>: -<span id="L28118" class="LineNr">28118 </span> 81 0/subop/add *<span class="SpecialChar">Curr-local-stack-offset</span> 4/imm32 +<span id="L28118" class="LineNr">28118 </span> 81 0/subop/add *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 4/imm32 <span id="L28119" class="LineNr">28119 </span> } <span id="L28120" class="LineNr">28120 </span> eb/jump $clean-up-stack-offset-state:continue/disp8 <span id="L28121" class="LineNr">28121 </span> } @@ -26498,8 +26498,8 @@ if ('onhashchange' in window) { <span id="L28123" class="LineNr">28123 </span> { <span id="L28124" class="LineNr">28124 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28125" class="LineNr">28125 </span><span class="Constant">$clean-up-stack-offset-state:var-on-stack</span>: -<span id="L28126" class="LineNr">28126 </span> (size-of %ebx) <span class="subxComment"># => eax</span> -<span id="L28127" class="LineNr">28127 </span> 01/add-to *<span class="SpecialChar">Curr-local-stack-offset</span> 0/r32/eax +<span id="L28126" class="LineNr">28126 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ebx) <span class="subxComment"># => eax</span> +<span id="L28127" class="LineNr">28127 </span> 01/add-to *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 0/r32/eax <span id="L28128" class="LineNr">28128 </span> } <span id="L28129" class="LineNr">28129 </span><span class="Constant">$clean-up-stack-offset-state:continue</span>: <span id="L28130" class="LineNr">28130 </span> <span class="subxComment"># curr -= 12</span> @@ -26603,7 +26603,7 @@ if ('onhashchange' in window) { <span id="L28228" class="LineNr">28228 </span> <span class="subxComment"># var reg/eax: (addr array byte) = lookup(v->register)</span> <span id="L28229" class="LineNr">28229 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L28230" class="LineNr">28230 </span> <span class="subxComment"># var target/eax: (addr var) = find-register(fn-outputs, reg)</span> -<span id="L28231" class="LineNr">28231 </span> (find-register *(ebp+0x10) %eax) <span class="subxComment"># => eax</span> +<span id="L28231" class="LineNr">28231 </span> (<a href='mu.subx.html#L28252'>find-register</a> *(ebp+0x10) %eax) <span class="subxComment"># => eax</span> <span id="L28232" class="LineNr">28232 </span> <span class="subxComment"># if (target == 0) return true</span> <span id="L28233" class="LineNr">28233 </span> { <span id="L28234" class="LineNr">28234 </span> 3d/compare-eax-and 0/imm32 @@ -26612,7 +26612,7 @@ if ('onhashchange' in window) { <span id="L28237" class="LineNr">28237 </span> eb/jump $will-not-write-some-register?:end/disp8 <span id="L28238" class="LineNr">28238 </span> } <span id="L28239" class="LineNr">28239 </span> <span class="subxComment"># return !assigns-in-stmts?(stmts, target)</span> -<span id="L28240" class="LineNr">28240 </span> (assigns-in-stmts? *(ebp+0xc) %eax) <span class="subxComment"># => eax</span> +<span id="L28240" class="LineNr">28240 </span> (<a href='mu.subx.html#L28294'>assigns-in-stmts?</a> *(ebp+0xc) %eax) <span class="subxComment"># => eax</span> <span id="L28241" class="LineNr">28241 </span> 3d/compare-eax-and 0/imm32/false <span id="L28242" class="LineNr">28242 </span> <span class="subxComment"># assume: true = 1, so no need to mask with 0x000000ff</span> <span id="L28243" class="LineNr">28243 </span> 0f 94/set-if-= %al @@ -26680,7 +26680,7 @@ if ('onhashchange' in window) { <span id="L28305" class="LineNr">28305 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28306" class="LineNr">28306 </span> <span class="subxComment"># if assigns-in-stmt?(curr->value, v) return true</span> <span id="L28307" class="LineNr">28307 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># List-value List-value => eax</span> -<span id="L28308" class="LineNr">28308 </span> (assigns-in-stmt? %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L28308" class="LineNr">28308 </span> (<a href='mu.subx.html#L28325'>assigns-in-stmt?</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L28309" class="LineNr">28309 </span> 3d/compare-eax-and 0/imm32/false <span id="L28310" class="LineNr">28310 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28311" class="LineNr">28311 </span> <span class="subxComment"># curr = lookup(curr->next)</span> @@ -26710,7 +26710,7 @@ if ('onhashchange' in window) { <span id="L28335" class="LineNr">28335 </span> 81 7/subop/compare *ecx 1/imm32/stmt1 <span class="subxComment"># Stmt-tag</span> <span id="L28336" class="LineNr">28336 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28337" class="LineNr">28337 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x14) *(ecx+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> -<span id="L28338" class="LineNr">28338 </span> (assigns-in-stmt-vars? %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L28338" class="LineNr">28338 </span> (<a href='mu.subx.html#L28359'>assigns-in-stmt-vars?</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L28339" class="LineNr">28339 </span> eb/jump $assigns-in-stmt?:end/disp8 <span id="L28340" class="LineNr">28340 </span> } <span id="L28341" class="LineNr">28341 </span> <span class="subxComment"># if stmt is a block, return assigns-in-stmts?(stmt->stmts, v)</span> @@ -26718,7 +26718,7 @@ if ('onhashchange' in window) { <span id="L28343" class="LineNr">28343 </span> 81 7/subop/compare *ecx 0/imm32/block <span class="subxComment"># Stmt-tag</span> <span id="L28344" class="LineNr">28344 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28345" class="LineNr">28345 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+4) *(ecx+8)) <span class="subxComment"># Block-stmts Block-stmts => eax</span> -<span id="L28346" class="LineNr">28346 </span> (assigns-in-stmts? %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L28346" class="LineNr">28346 </span> (<a href='mu.subx.html#L28294'>assigns-in-stmts?</a> %eax *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L28347" class="LineNr">28347 </span> eb/jump $assigns-in-stmt?:end/disp8 <span id="L28348" class="LineNr">28348 </span> } <span id="L28349" class="LineNr">28349 </span> <span class="subxComment"># otherwise return false</span> @@ -26927,43 +26927,43 @@ if ('onhashchange' in window) { <span id="L28552" class="LineNr">28552 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Vardef-var Vardef-var => eax</span> <span id="L28553" class="LineNr">28553 </span> 89/<- %ecx 0/r32/eax <span id="L28554" class="LineNr">28554 </span> <span class="subxComment"># v->block-depth = *Curr-block-depth</span> -<span id="L28555" class="LineNr">28555 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 0/r32/eax +<span id="L28555" class="LineNr">28555 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/r32/eax <span id="L28556" class="LineNr">28556 </span> 89/<- *(ecx+0x10) 0/r32/eax <span class="subxComment"># Var-block-depth</span> <span id="L28557" class="LineNr">28557 </span> <span class="subxComment"># var n/edx: int = size-of(stmt->var)</span> -<span id="L28558" class="LineNr">28558 </span> (size-of %ecx) <span class="subxComment"># => eax</span> +<span id="L28558" class="LineNr">28558 </span> (<a href='mu.subx.html#L26595'>size-of</a> %ecx) <span class="subxComment"># => eax</span> <span id="L28559" class="LineNr">28559 </span> 89/<- %edx 0/r32/eax <span id="L28560" class="LineNr">28560 </span> <span class="subxComment"># *Curr-local-stack-offset -= n</span> -<span id="L28561" class="LineNr">28561 </span> 29/subtract-from *<span class="SpecialChar">Curr-local-stack-offset</span> 2/r32/edx +<span id="L28561" class="LineNr">28561 </span> 29/subtract-from *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 2/r32/edx <span id="L28562" class="LineNr">28562 </span> <span class="subxComment"># v->offset = *Curr-local-stack-offset</span> -<span id="L28563" class="LineNr">28563 </span> 8b/-> *<span class="SpecialChar">Curr-local-stack-offset</span> 0/r32/eax +<span id="L28563" class="LineNr">28563 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L26998'>Curr-local-stack-offset</a></span> 0/r32/eax <span id="L28564" class="LineNr">28564 </span> 89/<- *(ecx+0x14) 0/r32/eax <span class="subxComment"># Var-offset</span> <span id="L28565" class="LineNr">28565 </span> <span class="subxComment"># if v is an array, do something special to initialize it</span> <span id="L28566" class="LineNr">28566 </span> { <span id="L28567" class="LineNr">28567 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L28568" class="LineNr">28568 </span> (mu-array? %eax) <span class="subxComment"># => eax</span> +<span id="L28568" class="LineNr">28568 </span> (<a href='mu.subx.html#L26692'>mu-array?</a> %eax) <span class="subxComment"># => eax</span> <span id="L28569" class="LineNr">28569 </span> 3d/compare-eax-and 0/imm32/false <span id="L28570" class="LineNr">28570 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L28571" class="LineNr">28571 </span> <span class="subxComment"># var array-size-without-size/edx: int = n-4</span> <span id="L28572" class="LineNr">28572 </span> 81 5/subop/subtract %edx 4/imm32 <span id="L28573" class="LineNr">28573 </span> <span class="subxComment">#</span> -<span id="L28574" class="LineNr">28574 </span> (emit-array-data-initialization *(ebp+8) %edx) +<span id="L28574" class="LineNr">28574 </span> (<a href='mu.subx.html#L28617'>emit-array-data-initialization</a> *(ebp+8) %edx) <span id="L28575" class="LineNr">28575 </span> e9/jump $emit-subx-var-def:end/disp32 <span id="L28576" class="LineNr">28576 </span> } <span id="L28577" class="LineNr">28577 </span> <span class="subxComment"># another special-case for initializing streams</span> <span id="L28578" class="LineNr">28578 </span> <span class="subxComment"># a stream is an array with 2 extra pointers</span> <span id="L28579" class="LineNr">28579 </span> { <span id="L28580" class="LineNr">28580 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L28581" class="LineNr">28581 </span> (mu-stream? %eax) <span class="subxComment"># => eax</span> +<span id="L28581" class="LineNr">28581 </span> (<a href='mu.subx.html#L26757'>mu-stream?</a> %eax) <span class="subxComment"># => eax</span> <span id="L28582" class="LineNr">28582 </span> 3d/compare-eax-and 0/imm32/false <span id="L28583" class="LineNr">28583 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L28584" class="LineNr">28584 </span> <span class="subxComment"># var array-size-without-size/edx: int = n-12</span> <span id="L28585" class="LineNr">28585 </span> 81 5/subop/subtract %edx 0xc/imm32 <span id="L28586" class="LineNr">28586 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L28587" class="LineNr">28587 </span> (emit-stream-data-initialization *(ebp+8) %edx %eax *(ebp+0x10) *(ebp+0x14)) +<span id="L28587" class="LineNr">28587 </span> (<a href='mu.subx.html#L28636'>emit-stream-data-initialization</a> *(ebp+8) %edx %eax *(ebp+0x10) *(ebp+0x14)) <span id="L28588" class="LineNr">28588 </span> <span class="subxComment"># emit read and write pointers</span> -<span id="L28589" class="LineNr">28589 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28589" class="LineNr">28589 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28590" class="LineNr">28590 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"68/push 0/imm32\n"</span>) -<span id="L28591" class="LineNr">28591 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28591" class="LineNr">28591 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28592" class="LineNr">28592 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"68/push 0/imm32\n"</span>) <span id="L28593" class="LineNr">28593 </span> <span class="subxComment">#</span> <span id="L28594" class="LineNr">28594 </span> eb/jump $emit-subx-var-def:end/disp8 @@ -26972,7 +26972,7 @@ if ('onhashchange' in window) { <span id="L28597" class="LineNr">28597 </span> { <span id="L28598" class="LineNr">28598 </span> 81 7/subop/compare %edx 0/imm32 <span id="L28599" class="LineNr">28599 </span> 7e/jump-if-<= <span class="Constant">break</span>/disp8 -<span id="L28600" class="LineNr">28600 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28600" class="LineNr">28600 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28601" class="LineNr">28601 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"68/push 0/imm32\n"</span>) <span id="L28602" class="LineNr">28602 </span> <span class="subxComment"># n -= 4</span> <span id="L28603" class="LineNr">28603 </span> 81 5/subop/subtract %edx 4/imm32 @@ -26994,11 +26994,11 @@ if ('onhashchange' in window) { <span id="L28619" class="LineNr">28619 </span> 55/push-ebp <span id="L28620" class="LineNr">28620 </span> 89/<- %ebp 4/r32/esp <span id="L28621" class="LineNr">28621 </span> <span class="subxComment">#</span> -<span id="L28622" class="LineNr">28622 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28622" class="LineNr">28622 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28623" class="LineNr">28623 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> "</span>) <span id="L28624" class="LineNr">28624 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L28625" class="LineNr">28625 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) -<span id="L28626" class="LineNr">28626 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28626" class="LineNr">28626 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28627" class="LineNr">28627 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"68/push "</span>) <span id="L28628" class="LineNr">28628 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L28629" class="LineNr">28629 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) @@ -27026,21 +27026,21 @@ if ('onhashchange' in window) { <span id="L28651" class="LineNr">28651 </span> <span class="subxComment"># pointers. But you can't _really_ protect from unsafe SubX, so I think we</span> <span id="L28652" class="LineNr">28652 </span> <span class="subxComment"># don't give up much safety or security here.</span> <span id="L28653" class="LineNr">28653 </span> { -<span id="L28654" class="LineNr">28654 </span> (stream-element-type-id *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> +<span id="L28654" class="LineNr">28654 </span> (<a href='mu.subx.html#L29136'>stream-element-type-id</a> *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> <span id="L28655" class="LineNr">28655 </span> 3d/compare-eax-and 8/imm32/byte <span id="L28656" class="LineNr">28656 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 -<span id="L28657" class="LineNr">28657 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28657" class="LineNr">28657 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28658" class="LineNr">28658 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 5/subop/subtract %esp "</span>) <span id="L28659" class="LineNr">28659 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L28660" class="LineNr">28660 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) <span id="L28661" class="LineNr">28661 </span> eb/jump $emit-stream-data-initialization:emit-length/disp8 <span id="L28662" class="LineNr">28662 </span> } -<span id="L28663" class="LineNr">28663 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28663" class="LineNr">28663 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28664" class="LineNr">28664 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='302stack_allocate.subx.html#L34'>push-n-zero-bytes</a> "</span>) <span id="L28665" class="LineNr">28665 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L28666" class="LineNr">28666 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L28667" class="LineNr">28667 </span><span class="Constant">$emit-stream-data-initialization:emit-length</span>: -<span id="L28668" class="LineNr">28668 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28668" class="LineNr">28668 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28669" class="LineNr">28669 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"68/push "</span>) <span id="L28670" class="LineNr">28670 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L28671" class="LineNr">28671 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) @@ -27070,7 +27070,7 @@ if ('onhashchange' in window) { <span id="L28695" class="LineNr">28695 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-byte"</span>) <span class="subxComment"># => eax</span> <span id="L28696" class="LineNr">28696 </span> 3d/compare-eax-and 0/imm32/false <span id="L28697" class="LineNr">28697 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28698" class="LineNr">28698 </span> (translate-mu-copy-byte-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28698" class="LineNr">28698 </span> (<a href='mu.subx.html#L29304'>translate-mu-copy-byte-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28699" class="LineNr">28699 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28700" class="LineNr">28700 </span> } <span id="L28701" class="LineNr">28701 </span> <span class="subxComment"># copy-byte-to can be a primitive; writes to memory don't need to clear surrounding bytes</span> @@ -27080,7 +27080,7 @@ if ('onhashchange' in window) { <span id="L28705" class="LineNr">28705 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"length"</span>) <span class="subxComment"># => eax</span> <span id="L28706" class="LineNr">28706 </span> 3d/compare-eax-and 0/imm32/false <span id="L28707" class="LineNr">28707 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28708" class="LineNr">28708 </span> (translate-mu-length-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28708" class="LineNr">28708 </span> (<a href='mu.subx.html#L28875'>translate-mu-length-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28709" class="LineNr">28709 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28710" class="LineNr">28710 </span> } <span id="L28711" class="LineNr">28711 </span> <span class="subxComment"># index into array</span> @@ -27089,7 +27089,7 @@ if ('onhashchange' in window) { <span id="L28714" class="LineNr">28714 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"index"</span>) <span class="subxComment"># => eax</span> <span id="L28715" class="LineNr">28715 </span> 3d/compare-eax-and 0/imm32/false <span id="L28716" class="LineNr">28716 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28717" class="LineNr">28717 </span> (translate-mu-index-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28717" class="LineNr">28717 </span> (<a href='mu.subx.html#L29346'>translate-mu-index-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L28718" class="LineNr">28718 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28719" class="LineNr">28719 </span> } <span id="L28720" class="LineNr">28720 </span> <span class="subxComment"># compute-offset for index into array</span> @@ -27098,7 +27098,7 @@ if ('onhashchange' in window) { <span id="L28723" class="LineNr">28723 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"compute-offset"</span>) <span class="subxComment"># => eax</span> <span id="L28724" class="LineNr">28724 </span> 3d/compare-eax-and 0/imm32/false <span id="L28725" class="LineNr">28725 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28726" class="LineNr">28726 </span> (translate-mu-compute-index-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28726" class="LineNr">28726 </span> (<a href='mu.subx.html#L29758'>translate-mu-compute-index-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28727" class="LineNr">28727 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28728" class="LineNr">28728 </span> } <span id="L28729" class="LineNr">28729 </span> <span class="subxComment"># get field from record</span> @@ -27107,7 +27107,7 @@ if ('onhashchange' in window) { <span id="L28732" class="LineNr">28732 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"get"</span>) <span class="subxComment"># => eax</span> <span id="L28733" class="LineNr">28733 </span> 3d/compare-eax-and 0/imm32/false <span id="L28734" class="LineNr">28734 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28735" class="LineNr">28735 </span> (translate-mu-get-stmt *(ebp+8) *(ebp+0xc)) +<span id="L28735" class="LineNr">28735 </span> (<a href='mu.subx.html#L29806'>translate-mu-get-stmt</a> *(ebp+8) *(ebp+0xc)) <span id="L28736" class="LineNr">28736 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28737" class="LineNr">28737 </span> } <span id="L28738" class="LineNr">28738 </span> <span class="subxComment"># allocate scalar</span> @@ -27116,7 +27116,7 @@ if ('onhashchange' in window) { <span id="L28741" class="LineNr">28741 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"allocate"</span>) <span class="subxComment"># => eax</span> <span id="L28742" class="LineNr">28742 </span> 3d/compare-eax-and 0/imm32/false <span id="L28743" class="LineNr">28743 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28744" class="LineNr">28744 </span> (translate-mu-allocate-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28744" class="LineNr">28744 </span> (<a href='mu.subx.html#L29943'>translate-mu-allocate-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28745" class="LineNr">28745 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28746" class="LineNr">28746 </span> } <span id="L28747" class="LineNr">28747 </span> <span class="subxComment"># copy-object</span> @@ -27125,7 +27125,7 @@ if ('onhashchange' in window) { <span id="L28750" class="LineNr">28750 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"copy-object"</span>) <span class="subxComment"># => eax</span> <span id="L28751" class="LineNr">28751 </span> 3d/compare-eax-and 0/imm32/false <span id="L28752" class="LineNr">28752 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28753" class="LineNr">28753 </span> (translate-mu-copy-object-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28753" class="LineNr">28753 </span> (<a href='mu.subx.html#L29886'>translate-mu-copy-object-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28754" class="LineNr">28754 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28755" class="LineNr">28755 </span> } <span id="L28756" class="LineNr">28756 </span> <span class="subxComment"># clear-object</span> @@ -27134,7 +27134,7 @@ if ('onhashchange' in window) { <span id="L28759" class="LineNr">28759 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"clear-object"</span>) <span class="subxComment"># => eax</span> <span id="L28760" class="LineNr">28760 </span> 3d/compare-eax-and 0/imm32/false <span id="L28761" class="LineNr">28761 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28762" class="LineNr">28762 </span> (translate-mu-clear-object-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28762" class="LineNr">28762 </span> (<a href='mu.subx.html#L29916'>translate-mu-clear-object-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28763" class="LineNr">28763 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28764" class="LineNr">28764 </span> } <span id="L28765" class="LineNr">28765 </span> <span class="subxComment"># allocate array</span> @@ -27143,7 +27143,7 @@ if ('onhashchange' in window) { <span id="L28768" class="LineNr">28768 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"populate"</span>) <span class="subxComment"># => eax</span> <span id="L28769" class="LineNr">28769 </span> 3d/compare-eax-and 0/imm32/false <span id="L28770" class="LineNr">28770 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28771" class="LineNr">28771 </span> (translate-mu-populate-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28771" class="LineNr">28771 </span> (<a href='mu.subx.html#L30039'>translate-mu-populate-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28772" class="LineNr">28772 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28773" class="LineNr">28773 </span> } <span id="L28774" class="LineNr">28774 </span> <span class="subxComment"># allocate stream</span> @@ -27152,7 +27152,7 @@ if ('onhashchange' in window) { <span id="L28777" class="LineNr">28777 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"populate-stream"</span>) <span class="subxComment"># => eax</span> <span id="L28778" class="LineNr">28778 </span> 3d/compare-eax-and 0/imm32/false <span id="L28779" class="LineNr">28779 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28780" class="LineNr">28780 </span> (translate-mu-populate-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28780" class="LineNr">28780 </span> (<a href='mu.subx.html#L30075'>translate-mu-populate-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28781" class="LineNr">28781 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28782" class="LineNr">28782 </span> } <span id="L28783" class="LineNr">28783 </span> <span class="subxComment"># read from stream</span> @@ -27161,7 +27161,7 @@ if ('onhashchange' in window) { <span id="L28786" class="LineNr">28786 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"read-from-stream"</span>) <span class="subxComment"># => eax</span> <span id="L28787" class="LineNr">28787 </span> 3d/compare-eax-and 0/imm32/false <span id="L28788" class="LineNr">28788 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28789" class="LineNr">28789 </span> (translate-mu-read-from-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28789" class="LineNr">28789 </span> (<a href='mu.subx.html#L30111'>translate-mu-read-from-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28790" class="LineNr">28790 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28791" class="LineNr">28791 </span> } <span id="L28792" class="LineNr">28792 </span> <span class="subxComment"># write to stream</span> @@ -27170,28 +27170,28 @@ if ('onhashchange' in window) { <span id="L28795" class="LineNr">28795 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %ecx <span class="Constant">"write-to-stream"</span>) <span class="subxComment"># => eax</span> <span id="L28796" class="LineNr">28796 </span> 3d/compare-eax-and 0/imm32/false <span id="L28797" class="LineNr">28797 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L28798" class="LineNr">28798 </span> (translate-mu-write-to-stream-stmt *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) +<span id="L28798" class="LineNr">28798 </span> (<a href='mu.subx.html#L30148'>translate-mu-write-to-stream-stmt</a> *(ebp+8) *(ebp+0xc) *(ebp+0x18) *(ebp+0x1c)) <span id="L28799" class="LineNr">28799 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28800" class="LineNr">28800 </span> } <span id="L28801" class="LineNr">28801 </span> <span class="subxH1Comment"># - optimizations</span> <span id="L28802" class="LineNr">28802 </span> <span class="subxComment"># if copy instruction has same register in source and destination, emit nothing</span> -<span id="L28803" class="LineNr">28803 </span> (redundant-copy? *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L28803" class="LineNr">28803 </span> (<a href='mu.subx.html#L28829'>redundant-copy?</a> *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L28804" class="LineNr">28804 </span> 3d/compare-eax-and 0/imm32/false <span id="L28805" class="LineNr">28805 </span> 75/jump-if-!= $emit-subx-stmt:end/disp8 <span id="L28806" class="LineNr">28806 </span> <span class="subxH1Comment"># - if stmt matches a primitive, emit it</span> <span id="L28807" class="LineNr">28807 </span> { <span id="L28808" class="LineNr">28808 </span><span class="Constant">$emit-subx-stmt:check-for-primitive</span>: <span id="L28809" class="LineNr">28809 </span> <span class="subxComment"># var curr/eax: (addr primitive)</span> -<span id="L28810" class="LineNr">28810 </span> (find-matching-primitive *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># primitives, stmt => eax</span> +<span id="L28810" class="LineNr">28810 </span> (<a href='mu.subx.html#L35852'>find-matching-primitive</a> *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># primitives, stmt => eax</span> <span id="L28811" class="LineNr">28811 </span> 3d/compare-eax-and 0/imm32 <span id="L28812" class="LineNr">28812 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28813" class="LineNr">28813 </span><span class="Constant">$emit-subx-stmt:primitive</span>: -<span id="L28814" class="LineNr">28814 </span> (emit-subx-primitive *(ebp+8) *(ebp+0xc) %eax) <span class="subxComment"># out, stmt, curr</span> +<span id="L28814" class="LineNr">28814 </span> (<a href='mu.subx.html#L35323'>emit-subx-primitive</a> *(ebp+8) *(ebp+0xc) %eax) <span class="subxComment"># out, stmt, curr</span> <span id="L28815" class="LineNr">28815 </span> e9/jump $emit-subx-stmt:end/disp32 <span id="L28816" class="LineNr">28816 </span> } <span id="L28817" class="LineNr">28817 </span> <span class="subxH1Comment"># - otherwise emit a call</span> <span id="L28818" class="LineNr">28818 </span><span class="Constant">$emit-subx-stmt:call</span>: -<span id="L28819" class="LineNr">28819 </span> (emit-call *(ebp+8) *(ebp+0xc)) +<span id="L28819" class="LineNr">28819 </span> (<a href='mu.subx.html#L35592'>emit-call</a> *(ebp+8) *(ebp+0xc)) <span id="L28820" class="LineNr">28820 </span><span class="Constant">$emit-subx-stmt:end</span>: <span id="L28821" class="LineNr">28821 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L28822" class="LineNr">28822 </span> 59/pop-to-ecx @@ -27264,7 +27264,7 @@ if ('onhashchange' in window) { <span id="L28889" class="LineNr">28889 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L28890" class="LineNr">28890 </span> 89/<- %ebx 0/r32/eax <span id="L28891" class="LineNr">28891 </span> <span class="subxComment"># var elemsize/ecx: int = array-element-size(base)</span> -<span id="L28892" class="LineNr">28892 </span> (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L28892" class="LineNr">28892 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L28893" class="LineNr">28893 </span> 89/<- %ecx 0/r32/eax <span id="L28894" class="LineNr">28894 </span> <span class="subxComment"># var outreg/edx: (addr array byte) = stmt->outputs[0]->value->register</span> <span id="L28895" class="LineNr">28895 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x14) *(esi+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> @@ -27276,19 +27276,19 @@ if ('onhashchange' in window) { <span id="L28901" class="LineNr">28901 </span> 81 7/subop/compare %ecx 1/imm32 <span id="L28902" class="LineNr">28902 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L28903" class="LineNr">28903 </span><span class="Constant">$translate-mu-length-stmt:size-1</span>: -<span id="L28904" class="LineNr">28904 </span> (emit-save-size-to *(ebp+8) %ebx %edx) +<span id="L28904" class="LineNr">28904 </span> (<a href='mu.subx.html#L29239'>emit-save-size-to</a> *(ebp+8) %ebx %edx) <span id="L28905" class="LineNr">28905 </span> e9/jump $translate-mu-length-stmt:end/disp32 <span id="L28906" class="LineNr">28906 </span> } <span id="L28907" class="LineNr">28907 </span> <span class="subxComment"># if elemsize is a power of 2 less than 256</span> <span id="L28908" class="LineNr">28908 </span> { -<span id="L28909" class="LineNr">28909 </span> (power-of-2? %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L28909" class="LineNr">28909 </span> (<a href='mu.subx.html#L30274'>power-of-2?</a> %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L28910" class="LineNr">28910 </span> 3d/compare-eax-and 0/imm32/false <span id="L28911" class="LineNr">28911 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L28912" class="LineNr">28912 </span> 81 7/subop/compare %ecx 0xff/imm32 <span id="L28913" class="LineNr">28913 </span> 7f/jump-if-> <span class="Constant">break</span>/disp8 <span id="L28914" class="LineNr">28914 </span><span class="Constant">$translate-mu-length-stmt:size-power-of-2</span>: -<span id="L28915" class="LineNr">28915 </span> (emit-save-size-to *(ebp+8) %ebx %edx) -<span id="L28916" class="LineNr">28916 </span> (emit-divide-by-shift-right *(ebp+8) %edx %ecx) +<span id="L28915" class="LineNr">28915 </span> (<a href='mu.subx.html#L29239'>emit-save-size-to</a> *(ebp+8) %ebx %edx) +<span id="L28916" class="LineNr">28916 </span> (<a href='mu.subx.html#L29282'>emit-divide-by-shift-right</a> *(ebp+8) %edx %ecx) <span id="L28917" class="LineNr">28917 </span> e9/jump $translate-mu-length-stmt:end/disp32 <span id="L28918" class="LineNr">28918 </span> } <span id="L28919" class="LineNr">28919 </span> <span class="subxComment"># otherwise, the complex case</span> @@ -27298,38 +27298,38 @@ if ('onhashchange' in window) { <span id="L28923" class="LineNr">28923 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"eax"</span>) <span class="subxComment"># => eax</span> <span id="L28924" class="LineNr">28924 </span> 3d/compare-eax-and 0/imm32/false <span id="L28925" class="LineNr">28925 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28926" class="LineNr">28926 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28926" class="LineNr">28926 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28927" class="LineNr">28927 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"50/push-eax\n"</span>) <span id="L28928" class="LineNr">28928 </span> } <span id="L28929" class="LineNr">28929 </span> { <span id="L28930" class="LineNr">28930 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"ecx"</span>) <span class="subxComment"># => eax</span> <span id="L28931" class="LineNr">28931 </span> 3d/compare-eax-and 0/imm32/false <span id="L28932" class="LineNr">28932 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28933" class="LineNr">28933 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28933" class="LineNr">28933 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28934" class="LineNr">28934 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"51/push-ecx\n"</span>) <span id="L28935" class="LineNr">28935 </span> } <span id="L28936" class="LineNr">28936 </span> { <span id="L28937" class="LineNr">28937 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"edx"</span>) <span class="subxComment"># => eax</span> <span id="L28938" class="LineNr">28938 </span> 3d/compare-eax-and 0/imm32/false <span id="L28939" class="LineNr">28939 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28940" class="LineNr">28940 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28940" class="LineNr">28940 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28941" class="LineNr">28941 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"52/push-edx\n"</span>) <span id="L28942" class="LineNr">28942 </span> } <span id="L28943" class="LineNr">28943 </span> <span class="subxS1Comment"># .</span> -<span id="L28944" class="LineNr">28944 </span> (emit-save-size-to *(ebp+8) %ebx <span class="Constant">"eax"</span>) -<span id="L28945" class="LineNr">28945 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28944" class="LineNr">28944 </span> (<a href='mu.subx.html#L29239'>emit-save-size-to</a> *(ebp+8) %ebx <span class="Constant">"eax"</span>) +<span id="L28945" class="LineNr">28945 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28946" class="LineNr">28946 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"31/xor %edx 2/r32/edx\n"</span>) -<span id="L28947" class="LineNr">28947 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28947" class="LineNr">28947 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28948" class="LineNr">28948 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"b9/copy-to-ecx "</span>) <span id="L28949" class="LineNr">28949 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %ecx) <span id="L28950" class="LineNr">28950 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32\n"</span>) -<span id="L28951" class="LineNr">28951 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28951" class="LineNr">28951 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28952" class="LineNr">28952 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"f7 7/subop/idiv-eax-edx-by %ecx\n"</span>) <span id="L28953" class="LineNr">28953 </span> { <span id="L28954" class="LineNr">28954 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"eax"</span>) <span class="subxComment"># => eax</span> <span id="L28955" class="LineNr">28955 </span> 3d/compare-eax-and 0/imm32/false <span id="L28956" class="LineNr">28956 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28957" class="LineNr">28957 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28957" class="LineNr">28957 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28958" class="LineNr">28958 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"89/<- %"</span>) <span id="L28959" class="LineNr">28959 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %edx) <span id="L28960" class="LineNr">28960 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" 0/r32/eax\n"</span>) @@ -27339,21 +27339,21 @@ if ('onhashchange' in window) { <span id="L28964" class="LineNr">28964 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"edx"</span>) <span class="subxComment"># => eax</span> <span id="L28965" class="LineNr">28965 </span> 3d/compare-eax-and 0/imm32/false <span id="L28966" class="LineNr">28966 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28967" class="LineNr">28967 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28967" class="LineNr">28967 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28968" class="LineNr">28968 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"5a/pop-to-edx\n"</span>) <span id="L28969" class="LineNr">28969 </span> } <span id="L28970" class="LineNr">28970 </span> { <span id="L28971" class="LineNr">28971 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"ecx"</span>) <span class="subxComment"># => eax</span> <span id="L28972" class="LineNr">28972 </span> 3d/compare-eax-and 0/imm32/false <span id="L28973" class="LineNr">28973 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28974" class="LineNr">28974 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28974" class="LineNr">28974 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28975" class="LineNr">28975 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"59/pop-to-ecx\n"</span>) <span id="L28976" class="LineNr">28976 </span> } <span id="L28977" class="LineNr">28977 </span> { <span id="L28978" class="LineNr">28978 </span> (<a href='105string-equal.subx.html#L15'>string-equal?</a> %edx <span class="Constant">"eax"</span>) <span class="subxComment"># => eax</span> <span id="L28979" class="LineNr">28979 </span> 3d/compare-eax-and 0/imm32/false <span id="L28980" class="LineNr">28980 </span> 75/break-if-!= <span class="Constant">break</span>/disp8 -<span id="L28981" class="LineNr">28981 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L28981" class="LineNr">28981 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L28982" class="LineNr">28982 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"58/pop-to-eax\n"</span>) <span id="L28983" class="LineNr">28983 </span> } <span id="L28984" class="LineNr">28984 </span><span class="Constant">$translate-mu-length-stmt:end</span>: @@ -27373,8 +27373,8 @@ if ('onhashchange' in window) { <span id="L28998" class="LineNr">28998 </span> 55/push-ebp <span id="L28999" class="LineNr">28999 </span> 89/<- %ebp 4/r32/esp <span id="L29000" class="LineNr">29000 </span> <span class="subxComment">#</span> -<span id="L29001" class="LineNr">29001 </span> (array-element-type-id *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> -<span id="L29002" class="LineNr">29002 </span> (size-of-type-id-as-array-element %eax) <span class="subxComment"># => eax</span> +<span id="L29001" class="LineNr">29001 </span> (<a href='mu.subx.html#L29009'>array-element-type-id</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L29002" class="LineNr">29002 </span> (<a href='mu.subx.html#L29115'>size-of-type-id-as-array-element</a> %eax) <span class="subxComment"># => eax</span> <span id="L29003" class="LineNr">29003 </span><span class="Constant">$array-element-size:end</span>: <span id="L29004" class="LineNr">29004 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L29005" class="LineNr">29005 </span> 89/<- %esp 5/r32/ebp @@ -27400,7 +27400,7 @@ if ('onhashchange' in window) { <span id="L29025" class="LineNr">29025 </span> { <span id="L29026" class="LineNr">29026 </span> 50/push-eax <span id="L29027" class="LineNr">29027 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29028" class="LineNr">29028 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L29028" class="LineNr">29028 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L29029" class="LineNr">29029 </span> 3d/compare-eax-with 0/imm32/false <span id="L29030" class="LineNr">29030 </span> 58/pop-to-eax <span id="L29031" class="LineNr">29031 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 @@ -27417,7 +27417,7 @@ if ('onhashchange' in window) { <span id="L29042" class="LineNr">29042 </span> { <span id="L29043" class="LineNr">29043 </span> 50/push-eax <span id="L29044" class="LineNr">29044 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29045" class="LineNr">29045 </span> (simple-mu-type? %eax 3) <span class="subxComment"># array => eax</span> +<span id="L29045" class="LineNr">29045 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 3) <span class="subxComment"># array => eax</span> <span id="L29046" class="LineNr">29046 </span> 3d/compare-eax-with 0/imm32/false <span id="L29047" class="LineNr">29047 </span> 58/pop-to-eax <span id="L29048" class="LineNr">29048 </span><span class="Constant">$array-element-type-id:no-array</span>: @@ -27501,7 +27501,7 @@ if ('onhashchange' in window) { <span id="L29126" class="LineNr">29126 </span> eb/jump $size-of-type-id-as-array-element:end/disp8 <span id="L29127" class="LineNr">29127 </span> } <span id="L29128" class="LineNr">29128 </span> <span class="subxComment"># otherwise proceed as usual</span> -<span id="L29129" class="LineNr">29129 </span> (size-of-type-id %eax) <span class="subxComment"># => eax</span> +<span id="L29129" class="LineNr">29129 </span> (<a href='mu.subx.html#L26801'>size-of-type-id</a> %eax) <span class="subxComment"># => eax</span> <span id="L29130" class="LineNr">29130 </span><span class="Constant">$size-of-type-id-as-array-element:end</span>: <span id="L29131" class="LineNr">29131 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L29132" class="LineNr">29132 </span> 89/<- %esp 5/r32/ebp @@ -27525,7 +27525,7 @@ if ('onhashchange' in window) { <span id="L29150" class="LineNr">29150 </span> { <span id="L29151" class="LineNr">29151 </span> 50/push-eax <span id="L29152" class="LineNr">29152 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29153" class="LineNr">29153 </span> (simple-mu-type? %eax 2) <span class="subxComment"># addr => eax</span> +<span id="L29153" class="LineNr">29153 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 2) <span class="subxComment"># addr => eax</span> <span id="L29154" class="LineNr">29154 </span> 3d/compare-eax-with 0/imm32/false <span id="L29155" class="LineNr">29155 </span> 58/pop-to-eax <span id="L29156" class="LineNr">29156 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 @@ -27542,7 +27542,7 @@ if ('onhashchange' in window) { <span id="L29167" class="LineNr">29167 </span> { <span id="L29168" class="LineNr">29168 </span> 50/push-eax <span id="L29169" class="LineNr">29169 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29170" class="LineNr">29170 </span> (simple-mu-type? %eax 0xb) <span class="subxComment"># stream => eax</span> +<span id="L29170" class="LineNr">29170 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0xb) <span class="subxComment"># stream => eax</span> <span id="L29171" class="LineNr">29171 </span> 3d/compare-eax-with 0/imm32/false <span id="L29172" class="LineNr">29172 </span> 58/pop-to-eax <span id="L29173" class="LineNr">29173 </span><span class="Constant">$stream-element-type-id:no-stream</span>: @@ -27620,7 +27620,7 @@ if ('onhashchange' in window) { <span id="L29245" class="LineNr">29245 </span> 53/push-ebx <span id="L29246" class="LineNr">29246 </span> <span class="subxComment"># ebx = base</span> <span id="L29247" class="LineNr">29247 </span> 8b/-> *(ebp+0xc) 3/r32/ebx -<span id="L29248" class="LineNr">29248 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29248" class="LineNr">29248 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29249" class="LineNr">29249 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8b/-> *"</span>) <span id="L29250" class="LineNr">29250 </span> <span class="subxComment"># if base is an (addr array ...) in a register</span> <span id="L29251" class="LineNr">29251 </span> { @@ -27642,7 +27642,7 @@ if ('onhashchange' in window) { <span id="L29267" class="LineNr">29267 </span> } <span id="L29268" class="LineNr">29268 </span><span class="Constant">$emit-save-size-to:emit-output</span>: <span id="L29269" class="LineNr">29269 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" "</span>) -<span id="L29270" class="LineNr">29270 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> +<span id="L29270" class="LineNr">29270 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> *(ebp+0x10) 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax</span> <span id="L29271" class="LineNr">29271 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29272" class="LineNr">29272 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29273" class="LineNr">29273 </span><span class="Constant">$emit-save-size-to:end</span>: @@ -27661,11 +27661,11 @@ if ('onhashchange' in window) { <span id="L29286" class="LineNr">29286 </span> <span class="subxS1Comment"># . save registers</span> <span id="L29287" class="LineNr">29287 </span> 50/push-eax <span id="L29288" class="LineNr">29288 </span> <span class="subxComment">#</span> -<span id="L29289" class="LineNr">29289 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29289" class="LineNr">29289 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29290" class="LineNr">29290 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"c1/shift 5/subop/>> %"</span>) <span id="L29291" class="LineNr">29291 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebp+0xc)) <span id="L29292" class="LineNr">29292 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) -<span id="L29293" class="LineNr">29293 </span> (num-shift-rights *(ebp+0x10)) <span class="subxComment"># => eax</span> +<span id="L29293" class="LineNr">29293 </span> (<a href='mu.subx.html#L30304'>num-shift-rights</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L29294" class="LineNr">29294 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29295" class="LineNr">29295 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm8\n"</span>) <span id="L29296" class="LineNr">29296 </span><span class="Constant">$emit-divide-by-shift-right:end</span>: @@ -27686,21 +27686,21 @@ if ('onhashchange' in window) { <span id="L29311" class="LineNr">29311 </span> <span class="subxComment"># esi = stmt</span> <span id="L29312" class="LineNr">29312 </span> 8b/-> *(ebp+0xc) 6/r32/esi <span id="L29313" class="LineNr">29313 </span> <span class="subxComment">#</span> -<span id="L29314" class="LineNr">29314 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29314" class="LineNr">29314 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29315" class="LineNr">29315 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8a/byte->"</span>) <span id="L29316" class="LineNr">29316 </span> <span class="subxComment"># emit stmt->inouts[0]</span> <span id="L29317" class="LineNr">29317 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> -<span id="L29318" class="LineNr">29318 </span> (emit-subx-var-as-rm32 *(ebp+8) %eax) +<span id="L29318" class="LineNr">29318 </span> (<a href='mu.subx.html#L35793'>emit-subx-var-as-rm32</a> *(ebp+8) %eax) <span id="L29319" class="LineNr">29319 </span> <span class="subxComment"># emit /r32 for stmt->outputs[0]->register</span> <span id="L29320" class="LineNr">29320 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x14) *(esi+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> <span id="L29321" class="LineNr">29321 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29322" class="LineNr">29322 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L29323" class="LineNr">29323 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> +<span id="L29323" class="LineNr">29323 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> <span id="L29324" class="LineNr">29324 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) <span id="L29325" class="LineNr">29325 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29326" class="LineNr">29326 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29327" class="LineNr">29327 </span> <span class="subxComment"># clear rest of register</span> -<span id="L29328" class="LineNr">29328 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29328" class="LineNr">29328 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29329" class="LineNr">29329 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 4/subop/and %"</span>) <span id="L29330" class="LineNr">29330 </span> 8b/-> *(ebp+0xc) 0/r32/eax <span id="L29331" class="LineNr">29331 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x14) *(esi+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> @@ -27731,13 +27731,13 @@ if ('onhashchange' in window) { <span id="L29356" class="LineNr">29356 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29357" class="LineNr">29357 </span> 89/<- %ebx 0/r32/eax <span id="L29358" class="LineNr">29358 </span> <span class="subxComment"># emit bounds-check</span> -<span id="L29359" class="LineNr">29359 </span> (emit-mu-index-bounds-check *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) +<span id="L29359" class="LineNr">29359 </span> (<a href='mu.subx.html#L29396'>emit-mu-index-bounds-check</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10) *(ebp+0x14) *(ebp+0x18)) <span id="L29360" class="LineNr">29360 </span> <span class="subxComment"># if (var->register) do one thing</span> <span id="L29361" class="LineNr">29361 </span> { <span id="L29362" class="LineNr">29362 </span> 81 7/subop/compare *(ebx+0x18) 0/imm32 <span class="subxComment"># Var-register</span> <span id="L29363" class="LineNr">29363 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L29364" class="LineNr">29364 </span> <span class="subxComment"># TODO: ensure there's no dereference</span> -<span id="L29365" class="LineNr">29365 </span> (translate-mu-index-stmt-with-array-in-register *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) +<span id="L29365" class="LineNr">29365 </span> (<a href='mu.subx.html#L29515'>translate-mu-index-stmt-with-array-in-register</a> *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span id="L29366" class="LineNr">29366 </span> eb/jump $translate-mu-index-stmt:end/disp8 <span id="L29367" class="LineNr">29367 </span> } <span id="L29368" class="LineNr">29368 </span> <span class="subxComment"># if (var->offset) do a different thing</span> @@ -27745,7 +27745,7 @@ if ('onhashchange' in window) { <span id="L29370" class="LineNr">29370 </span> 81 7/subop/compare *(ebx+0x14) 0/imm32 <span class="subxComment"># Var-offset</span> <span id="L29371" class="LineNr">29371 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L29372" class="LineNr">29372 </span> <span class="subxComment"># TODO: ensure there's no dereference</span> -<span id="L29373" class="LineNr">29373 </span> (translate-mu-index-stmt-with-array-on-stack *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) +<span id="L29373" class="LineNr">29373 </span> (<a href='mu.subx.html#L29639'>translate-mu-index-stmt-with-array-on-stack</a> *(ebp+8) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span id="L29374" class="LineNr">29374 </span> eb/jump $translate-mu-index-stmt:end/disp8 <span id="L29375" class="LineNr">29375 </span> } <span id="L29376" class="LineNr">29376 </span><span class="Constant">$translate-mu-index-stmt:end</span>: @@ -27780,7 +27780,7 @@ if ('onhashchange' in window) { <span id="L29405" class="LineNr">29405 </span> <span class="subxComment"># ecx = stmt</span> <span id="L29406" class="LineNr">29406 </span> 8b/-> *(ebp+0xc) 1/r32/ecx <span id="L29407" class="LineNr">29407 </span> <span class="subxComment">#</span> -<span id="L29408" class="LineNr">29408 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29408" class="LineNr">29408 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29409" class="LineNr">29409 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='313index-bounds-check.subx.html#L6'>__check-mu-array-bounds</a> "</span>) <span id="L29410" class="LineNr">29410 </span><span class="Constant">$emit-mu-index-bounds-check:compute-base</span>: <span id="L29411" class="LineNr">29411 </span> <span class="subxComment"># var base/ebx: (addr var) = inouts[0]</span> @@ -27806,7 +27806,7 @@ if ('onhashchange' in window) { <span id="L29431" class="LineNr">29431 </span> <span class="subxComment"># otherwise if index is a literal, print it</span> <span id="L29432" class="LineNr">29432 </span><span class="Constant">$emit-mu-index-bounds-check:emit-literal-index</span>: <span id="L29433" class="LineNr">29433 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29434" class="LineNr">29434 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L29434" class="LineNr">29434 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L29435" class="LineNr">29435 </span> 3d/compare-eax-and 0/imm32/false <span id="L29436" class="LineNr">29436 </span> { <span id="L29437" class="LineNr">29437 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -27820,17 +27820,17 @@ if ('onhashchange' in window) { <span id="L29445" class="LineNr">29445 </span> { <span id="L29446" class="LineNr">29446 </span> { <span id="L29447" class="LineNr">29447 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29448" class="LineNr">29448 </span> (simple-mu-type? %eax 0) <span class="subxComment"># literal => eax</span> +<span id="L29448" class="LineNr">29448 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># literal => eax</span> <span id="L29449" class="LineNr">29449 </span> 3d/compare-eax-and 0/imm32/false <span id="L29450" class="LineNr">29450 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L29451" class="LineNr">29451 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29452" class="LineNr">29452 </span> (simple-mu-type? %eax 1) <span class="subxComment"># int => eax</span> +<span id="L29452" class="LineNr">29452 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 1) <span class="subxComment"># int => eax</span> <span id="L29453" class="LineNr">29453 </span> 3d/compare-eax-and 0/imm32/false <span id="L29454" class="LineNr">29454 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L29455" class="LineNr">29455 </span> eb/jump $emit-mu-index-bounds-check:emit-element-size-offset/disp8 <span id="L29456" class="LineNr">29456 </span> } <span id="L29457" class="LineNr">29457 </span><span class="Constant">$emit-mu-index-bounds-check:emit-int-register-index</span>: -<span id="L29458" class="LineNr">29458 </span> (array-element-size %ebx *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> +<span id="L29458" class="LineNr">29458 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ebx *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> <span id="L29459" class="LineNr">29459 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29460" class="LineNr">29460 </span> e9/jump $emit-mu-index-bounds-check:emit-base/disp32 <span id="L29461" class="LineNr">29461 </span> } @@ -27841,7 +27841,7 @@ if ('onhashchange' in window) { <span id="L29466" class="LineNr">29466 </span> { <span id="L29467" class="LineNr">29467 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L29468" class="LineNr">29468 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29469" class="LineNr">29469 </span> (simple-mu-type? %eax 7) <span class="subxComment"># => eax</span> +<span id="L29469" class="LineNr">29469 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># => eax</span> <span id="L29470" class="LineNr">29470 </span> 3d/compare-eax-and 0/imm32/false <span id="L29471" class="LineNr">29471 </span> { <span id="L29472" class="LineNr">29472 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -27903,15 +27903,15 @@ if ('onhashchange' in window) { <span id="L29528" class="LineNr">29528 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29529" class="LineNr">29529 </span> 89/<- %ebx 0/r32/eax <span id="L29530" class="LineNr">29530 </span> <span class="subxComment"># emit null check</span> -<span id="L29531" class="LineNr">29531 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29531" class="LineNr">29531 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29532" class="LineNr">29532 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 7/subop/compare %"</span>) <span id="L29533" class="LineNr">29533 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+0x18) *(ebx+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L29534" class="LineNr">29534 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L29535" class="LineNr">29535 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" 0/imm32\n"</span>) -<span id="L29536" class="LineNr">29536 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29536" class="LineNr">29536 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29537" class="LineNr">29537 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L88'>__mu-abort-null-index-base-address</a>/disp32\n"</span>) <span id="L29538" class="LineNr">29538 </span> <span class="subxComment">#</span> -<span id="L29539" class="LineNr">29539 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29539" class="LineNr">29539 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29540" class="LineNr">29540 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8d/copy-address *("</span>) <span id="L29541" class="LineNr">29541 </span> <span class="subxComment"># TODO: ensure inouts[0] is in a register and not dereferenced</span> <span id="L29542" class="LineNr">29542 </span><span class="Constant">$translate-mu-index-stmt-with-array-in-register:emit-base</span>: @@ -27931,7 +27931,7 @@ if ('onhashchange' in window) { <span id="L29556" class="LineNr">29556 </span><span class="Constant">$translate-mu-index-stmt-with-array-in-register:emit-register-index</span>: <span id="L29557" class="LineNr">29557 </span> <span class="subxComment"># if index is an int</span> <span id="L29558" class="LineNr">29558 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29559" class="LineNr">29559 </span> (simple-mu-type? %eax 1) <span class="subxComment"># int => eax</span> +<span id="L29559" class="LineNr">29559 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 1) <span class="subxComment"># int => eax</span> <span id="L29560" class="LineNr">29560 </span> 3d/compare-eax-and 0/imm32/false <span id="L29561" class="LineNr">29561 </span> { <span id="L29562" class="LineNr">29562 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -27943,8 +27943,8 @@ if ('onhashchange' in window) { <span id="L29568" class="LineNr">29568 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"<<"</span>) <span id="L29569" class="LineNr">29569 </span> <span class="subxS1Comment"># . log2(array-element-size(base->type))</span> <span id="L29570" class="LineNr">29570 </span> <span class="subxComment"># we know size is a power of 2</span> -<span id="L29571" class="LineNr">29571 </span> (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> -<span id="L29572" class="LineNr">29572 </span> (num-shift-rights %eax) <span class="subxComment"># => eax</span> +<span id="L29571" class="LineNr">29571 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29572" class="LineNr">29572 </span> (<a href='mu.subx.html#L30304'>num-shift-rights</a> %eax) <span class="subxComment"># => eax</span> <span id="L29573" class="LineNr">29573 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29574" class="LineNr">29574 </span> e9/jump $translate-mu-index-stmt-with-array-in-register:emit-register-index-done/disp32 <span id="L29575" class="LineNr">29575 </span> } @@ -27954,7 +27954,7 @@ if ('onhashchange' in window) { <span id="L29579" class="LineNr">29579 </span> 0f 85/jump-if-!= $translate-mu-index-stmt:error2/disp32 <span id="L29580" class="LineNr">29580 </span> <span class="subxComment"># if index has type (offset ...)</span> <span id="L29581" class="LineNr">29581 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29582" class="LineNr">29582 </span> (simple-mu-type? %eax 7) <span class="subxComment"># => eax</span> +<span id="L29582" class="LineNr">29582 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># => eax</span> <span id="L29583" class="LineNr">29583 </span> 3d/compare-eax-and 0/imm32/false <span id="L29584" class="LineNr">29584 </span> { <span id="L29585" class="LineNr">29585 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -27969,7 +27969,7 @@ if ('onhashchange' in window) { <span id="L29594" class="LineNr">29594 </span> } <span id="L29595" class="LineNr">29595 </span> <span class="subxComment"># otherwise if index is a literal</span> <span id="L29596" class="LineNr">29596 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29597" class="LineNr">29597 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L29597" class="LineNr">29597 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L29598" class="LineNr">29598 </span> 3d/compare-eax-and 0/imm32/false <span id="L29599" class="LineNr">29599 </span> { <span id="L29600" class="LineNr">29600 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -27979,7 +27979,7 @@ if ('onhashchange' in window) { <span id="L29604" class="LineNr">29604 </span> (<a href='118parse-hex-int.subx.html#L354'>parse-hex-int</a> %eax) <span class="subxComment"># => eax</span> <span id="L29605" class="LineNr">29605 </span> 89/<- %edx 0/r32/eax <span id="L29606" class="LineNr">29606 </span> <span class="subxComment"># offset = idx-value * array-element-size(base->type)</span> -<span id="L29607" class="LineNr">29607 </span> (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29607" class="LineNr">29607 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29608" class="LineNr">29608 </span> f7 4/subop/multiply-into-edx-eax %edx <span class="subxComment"># clobbers edx</span> <span id="L29609" class="LineNr">29609 </span> <span class="subxComment"># offset += 4 for array size</span> <span id="L29610" class="LineNr">29610 </span> 05/add-to-eax 4/imm32 @@ -27997,7 +27997,7 @@ if ('onhashchange' in window) { <span id="L29622" class="LineNr">29622 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x14) *(ecx+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> <span id="L29623" class="LineNr">29623 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29624" class="LineNr">29624 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L29625" class="LineNr">29625 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> +<span id="L29625" class="LineNr">29625 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> <span id="L29626" class="LineNr">29626 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29627" class="LineNr">29627 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29628" class="LineNr">29628 </span><span class="Constant">$translate-mu-index-stmt-with-array-in-register:end</span>: @@ -28021,7 +28021,7 @@ if ('onhashchange' in window) { <span id="L29646" class="LineNr">29646 </span> 52/push-edx <span id="L29647" class="LineNr">29647 </span> 53/push-ebx <span id="L29648" class="LineNr">29648 </span> <span class="subxComment">#</span> -<span id="L29649" class="LineNr">29649 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29649" class="LineNr">29649 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29650" class="LineNr">29650 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8d/copy-address *(ebp + "</span>) <span id="L29651" class="LineNr">29651 </span> <span class="subxComment"># var curr/edx: (addr stmt-var) = lookup(stmt->inouts)</span> <span id="L29652" class="LineNr">29652 </span> 8b/-> *(ebp+0xc) 0/r32/eax @@ -28042,7 +28042,7 @@ if ('onhashchange' in window) { <span id="L29667" class="LineNr">29667 </span><span class="Constant">$translate-mu-index-stmt-with-array-on-stack:emit-register-index</span>: <span id="L29668" class="LineNr">29668 </span> <span class="subxComment"># if index is an int</span> <span id="L29669" class="LineNr">29669 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29670" class="LineNr">29670 </span> (simple-mu-type? %eax 1) <span class="subxComment"># int => eax</span> +<span id="L29670" class="LineNr">29670 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 1) <span class="subxComment"># int => eax</span> <span id="L29671" class="LineNr">29671 </span> 3d/compare-eax-and 0/imm32/false <span id="L29672" class="LineNr">29672 </span> { <span id="L29673" class="LineNr">29673 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -28054,8 +28054,8 @@ if ('onhashchange' in window) { <span id="L29679" class="LineNr">29679 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"<<"</span>) <span id="L29680" class="LineNr">29680 </span> <span class="subxS1Comment"># . log2(array-element-size(base))</span> <span id="L29681" class="LineNr">29681 </span> <span class="subxComment"># TODO: ensure size is a power of 2</span> -<span id="L29682" class="LineNr">29682 </span> (array-element-size %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> -<span id="L29683" class="LineNr">29683 </span> (num-shift-rights %eax) <span class="subxComment"># => eax</span> +<span id="L29682" class="LineNr">29682 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29683" class="LineNr">29683 </span> (<a href='mu.subx.html#L30304'>num-shift-rights</a> %eax) <span class="subxComment"># => eax</span> <span id="L29684" class="LineNr">29684 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29685" class="LineNr">29685 </span> <span class="subxComment">#</span> <span id="L29686" class="LineNr">29686 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" + "</span>) @@ -28071,7 +28071,7 @@ if ('onhashchange' in window) { <span id="L29696" class="LineNr">29696 </span> 0f 85/jump-if-!= $translate-mu-index-stmt:error2/disp32 <span id="L29697" class="LineNr">29697 </span> <span class="subxComment"># if index has type (offset ...)</span> <span id="L29698" class="LineNr">29698 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L29699" class="LineNr">29699 </span> (simple-mu-type? %eax 7) <span class="subxComment"># => eax</span> +<span id="L29699" class="LineNr">29699 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 7) <span class="subxComment"># => eax</span> <span id="L29700" class="LineNr">29700 </span> 3d/compare-eax-and 0/imm32/false <span id="L29701" class="LineNr">29701 </span> { <span id="L29702" class="LineNr">29702 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -28086,7 +28086,7 @@ if ('onhashchange' in window) { <span id="L29711" class="LineNr">29711 </span> } <span id="L29712" class="LineNr">29712 </span> <span class="subxComment"># otherwise if index is a literal</span> <span id="L29713" class="LineNr">29713 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edx+8) *(edx+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L29714" class="LineNr">29714 </span> (simple-mu-type? %eax 0) <span class="subxComment"># => eax</span> +<span id="L29714" class="LineNr">29714 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 0) <span class="subxComment"># => eax</span> <span id="L29715" class="LineNr">29715 </span> 3d/compare-eax-and 0/imm32/false <span id="L29716" class="LineNr">29716 </span> { <span id="L29717" class="LineNr">29717 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 @@ -28096,7 +28096,7 @@ if ('onhashchange' in window) { <span id="L29721" class="LineNr">29721 </span> (<a href='118parse-hex-int.subx.html#L354'>parse-hex-int</a> %eax) <span class="subxComment"># Var-name => eax</span> <span id="L29722" class="LineNr">29722 </span> 89/<- %edx 0/r32/eax <span id="L29723" class="LineNr">29723 </span> <span class="subxComment"># offset = idx-value * array-element-size(base)</span> -<span id="L29724" class="LineNr">29724 </span> (array-element-size %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29724" class="LineNr">29724 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ecx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29725" class="LineNr">29725 </span> f7 4/subop/multiply-into-edx-eax %edx <span class="subxComment"># clobbers edx</span> <span id="L29726" class="LineNr">29726 </span> <span class="subxComment"># offset += base->offset</span> <span id="L29727" class="LineNr">29727 </span> 03/add *(ecx+0x14) 0/r32/eax <span class="subxComment"># Var-offset</span> @@ -28116,7 +28116,7 @@ if ('onhashchange' in window) { <span id="L29741" class="LineNr">29741 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x14) *(eax+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> <span id="L29742" class="LineNr">29742 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29743" class="LineNr">29743 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L29744" class="LineNr">29744 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> +<span id="L29744" class="LineNr">29744 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> <span id="L29745" class="LineNr">29745 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29746" class="LineNr">29746 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29747" class="LineNr">29747 </span><span class="Constant">$translate-mu-index-stmt-with-array-on-stack:end</span>: @@ -28140,7 +28140,7 @@ if ('onhashchange' in window) { <span id="L29765" class="LineNr">29765 </span> 52/push-edx <span id="L29766" class="LineNr">29766 </span> 53/push-ebx <span id="L29767" class="LineNr">29767 </span> <span class="subxComment">#</span> -<span id="L29768" class="LineNr">29768 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29768" class="LineNr">29768 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29769" class="LineNr">29769 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"69/multiply"</span>) <span id="L29770" class="LineNr">29770 </span> <span class="subxComment"># ecx = stmt</span> <span id="L29771" class="LineNr">29771 </span> 8b/-> *(ebp+0xc) 1/r32/ecx @@ -28149,14 +28149,14 @@ if ('onhashchange' in window) { <span id="L29774" class="LineNr">29774 </span> 89/<- %ebx 0/r32/eax <span id="L29775" class="LineNr">29775 </span><span class="Constant">$translate-mu-compute-index-stmt:emit-index</span>: <span id="L29776" class="LineNr">29776 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ebx+8) *(ebx+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> -<span id="L29777" class="LineNr">29777 </span> (emit-subx-var-as-rm32 *(ebp+8) %eax) +<span id="L29777" class="LineNr">29777 </span> (<a href='mu.subx.html#L35793'>emit-subx-var-as-rm32</a> *(ebp+8) %eax) <span id="L29778" class="LineNr">29778 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) <span id="L29779" class="LineNr">29779 </span><span class="Constant">$translate-mu-compute-index-stmt:emit-elem-size</span>: <span id="L29780" class="LineNr">29780 </span> <span class="subxComment"># var base/ebx: (addr var)</span> <span id="L29781" class="LineNr">29781 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ebx *(ebx+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29782" class="LineNr">29782 </span> 89/<- %ebx 0/r32/eax <span id="L29783" class="LineNr">29783 </span> <span class="subxComment"># print array-element-size(base)</span> -<span id="L29784" class="LineNr">29784 </span> (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29784" class="LineNr">29784 </span> (<a href='mu.subx.html#L28996'>array-element-size</a> %ebx *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29785" class="LineNr">29785 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29786" class="LineNr">29786 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/imm32 "</span>) <span id="L29787" class="LineNr">29787 </span><span class="Constant">$translate-mu-compute-index-stmt:emit-output</span>: @@ -28164,7 +28164,7 @@ if ('onhashchange' in window) { <span id="L29789" class="LineNr">29789 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x14) *(ecx+0x18)) <span class="subxComment"># Stmt1-outputs Stmt1-outputs => eax</span> <span id="L29790" class="LineNr">29790 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29791" class="LineNr">29791 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L29792" class="LineNr">29792 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> +<span id="L29792" class="LineNr">29792 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> <span id="L29793" class="LineNr">29793 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29794" class="LineNr">29794 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29795" class="LineNr">29795 </span><span class="Constant">$translate-mu-compute-index-stmt:end</span>: @@ -28197,23 +28197,23 @@ if ('onhashchange' in window) { <span id="L29822" class="LineNr">29822 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 <span id="L29823" class="LineNr">29823 </span><span class="Constant">$translate-mu-get-stmt:emit-null-check-for-register-input</span>: <span id="L29824" class="LineNr">29824 </span> <span class="subxComment"># emit "81 7/subop/compare %" base->register " 0/imm32\n"</span> -<span id="L29825" class="LineNr">29825 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29825" class="LineNr">29825 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29826" class="LineNr">29826 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"81 7/subop/compare %"</span>) <span id="L29827" class="LineNr">29827 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L29828" class="LineNr">29828 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L29829" class="LineNr">29829 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">" 0/imm32\n"</span>) <span id="L29830" class="LineNr">29830 </span> <span class="subxComment">#</span> -<span id="L29831" class="LineNr">29831 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29831" class="LineNr">29831 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29832" class="LineNr">29832 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"0f 84/jump-if-= <a href='313index-bounds-check.subx.html#L96'>__mu-abort-null-get-base-address</a>/disp32\n"</span>) <span id="L29833" class="LineNr">29833 </span> } <span id="L29834" class="LineNr">29834 </span> <span class="subxComment"># var offset/edx: int = get offset of stmt</span> -<span id="L29835" class="LineNr">29835 </span> (mu-get-offset %ecx) <span class="subxComment"># => eax</span> +<span id="L29835" class="LineNr">29835 </span> (<a href='mu.subx.html#L30331'>mu-get-offset</a> %ecx) <span class="subxComment"># => eax</span> <span id="L29836" class="LineNr">29836 </span> 89/<- %edx 0/r32/eax <span id="L29837" class="LineNr">29837 </span> <span class="subxComment"># var base/eax: (addr var) = stmt->inouts->value</span> <span id="L29838" class="LineNr">29838 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0xc) *(ecx+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> <span id="L29839" class="LineNr">29839 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29840" class="LineNr">29840 </span> <span class="subxComment">#</span> -<span id="L29841" class="LineNr">29841 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29841" class="LineNr">29841 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29842" class="LineNr">29842 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"8d/copy-address "</span>) <span id="L29843" class="LineNr">29843 </span> <span class="subxComment"># if base is in a register</span> <span id="L29844" class="LineNr">29844 </span> 81 7/subop/compare *(eax+0x18) 0/imm32 <span class="subxComment"># Var-register</span> @@ -28245,7 +28245,7 @@ if ('onhashchange' in window) { <span id="L29870" class="LineNr">29870 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L29871" class="LineNr">29871 </span> <span class="subxComment"># emit offset->register "/r32"</span> <span id="L29872" class="LineNr">29872 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> -<span id="L29873" class="LineNr">29873 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> +<span id="L29873" class="LineNr">29873 </span> (<a href='131table.subx.html#L26'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc <span class="Constant">"Mu-registers"</span>) <span class="subxComment"># => eax: (addr int)</span> <span id="L29874" class="LineNr">29874 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L29875" class="LineNr">29875 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32\n"</span>) <span id="L29876" class="LineNr">29876 </span><span class="Constant">$translate-mu-get-stmt:end</span>: @@ -28265,19 +28265,19 @@ if ('onhashchange' in window) { <span id="L29890" class="LineNr">29890 </span> <span class="subxS1Comment"># . save registers</span> <span id="L29891" class="LineNr">29891 </span> 50/push-eax <span id="L29892" class="LineNr">29892 </span> <span class="subxComment">#</span> -<span id="L29893" class="LineNr">29893 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29893" class="LineNr">29893 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29894" class="LineNr">29894 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(copy-bytes"</span>) <span id="L29895" class="LineNr">29895 </span> <span class="subxComment"># eax = stmt</span> <span id="L29896" class="LineNr">29896 </span> 8b/-> *(ebp+0xc) 0/r32/eax <span id="L29897" class="LineNr">29897 </span> <span class="subxComment"># var first-inout/eax: (addr stmt-var) = stmt->inouts[0]</span> <span id="L29898" class="LineNr">29898 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0xc) *(eax+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> -<span id="L29899" class="LineNr">29899 </span> (emit-subx-call-operand *(ebp+8) %eax) +<span id="L29899" class="LineNr">29899 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %eax) <span id="L29900" class="LineNr">29900 </span> <span class="subxComment"># var second-inout/eax: (addr stmt-var) = stmt->inouts[1]</span> <span id="L29901" class="LineNr">29901 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> -<span id="L29902" class="LineNr">29902 </span> (emit-subx-call-operand *(ebp+8) %eax) +<span id="L29902" class="LineNr">29902 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %eax) <span id="L29903" class="LineNr">29903 </span> <span class="subxComment"># emit size of inouts</span> <span id="L29904" class="LineNr">29904 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) -<span id="L29905" class="LineNr">29905 </span> (addr-payload-size %eax *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29905" class="LineNr">29905 </span> (<a href='mu.subx.html#L30009'>addr-payload-size</a> %eax *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29906" class="LineNr">29906 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29907" class="LineNr">29907 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L29908" class="LineNr">29908 </span><span class="Constant">$translate-mu-copy-object-stmt:end</span>: @@ -28295,16 +28295,16 @@ if ('onhashchange' in window) { <span id="L29920" class="LineNr">29920 </span> <span class="subxS1Comment"># . save registers</span> <span id="L29921" class="LineNr">29921 </span> 50/push-eax <span id="L29922" class="LineNr">29922 </span> <span class="subxComment">#</span> -<span id="L29923" class="LineNr">29923 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29923" class="LineNr">29923 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29924" class="LineNr">29924 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(zero-out"</span>) <span id="L29925" class="LineNr">29925 </span> <span class="subxComment"># eax = stmt</span> <span id="L29926" class="LineNr">29926 </span> 8b/-> *(ebp+0xc) 0/r32/eax <span id="L29927" class="LineNr">29927 </span> <span class="subxComment"># var dest/eax: (addr stmt-var) = stmt->inouts[0]</span> <span id="L29928" class="LineNr">29928 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0xc) *(eax+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> <span id="L29929" class="LineNr">29929 </span> <span class="subxComment">#</span> -<span id="L29930" class="LineNr">29930 </span> (emit-subx-call-operand *(ebp+8) %eax) +<span id="L29930" class="LineNr">29930 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %eax) <span id="L29931" class="LineNr">29931 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) -<span id="L29932" class="LineNr">29932 </span> (addr-payload-size %eax *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29932" class="LineNr">29932 </span> (<a href='mu.subx.html#L30009'>addr-payload-size</a> %eax *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29933" class="LineNr">29933 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L29934" class="LineNr">29934 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L29935" class="LineNr">29935 </span><span class="Constant">$translate-mu-clear-object-stmt:end</span>: @@ -28329,11 +28329,11 @@ if ('onhashchange' in window) { <span id="L29954" class="LineNr">29954 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Stmt1-inouts Stmt1-inouts => eax</span> <span id="L29955" class="LineNr">29955 </span> 89/<- %edi 0/r32/eax <span id="L29956" class="LineNr">29956 </span> <span class="subxComment">#</span> -<span id="L29957" class="LineNr">29957 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L29957" class="LineNr">29957 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L29958" class="LineNr">29958 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='120allocate.subx.html#L66'>allocate</a> <a href='120allocate.subx.html#L27'>Heap</a> "</span>) -<span id="L29959" class="LineNr">29959 </span> (addr-handle-payload-size %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L29959" class="LineNr">29959 </span> (<a href='mu.subx.html#L29973'>addr-handle-payload-size</a> %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L29960" class="LineNr">29960 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) -<span id="L29961" class="LineNr">29961 </span> (emit-subx-call-operand *(ebp+8) %edi) +<span id="L29961" class="LineNr">29961 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %edi) <span id="L29962" class="LineNr">29962 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L29963" class="LineNr">29963 </span><span class="Constant">$translate-mu-allocate-stmt:end</span>: <span id="L29964" class="LineNr">29964 </span> <span class="subxS1Comment"># . restore registers</span> @@ -28374,7 +28374,7 @@ if ('onhashchange' in window) { <span id="L29999" class="LineNr">29999 </span> } <span id="L30000" class="LineNr">30000 </span> <span class="subxComment"># TODO: check t->is-atom?</span> <span id="L30001" class="LineNr">30001 </span> <span class="subxComment"># return size(t->value)</span> -<span id="L30002" class="LineNr">30002 </span> (size-of-type-id *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L30002" class="LineNr">30002 </span> (<a href='mu.subx.html#L26801'>size-of-type-id</a> *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L30003" class="LineNr">30003 </span><span class="Constant">$addr-handle-payload-size:end</span>: <span id="L30004" class="LineNr">30004 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L30005" class="LineNr">30005 </span> 89/<- %esp 5/r32/ebp @@ -28404,7 +28404,7 @@ if ('onhashchange' in window) { <span id="L30029" class="LineNr">30029 </span> } <span id="L30030" class="LineNr">30030 </span> <span class="subxComment"># TODO: check t->is-atom?</span> <span id="L30031" class="LineNr">30031 </span> <span class="subxComment"># return size(t->value)</span> -<span id="L30032" class="LineNr">30032 </span> (size-of-type-id *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L30032" class="LineNr">30032 </span> (<a href='mu.subx.html#L26801'>size-of-type-id</a> *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L30033" class="LineNr">30033 </span><span class="Constant">$addr-payload-size:end</span>: <span id="L30034" class="LineNr">30034 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L30035" class="LineNr">30035 </span> 89/<- %esp 5/r32/ebp @@ -28429,12 +28429,12 @@ if ('onhashchange' in window) { <span id="L30054" class="LineNr">30054 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L30055" class="LineNr">30055 </span> 89/<- %ecx 0/r32/eax <span id="L30056" class="LineNr">30056 </span> <span class="subxComment">#</span> -<span id="L30057" class="LineNr">30057 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30057" class="LineNr">30057 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30058" class="LineNr">30058 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='308allocate-array.subx.html#L6'>allocate-array2</a> <a href='120allocate.subx.html#L27'>Heap</a> "</span>) -<span id="L30059" class="LineNr">30059 </span> (addr-handle-array-payload-size %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L30059" class="LineNr">30059 </span> (<a href='mu.subx.html#L30188'>addr-handle-array-payload-size</a> %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L30060" class="LineNr">30060 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) -<span id="L30061" class="LineNr">30061 </span> (emit-subx-call-operand *(ebp+8) %ecx) -<span id="L30062" class="LineNr">30062 </span> (emit-subx-call-operand *(ebp+8) %edi) +<span id="L30061" class="LineNr">30061 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %ecx) +<span id="L30062" class="LineNr">30062 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %edi) <span id="L30063" class="LineNr">30063 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L30064" class="LineNr">30064 </span><span class="Constant">$translate-mu-populate-stmt:end</span>: <span id="L30065" class="LineNr">30065 </span> <span class="subxS1Comment"># . restore registers</span> @@ -28465,12 +28465,12 @@ if ('onhashchange' in window) { <span id="L30090" class="LineNr">30090 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L30091" class="LineNr">30091 </span> 89/<- %ecx 0/r32/eax <span id="L30092" class="LineNr">30092 </span> <span class="subxComment">#</span> -<span id="L30093" class="LineNr">30093 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30093" class="LineNr">30093 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30094" class="LineNr">30094 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(<a href='121new-stream.subx.html#L8'>new-stream</a> <a href='120allocate.subx.html#L27'>Heap</a> "</span>) -<span id="L30095" class="LineNr">30095 </span> (addr-handle-stream-payload-size %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L30095" class="LineNr">30095 </span> (<a href='mu.subx.html#L30231'>addr-handle-stream-payload-size</a> %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L30096" class="LineNr">30096 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) -<span id="L30097" class="LineNr">30097 </span> (emit-subx-call-operand *(ebp+8) %ecx) -<span id="L30098" class="LineNr">30098 </span> (emit-subx-call-operand *(ebp+8) %edi) +<span id="L30097" class="LineNr">30097 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %ecx) +<span id="L30098" class="LineNr">30098 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %edi) <span id="L30099" class="LineNr">30099 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L30100" class="LineNr">30100 </span><span class="Constant">$translate-mu-populate-stream-stmt:end</span>: <span id="L30101" class="LineNr">30101 </span> <span class="subxS1Comment"># . restore registers</span> @@ -28501,12 +28501,12 @@ if ('onhashchange' in window) { <span id="L30126" class="LineNr">30126 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L30127" class="LineNr">30127 </span> 89/<- %edi 0/r32/eax <span id="L30128" class="LineNr">30128 </span> <span class="subxComment">#</span> -<span id="L30129" class="LineNr">30129 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30129" class="LineNr">30129 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30130" class="LineNr">30130 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(read-from-stream"</span>) -<span id="L30131" class="LineNr">30131 </span> (emit-subx-call-operand *(ebp+8) %ecx) -<span id="L30132" class="LineNr">30132 </span> (emit-subx-call-operand *(ebp+8) %edi) +<span id="L30131" class="LineNr">30131 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %ecx) +<span id="L30132" class="LineNr">30132 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %edi) <span id="L30133" class="LineNr">30133 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) -<span id="L30134" class="LineNr">30134 </span> (addr-payload-size %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L30134" class="LineNr">30134 </span> (<a href='mu.subx.html#L30009'>addr-payload-size</a> %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L30135" class="LineNr">30135 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L30136" class="LineNr">30136 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L30137" class="LineNr">30137 </span><span class="Constant">$translate-mu-read-from-stream-stmt:end</span>: @@ -28538,15 +28538,15 @@ if ('onhashchange' in window) { <span id="L30163" class="LineNr">30163 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+8) *(ecx+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L30164" class="LineNr">30164 </span> 89/<- %edi 0/r32/eax <span id="L30165" class="LineNr">30165 </span> <span class="subxComment">#</span> -<span id="L30166" class="LineNr">30166 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30166" class="LineNr">30166 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30167" class="LineNr">30167 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"(write-to-stream"</span>) -<span id="L30168" class="LineNr">30168 </span> (emit-subx-call-operand *(ebp+8) %ecx) +<span id="L30168" class="LineNr">30168 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %ecx) <span id="L30169" class="LineNr">30169 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+8)) -<span id="L30170" class="LineNr">30170 </span> (emit-subx-call-operand *(ebp+8) %edi) +<span id="L30170" class="LineNr">30170 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %edi) <span id="L30171" class="LineNr">30171 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+8)) <span id="L30172" class="LineNr">30172 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) <span id="L30173" class="LineNr">30173 </span> (<a href='115write-byte.subx.html#L81'>flush</a> *(ebp+8)) -<span id="L30174" class="LineNr">30174 </span> (addr-payload-size %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> +<span id="L30174" class="LineNr">30174 </span> (<a href='mu.subx.html#L30009'>addr-payload-size</a> %edi *(ebp+0x10) *(ebp+0x14)) <span class="subxComment"># => eax</span> <span id="L30175" class="LineNr">30175 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) %eax) <span id="L30176" class="LineNr">30176 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">")\n"</span>) <span id="L30177" class="LineNr">30177 </span><span class="Constant">$translate-mu-write-to-stream-stmt:end</span>: @@ -28596,7 +28596,7 @@ if ('onhashchange' in window) { <span id="L30221" class="LineNr">30221 </span><span class="Constant">$addr-handle-array-payload-size:compute-size</span>: <span id="L30222" class="LineNr">30222 </span> <span class="subxComment"># TODO: check t->is-atom?</span> <span id="L30223" class="LineNr">30223 </span> <span class="subxComment"># return size(t->value)</span> -<span id="L30224" class="LineNr">30224 </span> (size-of-type-id-as-array-element *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L30224" class="LineNr">30224 </span> (<a href='mu.subx.html#L29115'>size-of-type-id-as-array-element</a> *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L30225" class="LineNr">30225 </span><span class="Constant">$addr-handle-array-payload-size:end</span>: <span id="L30226" class="LineNr">30226 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L30227" class="LineNr">30227 </span> 89/<- %esp 5/r32/ebp @@ -28639,7 +28639,7 @@ if ('onhashchange' in window) { <span id="L30264" class="LineNr">30264 </span><span class="Constant">$addr-handle-stream-payload-size:compute-size</span>: <span id="L30265" class="LineNr">30265 </span> <span class="subxComment"># TODO: check t->is-atom?</span> <span id="L30266" class="LineNr">30266 </span> <span class="subxComment"># return size(t->value)</span> -<span id="L30267" class="LineNr">30267 </span> (size-of-type-id-as-array-element *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> +<span id="L30267" class="LineNr">30267 </span> (<a href='mu.subx.html#L29115'>size-of-type-id-as-array-element</a> *(eax+4)) <span class="subxComment"># Type-tree-value => eax</span> <span id="L30268" class="LineNr">30268 </span><span class="Constant">$addr-handle-stream-payload-size:end</span>: <span id="L30269" class="LineNr">30269 </span> <span class="subxS1Comment"># . epilogue</span> <span id="L30270" class="LineNr">30270 </span> 89/<- %esp 5/r32/ebp @@ -28746,7 +28746,7 @@ if ('onhashchange' in window) { <span id="L30371" class="LineNr">30371 </span> 8b/-> *(ebp+0xc) 6/r32/esi <span id="L30372" class="LineNr">30372 </span> <span class="subxComment"># block->var->block-depth = *Curr-block-depth</span> <span id="L30373" class="LineNr">30373 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Block-var Block-var => eax</span> -<span id="L30374" class="LineNr">30374 </span> 8b/-> *<span class="SpecialChar">Curr-block-depth</span> 1/r32/ecx +<span id="L30374" class="LineNr">30374 </span> 8b/-> *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 1/r32/ecx <span id="L30375" class="LineNr">30375 </span> 89/<- *(eax+0x10) 1/r32/ecx <span class="subxComment"># Var-block-depth</span> <span id="L30376" class="LineNr">30376 </span> <span class="subxComment"># var stmts/eax: (addr list stmt) = lookup(block->statements)</span> <span id="L30377" class="LineNr">30377 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+4) *(esi+8)) <span class="subxComment"># Block-stmts Block-stmts => eax</span> @@ -28755,7 +28755,7 @@ if ('onhashchange' in window) { <span id="L30380" class="LineNr">30380 </span><span class="Constant">$emit-subx-block:check-empty</span>: <span id="L30381" class="LineNr">30381 </span> 3d/compare-eax-and 0/imm32 <span id="L30382" class="LineNr">30382 </span> 0f 84/jump-if-= <span class="Constant">break</span>/disp32 -<span id="L30383" class="LineNr">30383 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30383" class="LineNr">30383 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30384" class="LineNr">30384 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"{\n"</span>) <span id="L30385" class="LineNr">30385 </span> <span class="subxComment"># var v/ecx: (addr var) = lookup(block->var)</span> <span id="L30386" class="LineNr">30386 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Block-var Block-var => eax</span> @@ -28764,18 +28764,18 @@ if ('onhashchange' in window) { <span id="L30389" class="LineNr">30389 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L30390" class="LineNr">30390 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L30391" class="LineNr">30391 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">":loop:\n"</span>) -<span id="L30392" class="LineNr">30392 </span> ff 0/subop/increment *<span class="SpecialChar">Curr-block-depth</span> +<span id="L30392" class="LineNr">30392 </span> ff 0/subop/increment *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> <span id="L30393" class="LineNr">30393 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(esi+0xc)) <span class="subxComment"># Block-var</span> <span id="L30394" class="LineNr">30394 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) *(esi+0x10)) <span class="subxComment"># Block-var</span> <span id="L30395" class="LineNr">30395 </span> (<a href='203stack.subx.html#L114'>push</a> *(ebp+0x10) 0) <span class="subxComment"># false</span> <span id="L30396" class="LineNr">30396 </span> <span class="subxComment"># emit block->statements</span> <span id="L30397" class="LineNr">30397 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+4) *(esi+8)) <span class="subxComment"># Block-stmts Block-stmts => eax</span> -<span id="L30398" class="LineNr">30398 </span> (emit-subx-stmt-list *(ebp+8) %eax *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) +<span id="L30398" class="LineNr">30398 </span> (<a href='mu.subx.html#L27133'>emit-subx-stmt-list</a> *(ebp+8) %eax *(ebp+0x10) *(ebp+0x14) *(ebp+0x18) *(ebp+0x1c)) <span id="L30399" class="LineNr">30399 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L30400" class="LineNr">30400 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> <span id="L30401" class="LineNr">30401 </span> (<a href='203stack.subx.html#L234'>pop</a> *(ebp+0x10)) <span class="subxComment"># => eax</span> -<span id="L30402" class="LineNr">30402 </span> ff 1/subop/decrement *<span class="SpecialChar">Curr-block-depth</span> -<span id="L30403" class="LineNr">30403 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L30402" class="LineNr">30402 </span> ff 1/subop/decrement *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> +<span id="L30403" class="LineNr">30403 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L30404" class="LineNr">30404 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"}\n"</span>) <span id="L30405" class="LineNr">30405 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *ecx *(ecx+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L30406" class="LineNr">30406 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) @@ -28846,13 +28846,13 @@ if ('onhashchange' in window) { <span id="L30471" class="LineNr">30471 </span><span class="subxMinorFunction">_Primitive-increment-eax</span>: <span class="subxComment"># (addr primitive)</span> <span id="L30472" class="LineNr">30472 </span> <span class="subxComment"># var/eax <- increment => 40/increment-eax</span> <span id="L30473" class="LineNr">30473 </span> 0x11/imm32/alloc-id:fake -<span id="L30474" class="LineNr">30474 </span> _string-increment/imm32/name +<span id="L30474" class="LineNr">30474 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30475" class="LineNr">30475 </span> 0/imm32/no-inouts <span id="L30476" class="LineNr">30476 </span> 0/imm32/no-inouts <span id="L30477" class="LineNr">30477 </span> 0x11/imm32/alloc-id:fake -<span id="L30478" class="LineNr">30478 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L30478" class="LineNr">30478 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L30479" class="LineNr">30479 </span> 0x11/imm32/alloc-id:fake -<span id="L30480" class="LineNr">30480 </span> _string_40_increment_eax/imm32/subx-name +<span id="L30480" class="LineNr">30480 </span> <a href='mu.subx.html#L34721'>_string_40_increment_eax</a>/imm32/subx-name <span id="L30481" class="LineNr">30481 </span> 0/imm32/no-rm32 <span id="L30482" class="LineNr">30482 </span> 0/imm32/no-r32 <span id="L30483" class="LineNr">30483 </span> 0/imm32/no-imm32 @@ -28861,18 +28861,18 @@ if ('onhashchange' in window) { <span id="L30486" class="LineNr">30486 </span> 0/imm32/no-xm32 <span id="L30487" class="LineNr">30487 </span> 0/imm32/no-x32 <span id="L30488" class="LineNr">30488 </span> 0x11/imm32/alloc-id:fake -<span id="L30489" class="LineNr">30489 </span> _Primitive-increment-ecx/imm32/next +<span id="L30489" class="LineNr">30489 </span> <a href='mu.subx.html#L30490'>_Primitive-increment-ecx</a>/imm32/next <span id="L30490" class="LineNr">30490 </span><span class="subxMinorFunction">_Primitive-increment-ecx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30491" class="LineNr">30491 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30492" class="LineNr">30492 </span> <span class="subxComment"># var/ecx <- increment => 41/increment-ecx</span> <span id="L30493" class="LineNr">30493 </span> 0x11/imm32/alloc-id:fake -<span id="L30494" class="LineNr">30494 </span> _string-increment/imm32/name +<span id="L30494" class="LineNr">30494 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30495" class="LineNr">30495 </span> 0/imm32/no-inouts <span id="L30496" class="LineNr">30496 </span> 0/imm32/no-inouts <span id="L30497" class="LineNr">30497 </span> 0x11/imm32/alloc-id:fake -<span id="L30498" class="LineNr">30498 </span> <span class="SpecialChar">Single-int-var-in-ecx</span>/imm32/outputs +<span id="L30498" class="LineNr">30498 </span> <span class="SpecialChar"><a href='mu.subx.html#L35109'>Single-int-var-in-ecx</a></span>/imm32/outputs <span id="L30499" class="LineNr">30499 </span> 0x11/imm32/alloc-id:fake -<span id="L30500" class="LineNr">30500 </span> _string_41_increment_ecx/imm32/subx-name +<span id="L30500" class="LineNr">30500 </span> <a href='mu.subx.html#L34726'>_string_41_increment_ecx</a>/imm32/subx-name <span id="L30501" class="LineNr">30501 </span> 0/imm32/no-rm32 <span id="L30502" class="LineNr">30502 </span> 0/imm32/no-r32 <span id="L30503" class="LineNr">30503 </span> 0/imm32/no-imm32 @@ -28881,18 +28881,18 @@ if ('onhashchange' in window) { <span id="L30506" class="LineNr">30506 </span> 0/imm32/no-xm32 <span id="L30507" class="LineNr">30507 </span> 0/imm32/no-x32 <span id="L30508" class="LineNr">30508 </span> 0x11/imm32/alloc-id:fake -<span id="L30509" class="LineNr">30509 </span> _Primitive-increment-edx/imm32/next +<span id="L30509" class="LineNr">30509 </span> <a href='mu.subx.html#L30510'>_Primitive-increment-edx</a>/imm32/next <span id="L30510" class="LineNr">30510 </span><span class="subxMinorFunction">_Primitive-increment-edx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30511" class="LineNr">30511 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30512" class="LineNr">30512 </span> <span class="subxComment"># var/edx <- increment => 42/increment-edx</span> <span id="L30513" class="LineNr">30513 </span> 0x11/imm32/alloc-id:fake -<span id="L30514" class="LineNr">30514 </span> _string-increment/imm32/name +<span id="L30514" class="LineNr">30514 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30515" class="LineNr">30515 </span> 0/imm32/no-inouts <span id="L30516" class="LineNr">30516 </span> 0/imm32/no-inouts <span id="L30517" class="LineNr">30517 </span> 0x11/imm32/alloc-id:fake -<span id="L30518" class="LineNr">30518 </span> <span class="SpecialChar">Single-int-var-in-edx</span>/imm32/outputs +<span id="L30518" class="LineNr">30518 </span> <span class="SpecialChar"><a href='mu.subx.html#L35127'>Single-int-var-in-edx</a></span>/imm32/outputs <span id="L30519" class="LineNr">30519 </span> 0x11/imm32/alloc-id:fake -<span id="L30520" class="LineNr">30520 </span> _string_42_increment_edx/imm32/subx-name +<span id="L30520" class="LineNr">30520 </span> <a href='mu.subx.html#L34731'>_string_42_increment_edx</a>/imm32/subx-name <span id="L30521" class="LineNr">30521 </span> 0/imm32/no-rm32 <span id="L30522" class="LineNr">30522 </span> 0/imm32/no-r32 <span id="L30523" class="LineNr">30523 </span> 0/imm32/no-imm32 @@ -28901,18 +28901,18 @@ if ('onhashchange' in window) { <span id="L30526" class="LineNr">30526 </span> 0/imm32/no-xm32 <span id="L30527" class="LineNr">30527 </span> 0/imm32/no-x32 <span id="L30528" class="LineNr">30528 </span> 0x11/imm32/alloc-id:fake -<span id="L30529" class="LineNr">30529 </span> _Primitive-increment-ebx/imm32/next +<span id="L30529" class="LineNr">30529 </span> <a href='mu.subx.html#L30530'>_Primitive-increment-ebx</a>/imm32/next <span id="L30530" class="LineNr">30530 </span><span class="subxMinorFunction">_Primitive-increment-ebx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30531" class="LineNr">30531 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30532" class="LineNr">30532 </span> <span class="subxComment"># var/ebx <- increment => 43/increment-ebx</span> <span id="L30533" class="LineNr">30533 </span> 0x11/imm32/alloc-id:fake -<span id="L30534" class="LineNr">30534 </span> _string-increment/imm32/name +<span id="L30534" class="LineNr">30534 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30535" class="LineNr">30535 </span> 0/imm32/no-inouts <span id="L30536" class="LineNr">30536 </span> 0/imm32/no-inouts <span id="L30537" class="LineNr">30537 </span> 0x11/imm32/alloc-id:fake -<span id="L30538" class="LineNr">30538 </span> <span class="SpecialChar">Single-int-var-in-ebx</span>/imm32/outputs +<span id="L30538" class="LineNr">30538 </span> <span class="SpecialChar"><a href='mu.subx.html#L35145'>Single-int-var-in-ebx</a></span>/imm32/outputs <span id="L30539" class="LineNr">30539 </span> 0x11/imm32/alloc-id:fake -<span id="L30540" class="LineNr">30540 </span> _string_43_increment_ebx/imm32/subx-name +<span id="L30540" class="LineNr">30540 </span> <a href='mu.subx.html#L34736'>_string_43_increment_ebx</a>/imm32/subx-name <span id="L30541" class="LineNr">30541 </span> 0/imm32/no-rm32 <span id="L30542" class="LineNr">30542 </span> 0/imm32/no-r32 <span id="L30543" class="LineNr">30543 </span> 0/imm32/no-imm32 @@ -28921,18 +28921,18 @@ if ('onhashchange' in window) { <span id="L30546" class="LineNr">30546 </span> 0/imm32/no-xm32 <span id="L30547" class="LineNr">30547 </span> 0/imm32/no-x32 <span id="L30548" class="LineNr">30548 </span> 0x11/imm32/alloc-id:fake -<span id="L30549" class="LineNr">30549 </span> _Primitive-increment-esi/imm32/next +<span id="L30549" class="LineNr">30549 </span> <a href='mu.subx.html#L30550'>_Primitive-increment-esi</a>/imm32/next <span id="L30550" class="LineNr">30550 </span><span class="subxMinorFunction">_Primitive-increment-esi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30551" class="LineNr">30551 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30552" class="LineNr">30552 </span> <span class="subxComment"># var/esi <- increment => 46/increment-esi</span> <span id="L30553" class="LineNr">30553 </span> 0x11/imm32/alloc-id:fake -<span id="L30554" class="LineNr">30554 </span> _string-increment/imm32/name +<span id="L30554" class="LineNr">30554 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30555" class="LineNr">30555 </span> 0/imm32/no-inouts <span id="L30556" class="LineNr">30556 </span> 0/imm32/no-inouts <span id="L30557" class="LineNr">30557 </span> 0x11/imm32/alloc-id:fake -<span id="L30558" class="LineNr">30558 </span> <span class="SpecialChar">Single-int-var-in-esi</span>/imm32/outputs +<span id="L30558" class="LineNr">30558 </span> <span class="SpecialChar"><a href='mu.subx.html#L35163'>Single-int-var-in-esi</a></span>/imm32/outputs <span id="L30559" class="LineNr">30559 </span> 0x11/imm32/alloc-id:fake -<span id="L30560" class="LineNr">30560 </span> _string_46_increment_esi/imm32/subx-name +<span id="L30560" class="LineNr">30560 </span> <a href='mu.subx.html#L34741'>_string_46_increment_esi</a>/imm32/subx-name <span id="L30561" class="LineNr">30561 </span> 0/imm32/no-rm32 <span id="L30562" class="LineNr">30562 </span> 0/imm32/no-r32 <span id="L30563" class="LineNr">30563 </span> 0/imm32/no-imm32 @@ -28941,18 +28941,18 @@ if ('onhashchange' in window) { <span id="L30566" class="LineNr">30566 </span> 0/imm32/no-xm32 <span id="L30567" class="LineNr">30567 </span> 0/imm32/no-x32 <span id="L30568" class="LineNr">30568 </span> 0x11/imm32/alloc-id:fake -<span id="L30569" class="LineNr">30569 </span> _Primitive-increment-edi/imm32/next +<span id="L30569" class="LineNr">30569 </span> <a href='mu.subx.html#L30570'>_Primitive-increment-edi</a>/imm32/next <span id="L30570" class="LineNr">30570 </span><span class="subxMinorFunction">_Primitive-increment-edi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30571" class="LineNr">30571 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30572" class="LineNr">30572 </span> <span class="subxComment"># var/edi <- increment => 47/increment-edi</span> <span id="L30573" class="LineNr">30573 </span> 0x11/imm32/alloc-id:fake -<span id="L30574" class="LineNr">30574 </span> _string-increment/imm32/name +<span id="L30574" class="LineNr">30574 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30575" class="LineNr">30575 </span> 0/imm32/no-inouts <span id="L30576" class="LineNr">30576 </span> 0/imm32/no-inouts <span id="L30577" class="LineNr">30577 </span> 0x11/imm32/alloc-id:fake -<span id="L30578" class="LineNr">30578 </span> <span class="SpecialChar">Single-int-var-in-edi</span>/imm32/outputs +<span id="L30578" class="LineNr">30578 </span> <span class="SpecialChar"><a href='mu.subx.html#L35181'>Single-int-var-in-edi</a></span>/imm32/outputs <span id="L30579" class="LineNr">30579 </span> 0x11/imm32/alloc-id:fake -<span id="L30580" class="LineNr">30580 </span> _string_47_increment_edi/imm32/subx-name +<span id="L30580" class="LineNr">30580 </span> <a href='mu.subx.html#L34746'>_string_47_increment_edi</a>/imm32/subx-name <span id="L30581" class="LineNr">30581 </span> 0/imm32/no-rm32 <span id="L30582" class="LineNr">30582 </span> 0/imm32/no-r32 <span id="L30583" class="LineNr">30583 </span> 0/imm32/no-imm32 @@ -28961,18 +28961,18 @@ if ('onhashchange' in window) { <span id="L30586" class="LineNr">30586 </span> 0/imm32/no-xm32 <span id="L30587" class="LineNr">30587 </span> 0/imm32/no-x32 <span id="L30588" class="LineNr">30588 </span> 0x11/imm32/alloc-id:fake -<span id="L30589" class="LineNr">30589 </span> _Primitive-decrement-eax/imm32/next +<span id="L30589" class="LineNr">30589 </span> <a href='mu.subx.html#L30590'>_Primitive-decrement-eax</a>/imm32/next <span id="L30590" class="LineNr">30590 </span><span class="subxMinorFunction">_Primitive-decrement-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30591" class="LineNr">30591 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30592" class="LineNr">30592 </span> <span class="subxComment"># var/eax <- decrement => 48/decrement-eax</span> <span id="L30593" class="LineNr">30593 </span> 0x11/imm32/alloc-id:fake -<span id="L30594" class="LineNr">30594 </span> _string-decrement/imm32/name +<span id="L30594" class="LineNr">30594 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30595" class="LineNr">30595 </span> 0/imm32/no-inouts <span id="L30596" class="LineNr">30596 </span> 0/imm32/no-inouts <span id="L30597" class="LineNr">30597 </span> 0x11/imm32/alloc-id:fake -<span id="L30598" class="LineNr">30598 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L30598" class="LineNr">30598 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L30599" class="LineNr">30599 </span> 0x11/imm32/alloc-id:fake -<span id="L30600" class="LineNr">30600 </span> _string_48_decrement_eax/imm32/subx-name +<span id="L30600" class="LineNr">30600 </span> <a href='mu.subx.html#L34751'>_string_48_decrement_eax</a>/imm32/subx-name <span id="L30601" class="LineNr">30601 </span> 0/imm32/no-rm32 <span id="L30602" class="LineNr">30602 </span> 0/imm32/no-r32 <span id="L30603" class="LineNr">30603 </span> 0/imm32/no-imm32 @@ -28981,18 +28981,18 @@ if ('onhashchange' in window) { <span id="L30606" class="LineNr">30606 </span> 0/imm32/no-xm32 <span id="L30607" class="LineNr">30607 </span> 0/imm32/no-x32 <span id="L30608" class="LineNr">30608 </span> 0x11/imm32/alloc-id:fake -<span id="L30609" class="LineNr">30609 </span> _Primitive-decrement-ecx/imm32/next +<span id="L30609" class="LineNr">30609 </span> <a href='mu.subx.html#L30610'>_Primitive-decrement-ecx</a>/imm32/next <span id="L30610" class="LineNr">30610 </span><span class="subxMinorFunction">_Primitive-decrement-ecx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30611" class="LineNr">30611 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30612" class="LineNr">30612 </span> <span class="subxComment"># var/ecx <- decrement => 49/decrement-ecx</span> <span id="L30613" class="LineNr">30613 </span> 0x11/imm32/alloc-id:fake -<span id="L30614" class="LineNr">30614 </span> _string-decrement/imm32/name +<span id="L30614" class="LineNr">30614 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30615" class="LineNr">30615 </span> 0/imm32/no-inouts <span id="L30616" class="LineNr">30616 </span> 0/imm32/no-inouts <span id="L30617" class="LineNr">30617 </span> 0x11/imm32/alloc-id:fake -<span id="L30618" class="LineNr">30618 </span> <span class="SpecialChar">Single-int-var-in-ecx</span>/imm32/outputs +<span id="L30618" class="LineNr">30618 </span> <span class="SpecialChar"><a href='mu.subx.html#L35109'>Single-int-var-in-ecx</a></span>/imm32/outputs <span id="L30619" class="LineNr">30619 </span> 0x11/imm32/alloc-id:fake -<span id="L30620" class="LineNr">30620 </span> _string_49_decrement_ecx/imm32/subx-name +<span id="L30620" class="LineNr">30620 </span> <a href='mu.subx.html#L34756'>_string_49_decrement_ecx</a>/imm32/subx-name <span id="L30621" class="LineNr">30621 </span> 0/imm32/no-rm32 <span id="L30622" class="LineNr">30622 </span> 0/imm32/no-r32 <span id="L30623" class="LineNr">30623 </span> 0/imm32/no-imm32 @@ -29001,18 +29001,18 @@ if ('onhashchange' in window) { <span id="L30626" class="LineNr">30626 </span> 0/imm32/no-xm32 <span id="L30627" class="LineNr">30627 </span> 0/imm32/no-x32 <span id="L30628" class="LineNr">30628 </span> 0x11/imm32/alloc-id:fake -<span id="L30629" class="LineNr">30629 </span> _Primitive-decrement-edx/imm32/next +<span id="L30629" class="LineNr">30629 </span> <a href='mu.subx.html#L30630'>_Primitive-decrement-edx</a>/imm32/next <span id="L30630" class="LineNr">30630 </span><span class="subxMinorFunction">_Primitive-decrement-edx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30631" class="LineNr">30631 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30632" class="LineNr">30632 </span> <span class="subxComment"># var/edx <- decrement => 4a/decrement-edx</span> <span id="L30633" class="LineNr">30633 </span> 0x11/imm32/alloc-id:fake -<span id="L30634" class="LineNr">30634 </span> _string-decrement/imm32/name +<span id="L30634" class="LineNr">30634 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30635" class="LineNr">30635 </span> 0/imm32/no-inouts <span id="L30636" class="LineNr">30636 </span> 0/imm32/no-inouts <span id="L30637" class="LineNr">30637 </span> 0x11/imm32/alloc-id:fake -<span id="L30638" class="LineNr">30638 </span> <span class="SpecialChar">Single-int-var-in-edx</span>/imm32/outputs +<span id="L30638" class="LineNr">30638 </span> <span class="SpecialChar"><a href='mu.subx.html#L35127'>Single-int-var-in-edx</a></span>/imm32/outputs <span id="L30639" class="LineNr">30639 </span> 0x11/imm32/alloc-id:fake -<span id="L30640" class="LineNr">30640 </span> _string_4a_decrement_edx/imm32/subx-name +<span id="L30640" class="LineNr">30640 </span> <a href='mu.subx.html#L34761'>_string_4a_decrement_edx</a>/imm32/subx-name <span id="L30641" class="LineNr">30641 </span> 0/imm32/no-rm32 <span id="L30642" class="LineNr">30642 </span> 0/imm32/no-r32 <span id="L30643" class="LineNr">30643 </span> 0/imm32/no-imm32 @@ -29021,18 +29021,18 @@ if ('onhashchange' in window) { <span id="L30646" class="LineNr">30646 </span> 0/imm32/no-xm32 <span id="L30647" class="LineNr">30647 </span> 0/imm32/no-x32 <span id="L30648" class="LineNr">30648 </span> 0x11/imm32/alloc-id:fake -<span id="L30649" class="LineNr">30649 </span> _Primitive-decrement-ebx/imm32/next +<span id="L30649" class="LineNr">30649 </span> <a href='mu.subx.html#L30650'>_Primitive-decrement-ebx</a>/imm32/next <span id="L30650" class="LineNr">30650 </span><span class="subxMinorFunction">_Primitive-decrement-ebx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30651" class="LineNr">30651 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30652" class="LineNr">30652 </span> <span class="subxComment"># var/ebx <- decrement => 4b/decrement-ebx</span> <span id="L30653" class="LineNr">30653 </span> 0x11/imm32/alloc-id:fake -<span id="L30654" class="LineNr">30654 </span> _string-decrement/imm32/name +<span id="L30654" class="LineNr">30654 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30655" class="LineNr">30655 </span> 0/imm32/no-inouts <span id="L30656" class="LineNr">30656 </span> 0/imm32/no-inouts <span id="L30657" class="LineNr">30657 </span> 0x11/imm32/alloc-id:fake -<span id="L30658" class="LineNr">30658 </span> <span class="SpecialChar">Single-int-var-in-ebx</span>/imm32/outputs +<span id="L30658" class="LineNr">30658 </span> <span class="SpecialChar"><a href='mu.subx.html#L35145'>Single-int-var-in-ebx</a></span>/imm32/outputs <span id="L30659" class="LineNr">30659 </span> 0x11/imm32/alloc-id:fake -<span id="L30660" class="LineNr">30660 </span> _string_4b_decrement_ebx/imm32/subx-name +<span id="L30660" class="LineNr">30660 </span> <a href='mu.subx.html#L34766'>_string_4b_decrement_ebx</a>/imm32/subx-name <span id="L30661" class="LineNr">30661 </span> 0/imm32/no-rm32 <span id="L30662" class="LineNr">30662 </span> 0/imm32/no-r32 <span id="L30663" class="LineNr">30663 </span> 0/imm32/no-imm32 @@ -29041,18 +29041,18 @@ if ('onhashchange' in window) { <span id="L30666" class="LineNr">30666 </span> 0/imm32/no-xm32 <span id="L30667" class="LineNr">30667 </span> 0/imm32/no-x32 <span id="L30668" class="LineNr">30668 </span> 0x11/imm32/alloc-id:fake -<span id="L30669" class="LineNr">30669 </span> _Primitive-decrement-esi/imm32/next +<span id="L30669" class="LineNr">30669 </span> <a href='mu.subx.html#L30670'>_Primitive-decrement-esi</a>/imm32/next <span id="L30670" class="LineNr">30670 </span><span class="subxMinorFunction">_Primitive-decrement-esi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30671" class="LineNr">30671 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30672" class="LineNr">30672 </span> <span class="subxComment"># var/esi <- decrement => 4e/decrement-esi</span> <span id="L30673" class="LineNr">30673 </span> 0x11/imm32/alloc-id:fake -<span id="L30674" class="LineNr">30674 </span> _string-decrement/imm32/name +<span id="L30674" class="LineNr">30674 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30675" class="LineNr">30675 </span> 0/imm32/no-inouts <span id="L30676" class="LineNr">30676 </span> 0/imm32/no-inouts <span id="L30677" class="LineNr">30677 </span> 0x11/imm32/alloc-id:fake -<span id="L30678" class="LineNr">30678 </span> <span class="SpecialChar">Single-int-var-in-esi</span>/imm32/outputs +<span id="L30678" class="LineNr">30678 </span> <span class="SpecialChar"><a href='mu.subx.html#L35163'>Single-int-var-in-esi</a></span>/imm32/outputs <span id="L30679" class="LineNr">30679 </span> 0x11/imm32/alloc-id:fake -<span id="L30680" class="LineNr">30680 </span> _string_4e_decrement_esi/imm32/subx-name +<span id="L30680" class="LineNr">30680 </span> <a href='mu.subx.html#L34771'>_string_4e_decrement_esi</a>/imm32/subx-name <span id="L30681" class="LineNr">30681 </span> 0/imm32/no-rm32 <span id="L30682" class="LineNr">30682 </span> 0/imm32/no-r32 <span id="L30683" class="LineNr">30683 </span> 0/imm32/no-imm32 @@ -29061,18 +29061,18 @@ if ('onhashchange' in window) { <span id="L30686" class="LineNr">30686 </span> 0/imm32/no-xm32 <span id="L30687" class="LineNr">30687 </span> 0/imm32/no-x32 <span id="L30688" class="LineNr">30688 </span> 0x11/imm32/alloc-id:fake -<span id="L30689" class="LineNr">30689 </span> _Primitive-decrement-edi/imm32/next +<span id="L30689" class="LineNr">30689 </span> <a href='mu.subx.html#L30690'>_Primitive-decrement-edi</a>/imm32/next <span id="L30690" class="LineNr">30690 </span><span class="subxMinorFunction">_Primitive-decrement-edi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30691" class="LineNr">30691 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30692" class="LineNr">30692 </span> <span class="subxComment"># var/edi <- decrement => 4f/decrement-edi</span> <span id="L30693" class="LineNr">30693 </span> 0x11/imm32/alloc-id:fake -<span id="L30694" class="LineNr">30694 </span> _string-decrement/imm32/name +<span id="L30694" class="LineNr">30694 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30695" class="LineNr">30695 </span> 0/imm32/no-inouts <span id="L30696" class="LineNr">30696 </span> 0/imm32/no-inouts <span id="L30697" class="LineNr">30697 </span> 0x11/imm32/alloc-id:fake -<span id="L30698" class="LineNr">30698 </span> <span class="SpecialChar">Single-int-var-in-edi</span>/imm32/outputs +<span id="L30698" class="LineNr">30698 </span> <span class="SpecialChar"><a href='mu.subx.html#L35181'>Single-int-var-in-edi</a></span>/imm32/outputs <span id="L30699" class="LineNr">30699 </span> 0x11/imm32/alloc-id:fake -<span id="L30700" class="LineNr">30700 </span> _string_4f_decrement_edi/imm32/subx-name +<span id="L30700" class="LineNr">30700 </span> <a href='mu.subx.html#L34776'>_string_4f_decrement_edi</a>/imm32/subx-name <span id="L30701" class="LineNr">30701 </span> 0/imm32/no-rm32 <span id="L30702" class="LineNr">30702 </span> 0/imm32/no-r32 <span id="L30703" class="LineNr">30703 </span> 0/imm32/no-imm32 @@ -29081,18 +29081,18 @@ if ('onhashchange' in window) { <span id="L30706" class="LineNr">30706 </span> 0/imm32/no-xm32 <span id="L30707" class="LineNr">30707 </span> 0/imm32/no-x32 <span id="L30708" class="LineNr">30708 </span> 0x11/imm32/alloc-id:fake -<span id="L30709" class="LineNr">30709 </span> _Primitive-increment-mem/imm32/next +<span id="L30709" class="LineNr">30709 </span> <a href='mu.subx.html#L30710'>_Primitive-increment-mem</a>/imm32/next <span id="L30710" class="LineNr">30710 </span><span class="subxMinorFunction">_Primitive-increment-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30711" class="LineNr">30711 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30712" class="LineNr">30712 </span> <span class="subxComment"># increment var => ff 0/subop/increment *(ebp+__)</span> <span id="L30713" class="LineNr">30713 </span> 0x11/imm32/alloc-id:fake -<span id="L30714" class="LineNr">30714 </span> _string-increment/imm32/name +<span id="L30714" class="LineNr">30714 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30715" class="LineNr">30715 </span> 0x11/imm32/alloc-id:fake -<span id="L30716" class="LineNr">30716 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L30716" class="LineNr">30716 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L30717" class="LineNr">30717 </span> 0/imm32/no-outputs <span id="L30718" class="LineNr">30718 </span> 0/imm32/no-outputs <span id="L30719" class="LineNr">30719 </span> 0x11/imm32/alloc-id:fake -<span id="L30720" class="LineNr">30720 </span> _string_ff_subop_increment/imm32/subx-name +<span id="L30720" class="LineNr">30720 </span> <a href='mu.subx.html#L34896'>_string_ff_subop_increment</a>/imm32/subx-name <span id="L30721" class="LineNr">30721 </span> 1/imm32/rm32-is-first-inout <span id="L30722" class="LineNr">30722 </span> 0/imm32/no-r32 <span id="L30723" class="LineNr">30723 </span> 0/imm32/no-imm32 @@ -29101,18 +29101,18 @@ if ('onhashchange' in window) { <span id="L30726" class="LineNr">30726 </span> 0/imm32/no-xm32 <span id="L30727" class="LineNr">30727 </span> 0/imm32/no-x32 <span id="L30728" class="LineNr">30728 </span> 0x11/imm32/alloc-id:fake -<span id="L30729" class="LineNr">30729 </span> _Primitive-increment-reg/imm32/next +<span id="L30729" class="LineNr">30729 </span> <a href='mu.subx.html#L30730'>_Primitive-increment-reg</a>/imm32/next <span id="L30730" class="LineNr">30730 </span><span class="subxMinorFunction">_Primitive-increment-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30731" class="LineNr">30731 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30732" class="LineNr">30732 </span> <span class="subxComment"># var/reg <- increment => ff 0/subop/increment %__</span> <span id="L30733" class="LineNr">30733 </span> 0x11/imm32/alloc-id:fake -<span id="L30734" class="LineNr">30734 </span> _string-increment/imm32/name +<span id="L30734" class="LineNr">30734 </span> <a href='mu.subx.html#L34164'>_string-increment</a>/imm32/name <span id="L30735" class="LineNr">30735 </span> 0/imm32/no-inouts <span id="L30736" class="LineNr">30736 </span> 0/imm32/no-inouts <span id="L30737" class="LineNr">30737 </span> 0x11/imm32/alloc-id:fake -<span id="L30738" class="LineNr">30738 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30738" class="LineNr">30738 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30739" class="LineNr">30739 </span> 0x11/imm32/alloc-id:fake -<span id="L30740" class="LineNr">30740 </span> _string_ff_subop_increment/imm32/subx-name +<span id="L30740" class="LineNr">30740 </span> <a href='mu.subx.html#L34896'>_string_ff_subop_increment</a>/imm32/subx-name <span id="L30741" class="LineNr">30741 </span> 3/imm32/rm32-is-first-output <span id="L30742" class="LineNr">30742 </span> 0/imm32/no-r32 <span id="L30743" class="LineNr">30743 </span> 0/imm32/no-imm32 @@ -29121,18 +29121,18 @@ if ('onhashchange' in window) { <span id="L30746" class="LineNr">30746 </span> 0/imm32/no-xm32 <span id="L30747" class="LineNr">30747 </span> 0/imm32/no-x32 <span id="L30748" class="LineNr">30748 </span> 0x11/imm32/alloc-id:fake -<span id="L30749" class="LineNr">30749 </span> _Primitive-decrement-mem/imm32/next +<span id="L30749" class="LineNr">30749 </span> <a href='mu.subx.html#L30750'>_Primitive-decrement-mem</a>/imm32/next <span id="L30750" class="LineNr">30750 </span><span class="subxMinorFunction">_Primitive-decrement-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30751" class="LineNr">30751 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30752" class="LineNr">30752 </span> <span class="subxComment"># decrement var => ff 1/subop/decrement *(ebp+__)</span> <span id="L30753" class="LineNr">30753 </span> 0x11/imm32/alloc-id:fake -<span id="L30754" class="LineNr">30754 </span> _string-decrement/imm32/name +<span id="L30754" class="LineNr">30754 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30755" class="LineNr">30755 </span> 0x11/imm32/alloc-id:fake -<span id="L30756" class="LineNr">30756 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L30756" class="LineNr">30756 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L30757" class="LineNr">30757 </span> 0/imm32/no-outputs <span id="L30758" class="LineNr">30758 </span> 0/imm32/no-outputs <span id="L30759" class="LineNr">30759 </span> 0x11/imm32/alloc-id:fake -<span id="L30760" class="LineNr">30760 </span> _string_ff_subop_decrement/imm32/subx-name +<span id="L30760" class="LineNr">30760 </span> <a href='mu.subx.html#L34901'>_string_ff_subop_decrement</a>/imm32/subx-name <span id="L30761" class="LineNr">30761 </span> 1/imm32/rm32-is-first-inout <span id="L30762" class="LineNr">30762 </span> 0/imm32/no-r32 <span id="L30763" class="LineNr">30763 </span> 0/imm32/no-imm32 @@ -29141,18 +29141,18 @@ if ('onhashchange' in window) { <span id="L30766" class="LineNr">30766 </span> 0/imm32/no-xm32 <span id="L30767" class="LineNr">30767 </span> 0/imm32/no-x32 <span id="L30768" class="LineNr">30768 </span> 0x11/imm32/alloc-id:fake -<span id="L30769" class="LineNr">30769 </span> _Primitive-decrement-reg/imm32/next +<span id="L30769" class="LineNr">30769 </span> <a href='mu.subx.html#L30770'>_Primitive-decrement-reg</a>/imm32/next <span id="L30770" class="LineNr">30770 </span><span class="subxMinorFunction">_Primitive-decrement-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30771" class="LineNr">30771 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30772" class="LineNr">30772 </span> <span class="subxComment"># var/reg <- decrement => ff 1/subop/decrement %__</span> <span id="L30773" class="LineNr">30773 </span> 0x11/imm32/alloc-id:fake -<span id="L30774" class="LineNr">30774 </span> _string-decrement/imm32/name +<span id="L30774" class="LineNr">30774 </span> <a href='mu.subx.html#L34159'>_string-decrement</a>/imm32/name <span id="L30775" class="LineNr">30775 </span> 0/imm32/no-inouts <span id="L30776" class="LineNr">30776 </span> 0/imm32/no-inouts <span id="L30777" class="LineNr">30777 </span> 0x11/imm32/alloc-id:fake -<span id="L30778" class="LineNr">30778 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30778" class="LineNr">30778 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30779" class="LineNr">30779 </span> 0x11/imm32/alloc-id:fake -<span id="L30780" class="LineNr">30780 </span> _string_ff_subop_decrement/imm32/subx-name +<span id="L30780" class="LineNr">30780 </span> <a href='mu.subx.html#L34901'>_string_ff_subop_decrement</a>/imm32/subx-name <span id="L30781" class="LineNr">30781 </span> 3/imm32/rm32-is-first-output <span id="L30782" class="LineNr">30782 </span> 0/imm32/no-r32 <span id="L30783" class="LineNr">30783 </span> 0/imm32/no-imm32 @@ -29161,19 +29161,19 @@ if ('onhashchange' in window) { <span id="L30786" class="LineNr">30786 </span> 0/imm32/no-xm32 <span id="L30787" class="LineNr">30787 </span> 0/imm32/no-x32 <span id="L30788" class="LineNr">30788 </span> 0x11/imm32/alloc-id:fake -<span id="L30789" class="LineNr">30789 </span> _Primitive-add-to-eax/imm32/next +<span id="L30789" class="LineNr">30789 </span> <a href='mu.subx.html#L30791'>_Primitive-add-to-eax</a>/imm32/next <span id="L30790" class="LineNr">30790 </span><span class="subxH1Comment"># - add</span> <span id="L30791" class="LineNr">30791 </span><span class="subxMinorFunction">_Primitive-add-to-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30792" class="LineNr">30792 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30793" class="LineNr">30793 </span> <span class="subxComment"># var/eax <- add lit => 05/add-to-eax lit/imm32</span> <span id="L30794" class="LineNr">30794 </span> 0x11/imm32/alloc-id:fake -<span id="L30795" class="LineNr">30795 </span> _string-add/imm32/name +<span id="L30795" class="LineNr">30795 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L30796" class="LineNr">30796 </span> 0x11/imm32/alloc-id:fake -<span id="L30797" class="LineNr">30797 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L30797" class="LineNr">30797 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L30798" class="LineNr">30798 </span> 0x11/imm32/alloc-id:fake -<span id="L30799" class="LineNr">30799 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L30799" class="LineNr">30799 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L30800" class="LineNr">30800 </span> 0x11/imm32/alloc-id:fake -<span id="L30801" class="LineNr">30801 </span> _string_05_add_to_eax/imm32/subx-name +<span id="L30801" class="LineNr">30801 </span> <a href='mu.subx.html#L34381'>_string_05_add_to_eax</a>/imm32/subx-name <span id="L30802" class="LineNr">30802 </span> 0/imm32/no-rm32 <span id="L30803" class="LineNr">30803 </span> 0/imm32/no-r32 <span id="L30804" class="LineNr">30804 </span> 1/imm32/imm32-is-first-inout @@ -29182,18 +29182,18 @@ if ('onhashchange' in window) { <span id="L30807" class="LineNr">30807 </span> 0/imm32/no-xm32 <span id="L30808" class="LineNr">30808 </span> 0/imm32/no-x32 <span id="L30809" class="LineNr">30809 </span> 0x11/imm32/alloc-id:fake -<span id="L30810" class="LineNr">30810 </span> _Primitive-add-reg-to-reg/imm32/next +<span id="L30810" class="LineNr">30810 </span> <a href='mu.subx.html#L30811'>_Primitive-add-reg-to-reg</a>/imm32/next <span id="L30811" class="LineNr">30811 </span><span class="subxMinorFunction">_Primitive-add-reg-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30812" class="LineNr">30812 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30813" class="LineNr">30813 </span> <span class="subxComment"># var1/reg <- add var2/reg => 01/add-to var1/rm32 var2/r32</span> <span id="L30814" class="LineNr">30814 </span> 0x11/imm32/alloc-id:fake -<span id="L30815" class="LineNr">30815 </span> _string-add/imm32/name +<span id="L30815" class="LineNr">30815 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L30816" class="LineNr">30816 </span> 0x11/imm32/alloc-id:fake -<span id="L30817" class="LineNr">30817 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L30817" class="LineNr">30817 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L30818" class="LineNr">30818 </span> 0x11/imm32/alloc-id:fake -<span id="L30819" class="LineNr">30819 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30819" class="LineNr">30819 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30820" class="LineNr">30820 </span> 0x11/imm32/alloc-id:fake -<span id="L30821" class="LineNr">30821 </span> _string_01_add_to/imm32/subx-name +<span id="L30821" class="LineNr">30821 </span> <a href='mu.subx.html#L34371'>_string_01_add_to</a>/imm32/subx-name <span id="L30822" class="LineNr">30822 </span> 3/imm32/rm32-is-first-output <span id="L30823" class="LineNr">30823 </span> 1/imm32/r32-is-first-inout <span id="L30824" class="LineNr">30824 </span> 0/imm32/no-imm32 @@ -29202,18 +29202,18 @@ if ('onhashchange' in window) { <span id="L30827" class="LineNr">30827 </span> 0/imm32/no-xm32 <span id="L30828" class="LineNr">30828 </span> 0/imm32/no-x32 <span id="L30829" class="LineNr">30829 </span> 0x11/imm32/alloc-id:fake -<span id="L30830" class="LineNr">30830 </span> _Primitive-add-reg-to-mem/imm32/next +<span id="L30830" class="LineNr">30830 </span> <a href='mu.subx.html#L30831'>_Primitive-add-reg-to-mem</a>/imm32/next <span id="L30831" class="LineNr">30831 </span><span class="subxMinorFunction">_Primitive-add-reg-to-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30832" class="LineNr">30832 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30833" class="LineNr">30833 </span> <span class="subxComment"># add-to var1 var2/reg => 01/add-to var1 var2/r32</span> <span id="L30834" class="LineNr">30834 </span> 0x11/imm32/alloc-id:fake -<span id="L30835" class="LineNr">30835 </span> _string-add-to/imm32/name +<span id="L30835" class="LineNr">30835 </span> <a href='mu.subx.html#L34024'>_string-add-to</a>/imm32/name <span id="L30836" class="LineNr">30836 </span> 0x11/imm32/alloc-id:fake -<span id="L30837" class="LineNr">30837 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L30837" class="LineNr">30837 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L30838" class="LineNr">30838 </span> 0/imm32/no-outputs <span id="L30839" class="LineNr">30839 </span> 0/imm32/no-outputs <span id="L30840" class="LineNr">30840 </span> 0x11/imm32/alloc-id:fake -<span id="L30841" class="LineNr">30841 </span> _string_01_add_to/imm32/subx-name +<span id="L30841" class="LineNr">30841 </span> <a href='mu.subx.html#L34371'>_string_01_add_to</a>/imm32/subx-name <span id="L30842" class="LineNr">30842 </span> 1/imm32/rm32-is-first-inout <span id="L30843" class="LineNr">30843 </span> 2/imm32/r32-is-second-inout <span id="L30844" class="LineNr">30844 </span> 0/imm32/no-imm32 @@ -29222,18 +29222,18 @@ if ('onhashchange' in window) { <span id="L30847" class="LineNr">30847 </span> 0/imm32/no-xm32 <span id="L30848" class="LineNr">30848 </span> 0/imm32/no-x32 <span id="L30849" class="LineNr">30849 </span> 0x11/imm32/alloc-id:fake -<span id="L30850" class="LineNr">30850 </span> _Primitive-add-mem-to-reg/imm32/next +<span id="L30850" class="LineNr">30850 </span> <a href='mu.subx.html#L30851'>_Primitive-add-mem-to-reg</a>/imm32/next <span id="L30851" class="LineNr">30851 </span><span class="subxMinorFunction">_Primitive-add-mem-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30852" class="LineNr">30852 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30853" class="LineNr">30853 </span> <span class="subxComment"># var1/reg <- add var2 => 03/add var2/rm32 var1/r32</span> <span id="L30854" class="LineNr">30854 </span> 0x11/imm32/alloc-id:fake -<span id="L30855" class="LineNr">30855 </span> _string-add/imm32/name +<span id="L30855" class="LineNr">30855 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L30856" class="LineNr">30856 </span> 0x11/imm32/alloc-id:fake -<span id="L30857" class="LineNr">30857 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L30857" class="LineNr">30857 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L30858" class="LineNr">30858 </span> 0x11/imm32/alloc-id:fake -<span id="L30859" class="LineNr">30859 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30859" class="LineNr">30859 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30860" class="LineNr">30860 </span> 0x11/imm32/alloc-id:fake -<span id="L30861" class="LineNr">30861 </span> _string_03_add/imm32/subx-name +<span id="L30861" class="LineNr">30861 </span> <a href='mu.subx.html#L34376'>_string_03_add</a>/imm32/subx-name <span id="L30862" class="LineNr">30862 </span> 1/imm32/rm32-is-first-inout <span id="L30863" class="LineNr">30863 </span> 3/imm32/r32-is-first-output <span id="L30864" class="LineNr">30864 </span> 0/imm32/no-imm32 @@ -29242,18 +29242,18 @@ if ('onhashchange' in window) { <span id="L30867" class="LineNr">30867 </span> 0/imm32/no-xm32 <span id="L30868" class="LineNr">30868 </span> 0/imm32/no-x32 <span id="L30869" class="LineNr">30869 </span> 0x11/imm32/alloc-id:fake -<span id="L30870" class="LineNr">30870 </span> _Primitive-add-lit-to-reg/imm32/next +<span id="L30870" class="LineNr">30870 </span> <a href='mu.subx.html#L30871'>_Primitive-add-lit-to-reg</a>/imm32/next <span id="L30871" class="LineNr">30871 </span><span class="subxMinorFunction">_Primitive-add-lit-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30872" class="LineNr">30872 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30873" class="LineNr">30873 </span> <span class="subxComment"># var1/reg <- add lit => 81 0/subop/add var1/rm32 lit/imm32</span> <span id="L30874" class="LineNr">30874 </span> 0x11/imm32/alloc-id:fake -<span id="L30875" class="LineNr">30875 </span> _string-add/imm32/name +<span id="L30875" class="LineNr">30875 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L30876" class="LineNr">30876 </span> 0x11/imm32/alloc-id:fake -<span id="L30877" class="LineNr">30877 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L30877" class="LineNr">30877 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L30878" class="LineNr">30878 </span> 0x11/imm32/alloc-id:fake -<span id="L30879" class="LineNr">30879 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30879" class="LineNr">30879 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30880" class="LineNr">30880 </span> 0x11/imm32/alloc-id:fake -<span id="L30881" class="LineNr">30881 </span> _string_81_subop_add/imm32/subx-name +<span id="L30881" class="LineNr">30881 </span> <a href='mu.subx.html#L34781'>_string_81_subop_add</a>/imm32/subx-name <span id="L30882" class="LineNr">30882 </span> 3/imm32/rm32-is-first-output <span id="L30883" class="LineNr">30883 </span> 0/imm32/no-r32 <span id="L30884" class="LineNr">30884 </span> 1/imm32/imm32-is-first-inout @@ -29262,18 +29262,18 @@ if ('onhashchange' in window) { <span id="L30887" class="LineNr">30887 </span> 0/imm32/no-xm32 <span id="L30888" class="LineNr">30888 </span> 0/imm32/no-x32 <span id="L30889" class="LineNr">30889 </span> 0x11/imm32/alloc-id:fake -<span id="L30890" class="LineNr">30890 </span> _Primitive-add-lit-to-mem/imm32/next +<span id="L30890" class="LineNr">30890 </span> <a href='mu.subx.html#L30891'>_Primitive-add-lit-to-mem</a>/imm32/next <span id="L30891" class="LineNr">30891 </span><span class="subxMinorFunction">_Primitive-add-lit-to-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30892" class="LineNr">30892 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30893" class="LineNr">30893 </span> <span class="subxComment"># add-to var1, lit => 81 0/subop/add var1/rm32 lit/imm32</span> <span id="L30894" class="LineNr">30894 </span> 0x11/imm32/alloc-id:fake -<span id="L30895" class="LineNr">30895 </span> _string-add-to/imm32/name +<span id="L30895" class="LineNr">30895 </span> <a href='mu.subx.html#L34024'>_string-add-to</a>/imm32/name <span id="L30896" class="LineNr">30896 </span> 0x11/imm32/alloc-id:fake -<span id="L30897" class="LineNr">30897 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L30897" class="LineNr">30897 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L30898" class="LineNr">30898 </span> 0/imm32/no-outputs <span id="L30899" class="LineNr">30899 </span> 0/imm32/no-outputs <span id="L30900" class="LineNr">30900 </span> 0x11/imm32/alloc-id:fake -<span id="L30901" class="LineNr">30901 </span> _string_81_subop_add/imm32/subx-name +<span id="L30901" class="LineNr">30901 </span> <a href='mu.subx.html#L34781'>_string_81_subop_add</a>/imm32/subx-name <span id="L30902" class="LineNr">30902 </span> 1/imm32/rm32-is-first-inout <span id="L30903" class="LineNr">30903 </span> 0/imm32/no-r32 <span id="L30904" class="LineNr">30904 </span> 2/imm32/imm32-is-second-inout @@ -29282,19 +29282,19 @@ if ('onhashchange' in window) { <span id="L30907" class="LineNr">30907 </span> 0/imm32/no-xm32 <span id="L30908" class="LineNr">30908 </span> 0/imm32/no-x32 <span id="L30909" class="LineNr">30909 </span> 0x11/imm32/alloc-id:fake -<span id="L30910" class="LineNr">30910 </span> _Primitive-subtract-from-eax/imm32/next +<span id="L30910" class="LineNr">30910 </span> <a href='mu.subx.html#L30912'>_Primitive-subtract-from-eax</a>/imm32/next <span id="L30911" class="LineNr">30911 </span><span class="subxH1Comment"># - subtract</span> <span id="L30912" class="LineNr">30912 </span><span class="subxMinorFunction">_Primitive-subtract-from-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30913" class="LineNr">30913 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30914" class="LineNr">30914 </span> <span class="subxComment"># var/eax <- subtract lit => 2d/subtract-from-eax lit/imm32</span> <span id="L30915" class="LineNr">30915 </span> 0x11/imm32/alloc-id:fake -<span id="L30916" class="LineNr">30916 </span> _string-subtract/imm32/name +<span id="L30916" class="LineNr">30916 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L30917" class="LineNr">30917 </span> 0x11/imm32/alloc-id:fake -<span id="L30918" class="LineNr">30918 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L30918" class="LineNr">30918 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L30919" class="LineNr">30919 </span> 0x11/imm32/alloc-id:fake -<span id="L30920" class="LineNr">30920 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L30920" class="LineNr">30920 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L30921" class="LineNr">30921 </span> 0x11/imm32/alloc-id:fake -<span id="L30922" class="LineNr">30922 </span> _string_2d_subtract_from_eax/imm32/subx-name +<span id="L30922" class="LineNr">30922 </span> <a href='mu.subx.html#L34686'>_string_2d_subtract_from_eax</a>/imm32/subx-name <span id="L30923" class="LineNr">30923 </span> 0/imm32/no-rm32 <span id="L30924" class="LineNr">30924 </span> 0/imm32/no-r32 <span id="L30925" class="LineNr">30925 </span> 1/imm32/imm32-is-first-inout @@ -29303,18 +29303,18 @@ if ('onhashchange' in window) { <span id="L30928" class="LineNr">30928 </span> 0/imm32/no-xm32 <span id="L30929" class="LineNr">30929 </span> 0/imm32/no-x32 <span id="L30930" class="LineNr">30930 </span> 0x11/imm32/alloc-id:fake -<span id="L30931" class="LineNr">30931 </span> _Primitive-subtract-reg-from-reg/imm32/next +<span id="L30931" class="LineNr">30931 </span> <a href='mu.subx.html#L30932'>_Primitive-subtract-reg-from-reg</a>/imm32/next <span id="L30932" class="LineNr">30932 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30933" class="LineNr">30933 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30934" class="LineNr">30934 </span> <span class="subxComment"># var1/reg <- subtract var2/reg => 29/subtract-from var1/rm32 var2/r32</span> <span id="L30935" class="LineNr">30935 </span> 0x11/imm32/alloc-id:fake -<span id="L30936" class="LineNr">30936 </span> _string-subtract/imm32/name +<span id="L30936" class="LineNr">30936 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L30937" class="LineNr">30937 </span> 0x11/imm32/alloc-id:fake -<span id="L30938" class="LineNr">30938 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L30938" class="LineNr">30938 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L30939" class="LineNr">30939 </span> 0x11/imm32/alloc-id:fake -<span id="L30940" class="LineNr">30940 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30940" class="LineNr">30940 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30941" class="LineNr">30941 </span> 0x11/imm32/alloc-id:fake -<span id="L30942" class="LineNr">30942 </span> _string_29_subtract_from/imm32/subx-name +<span id="L30942" class="LineNr">30942 </span> <a href='mu.subx.html#L34676'>_string_29_subtract_from</a>/imm32/subx-name <span id="L30943" class="LineNr">30943 </span> 3/imm32/rm32-is-first-output <span id="L30944" class="LineNr">30944 </span> 1/imm32/r32-is-first-inout <span id="L30945" class="LineNr">30945 </span> 0/imm32/no-imm32 @@ -29323,18 +29323,18 @@ if ('onhashchange' in window) { <span id="L30948" class="LineNr">30948 </span> 0/imm32/no-xm32 <span id="L30949" class="LineNr">30949 </span> 0/imm32/no-x32 <span id="L30950" class="LineNr">30950 </span> 0x11/imm32/alloc-id:fake -<span id="L30951" class="LineNr">30951 </span> _Primitive-subtract-reg-from-mem/imm32/next +<span id="L30951" class="LineNr">30951 </span> <a href='mu.subx.html#L30952'>_Primitive-subtract-reg-from-mem</a>/imm32/next <span id="L30952" class="LineNr">30952 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30953" class="LineNr">30953 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30954" class="LineNr">30954 </span> <span class="subxComment"># subtract-from var1 var2/reg => 29/subtract-from var1 var2/r32</span> <span id="L30955" class="LineNr">30955 </span> 0x11/imm32/alloc-id:fake -<span id="L30956" class="LineNr">30956 </span> _string-subtract-from/imm32/name +<span id="L30956" class="LineNr">30956 </span> <a href='mu.subx.html#L34339'>_string-subtract-from</a>/imm32/name <span id="L30957" class="LineNr">30957 </span> 0x11/imm32/alloc-id:fake -<span id="L30958" class="LineNr">30958 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L30958" class="LineNr">30958 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L30959" class="LineNr">30959 </span> 0/imm32/no-outputs <span id="L30960" class="LineNr">30960 </span> 0/imm32/no-outputs <span id="L30961" class="LineNr">30961 </span> 0x11/imm32/alloc-id:fake -<span id="L30962" class="LineNr">30962 </span> _string_29_subtract_from/imm32/subx-name +<span id="L30962" class="LineNr">30962 </span> <a href='mu.subx.html#L34676'>_string_29_subtract_from</a>/imm32/subx-name <span id="L30963" class="LineNr">30963 </span> 1/imm32/rm32-is-first-inout <span id="L30964" class="LineNr">30964 </span> 2/imm32/r32-is-second-inout <span id="L30965" class="LineNr">30965 </span> 0/imm32/no-imm32 @@ -29343,18 +29343,18 @@ if ('onhashchange' in window) { <span id="L30968" class="LineNr">30968 </span> 0/imm32/no-xm32 <span id="L30969" class="LineNr">30969 </span> 0/imm32/no-x32 <span id="L30970" class="LineNr">30970 </span> 0x11/imm32/alloc-id:fake -<span id="L30971" class="LineNr">30971 </span> _Primitive-subtract-mem-from-reg/imm32/next +<span id="L30971" class="LineNr">30971 </span> <a href='mu.subx.html#L30972'>_Primitive-subtract-mem-from-reg</a>/imm32/next <span id="L30972" class="LineNr">30972 </span><span class="subxMinorFunction">_Primitive-subtract-mem-from-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30973" class="LineNr">30973 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30974" class="LineNr">30974 </span> <span class="subxComment"># var1/reg <- subtract var2 => 2b/subtract var2/rm32 var1/r32</span> <span id="L30975" class="LineNr">30975 </span> 0x11/imm32/alloc-id:fake -<span id="L30976" class="LineNr">30976 </span> _string-subtract/imm32/name +<span id="L30976" class="LineNr">30976 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L30977" class="LineNr">30977 </span> 0x11/imm32/alloc-id:fake -<span id="L30978" class="LineNr">30978 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L30978" class="LineNr">30978 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L30979" class="LineNr">30979 </span> 0x11/imm32/alloc-id:fake -<span id="L30980" class="LineNr">30980 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L30980" class="LineNr">30980 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L30981" class="LineNr">30981 </span> 0x11/imm32/alloc-id:fake -<span id="L30982" class="LineNr">30982 </span> _string_2b_subtract/imm32/subx-name +<span id="L30982" class="LineNr">30982 </span> <a href='mu.subx.html#L34681'>_string_2b_subtract</a>/imm32/subx-name <span id="L30983" class="LineNr">30983 </span> 1/imm32/rm32-is-first-inout <span id="L30984" class="LineNr">30984 </span> 3/imm32/r32-is-first-output <span id="L30985" class="LineNr">30985 </span> 0/imm32/no-imm32 @@ -29363,18 +29363,18 @@ if ('onhashchange' in window) { <span id="L30988" class="LineNr">30988 </span> 0/imm32/no-xm32 <span id="L30989" class="LineNr">30989 </span> 0/imm32/no-x32 <span id="L30990" class="LineNr">30990 </span> 0x11/imm32/alloc-id:fake -<span id="L30991" class="LineNr">30991 </span> _Primitive-subtract-lit-from-reg/imm32/next +<span id="L30991" class="LineNr">30991 </span> <a href='mu.subx.html#L30992'>_Primitive-subtract-lit-from-reg</a>/imm32/next <span id="L30992" class="LineNr">30992 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L30993" class="LineNr">30993 </span> 0x11/imm32/alloc-id:fake:payload <span id="L30994" class="LineNr">30994 </span> <span class="subxComment"># var1/reg <- subtract lit => 81 5/subop/subtract var1/rm32 lit/imm32</span> <span id="L30995" class="LineNr">30995 </span> 0x11/imm32/alloc-id:fake -<span id="L30996" class="LineNr">30996 </span> _string-subtract/imm32/name +<span id="L30996" class="LineNr">30996 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L30997" class="LineNr">30997 </span> 0x11/imm32/alloc-id:fake -<span id="L30998" class="LineNr">30998 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L30998" class="LineNr">30998 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L30999" class="LineNr">30999 </span> 0x11/imm32/alloc-id:fake -<span id="L31000" class="LineNr">31000 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31000" class="LineNr">31000 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31001" class="LineNr">31001 </span> 0x11/imm32/alloc-id:fake -<span id="L31002" class="LineNr">31002 </span> _string_81_subop_subtract/imm32/subx-name +<span id="L31002" class="LineNr">31002 </span> <a href='mu.subx.html#L34796'>_string_81_subop_subtract</a>/imm32/subx-name <span id="L31003" class="LineNr">31003 </span> 3/imm32/rm32-is-first-output <span id="L31004" class="LineNr">31004 </span> 0/imm32/no-r32 <span id="L31005" class="LineNr">31005 </span> 1/imm32/imm32-is-first-inout @@ -29383,18 +29383,18 @@ if ('onhashchange' in window) { <span id="L31008" class="LineNr">31008 </span> 0/imm32/no-xm32 <span id="L31009" class="LineNr">31009 </span> 0/imm32/no-x32 <span id="L31010" class="LineNr">31010 </span> 0x11/imm32/alloc-id:fake -<span id="L31011" class="LineNr">31011 </span> _Primitive-subtract-lit-from-mem/imm32/next +<span id="L31011" class="LineNr">31011 </span> <a href='mu.subx.html#L31012'>_Primitive-subtract-lit-from-mem</a>/imm32/next <span id="L31012" class="LineNr">31012 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31013" class="LineNr">31013 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31014" class="LineNr">31014 </span> <span class="subxComment"># subtract-from var1, lit => 81 5/subop/subtract var1/rm32 lit/imm32</span> <span id="L31015" class="LineNr">31015 </span> 0x11/imm32/alloc-id:fake -<span id="L31016" class="LineNr">31016 </span> _string-subtract-from/imm32/name +<span id="L31016" class="LineNr">31016 </span> <a href='mu.subx.html#L34339'>_string-subtract-from</a>/imm32/name <span id="L31017" class="LineNr">31017 </span> 0x11/imm32/alloc-id:fake -<span id="L31018" class="LineNr">31018 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31018" class="LineNr">31018 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31019" class="LineNr">31019 </span> 0/imm32/no-outputs <span id="L31020" class="LineNr">31020 </span> 0/imm32/no-outputs <span id="L31021" class="LineNr">31021 </span> 0x11/imm32/alloc-id:fake -<span id="L31022" class="LineNr">31022 </span> _string_81_subop_subtract/imm32/subx-name +<span id="L31022" class="LineNr">31022 </span> <a href='mu.subx.html#L34796'>_string_81_subop_subtract</a>/imm32/subx-name <span id="L31023" class="LineNr">31023 </span> 1/imm32/rm32-is-first-inout <span id="L31024" class="LineNr">31024 </span> 0/imm32/no-r32 <span id="L31025" class="LineNr">31025 </span> 2/imm32/imm32-is-second-inout @@ -29403,19 +29403,19 @@ if ('onhashchange' in window) { <span id="L31028" class="LineNr">31028 </span> 0/imm32/no-xm32 <span id="L31029" class="LineNr">31029 </span> 0/imm32/no-x32 <span id="L31030" class="LineNr">31030 </span> 0x11/imm32/alloc-id:fake -<span id="L31031" class="LineNr">31031 </span> _Primitive-and-with-eax/imm32/next +<span id="L31031" class="LineNr">31031 </span> <a href='mu.subx.html#L31033'>_Primitive-and-with-eax</a>/imm32/next <span id="L31032" class="LineNr">31032 </span><span class="subxH1Comment"># - and</span> <span id="L31033" class="LineNr">31033 </span><span class="subxMinorFunction">_Primitive-and-with-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31034" class="LineNr">31034 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31035" class="LineNr">31035 </span> <span class="subxComment"># var/eax <- and lit => 25/and-with-eax lit/imm32</span> <span id="L31036" class="LineNr">31036 </span> 0x11/imm32/alloc-id:fake -<span id="L31037" class="LineNr">31037 </span> _string-and/imm32/name +<span id="L31037" class="LineNr">31037 </span> <a href='mu.subx.html#L34029'>_string-and</a>/imm32/name <span id="L31038" class="LineNr">31038 </span> 0x11/imm32/alloc-id:fake -<span id="L31039" class="LineNr">31039 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31039" class="LineNr">31039 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31040" class="LineNr">31040 </span> 0x11/imm32/alloc-id:fake -<span id="L31041" class="LineNr">31041 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L31041" class="LineNr">31041 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L31042" class="LineNr">31042 </span> 0x11/imm32/alloc-id:fake -<span id="L31043" class="LineNr">31043 </span> _string_25_and_with_eax/imm32/subx-name +<span id="L31043" class="LineNr">31043 </span> <a href='mu.subx.html#L34671'>_string_25_and_with_eax</a>/imm32/subx-name <span id="L31044" class="LineNr">31044 </span> 0/imm32/no-rm32 <span id="L31045" class="LineNr">31045 </span> 0/imm32/no-r32 <span id="L31046" class="LineNr">31046 </span> 1/imm32/imm32-is-first-inout @@ -29424,18 +29424,18 @@ if ('onhashchange' in window) { <span id="L31049" class="LineNr">31049 </span> 0/imm32/no-xm32 <span id="L31050" class="LineNr">31050 </span> 0/imm32/no-x32 <span id="L31051" class="LineNr">31051 </span> 0x11/imm32/alloc-id:fake -<span id="L31052" class="LineNr">31052 </span> _Primitive-and-reg-with-reg/imm32/next +<span id="L31052" class="LineNr">31052 </span> <a href='mu.subx.html#L31053'>_Primitive-and-reg-with-reg</a>/imm32/next <span id="L31053" class="LineNr">31053 </span><span class="subxMinorFunction">_Primitive-and-reg-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31054" class="LineNr">31054 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31055" class="LineNr">31055 </span> <span class="subxComment"># var1/reg <- and var2/reg => 21/and-with var1/rm32 var2/r32</span> <span id="L31056" class="LineNr">31056 </span> 0x11/imm32/alloc-id:fake -<span id="L31057" class="LineNr">31057 </span> _string-and/imm32/name +<span id="L31057" class="LineNr">31057 </span> <a href='mu.subx.html#L34029'>_string-and</a>/imm32/name <span id="L31058" class="LineNr">31058 </span> 0x11/imm32/alloc-id:fake -<span id="L31059" class="LineNr">31059 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L31059" class="LineNr">31059 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L31060" class="LineNr">31060 </span> 0x11/imm32/alloc-id:fake -<span id="L31061" class="LineNr">31061 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31061" class="LineNr">31061 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31062" class="LineNr">31062 </span> 0x11/imm32/alloc-id:fake -<span id="L31063" class="LineNr">31063 </span> _string_21_and_with/imm32/subx-name +<span id="L31063" class="LineNr">31063 </span> <a href='mu.subx.html#L34661'>_string_21_and_with</a>/imm32/subx-name <span id="L31064" class="LineNr">31064 </span> 3/imm32/rm32-is-first-output <span id="L31065" class="LineNr">31065 </span> 1/imm32/r32-is-first-inout <span id="L31066" class="LineNr">31066 </span> 0/imm32/no-imm32 @@ -29444,18 +29444,18 @@ if ('onhashchange' in window) { <span id="L31069" class="LineNr">31069 </span> 0/imm32/no-xm32 <span id="L31070" class="LineNr">31070 </span> 0/imm32/no-x32 <span id="L31071" class="LineNr">31071 </span> 0x11/imm32/alloc-id:fake -<span id="L31072" class="LineNr">31072 </span> _Primitive-and-reg-with-mem/imm32/next +<span id="L31072" class="LineNr">31072 </span> <a href='mu.subx.html#L31073'>_Primitive-and-reg-with-mem</a>/imm32/next <span id="L31073" class="LineNr">31073 </span><span class="subxMinorFunction">_Primitive-and-reg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31074" class="LineNr">31074 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31075" class="LineNr">31075 </span> <span class="subxComment"># and-with var1 var2/reg => 21/and-with var1 var2/r32</span> <span id="L31076" class="LineNr">31076 </span> 0x11/imm32/alloc-id:fake -<span id="L31077" class="LineNr">31077 </span> _string-and-with/imm32/name +<span id="L31077" class="LineNr">31077 </span> <a href='mu.subx.html#L34034'>_string-and-with</a>/imm32/name <span id="L31078" class="LineNr">31078 </span> 0x11/imm32/alloc-id:fake -<span id="L31079" class="LineNr">31079 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L31079" class="LineNr">31079 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L31080" class="LineNr">31080 </span> 0/imm32/no-outputs <span id="L31081" class="LineNr">31081 </span> 0/imm32/no-outputs <span id="L31082" class="LineNr">31082 </span> 0x11/imm32/alloc-id:fake -<span id="L31083" class="LineNr">31083 </span> _string_21_and_with/imm32/subx-name +<span id="L31083" class="LineNr">31083 </span> <a href='mu.subx.html#L34661'>_string_21_and_with</a>/imm32/subx-name <span id="L31084" class="LineNr">31084 </span> 1/imm32/rm32-is-first-inout <span id="L31085" class="LineNr">31085 </span> 2/imm32/r32-is-second-inout <span id="L31086" class="LineNr">31086 </span> 0/imm32/no-imm32 @@ -29464,18 +29464,18 @@ if ('onhashchange' in window) { <span id="L31089" class="LineNr">31089 </span> 0/imm32/no-xm32 <span id="L31090" class="LineNr">31090 </span> 0/imm32/no-x32 <span id="L31091" class="LineNr">31091 </span> 0x11/imm32/alloc-id:fake -<span id="L31092" class="LineNr">31092 </span> _Primitive-and-mem-with-reg/imm32/next +<span id="L31092" class="LineNr">31092 </span> <a href='mu.subx.html#L31093'>_Primitive-and-mem-with-reg</a>/imm32/next <span id="L31093" class="LineNr">31093 </span><span class="subxMinorFunction">_Primitive-and-mem-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31094" class="LineNr">31094 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31095" class="LineNr">31095 </span> <span class="subxComment"># var1/reg <- and var2 => 23/and var2/rm32 var1/r32</span> <span id="L31096" class="LineNr">31096 </span> 0x11/imm32/alloc-id:fake -<span id="L31097" class="LineNr">31097 </span> _string-and/imm32/name +<span id="L31097" class="LineNr">31097 </span> <a href='mu.subx.html#L34029'>_string-and</a>/imm32/name <span id="L31098" class="LineNr">31098 </span> 0x11/imm32/alloc-id:fake -<span id="L31099" class="LineNr">31099 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31099" class="LineNr">31099 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31100" class="LineNr">31100 </span> 0x11/imm32/alloc-id:fake -<span id="L31101" class="LineNr">31101 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31101" class="LineNr">31101 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31102" class="LineNr">31102 </span> 0x11/imm32/alloc-id:fake -<span id="L31103" class="LineNr">31103 </span> _string_23_and/imm32/subx-name +<span id="L31103" class="LineNr">31103 </span> <a href='mu.subx.html#L34666'>_string_23_and</a>/imm32/subx-name <span id="L31104" class="LineNr">31104 </span> 1/imm32/rm32-is-first-inout <span id="L31105" class="LineNr">31105 </span> 3/imm32/r32-is-first-output <span id="L31106" class="LineNr">31106 </span> 0/imm32/no-imm32 @@ -29484,18 +29484,18 @@ if ('onhashchange' in window) { <span id="L31109" class="LineNr">31109 </span> 0/imm32/no-xm32 <span id="L31110" class="LineNr">31110 </span> 0/imm32/no-x32 <span id="L31111" class="LineNr">31111 </span> 0x11/imm32/alloc-id:fake -<span id="L31112" class="LineNr">31112 </span> _Primitive-and-lit-with-reg/imm32/next +<span id="L31112" class="LineNr">31112 </span> <a href='mu.subx.html#L31113'>_Primitive-and-lit-with-reg</a>/imm32/next <span id="L31113" class="LineNr">31113 </span><span class="subxMinorFunction">_Primitive-and-lit-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31114" class="LineNr">31114 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31115" class="LineNr">31115 </span> <span class="subxComment"># var1/reg <- and lit => 81 4/subop/and var1/rm32 lit/imm32</span> <span id="L31116" class="LineNr">31116 </span> 0x11/imm32/alloc-id:fake -<span id="L31117" class="LineNr">31117 </span> _string-and/imm32/name +<span id="L31117" class="LineNr">31117 </span> <a href='mu.subx.html#L34029'>_string-and</a>/imm32/name <span id="L31118" class="LineNr">31118 </span> 0x11/imm32/alloc-id:fake -<span id="L31119" class="LineNr">31119 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31119" class="LineNr">31119 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31120" class="LineNr">31120 </span> 0x11/imm32/alloc-id:fake -<span id="L31121" class="LineNr">31121 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31121" class="LineNr">31121 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31122" class="LineNr">31122 </span> 0x11/imm32/alloc-id:fake -<span id="L31123" class="LineNr">31123 </span> _string_81_subop_and/imm32/subx-name +<span id="L31123" class="LineNr">31123 </span> <a href='mu.subx.html#L34791'>_string_81_subop_and</a>/imm32/subx-name <span id="L31124" class="LineNr">31124 </span> 3/imm32/rm32-is-first-output <span id="L31125" class="LineNr">31125 </span> 0/imm32/no-r32 <span id="L31126" class="LineNr">31126 </span> 1/imm32/imm32-is-first-inout @@ -29504,18 +29504,18 @@ if ('onhashchange' in window) { <span id="L31129" class="LineNr">31129 </span> 0/imm32/no-xm32 <span id="L31130" class="LineNr">31130 </span> 0/imm32/no-x32 <span id="L31131" class="LineNr">31131 </span> 0x11/imm32/alloc-id:fake -<span id="L31132" class="LineNr">31132 </span> _Primitive-and-lit-with-mem/imm32/next +<span id="L31132" class="LineNr">31132 </span> <a href='mu.subx.html#L31133'>_Primitive-and-lit-with-mem</a>/imm32/next <span id="L31133" class="LineNr">31133 </span><span class="subxMinorFunction">_Primitive-and-lit-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31134" class="LineNr">31134 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31135" class="LineNr">31135 </span> <span class="subxComment"># and-with var1, lit => 81 4/subop/and var1/rm32 lit/imm32</span> <span id="L31136" class="LineNr">31136 </span> 0x11/imm32/alloc-id:fake -<span id="L31137" class="LineNr">31137 </span> _string-and-with/imm32/name +<span id="L31137" class="LineNr">31137 </span> <a href='mu.subx.html#L34034'>_string-and-with</a>/imm32/name <span id="L31138" class="LineNr">31138 </span> 0x11/imm32/alloc-id:fake -<span id="L31139" class="LineNr">31139 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31139" class="LineNr">31139 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31140" class="LineNr">31140 </span> 0/imm32/no-outputs <span id="L31141" class="LineNr">31141 </span> 0/imm32/no-outputs <span id="L31142" class="LineNr">31142 </span> 0x11/imm32/alloc-id:fake -<span id="L31143" class="LineNr">31143 </span> _string_81_subop_and/imm32/subx-name +<span id="L31143" class="LineNr">31143 </span> <a href='mu.subx.html#L34791'>_string_81_subop_and</a>/imm32/subx-name <span id="L31144" class="LineNr">31144 </span> 1/imm32/rm32-is-first-inout <span id="L31145" class="LineNr">31145 </span> 0/imm32/no-r32 <span id="L31146" class="LineNr">31146 </span> 2/imm32/imm32-is-second-inout @@ -29524,19 +29524,19 @@ if ('onhashchange' in window) { <span id="L31149" class="LineNr">31149 </span> 0/imm32/no-xm32 <span id="L31150" class="LineNr">31150 </span> 0/imm32/no-x32 <span id="L31151" class="LineNr">31151 </span> 0x11/imm32/alloc-id:fake -<span id="L31152" class="LineNr">31152 </span> _Primitive-or-with-eax/imm32/next +<span id="L31152" class="LineNr">31152 </span> <a href='mu.subx.html#L31154'>_Primitive-or-with-eax</a>/imm32/next <span id="L31153" class="LineNr">31153 </span><span class="subxH1Comment"># - or</span> <span id="L31154" class="LineNr">31154 </span><span class="subxMinorFunction">_Primitive-or-with-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31155" class="LineNr">31155 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31156" class="LineNr">31156 </span> <span class="subxComment"># var/eax <- or lit => 0d/or-with-eax lit/imm32</span> <span id="L31157" class="LineNr">31157 </span> 0x11/imm32/alloc-id:fake -<span id="L31158" class="LineNr">31158 </span> _string-or/imm32/name +<span id="L31158" class="LineNr">31158 </span> <a href='mu.subx.html#L34324'>_string-or</a>/imm32/name <span id="L31159" class="LineNr">31159 </span> 0x11/imm32/alloc-id:fake -<span id="L31160" class="LineNr">31160 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31160" class="LineNr">31160 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31161" class="LineNr">31161 </span> 0x11/imm32/alloc-id:fake -<span id="L31162" class="LineNr">31162 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L31162" class="LineNr">31162 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L31163" class="LineNr">31163 </span> 0x11/imm32/alloc-id:fake -<span id="L31164" class="LineNr">31164 </span> _string_0d_or_with_eax/imm32/subx-name +<span id="L31164" class="LineNr">31164 </span> <a href='mu.subx.html#L34396'>_string_0d_or_with_eax</a>/imm32/subx-name <span id="L31165" class="LineNr">31165 </span> 0/imm32/no-rm32 <span id="L31166" class="LineNr">31166 </span> 0/imm32/no-r32 <span id="L31167" class="LineNr">31167 </span> 1/imm32/imm32-is-first-inout @@ -29545,18 +29545,18 @@ if ('onhashchange' in window) { <span id="L31170" class="LineNr">31170 </span> 0/imm32/no-xm32 <span id="L31171" class="LineNr">31171 </span> 0/imm32/no-x32 <span id="L31172" class="LineNr">31172 </span> 0x11/imm32/alloc-id:fake -<span id="L31173" class="LineNr">31173 </span> _Primitive-or-reg-with-reg/imm32/next +<span id="L31173" class="LineNr">31173 </span> <a href='mu.subx.html#L31174'>_Primitive-or-reg-with-reg</a>/imm32/next <span id="L31174" class="LineNr">31174 </span><span class="subxMinorFunction">_Primitive-or-reg-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31175" class="LineNr">31175 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31176" class="LineNr">31176 </span> <span class="subxComment"># var1/reg <- or var2/reg => 09/or-with var1/rm32 var2/r32</span> <span id="L31177" class="LineNr">31177 </span> 0x11/imm32/alloc-id:fake -<span id="L31178" class="LineNr">31178 </span> _string-or/imm32/name +<span id="L31178" class="LineNr">31178 </span> <a href='mu.subx.html#L34324'>_string-or</a>/imm32/name <span id="L31179" class="LineNr">31179 </span> 0x11/imm32/alloc-id:fake -<span id="L31180" class="LineNr">31180 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L31180" class="LineNr">31180 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L31181" class="LineNr">31181 </span> 0x11/imm32/alloc-id:fake -<span id="L31182" class="LineNr">31182 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31182" class="LineNr">31182 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31183" class="LineNr">31183 </span> 0x11/imm32/alloc-id:fake -<span id="L31184" class="LineNr">31184 </span> _string_09_or_with/imm32/subx-name +<span id="L31184" class="LineNr">31184 </span> <a href='mu.subx.html#L34386'>_string_09_or_with</a>/imm32/subx-name <span id="L31185" class="LineNr">31185 </span> 3/imm32/rm32-is-first-output <span id="L31186" class="LineNr">31186 </span> 1/imm32/r32-is-first-inout <span id="L31187" class="LineNr">31187 </span> 0/imm32/no-imm32 @@ -29565,18 +29565,18 @@ if ('onhashchange' in window) { <span id="L31190" class="LineNr">31190 </span> 0/imm32/no-xm32 <span id="L31191" class="LineNr">31191 </span> 0/imm32/no-x32 <span id="L31192" class="LineNr">31192 </span> 0x11/imm32/alloc-id:fake -<span id="L31193" class="LineNr">31193 </span> _Primitive-or-reg-with-mem/imm32/next +<span id="L31193" class="LineNr">31193 </span> <a href='mu.subx.html#L31194'>_Primitive-or-reg-with-mem</a>/imm32/next <span id="L31194" class="LineNr">31194 </span><span class="subxMinorFunction">_Primitive-or-reg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31195" class="LineNr">31195 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31196" class="LineNr">31196 </span> <span class="subxComment"># or-with var1 var2/reg => 09/or-with var1 var2/r32</span> <span id="L31197" class="LineNr">31197 </span> 0x11/imm32/alloc-id:fake -<span id="L31198" class="LineNr">31198 </span> _string-or-with/imm32/name +<span id="L31198" class="LineNr">31198 </span> <a href='mu.subx.html#L34329'>_string-or-with</a>/imm32/name <span id="L31199" class="LineNr">31199 </span> 0x11/imm32/alloc-id:fake -<span id="L31200" class="LineNr">31200 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L31200" class="LineNr">31200 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L31201" class="LineNr">31201 </span> 0/imm32/no-outputs <span id="L31202" class="LineNr">31202 </span> 0/imm32/no-outputs <span id="L31203" class="LineNr">31203 </span> 0x11/imm32/alloc-id:fake -<span id="L31204" class="LineNr">31204 </span> _string_09_or_with/imm32/subx-name +<span id="L31204" class="LineNr">31204 </span> <a href='mu.subx.html#L34386'>_string_09_or_with</a>/imm32/subx-name <span id="L31205" class="LineNr">31205 </span> 1/imm32/rm32-is-first-inout <span id="L31206" class="LineNr">31206 </span> 2/imm32/r32-is-second-inout <span id="L31207" class="LineNr">31207 </span> 0/imm32/no-imm32 @@ -29585,18 +29585,18 @@ if ('onhashchange' in window) { <span id="L31210" class="LineNr">31210 </span> 0/imm32/no-xm32 <span id="L31211" class="LineNr">31211 </span> 0/imm32/no-x32 <span id="L31212" class="LineNr">31212 </span> 0x11/imm32/alloc-id:fake -<span id="L31213" class="LineNr">31213 </span> _Primitive-or-mem-with-reg/imm32/next +<span id="L31213" class="LineNr">31213 </span> <a href='mu.subx.html#L31214'>_Primitive-or-mem-with-reg</a>/imm32/next <span id="L31214" class="LineNr">31214 </span><span class="subxMinorFunction">_Primitive-or-mem-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31215" class="LineNr">31215 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31216" class="LineNr">31216 </span> <span class="subxComment"># var1/reg <- or var2 => 0b/or var2/rm32 var1/r32</span> <span id="L31217" class="LineNr">31217 </span> 0x11/imm32/alloc-id:fake -<span id="L31218" class="LineNr">31218 </span> _string-or/imm32/name +<span id="L31218" class="LineNr">31218 </span> <a href='mu.subx.html#L34324'>_string-or</a>/imm32/name <span id="L31219" class="LineNr">31219 </span> 0x11/imm32/alloc-id:fake -<span id="L31220" class="LineNr">31220 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31220" class="LineNr">31220 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31221" class="LineNr">31221 </span> 0x11/imm32/alloc-id:fake -<span id="L31222" class="LineNr">31222 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31222" class="LineNr">31222 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31223" class="LineNr">31223 </span> 0x11/imm32/alloc-id:fake -<span id="L31224" class="LineNr">31224 </span> _string_0b_or/imm32/subx-name +<span id="L31224" class="LineNr">31224 </span> <a href='mu.subx.html#L34391'>_string_0b_or</a>/imm32/subx-name <span id="L31225" class="LineNr">31225 </span> 1/imm32/rm32-is-first-inout <span id="L31226" class="LineNr">31226 </span> 3/imm32/r32-is-first-output <span id="L31227" class="LineNr">31227 </span> 0/imm32/no-imm32 @@ -29605,18 +29605,18 @@ if ('onhashchange' in window) { <span id="L31230" class="LineNr">31230 </span> 0/imm32/no-xm32 <span id="L31231" class="LineNr">31231 </span> 0/imm32/no-x32 <span id="L31232" class="LineNr">31232 </span> 0x11/imm32/alloc-id:fake -<span id="L31233" class="LineNr">31233 </span> _Primitive-or-lit-with-reg/imm32/next +<span id="L31233" class="LineNr">31233 </span> <a href='mu.subx.html#L31234'>_Primitive-or-lit-with-reg</a>/imm32/next <span id="L31234" class="LineNr">31234 </span><span class="subxMinorFunction">_Primitive-or-lit-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31235" class="LineNr">31235 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31236" class="LineNr">31236 </span> <span class="subxComment"># var1/reg <- or lit => 81 1/subop/or var1/rm32 lit/imm32</span> <span id="L31237" class="LineNr">31237 </span> 0x11/imm32/alloc-id:fake -<span id="L31238" class="LineNr">31238 </span> _string-or/imm32/name +<span id="L31238" class="LineNr">31238 </span> <a href='mu.subx.html#L34324'>_string-or</a>/imm32/name <span id="L31239" class="LineNr">31239 </span> 0x11/imm32/alloc-id:fake -<span id="L31240" class="LineNr">31240 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31240" class="LineNr">31240 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31241" class="LineNr">31241 </span> 0x11/imm32/alloc-id:fake -<span id="L31242" class="LineNr">31242 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31242" class="LineNr">31242 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31243" class="LineNr">31243 </span> 0x11/imm32/alloc-id:fake -<span id="L31244" class="LineNr">31244 </span> _string_81_subop_or/imm32/subx-name +<span id="L31244" class="LineNr">31244 </span> <a href='mu.subx.html#L34786'>_string_81_subop_or</a>/imm32/subx-name <span id="L31245" class="LineNr">31245 </span> 3/imm32/rm32-is-first-output <span id="L31246" class="LineNr">31246 </span> 0/imm32/no-r32 <span id="L31247" class="LineNr">31247 </span> 1/imm32/imm32-is-first-inout @@ -29625,18 +29625,18 @@ if ('onhashchange' in window) { <span id="L31250" class="LineNr">31250 </span> 0/imm32/no-xm32 <span id="L31251" class="LineNr">31251 </span> 0/imm32/no-x32 <span id="L31252" class="LineNr">31252 </span> 0x11/imm32/alloc-id:fake -<span id="L31253" class="LineNr">31253 </span> _Primitive-or-lit-with-mem/imm32/next +<span id="L31253" class="LineNr">31253 </span> <a href='mu.subx.html#L31254'>_Primitive-or-lit-with-mem</a>/imm32/next <span id="L31254" class="LineNr">31254 </span><span class="subxMinorFunction">_Primitive-or-lit-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31255" class="LineNr">31255 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31256" class="LineNr">31256 </span> <span class="subxComment"># or-with var1, lit => 81 1/subop/or var1/rm32 lit/imm32</span> <span id="L31257" class="LineNr">31257 </span> 0x11/imm32/alloc-id:fake -<span id="L31258" class="LineNr">31258 </span> _string-or-with/imm32/name +<span id="L31258" class="LineNr">31258 </span> <a href='mu.subx.html#L34329'>_string-or-with</a>/imm32/name <span id="L31259" class="LineNr">31259 </span> 0x11/imm32/alloc-id:fake -<span id="L31260" class="LineNr">31260 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31260" class="LineNr">31260 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31261" class="LineNr">31261 </span> 0/imm32/no-outputs <span id="L31262" class="LineNr">31262 </span> 0/imm32/no-outputs <span id="L31263" class="LineNr">31263 </span> 0x11/imm32/alloc-id:fake -<span id="L31264" class="LineNr">31264 </span> _string_81_subop_or/imm32/subx-name +<span id="L31264" class="LineNr">31264 </span> <a href='mu.subx.html#L34786'>_string_81_subop_or</a>/imm32/subx-name <span id="L31265" class="LineNr">31265 </span> 1/imm32/rm32-is-first-inout <span id="L31266" class="LineNr">31266 </span> 0/imm32/no-r32 <span id="L31267" class="LineNr">31267 </span> 2/imm32/imm32-is-second-inout @@ -29645,19 +29645,19 @@ if ('onhashchange' in window) { <span id="L31270" class="LineNr">31270 </span> 0/imm32/no-xm32 <span id="L31271" class="LineNr">31271 </span> 0/imm32/no-x32 <span id="L31272" class="LineNr">31272 </span> 0x11/imm32/alloc-id:fake -<span id="L31273" class="LineNr">31273 </span> _Primitive-not-reg/imm32/next +<span id="L31273" class="LineNr">31273 </span> <a href='mu.subx.html#L31275'>_Primitive-not-reg</a>/imm32/next <span id="L31274" class="LineNr">31274 </span><span class="subxH1Comment"># - not</span> <span id="L31275" class="LineNr">31275 </span><span class="subxMinorFunction">_Primitive-not-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31276" class="LineNr">31276 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31277" class="LineNr">31277 </span> <span class="subxComment"># var1/reg <- not => f7 2/subop/not var1/rm32</span> <span id="L31278" class="LineNr">31278 </span> 0x11/imm32/alloc-id:fake -<span id="L31279" class="LineNr">31279 </span> _string-not/imm32/name +<span id="L31279" class="LineNr">31279 </span> <a href='mu.subx.html#L34319'>_string-not</a>/imm32/name <span id="L31280" class="LineNr">31280 </span> 0/imm32/no-inouts <span id="L31281" class="LineNr">31281 </span> 0/imm32/no-inouts <span id="L31282" class="LineNr">31282 </span> 0x11/imm32/alloc-id:fake -<span id="L31283" class="LineNr">31283 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31283" class="LineNr">31283 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31284" class="LineNr">31284 </span> 0x11/imm32/alloc-id:fake -<span id="L31285" class="LineNr">31285 </span> _string_f7_subop_not/imm32/subx-name +<span id="L31285" class="LineNr">31285 </span> <a href='mu.subx.html#L34891'>_string_f7_subop_not</a>/imm32/subx-name <span id="L31286" class="LineNr">31286 </span> 3/imm32/rm32-is-first-output <span id="L31287" class="LineNr">31287 </span> 0/imm32/no-r32 <span id="L31288" class="LineNr">31288 </span> 0/imm32/no-imm32 @@ -29666,18 +29666,18 @@ if ('onhashchange' in window) { <span id="L31291" class="LineNr">31291 </span> 0/imm32/no-xm32 <span id="L31292" class="LineNr">31292 </span> 0/imm32/no-x32 <span id="L31293" class="LineNr">31293 </span> 0x11/imm32/alloc-id:fake -<span id="L31294" class="LineNr">31294 </span> _Primitive-not-mem/imm32/next +<span id="L31294" class="LineNr">31294 </span> <a href='mu.subx.html#L31295'>_Primitive-not-mem</a>/imm32/next <span id="L31295" class="LineNr">31295 </span><span class="subxMinorFunction">_Primitive-not-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31296" class="LineNr">31296 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31297" class="LineNr">31297 </span> <span class="subxComment"># not var1 => f7 2/subop/not var1/rm32</span> <span id="L31298" class="LineNr">31298 </span> 0x11/imm32/alloc-id:fake -<span id="L31299" class="LineNr">31299 </span> _string-not/imm32/name +<span id="L31299" class="LineNr">31299 </span> <a href='mu.subx.html#L34319'>_string-not</a>/imm32/name <span id="L31300" class="LineNr">31300 </span> 0x11/imm32/alloc-id:fake -<span id="L31301" class="LineNr">31301 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31301" class="LineNr">31301 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31302" class="LineNr">31302 </span> 0/imm32/no-outputs <span id="L31303" class="LineNr">31303 </span> 0/imm32/no-outputs <span id="L31304" class="LineNr">31304 </span> 0x11/imm32/alloc-id:fake -<span id="L31305" class="LineNr">31305 </span> _string_f7_subop_not/imm32/subx-name +<span id="L31305" class="LineNr">31305 </span> <a href='mu.subx.html#L34891'>_string_f7_subop_not</a>/imm32/subx-name <span id="L31306" class="LineNr">31306 </span> 1/imm32/rm32-is-first-inout <span id="L31307" class="LineNr">31307 </span> 0/imm32/no-r32 <span id="L31308" class="LineNr">31308 </span> 0/imm32/no-imm32 @@ -29686,19 +29686,19 @@ if ('onhashchange' in window) { <span id="L31311" class="LineNr">31311 </span> 0/imm32/no-xm32 <span id="L31312" class="LineNr">31312 </span> 0/imm32/no-x32 <span id="L31313" class="LineNr">31313 </span> 0x11/imm32/alloc-id:fake -<span id="L31314" class="LineNr">31314 </span> _Primitive-xor-with-eax/imm32/next +<span id="L31314" class="LineNr">31314 </span> <a href='mu.subx.html#L31316'>_Primitive-xor-with-eax</a>/imm32/next <span id="L31315" class="LineNr">31315 </span><span class="subxH1Comment"># - xor</span> <span id="L31316" class="LineNr">31316 </span><span class="subxMinorFunction">_Primitive-xor-with-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31317" class="LineNr">31317 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31318" class="LineNr">31318 </span> <span class="subxComment"># var/eax <- xor lit => 35/xor-with-eax lit/imm32</span> <span id="L31319" class="LineNr">31319 </span> 0x11/imm32/alloc-id:fake -<span id="L31320" class="LineNr">31320 </span> _string-xor/imm32/name +<span id="L31320" class="LineNr">31320 </span> <a href='mu.subx.html#L34344'>_string-xor</a>/imm32/name <span id="L31321" class="LineNr">31321 </span> 0x11/imm32/alloc-id:fake -<span id="L31322" class="LineNr">31322 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31322" class="LineNr">31322 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31323" class="LineNr">31323 </span> 0x11/imm32/alloc-id:fake -<span id="L31324" class="LineNr">31324 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L31324" class="LineNr">31324 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L31325" class="LineNr">31325 </span> 0x11/imm32/alloc-id:fake -<span id="L31326" class="LineNr">31326 </span> _string_35_xor_with_eax/imm32/subx-name +<span id="L31326" class="LineNr">31326 </span> <a href='mu.subx.html#L34701'>_string_35_xor_with_eax</a>/imm32/subx-name <span id="L31327" class="LineNr">31327 </span> 0/imm32/no-rm32 <span id="L31328" class="LineNr">31328 </span> 0/imm32/no-r32 <span id="L31329" class="LineNr">31329 </span> 1/imm32/imm32-is-first-inout @@ -29707,18 +29707,18 @@ if ('onhashchange' in window) { <span id="L31332" class="LineNr">31332 </span> 0/imm32/no-xm32 <span id="L31333" class="LineNr">31333 </span> 0/imm32/no-x32 <span id="L31334" class="LineNr">31334 </span> 0x11/imm32/alloc-id:fake -<span id="L31335" class="LineNr">31335 </span> _Primitive-xor-reg-with-reg/imm32/next +<span id="L31335" class="LineNr">31335 </span> <a href='mu.subx.html#L31336'>_Primitive-xor-reg-with-reg</a>/imm32/next <span id="L31336" class="LineNr">31336 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31337" class="LineNr">31337 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31338" class="LineNr">31338 </span> <span class="subxComment"># var1/reg <- xor var2/reg => 31/xor-with var1/rm32 var2/r32</span> <span id="L31339" class="LineNr">31339 </span> 0x11/imm32/alloc-id:fake -<span id="L31340" class="LineNr">31340 </span> _string-xor/imm32/name +<span id="L31340" class="LineNr">31340 </span> <a href='mu.subx.html#L34344'>_string-xor</a>/imm32/name <span id="L31341" class="LineNr">31341 </span> 0x11/imm32/alloc-id:fake -<span id="L31342" class="LineNr">31342 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L31342" class="LineNr">31342 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L31343" class="LineNr">31343 </span> 0x11/imm32/alloc-id:fake -<span id="L31344" class="LineNr">31344 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31344" class="LineNr">31344 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31345" class="LineNr">31345 </span> 0x11/imm32/alloc-id:fake -<span id="L31346" class="LineNr">31346 </span> _string_31_xor_with/imm32/subx-name +<span id="L31346" class="LineNr">31346 </span> <a href='mu.subx.html#L34691'>_string_31_xor_with</a>/imm32/subx-name <span id="L31347" class="LineNr">31347 </span> 3/imm32/rm32-is-first-output <span id="L31348" class="LineNr">31348 </span> 1/imm32/r32-is-first-inout <span id="L31349" class="LineNr">31349 </span> 0/imm32/no-imm32 @@ -29727,18 +29727,18 @@ if ('onhashchange' in window) { <span id="L31352" class="LineNr">31352 </span> 0/imm32/no-xm32 <span id="L31353" class="LineNr">31353 </span> 0/imm32/no-x32 <span id="L31354" class="LineNr">31354 </span> 0x11/imm32/alloc-id:fake -<span id="L31355" class="LineNr">31355 </span> _Primitive-xor-reg-with-mem/imm32/next +<span id="L31355" class="LineNr">31355 </span> <a href='mu.subx.html#L31356'>_Primitive-xor-reg-with-mem</a>/imm32/next <span id="L31356" class="LineNr">31356 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31357" class="LineNr">31357 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31358" class="LineNr">31358 </span> <span class="subxComment"># xor-with var1 var2/reg => 31/xor-with var1 var2/r32</span> <span id="L31359" class="LineNr">31359 </span> 0x11/imm32/alloc-id:fake -<span id="L31360" class="LineNr">31360 </span> _string-xor-with/imm32/name +<span id="L31360" class="LineNr">31360 </span> <a href='mu.subx.html#L34349'>_string-xor-with</a>/imm32/name <span id="L31361" class="LineNr">31361 </span> 0x11/imm32/alloc-id:fake -<span id="L31362" class="LineNr">31362 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L31362" class="LineNr">31362 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L31363" class="LineNr">31363 </span> 0/imm32/no-outputs <span id="L31364" class="LineNr">31364 </span> 0/imm32/no-outputs <span id="L31365" class="LineNr">31365 </span> 0x11/imm32/alloc-id:fake -<span id="L31366" class="LineNr">31366 </span> _string_31_xor_with/imm32/subx-name +<span id="L31366" class="LineNr">31366 </span> <a href='mu.subx.html#L34691'>_string_31_xor_with</a>/imm32/subx-name <span id="L31367" class="LineNr">31367 </span> 1/imm32/rm32-is-first-inout <span id="L31368" class="LineNr">31368 </span> 2/imm32/r32-is-second-inout <span id="L31369" class="LineNr">31369 </span> 0/imm32/no-imm32 @@ -29747,18 +29747,18 @@ if ('onhashchange' in window) { <span id="L31372" class="LineNr">31372 </span> 0/imm32/no-xm32 <span id="L31373" class="LineNr">31373 </span> 0/imm32/no-x32 <span id="L31374" class="LineNr">31374 </span> 0x11/imm32/alloc-id:fake -<span id="L31375" class="LineNr">31375 </span> _Primitive-xor-mem-with-reg/imm32/next +<span id="L31375" class="LineNr">31375 </span> <a href='mu.subx.html#L31376'>_Primitive-xor-mem-with-reg</a>/imm32/next <span id="L31376" class="LineNr">31376 </span><span class="subxMinorFunction">_Primitive-xor-mem-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31377" class="LineNr">31377 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31378" class="LineNr">31378 </span> <span class="subxComment"># var1/reg <- xor var2 => 33/xor var2/rm32 var1/r32</span> <span id="L31379" class="LineNr">31379 </span> 0x11/imm32/alloc-id:fake -<span id="L31380" class="LineNr">31380 </span> _string-xor/imm32/name +<span id="L31380" class="LineNr">31380 </span> <a href='mu.subx.html#L34344'>_string-xor</a>/imm32/name <span id="L31381" class="LineNr">31381 </span> 0x11/imm32/alloc-id:fake -<span id="L31382" class="LineNr">31382 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31382" class="LineNr">31382 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31383" class="LineNr">31383 </span> 0x11/imm32/alloc-id:fake -<span id="L31384" class="LineNr">31384 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31384" class="LineNr">31384 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31385" class="LineNr">31385 </span> 0x11/imm32/alloc-id:fake -<span id="L31386" class="LineNr">31386 </span> _string_33_xor/imm32/subx-name +<span id="L31386" class="LineNr">31386 </span> <a href='mu.subx.html#L34696'>_string_33_xor</a>/imm32/subx-name <span id="L31387" class="LineNr">31387 </span> 1/imm32/rm32-is-first-inout <span id="L31388" class="LineNr">31388 </span> 3/imm32/r32-is-first-output <span id="L31389" class="LineNr">31389 </span> 0/imm32/no-imm32 @@ -29767,18 +29767,18 @@ if ('onhashchange' in window) { <span id="L31392" class="LineNr">31392 </span> 0/imm32/no-xm32 <span id="L31393" class="LineNr">31393 </span> 0/imm32/no-x32 <span id="L31394" class="LineNr">31394 </span> 0x11/imm32/alloc-id:fake -<span id="L31395" class="LineNr">31395 </span> _Primitive-xor-lit-with-reg/imm32/next +<span id="L31395" class="LineNr">31395 </span> <a href='mu.subx.html#L31396'>_Primitive-xor-lit-with-reg</a>/imm32/next <span id="L31396" class="LineNr">31396 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31397" class="LineNr">31397 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31398" class="LineNr">31398 </span> <span class="subxComment"># var1/reg <- xor lit => 81 6/subop/xor var1/rm32 lit/imm32</span> <span id="L31399" class="LineNr">31399 </span> 0x11/imm32/alloc-id:fake -<span id="L31400" class="LineNr">31400 </span> _string-xor/imm32/name +<span id="L31400" class="LineNr">31400 </span> <a href='mu.subx.html#L34344'>_string-xor</a>/imm32/name <span id="L31401" class="LineNr">31401 </span> 0x11/imm32/alloc-id:fake -<span id="L31402" class="LineNr">31402 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31402" class="LineNr">31402 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31403" class="LineNr">31403 </span> 0x11/imm32/alloc-id:fake -<span id="L31404" class="LineNr">31404 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31404" class="LineNr">31404 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31405" class="LineNr">31405 </span> 0x11/imm32/alloc-id:fake -<span id="L31406" class="LineNr">31406 </span> _string_81_subop_xor/imm32/subx-name +<span id="L31406" class="LineNr">31406 </span> <a href='mu.subx.html#L34801'>_string_81_subop_xor</a>/imm32/subx-name <span id="L31407" class="LineNr">31407 </span> 3/imm32/rm32-is-first-output <span id="L31408" class="LineNr">31408 </span> 0/imm32/no-r32 <span id="L31409" class="LineNr">31409 </span> 1/imm32/imm32-is-first-inout @@ -29787,18 +29787,18 @@ if ('onhashchange' in window) { <span id="L31412" class="LineNr">31412 </span> 0/imm32/no-xm32 <span id="L31413" class="LineNr">31413 </span> 0/imm32/no-x32 <span id="L31414" class="LineNr">31414 </span> 0x11/imm32/alloc-id:fake -<span id="L31415" class="LineNr">31415 </span> _Primitive-xor-lit-with-mem/imm32/next +<span id="L31415" class="LineNr">31415 </span> <a href='mu.subx.html#L31416'>_Primitive-xor-lit-with-mem</a>/imm32/next <span id="L31416" class="LineNr">31416 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31417" class="LineNr">31417 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31418" class="LineNr">31418 </span> <span class="subxComment"># xor-with var1, lit => 81 6/subop/xor var1/rm32 lit/imm32</span> <span id="L31419" class="LineNr">31419 </span> 0x11/imm32/alloc-id:fake -<span id="L31420" class="LineNr">31420 </span> _string-xor-with/imm32/name +<span id="L31420" class="LineNr">31420 </span> <a href='mu.subx.html#L34349'>_string-xor-with</a>/imm32/name <span id="L31421" class="LineNr">31421 </span> 0x11/imm32/alloc-id:fake -<span id="L31422" class="LineNr">31422 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31422" class="LineNr">31422 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31423" class="LineNr">31423 </span> 0/imm32/no-outputs <span id="L31424" class="LineNr">31424 </span> 0/imm32/no-outputs <span id="L31425" class="LineNr">31425 </span> 0x11/imm32/alloc-id:fake -<span id="L31426" class="LineNr">31426 </span> _string_81_subop_xor/imm32/subx-name +<span id="L31426" class="LineNr">31426 </span> <a href='mu.subx.html#L34801'>_string_81_subop_xor</a>/imm32/subx-name <span id="L31427" class="LineNr">31427 </span> 1/imm32/rm32-is-first-inout <span id="L31428" class="LineNr">31428 </span> 0/imm32/no-r32 <span id="L31429" class="LineNr">31429 </span> 2/imm32/imm32-is-second-inout @@ -29807,18 +29807,18 @@ if ('onhashchange' in window) { <span id="L31432" class="LineNr">31432 </span> 0/imm32/no-xm32 <span id="L31433" class="LineNr">31433 </span> 0/imm32/no-x32 <span id="L31434" class="LineNr">31434 </span> 0x11/imm32/alloc-id:fake -<span id="L31435" class="LineNr">31435 </span> _Primitive-shift-reg-left-by-lit/imm32/next +<span id="L31435" class="LineNr">31435 </span> <a href='mu.subx.html#L31436'>_Primitive-shift-reg-left-by-lit</a>/imm32/next <span id="L31436" class="LineNr">31436 </span><span class="subxMinorFunction">_Primitive-shift-reg-left-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31437" class="LineNr">31437 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31438" class="LineNr">31438 </span> <span class="subxComment"># var1/reg <- shift-left lit => c1/shift 4/subop/left var1/rm32 lit/imm32</span> <span id="L31439" class="LineNr">31439 </span> 0x11/imm32/alloc-id:fake -<span id="L31440" class="LineNr">31440 </span> _string-shift-left/imm32/name +<span id="L31440" class="LineNr">31440 </span> <a href='mu.subx.html#L34354'>_string-shift-left</a>/imm32/name <span id="L31441" class="LineNr">31441 </span> 0x11/imm32/alloc-id:fake -<span id="L31442" class="LineNr">31442 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31442" class="LineNr">31442 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31443" class="LineNr">31443 </span> 0x11/imm32/alloc-id:fake -<span id="L31444" class="LineNr">31444 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31444" class="LineNr">31444 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31445" class="LineNr">31445 </span> 0x11/imm32/alloc-id:fake -<span id="L31446" class="LineNr">31446 </span> _string_c1_subop_shift_left/imm32/subx-name +<span id="L31446" class="LineNr">31446 </span> <a href='mu.subx.html#L34906'>_string_c1_subop_shift_left</a>/imm32/subx-name <span id="L31447" class="LineNr">31447 </span> 3/imm32/rm32-is-first-output <span id="L31448" class="LineNr">31448 </span> 0/imm32/no-r32 <span id="L31449" class="LineNr">31449 </span> 0/imm32/no-imm32 @@ -29827,18 +29827,18 @@ if ('onhashchange' in window) { <span id="L31452" class="LineNr">31452 </span> 0/imm32/no-xm32 <span id="L31453" class="LineNr">31453 </span> 0/imm32/no-x32 <span id="L31454" class="LineNr">31454 </span> 0x11/imm32/alloc-id:fake -<span id="L31455" class="LineNr">31455 </span> _Primitive-shift-reg-right-by-lit/imm32/next +<span id="L31455" class="LineNr">31455 </span> <a href='mu.subx.html#L31456'>_Primitive-shift-reg-right-by-lit</a>/imm32/next <span id="L31456" class="LineNr">31456 </span><span class="subxMinorFunction">_Primitive-shift-reg-right-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31457" class="LineNr">31457 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31458" class="LineNr">31458 </span> <span class="subxComment"># var1/reg <- shift-right lit => c1/shift 5/subop/right var1/rm32 lit/imm32</span> <span id="L31459" class="LineNr">31459 </span> 0x11/imm32/alloc-id:fake -<span id="L31460" class="LineNr">31460 </span> _string-shift-right/imm32/name +<span id="L31460" class="LineNr">31460 </span> <a href='mu.subx.html#L34359'>_string-shift-right</a>/imm32/name <span id="L31461" class="LineNr">31461 </span> 0x11/imm32/alloc-id:fake -<span id="L31462" class="LineNr">31462 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31462" class="LineNr">31462 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31463" class="LineNr">31463 </span> 0x11/imm32/alloc-id:fake -<span id="L31464" class="LineNr">31464 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31464" class="LineNr">31464 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31465" class="LineNr">31465 </span> 0x11/imm32/alloc-id:fake -<span id="L31466" class="LineNr">31466 </span> _string_c1_subop_shift_right_padding_zeroes/imm32/subx-name +<span id="L31466" class="LineNr">31466 </span> <a href='mu.subx.html#L34911'>_string_c1_subop_shift_right_padding_zeroes</a>/imm32/subx-name <span id="L31467" class="LineNr">31467 </span> 3/imm32/rm32-is-first-output <span id="L31468" class="LineNr">31468 </span> 0/imm32/no-r32 <span id="L31469" class="LineNr">31469 </span> 0/imm32/no-imm32 @@ -29847,18 +29847,18 @@ if ('onhashchange' in window) { <span id="L31472" class="LineNr">31472 </span> 0/imm32/no-xm32 <span id="L31473" class="LineNr">31473 </span> 0/imm32/no-x32 <span id="L31474" class="LineNr">31474 </span> 0x11/imm32/alloc-id:fake -<span id="L31475" class="LineNr">31475 </span> _Primitive-shift-reg-right-signed-by-lit/imm32/next +<span id="L31475" class="LineNr">31475 </span> <a href='mu.subx.html#L31476'>_Primitive-shift-reg-right-signed-by-lit</a>/imm32/next <span id="L31476" class="LineNr">31476 </span><span class="subxMinorFunction">_Primitive-shift-reg-right-signed-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31477" class="LineNr">31477 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31478" class="LineNr">31478 </span> <span class="subxComment"># var1/reg <- shift-right-signed lit => c1/shift 7/subop/right-preserving-sign var1/rm32 lit/imm32</span> <span id="L31479" class="LineNr">31479 </span> 0x11/imm32/alloc-id:fake -<span id="L31480" class="LineNr">31480 </span> _string-shift-right-signed/imm32/name +<span id="L31480" class="LineNr">31480 </span> <a href='mu.subx.html#L34364'>_string-shift-right-signed</a>/imm32/name <span id="L31481" class="LineNr">31481 </span> 0x11/imm32/alloc-id:fake -<span id="L31482" class="LineNr">31482 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31482" class="LineNr">31482 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31483" class="LineNr">31483 </span> 0x11/imm32/alloc-id:fake -<span id="L31484" class="LineNr">31484 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31484" class="LineNr">31484 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31485" class="LineNr">31485 </span> 0x11/imm32/alloc-id:fake -<span id="L31486" class="LineNr">31486 </span> _string_c1_subop_shift_right_preserving_sign/imm32/subx-name +<span id="L31486" class="LineNr">31486 </span> <a href='mu.subx.html#L34916'>_string_c1_subop_shift_right_preserving_sign</a>/imm32/subx-name <span id="L31487" class="LineNr">31487 </span> 3/imm32/rm32-is-first-output <span id="L31488" class="LineNr">31488 </span> 0/imm32/no-r32 <span id="L31489" class="LineNr">31489 </span> 0/imm32/no-imm32 @@ -29867,18 +29867,18 @@ if ('onhashchange' in window) { <span id="L31492" class="LineNr">31492 </span> 0/imm32/no-xm32 <span id="L31493" class="LineNr">31493 </span> 0/imm32/no-x32 <span id="L31494" class="LineNr">31494 </span> 0x11/imm32/alloc-id:fake -<span id="L31495" class="LineNr">31495 </span> _Primitive-shift-mem-left-by-lit/imm32/next +<span id="L31495" class="LineNr">31495 </span> <a href='mu.subx.html#L31496'>_Primitive-shift-mem-left-by-lit</a>/imm32/next <span id="L31496" class="LineNr">31496 </span><span class="subxMinorFunction">_Primitive-shift-mem-left-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31497" class="LineNr">31497 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31498" class="LineNr">31498 </span> <span class="subxComment"># shift-left var1, lit => c1/shift 4/subop/left var1/rm32 lit/imm32</span> <span id="L31499" class="LineNr">31499 </span> 0x11/imm32/alloc-id:fake -<span id="L31500" class="LineNr">31500 </span> _string-shift-left/imm32/name +<span id="L31500" class="LineNr">31500 </span> <a href='mu.subx.html#L34354'>_string-shift-left</a>/imm32/name <span id="L31501" class="LineNr">31501 </span> 0x11/imm32/alloc-id:fake -<span id="L31502" class="LineNr">31502 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31502" class="LineNr">31502 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31503" class="LineNr">31503 </span> 0/imm32/no-outputs <span id="L31504" class="LineNr">31504 </span> 0/imm32/no-outputs <span id="L31505" class="LineNr">31505 </span> 0x11/imm32/alloc-id:fake -<span id="L31506" class="LineNr">31506 </span> _string_c1_subop_shift_left/imm32/subx-name +<span id="L31506" class="LineNr">31506 </span> <a href='mu.subx.html#L34906'>_string_c1_subop_shift_left</a>/imm32/subx-name <span id="L31507" class="LineNr">31507 </span> 1/imm32/rm32-is-first-inout <span id="L31508" class="LineNr">31508 </span> 0/imm32/no-r32 <span id="L31509" class="LineNr">31509 </span> 0/imm32/no-imm32 @@ -29887,18 +29887,18 @@ if ('onhashchange' in window) { <span id="L31512" class="LineNr">31512 </span> 0/imm32/no-xm32 <span id="L31513" class="LineNr">31513 </span> 0/imm32/no-x32 <span id="L31514" class="LineNr">31514 </span> 0x11/imm32/alloc-id:fake -<span id="L31515" class="LineNr">31515 </span> _Primitive-shift-mem-right-by-lit/imm32/next +<span id="L31515" class="LineNr">31515 </span> <a href='mu.subx.html#L31516'>_Primitive-shift-mem-right-by-lit</a>/imm32/next <span id="L31516" class="LineNr">31516 </span><span class="subxMinorFunction">_Primitive-shift-mem-right-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31517" class="LineNr">31517 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31518" class="LineNr">31518 </span> <span class="subxComment"># shift-right var1, lit => c1/shift 5/subop/right var1/rm32 lit/imm32</span> <span id="L31519" class="LineNr">31519 </span> 0x11/imm32/alloc-id:fake -<span id="L31520" class="LineNr">31520 </span> _string-shift-right/imm32/name +<span id="L31520" class="LineNr">31520 </span> <a href='mu.subx.html#L34359'>_string-shift-right</a>/imm32/name <span id="L31521" class="LineNr">31521 </span> 0x11/imm32/alloc-id:fake -<span id="L31522" class="LineNr">31522 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31522" class="LineNr">31522 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31523" class="LineNr">31523 </span> 0/imm32/no-outputs <span id="L31524" class="LineNr">31524 </span> 0/imm32/no-outputs <span id="L31525" class="LineNr">31525 </span> 0x11/imm32/alloc-id:fake -<span id="L31526" class="LineNr">31526 </span> _string_c1_subop_shift_right_padding_zeroes/imm32/subx-name +<span id="L31526" class="LineNr">31526 </span> <a href='mu.subx.html#L34911'>_string_c1_subop_shift_right_padding_zeroes</a>/imm32/subx-name <span id="L31527" class="LineNr">31527 </span> 1/imm32/rm32-is-first-inout <span id="L31528" class="LineNr">31528 </span> 0/imm32/no-r32 <span id="L31529" class="LineNr">31529 </span> 0/imm32/no-imm32 @@ -29907,18 +29907,18 @@ if ('onhashchange' in window) { <span id="L31532" class="LineNr">31532 </span> 0/imm32/no-xm32 <span id="L31533" class="LineNr">31533 </span> 0/imm32/no-x32 <span id="L31534" class="LineNr">31534 </span> 0x11/imm32/alloc-id:fake -<span id="L31535" class="LineNr">31535 </span> _Primitive-shift-mem-right-signed-by-lit/imm32/next +<span id="L31535" class="LineNr">31535 </span> <a href='mu.subx.html#L31536'>_Primitive-shift-mem-right-signed-by-lit</a>/imm32/next <span id="L31536" class="LineNr">31536 </span><span class="subxMinorFunction">_Primitive-shift-mem-right-signed-by-lit</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31537" class="LineNr">31537 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31538" class="LineNr">31538 </span> <span class="subxComment"># shift-right-signed var1, lit => c1/shift 7/subop/right-preserving-sign var1/rm32 lit/imm32</span> <span id="L31539" class="LineNr">31539 </span> 0x11/imm32/alloc-id:fake -<span id="L31540" class="LineNr">31540 </span> _string-shift-right-signed/imm32/name +<span id="L31540" class="LineNr">31540 </span> <a href='mu.subx.html#L34364'>_string-shift-right-signed</a>/imm32/name <span id="L31541" class="LineNr">31541 </span> 0x11/imm32/alloc-id:fake -<span id="L31542" class="LineNr">31542 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31542" class="LineNr">31542 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31543" class="LineNr">31543 </span> 0/imm32/no-outputs <span id="L31544" class="LineNr">31544 </span> 0/imm32/no-outputs <span id="L31545" class="LineNr">31545 </span> 0x11/imm32/alloc-id:fake -<span id="L31546" class="LineNr">31546 </span> _string_c1_subop_shift_right_preserving_sign/imm32/subx-name +<span id="L31546" class="LineNr">31546 </span> <a href='mu.subx.html#L34916'>_string_c1_subop_shift_right_preserving_sign</a>/imm32/subx-name <span id="L31547" class="LineNr">31547 </span> 1/imm32/rm32-is-first-inout <span id="L31548" class="LineNr">31548 </span> 0/imm32/no-r32 <span id="L31549" class="LineNr">31549 </span> 0/imm32/no-imm32 @@ -29927,19 +29927,19 @@ if ('onhashchange' in window) { <span id="L31552" class="LineNr">31552 </span> 0/imm32/no-xm32 <span id="L31553" class="LineNr">31553 </span> 0/imm32/no-x32 <span id="L31554" class="LineNr">31554 </span> 0x11/imm32/alloc-id:fake -<span id="L31555" class="LineNr">31555 </span> _Primitive-copy-to-eax/imm32/next +<span id="L31555" class="LineNr">31555 </span> <a href='mu.subx.html#L31557'>_Primitive-copy-to-eax</a>/imm32/next <span id="L31556" class="LineNr">31556 </span><span class="subxH1Comment"># - copy</span> <span id="L31557" class="LineNr">31557 </span><span class="subxMinorFunction">_Primitive-copy-to-eax</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31558" class="LineNr">31558 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31559" class="LineNr">31559 </span> <span class="subxComment"># var/eax <- copy lit => b8/copy-to-eax lit/imm32</span> <span id="L31560" class="LineNr">31560 </span> 0x11/imm32/alloc-id:fake -<span id="L31561" class="LineNr">31561 </span> _string-copy/imm32/name +<span id="L31561" class="LineNr">31561 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31562" class="LineNr">31562 </span> 0x11/imm32/alloc-id:fake -<span id="L31563" class="LineNr">31563 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31563" class="LineNr">31563 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31564" class="LineNr">31564 </span> 0x11/imm32/alloc-id:fake -<span id="L31565" class="LineNr">31565 </span> <span class="SpecialChar">Single-int-var-in-eax</span>/imm32/outputs +<span id="L31565" class="LineNr">31565 </span> <span class="SpecialChar"><a href='mu.subx.html#L35091'>Single-int-var-in-eax</a></span>/imm32/outputs <span id="L31566" class="LineNr">31566 </span> 0x11/imm32/alloc-id:fake -<span id="L31567" class="LineNr">31567 </span> _string_b8_copy_to_eax/imm32/subx-name +<span id="L31567" class="LineNr">31567 </span> <a href='mu.subx.html#L34836'>_string_b8_copy_to_eax</a>/imm32/subx-name <span id="L31568" class="LineNr">31568 </span> 0/imm32/no-rm32 <span id="L31569" class="LineNr">31569 </span> 0/imm32/no-r32 <span id="L31570" class="LineNr">31570 </span> 1/imm32/imm32-is-first-inout @@ -29948,18 +29948,18 @@ if ('onhashchange' in window) { <span id="L31573" class="LineNr">31573 </span> 0/imm32/no-xm32 <span id="L31574" class="LineNr">31574 </span> 0/imm32/no-x32 <span id="L31575" class="LineNr">31575 </span> 0x11/imm32/alloc-id:fake -<span id="L31576" class="LineNr">31576 </span> _Primitive-copy-to-ecx/imm32/next +<span id="L31576" class="LineNr">31576 </span> <a href='mu.subx.html#L31577'>_Primitive-copy-to-ecx</a>/imm32/next <span id="L31577" class="LineNr">31577 </span><span class="subxMinorFunction">_Primitive-copy-to-ecx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31578" class="LineNr">31578 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31579" class="LineNr">31579 </span> <span class="subxComment"># var/ecx <- copy lit => b9/copy-to-ecx lit/imm32</span> <span id="L31580" class="LineNr">31580 </span> 0x11/imm32/alloc-id:fake -<span id="L31581" class="LineNr">31581 </span> _string-copy/imm32/name +<span id="L31581" class="LineNr">31581 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31582" class="LineNr">31582 </span> 0x11/imm32/alloc-id:fake -<span id="L31583" class="LineNr">31583 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31583" class="LineNr">31583 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31584" class="LineNr">31584 </span> 0x11/imm32/alloc-id:fake -<span id="L31585" class="LineNr">31585 </span> <span class="SpecialChar">Single-int-var-in-ecx</span>/imm32/outputs +<span id="L31585" class="LineNr">31585 </span> <span class="SpecialChar"><a href='mu.subx.html#L35109'>Single-int-var-in-ecx</a></span>/imm32/outputs <span id="L31586" class="LineNr">31586 </span> 0x11/imm32/alloc-id:fake -<span id="L31587" class="LineNr">31587 </span> _string_b9_copy_to_ecx/imm32/subx-name +<span id="L31587" class="LineNr">31587 </span> <a href='mu.subx.html#L34841'>_string_b9_copy_to_ecx</a>/imm32/subx-name <span id="L31588" class="LineNr">31588 </span> 0/imm32/no-rm32 <span id="L31589" class="LineNr">31589 </span> 0/imm32/no-r32 <span id="L31590" class="LineNr">31590 </span> 1/imm32/imm32-is-first-inout @@ -29968,18 +29968,18 @@ if ('onhashchange' in window) { <span id="L31593" class="LineNr">31593 </span> 0/imm32/no-xm32 <span id="L31594" class="LineNr">31594 </span> 0/imm32/no-x32 <span id="L31595" class="LineNr">31595 </span> 0x11/imm32/alloc-id:fake -<span id="L31596" class="LineNr">31596 </span> _Primitive-copy-to-edx/imm32/next +<span id="L31596" class="LineNr">31596 </span> <a href='mu.subx.html#L31597'>_Primitive-copy-to-edx</a>/imm32/next <span id="L31597" class="LineNr">31597 </span><span class="subxMinorFunction">_Primitive-copy-to-edx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31598" class="LineNr">31598 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31599" class="LineNr">31599 </span> <span class="subxComment"># var/edx <- copy lit => ba/copy-to-edx lit/imm32</span> <span id="L31600" class="LineNr">31600 </span> 0x11/imm32/alloc-id:fake -<span id="L31601" class="LineNr">31601 </span> _string-copy/imm32/name +<span id="L31601" class="LineNr">31601 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31602" class="LineNr">31602 </span> 0x11/imm32/alloc-id:fake -<span id="L31603" class="LineNr">31603 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31603" class="LineNr">31603 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31604" class="LineNr">31604 </span> 0x11/imm32/alloc-id:fake -<span id="L31605" class="LineNr">31605 </span> <span class="SpecialChar">Single-int-var-in-edx</span>/imm32/outputs +<span id="L31605" class="LineNr">31605 </span> <span class="SpecialChar"><a href='mu.subx.html#L35127'>Single-int-var-in-edx</a></span>/imm32/outputs <span id="L31606" class="LineNr">31606 </span> 0x11/imm32/alloc-id:fake -<span id="L31607" class="LineNr">31607 </span> _string_ba_copy_to_edx/imm32/subx-name +<span id="L31607" class="LineNr">31607 </span> <a href='mu.subx.html#L34846'>_string_ba_copy_to_edx</a>/imm32/subx-name <span id="L31608" class="LineNr">31608 </span> 0/imm32/no-rm32 <span id="L31609" class="LineNr">31609 </span> 0/imm32/no-r32 <span id="L31610" class="LineNr">31610 </span> 1/imm32/imm32-is-first-inout @@ -29988,18 +29988,18 @@ if ('onhashchange' in window) { <span id="L31613" class="LineNr">31613 </span> 0/imm32/no-xm32 <span id="L31614" class="LineNr">31614 </span> 0/imm32/no-x32 <span id="L31615" class="LineNr">31615 </span> 0x11/imm32/alloc-id:fake -<span id="L31616" class="LineNr">31616 </span> _Primitive-copy-to-ebx/imm32/next +<span id="L31616" class="LineNr">31616 </span> <a href='mu.subx.html#L31617'>_Primitive-copy-to-ebx</a>/imm32/next <span id="L31617" class="LineNr">31617 </span><span class="subxMinorFunction">_Primitive-copy-to-ebx</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31618" class="LineNr">31618 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31619" class="LineNr">31619 </span> <span class="subxComment"># var/ebx <- copy lit => bb/copy-to-ebx lit/imm32</span> <span id="L31620" class="LineNr">31620 </span> 0x11/imm32/alloc-id:fake -<span id="L31621" class="LineNr">31621 </span> _string-copy/imm32/name +<span id="L31621" class="LineNr">31621 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31622" class="LineNr">31622 </span> 0x11/imm32/alloc-id:fake -<span id="L31623" class="LineNr">31623 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31623" class="LineNr">31623 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31624" class="LineNr">31624 </span> 0x11/imm32/alloc-id:fake -<span id="L31625" class="LineNr">31625 </span> <span class="SpecialChar">Single-int-var-in-ebx</span>/imm32/outputs +<span id="L31625" class="LineNr">31625 </span> <span class="SpecialChar"><a href='mu.subx.html#L35145'>Single-int-var-in-ebx</a></span>/imm32/outputs <span id="L31626" class="LineNr">31626 </span> 0x11/imm32/alloc-id:fake -<span id="L31627" class="LineNr">31627 </span> _string_bb_copy_to_ebx/imm32/subx-name +<span id="L31627" class="LineNr">31627 </span> <a href='mu.subx.html#L34851'>_string_bb_copy_to_ebx</a>/imm32/subx-name <span id="L31628" class="LineNr">31628 </span> 0/imm32/no-rm32 <span id="L31629" class="LineNr">31629 </span> 0/imm32/no-r32 <span id="L31630" class="LineNr">31630 </span> 1/imm32/imm32-is-first-inout @@ -30008,18 +30008,18 @@ if ('onhashchange' in window) { <span id="L31633" class="LineNr">31633 </span> 0/imm32/no-xm32 <span id="L31634" class="LineNr">31634 </span> 0/imm32/no-x32 <span id="L31635" class="LineNr">31635 </span> 0x11/imm32/alloc-id:fake -<span id="L31636" class="LineNr">31636 </span> _Primitive-copy-to-esi/imm32/next +<span id="L31636" class="LineNr">31636 </span> <a href='mu.subx.html#L31637'>_Primitive-copy-to-esi</a>/imm32/next <span id="L31637" class="LineNr">31637 </span><span class="subxMinorFunction">_Primitive-copy-to-esi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31638" class="LineNr">31638 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31639" class="LineNr">31639 </span> <span class="subxComment"># var/esi <- copy lit => be/copy-to-esi lit/imm32</span> <span id="L31640" class="LineNr">31640 </span> 0x11/imm32/alloc-id:fake -<span id="L31641" class="LineNr">31641 </span> _string-copy/imm32/name +<span id="L31641" class="LineNr">31641 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31642" class="LineNr">31642 </span> 0x11/imm32/alloc-id:fake -<span id="L31643" class="LineNr">31643 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31643" class="LineNr">31643 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31644" class="LineNr">31644 </span> 0x11/imm32/alloc-id:fake -<span id="L31645" class="LineNr">31645 </span> <span class="SpecialChar">Single-int-var-in-esi</span>/imm32/outputs +<span id="L31645" class="LineNr">31645 </span> <span class="SpecialChar"><a href='mu.subx.html#L35163'>Single-int-var-in-esi</a></span>/imm32/outputs <span id="L31646" class="LineNr">31646 </span> 0x11/imm32/alloc-id:fake -<span id="L31647" class="LineNr">31647 </span> _string_be_copy_to_esi/imm32/subx-name +<span id="L31647" class="LineNr">31647 </span> <a href='mu.subx.html#L34856'>_string_be_copy_to_esi</a>/imm32/subx-name <span id="L31648" class="LineNr">31648 </span> 0/imm32/no-rm32 <span id="L31649" class="LineNr">31649 </span> 0/imm32/no-r32 <span id="L31650" class="LineNr">31650 </span> 1/imm32/imm32-is-first-inout @@ -30028,18 +30028,18 @@ if ('onhashchange' in window) { <span id="L31653" class="LineNr">31653 </span> 0/imm32/no-xm32 <span id="L31654" class="LineNr">31654 </span> 0/imm32/no-x32 <span id="L31655" class="LineNr">31655 </span> 0x11/imm32/alloc-id:fake -<span id="L31656" class="LineNr">31656 </span> _Primitive-copy-to-edi/imm32/next +<span id="L31656" class="LineNr">31656 </span> <a href='mu.subx.html#L31657'>_Primitive-copy-to-edi</a>/imm32/next <span id="L31657" class="LineNr">31657 </span><span class="subxMinorFunction">_Primitive-copy-to-edi</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31658" class="LineNr">31658 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31659" class="LineNr">31659 </span> <span class="subxComment"># var/edi <- copy lit => bf/copy-to-edi lit/imm32</span> <span id="L31660" class="LineNr">31660 </span> 0x11/imm32/alloc-id:fake -<span id="L31661" class="LineNr">31661 </span> _string-copy/imm32/name +<span id="L31661" class="LineNr">31661 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31662" class="LineNr">31662 </span> 0x11/imm32/alloc-id:fake -<span id="L31663" class="LineNr">31663 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31663" class="LineNr">31663 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31664" class="LineNr">31664 </span> 0x11/imm32/alloc-id:fake -<span id="L31665" class="LineNr">31665 </span> <span class="SpecialChar">Single-int-var-in-edi</span>/imm32/outputs +<span id="L31665" class="LineNr">31665 </span> <span class="SpecialChar"><a href='mu.subx.html#L35181'>Single-int-var-in-edi</a></span>/imm32/outputs <span id="L31666" class="LineNr">31666 </span> 0x11/imm32/alloc-id:fake -<span id="L31667" class="LineNr">31667 </span> _string_bf_copy_to_edi/imm32/subx-name +<span id="L31667" class="LineNr">31667 </span> <a href='mu.subx.html#L34861'>_string_bf_copy_to_edi</a>/imm32/subx-name <span id="L31668" class="LineNr">31668 </span> 0/imm32/no-rm32 <span id="L31669" class="LineNr">31669 </span> 0/imm32/no-r32 <span id="L31670" class="LineNr">31670 </span> 1/imm32/imm32-is-first-inout @@ -30048,18 +30048,18 @@ if ('onhashchange' in window) { <span id="L31673" class="LineNr">31673 </span> 0/imm32/no-xm32 <span id="L31674" class="LineNr">31674 </span> 0/imm32/no-x32 <span id="L31675" class="LineNr">31675 </span> 0x11/imm32/alloc-id:fake -<span id="L31676" class="LineNr">31676 </span> _Primitive-copy-reg-to-reg/imm32/next +<span id="L31676" class="LineNr">31676 </span> <a href='mu.subx.html#L31677'>_Primitive-copy-reg-to-reg</a>/imm32/next <span id="L31677" class="LineNr">31677 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31678" class="LineNr">31678 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31679" class="LineNr">31679 </span> <span class="subxComment"># var1/reg <- copy var2/reg => 89/<- var1/rm32 var2/r32</span> <span id="L31680" class="LineNr">31680 </span> 0x11/imm32/alloc-id:fake -<span id="L31681" class="LineNr">31681 </span> _string-copy/imm32/name +<span id="L31681" class="LineNr">31681 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31682" class="LineNr">31682 </span> 0x11/imm32/alloc-id:fake -<span id="L31683" class="LineNr">31683 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L31683" class="LineNr">31683 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L31684" class="LineNr">31684 </span> 0x11/imm32/alloc-id:fake -<span id="L31685" class="LineNr">31685 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31685" class="LineNr">31685 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31686" class="LineNr">31686 </span> 0x11/imm32/alloc-id:fake -<span id="L31687" class="LineNr">31687 </span> _string_89_<-/imm32/subx-name +<span id="L31687" class="LineNr">31687 </span> <a href='mu.subx.html#L34811'>_string_89_<-</a>/imm32/subx-name <span id="L31688" class="LineNr">31688 </span> 3/imm32/rm32-is-first-output <span id="L31689" class="LineNr">31689 </span> 1/imm32/r32-is-first-inout <span id="L31690" class="LineNr">31690 </span> 0/imm32/no-imm32 @@ -30068,18 +30068,18 @@ if ('onhashchange' in window) { <span id="L31693" class="LineNr">31693 </span> 0/imm32/no-xm32 <span id="L31694" class="LineNr">31694 </span> 0/imm32/no-x32 <span id="L31695" class="LineNr">31695 </span> 0x11/imm32/alloc-id:fake -<span id="L31696" class="LineNr">31696 </span> _Primitive-copy-reg-to-mem/imm32/next +<span id="L31696" class="LineNr">31696 </span> <a href='mu.subx.html#L31697'>_Primitive-copy-reg-to-mem</a>/imm32/next <span id="L31697" class="LineNr">31697 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31698" class="LineNr">31698 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31699" class="LineNr">31699 </span> <span class="subxComment"># copy-to var1 var2/reg => 89/<- var1 var2/r32</span> <span id="L31700" class="LineNr">31700 </span> 0x11/imm32/alloc-id:fake -<span id="L31701" class="LineNr">31701 </span> _string-copy-to/imm32/name +<span id="L31701" class="LineNr">31701 </span> <a href='mu.subx.html#L34144'>_string-copy-to</a>/imm32/name <span id="L31702" class="LineNr">31702 </span> 0x11/imm32/alloc-id:fake -<span id="L31703" class="LineNr">31703 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L31703" class="LineNr">31703 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L31704" class="LineNr">31704 </span> 0/imm32/no-outputs <span id="L31705" class="LineNr">31705 </span> 0/imm32/no-outputs <span id="L31706" class="LineNr">31706 </span> 0x11/imm32/alloc-id:fake -<span id="L31707" class="LineNr">31707 </span> _string_89_<-/imm32/subx-name +<span id="L31707" class="LineNr">31707 </span> <a href='mu.subx.html#L34811'>_string_89_<-</a>/imm32/subx-name <span id="L31708" class="LineNr">31708 </span> 1/imm32/rm32-is-first-inout <span id="L31709" class="LineNr">31709 </span> 2/imm32/r32-is-second-inout <span id="L31710" class="LineNr">31710 </span> 0/imm32/no-imm32 @@ -30088,18 +30088,18 @@ if ('onhashchange' in window) { <span id="L31713" class="LineNr">31713 </span> 0/imm32/no-xm32 <span id="L31714" class="LineNr">31714 </span> 0/imm32/no-x32 <span id="L31715" class="LineNr">31715 </span> 0x11/imm32/alloc-id:fake -<span id="L31716" class="LineNr">31716 </span> _Primitive-copy-mem-to-reg/imm32/next +<span id="L31716" class="LineNr">31716 </span> <a href='mu.subx.html#L31717'>_Primitive-copy-mem-to-reg</a>/imm32/next <span id="L31717" class="LineNr">31717 </span><span class="subxMinorFunction">_Primitive-copy-mem-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31718" class="LineNr">31718 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31719" class="LineNr">31719 </span> <span class="subxComment"># var1/reg <- copy var2 => 8b/-> var2/rm32 var1/r32</span> <span id="L31720" class="LineNr">31720 </span> 0x11/imm32/alloc-id:fake -<span id="L31721" class="LineNr">31721 </span> _string-copy/imm32/name +<span id="L31721" class="LineNr">31721 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31722" class="LineNr">31722 </span> 0x11/imm32/alloc-id:fake -<span id="L31723" class="LineNr">31723 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31723" class="LineNr">31723 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31724" class="LineNr">31724 </span> 0x11/imm32/alloc-id:fake -<span id="L31725" class="LineNr">31725 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31725" class="LineNr">31725 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31726" class="LineNr">31726 </span> 0x11/imm32/alloc-id:fake -<span id="L31727" class="LineNr">31727 </span> _string_8b_->/imm32/subx-name +<span id="L31727" class="LineNr">31727 </span> <a href='mu.subx.html#L34816'>_string_8b_-></a>/imm32/subx-name <span id="L31728" class="LineNr">31728 </span> 1/imm32/rm32-is-first-inout <span id="L31729" class="LineNr">31729 </span> 3/imm32/r32-is-first-output <span id="L31730" class="LineNr">31730 </span> 0/imm32/no-imm32 @@ -30108,18 +30108,18 @@ if ('onhashchange' in window) { <span id="L31733" class="LineNr">31733 </span> 0/imm32/no-xm32 <span id="L31734" class="LineNr">31734 </span> 0/imm32/no-x32 <span id="L31735" class="LineNr">31735 </span> 0x11/imm32/alloc-id:fake -<span id="L31736" class="LineNr">31736 </span> _Primitive-copy-lit-to-reg/imm32/next +<span id="L31736" class="LineNr">31736 </span> <a href='mu.subx.html#L31737'>_Primitive-copy-lit-to-reg</a>/imm32/next <span id="L31737" class="LineNr">31737 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31738" class="LineNr">31738 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31739" class="LineNr">31739 </span> <span class="subxComment"># var1/reg <- copy lit => c7 0/subop/copy var1/rm32 lit/imm32</span> <span id="L31740" class="LineNr">31740 </span> 0x11/imm32/alloc-id:fake -<span id="L31741" class="LineNr">31741 </span> _string-copy/imm32/name +<span id="L31741" class="LineNr">31741 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L31742" class="LineNr">31742 </span> 0x11/imm32/alloc-id:fake -<span id="L31743" class="LineNr">31743 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L31743" class="LineNr">31743 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L31744" class="LineNr">31744 </span> 0x11/imm32/alloc-id:fake -<span id="L31745" class="LineNr">31745 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31745" class="LineNr">31745 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31746" class="LineNr">31746 </span> 0x11/imm32/alloc-id:fake -<span id="L31747" class="LineNr">31747 </span> _string_c7_subop_copy/imm32/subx-name +<span id="L31747" class="LineNr">31747 </span> <a href='mu.subx.html#L34866'>_string_c7_subop_copy</a>/imm32/subx-name <span id="L31748" class="LineNr">31748 </span> 3/imm32/rm32-is-first-output <span id="L31749" class="LineNr">31749 </span> 0/imm32/no-r32 <span id="L31750" class="LineNr">31750 </span> 1/imm32/imm32-is-first-inout @@ -30128,18 +30128,18 @@ if ('onhashchange' in window) { <span id="L31753" class="LineNr">31753 </span> 0/imm32/no-xm32 <span id="L31754" class="LineNr">31754 </span> 0/imm32/no-x32 <span id="L31755" class="LineNr">31755 </span> 0x11/imm32/alloc-id:fake -<span id="L31756" class="LineNr">31756 </span> _Primitive-copy-lit-to-mem/imm32/next +<span id="L31756" class="LineNr">31756 </span> <a href='mu.subx.html#L31757'>_Primitive-copy-lit-to-mem</a>/imm32/next <span id="L31757" class="LineNr">31757 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31758" class="LineNr">31758 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31759" class="LineNr">31759 </span> <span class="subxComment"># copy-to var1, lit => c7 0/subop/copy var1/rm32 lit/imm32</span> <span id="L31760" class="LineNr">31760 </span> 0x11/imm32/alloc-id:fake -<span id="L31761" class="LineNr">31761 </span> _string-copy-to/imm32/name +<span id="L31761" class="LineNr">31761 </span> <a href='mu.subx.html#L34144'>_string-copy-to</a>/imm32/name <span id="L31762" class="LineNr">31762 </span> 0x11/imm32/alloc-id:fake -<span id="L31763" class="LineNr">31763 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31763" class="LineNr">31763 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31764" class="LineNr">31764 </span> 0/imm32/no-outputs <span id="L31765" class="LineNr">31765 </span> 0/imm32/no-outputs <span id="L31766" class="LineNr">31766 </span> 0x11/imm32/alloc-id:fake -<span id="L31767" class="LineNr">31767 </span> _string_c7_subop_copy/imm32/subx-name +<span id="L31767" class="LineNr">31767 </span> <a href='mu.subx.html#L34866'>_string_c7_subop_copy</a>/imm32/subx-name <span id="L31768" class="LineNr">31768 </span> 1/imm32/rm32-is-first-inout <span id="L31769" class="LineNr">31769 </span> 0/imm32/no-r32 <span id="L31770" class="LineNr">31770 </span> 2/imm32/imm32-is-second-inout @@ -30148,19 +30148,19 @@ if ('onhashchange' in window) { <span id="L31773" class="LineNr">31773 </span> 0/imm32/no-xm32 <span id="L31774" class="LineNr">31774 </span> 0/imm32/no-x32 <span id="L31775" class="LineNr">31775 </span> 0x11/imm32/alloc-id:fake -<span id="L31776" class="LineNr">31776 </span> _Primitive-copy-byte-from-reg/imm32/next +<span id="L31776" class="LineNr">31776 </span> <a href='mu.subx.html#L31778'>_Primitive-copy-byte-from-reg</a>/imm32/next <span id="L31777" class="LineNr">31777 </span><span class="subxH1Comment"># - copy byte</span> <span id="L31778" class="LineNr">31778 </span><span class="subxMinorFunction">_Primitive-copy-byte-from-reg</span>: <span id="L31779" class="LineNr">31779 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31780" class="LineNr">31780 </span> <span class="subxComment"># var/reg <- copy-byte var2/reg2 => 8a/byte-> %var2 var/r32</span> <span id="L31781" class="LineNr">31781 </span> 0x11/imm32/alloc-id:fake -<span id="L31782" class="LineNr">31782 </span> _string-copy-byte/imm32/name +<span id="L31782" class="LineNr">31782 </span> <a href='mu.subx.html#L34149'>_string-copy-byte</a>/imm32/name <span id="L31783" class="LineNr">31783 </span> 0x11/imm32/alloc-id:fake -<span id="L31784" class="LineNr">31784 </span> <span class="SpecialChar">Single-byte-var-in-some-register</span>/imm32/inouts +<span id="L31784" class="LineNr">31784 </span> <span class="SpecialChar"><a href='mu.subx.html#L35045'>Single-byte-var-in-some-register</a></span>/imm32/inouts <span id="L31785" class="LineNr">31785 </span> 0x11/imm32/alloc-id:fake -<span id="L31786" class="LineNr">31786 </span> <span class="SpecialChar">Single-byte-var-in-some-register</span>/imm32/outputs +<span id="L31786" class="LineNr">31786 </span> <span class="SpecialChar"><a href='mu.subx.html#L35045'>Single-byte-var-in-some-register</a></span>/imm32/outputs <span id="L31787" class="LineNr">31787 </span> 0x11/imm32/alloc-id:fake -<span id="L31788" class="LineNr">31788 </span> _string_8a_copy_byte/imm32/subx-name +<span id="L31788" class="LineNr">31788 </span> <a href='mu.subx.html#L34821'>_string_8a_copy_byte</a>/imm32/subx-name <span id="L31789" class="LineNr">31789 </span> 1/imm32/rm32-is-first-inout <span id="L31790" class="LineNr">31790 </span> 3/imm32/r32-is-first-output <span id="L31791" class="LineNr">31791 </span> 0/imm32/no-imm32 @@ -30169,18 +30169,18 @@ if ('onhashchange' in window) { <span id="L31794" class="LineNr">31794 </span> 0/imm32/no-xm32 <span id="L31795" class="LineNr">31795 </span> 0/imm32/no-x32 <span id="L31796" class="LineNr">31796 </span> 0x11/imm32/alloc-id:fake -<span id="L31797" class="LineNr">31797 </span> _Primitive-copy-byte-from-mem/imm32/next +<span id="L31797" class="LineNr">31797 </span> <a href='mu.subx.html#L31798'>_Primitive-copy-byte-from-mem</a>/imm32/next <span id="L31798" class="LineNr">31798 </span><span class="subxMinorFunction">_Primitive-copy-byte-from-mem</span>: <span id="L31799" class="LineNr">31799 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31800" class="LineNr">31800 </span> <span class="subxComment"># var/reg <- copy-byte *var2/reg2 => 8a/byte-> *var2 var/r32</span> <span id="L31801" class="LineNr">31801 </span> 0x11/imm32/alloc-id:fake -<span id="L31802" class="LineNr">31802 </span> _string-copy-byte/imm32/name +<span id="L31802" class="LineNr">31802 </span> <a href='mu.subx.html#L34149'>_string-copy-byte</a>/imm32/name <span id="L31803" class="LineNr">31803 </span> 0x11/imm32/alloc-id:fake -<span id="L31804" class="LineNr">31804 </span> <span class="SpecialChar">Single-byte-var-in-mem</span>/imm32/inouts +<span id="L31804" class="LineNr">31804 </span> <span class="SpecialChar"><a href='mu.subx.html#L34941'>Single-byte-var-in-mem</a></span>/imm32/inouts <span id="L31805" class="LineNr">31805 </span> 0x11/imm32/alloc-id:fake -<span id="L31806" class="LineNr">31806 </span> <span class="SpecialChar">Single-byte-var-in-some-register</span>/imm32/outputs +<span id="L31806" class="LineNr">31806 </span> <span class="SpecialChar"><a href='mu.subx.html#L35045'>Single-byte-var-in-some-register</a></span>/imm32/outputs <span id="L31807" class="LineNr">31807 </span> 0x11/imm32/alloc-id:fake -<span id="L31808" class="LineNr">31808 </span> _string_8a_copy_byte/imm32/subx-name +<span id="L31808" class="LineNr">31808 </span> <a href='mu.subx.html#L34821'>_string_8a_copy_byte</a>/imm32/subx-name <span id="L31809" class="LineNr">31809 </span> 1/imm32/rm32-is-first-inout <span id="L31810" class="LineNr">31810 </span> 3/imm32/r32-is-first-output <span id="L31811" class="LineNr">31811 </span> 0/imm32/no-imm32 @@ -30189,18 +30189,18 @@ if ('onhashchange' in window) { <span id="L31814" class="LineNr">31814 </span> 0/imm32/no-xm32 <span id="L31815" class="LineNr">31815 </span> 0/imm32/no-x32 <span id="L31816" class="LineNr">31816 </span> 0x11/imm32/alloc-id:fake -<span id="L31817" class="LineNr">31817 </span> _Primitive-copy-byte-to-mem/imm32/next +<span id="L31817" class="LineNr">31817 </span> <a href='mu.subx.html#L31818'>_Primitive-copy-byte-to-mem</a>/imm32/next <span id="L31818" class="LineNr">31818 </span><span class="subxMinorFunction">_Primitive-copy-byte-to-mem</span>: <span id="L31819" class="LineNr">31819 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31820" class="LineNr">31820 </span> <span class="subxComment"># copy-byte-to *var1/reg1, var2/reg2 => 88/byte<- *reg1 reg2/r32</span> <span id="L31821" class="LineNr">31821 </span> 0x11/imm32/alloc-id:fake -<span id="L31822" class="LineNr">31822 </span> _string-copy-byte-to/imm32/name +<span id="L31822" class="LineNr">31822 </span> <a href='mu.subx.html#L34154'>_string-copy-byte-to</a>/imm32/name <span id="L31823" class="LineNr">31823 </span> 0x11/imm32/alloc-id:fake -<span id="L31824" class="LineNr">31824 </span> <span class="SpecialChar">Two-args-byte-stack-byte-reg</span>/imm32/inouts +<span id="L31824" class="LineNr">31824 </span> <span class="SpecialChar"><a href='mu.subx.html#L34975'>Two-args-byte-stack-byte-reg</a></span>/imm32/inouts <span id="L31825" class="LineNr">31825 </span> 0/imm32/no-outputs <span id="L31826" class="LineNr">31826 </span> 0/imm32/no-outputs <span id="L31827" class="LineNr">31827 </span> 0x11/imm32/alloc-id:fake -<span id="L31828" class="LineNr">31828 </span> _string_88_copy_byte/imm32/subx-name +<span id="L31828" class="LineNr">31828 </span> <a href='mu.subx.html#L34826'>_string_88_copy_byte</a>/imm32/subx-name <span id="L31829" class="LineNr">31829 </span> 1/imm32/rm32-is-first-inout <span id="L31830" class="LineNr">31830 </span> 2/imm32/r32-is-second-inout <span id="L31831" class="LineNr">31831 </span> 0/imm32/no-imm32 @@ -30209,19 +30209,19 @@ if ('onhashchange' in window) { <span id="L31834" class="LineNr">31834 </span> 0/imm32/no-xm32 <span id="L31835" class="LineNr">31835 </span> 0/imm32/no-x32 <span id="L31836" class="LineNr">31836 </span> 0x11/imm32/alloc-id:fake -<span id="L31837" class="LineNr">31837 </span> _Primitive-address/imm32/next +<span id="L31837" class="LineNr">31837 </span> <a href='mu.subx.html#L31839'>_Primitive-address</a>/imm32/next <span id="L31838" class="LineNr">31838 </span><span class="subxH1Comment"># - address</span> <span id="L31839" class="LineNr">31839 </span><span class="subxMinorFunction">_Primitive-address</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31840" class="LineNr">31840 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31841" class="LineNr">31841 </span> <span class="subxComment"># var1/reg <- address var2 => 8d/copy-address var2/rm32 var1/r32</span> <span id="L31842" class="LineNr">31842 </span> 0x11/imm32/alloc-id:fake -<span id="L31843" class="LineNr">31843 </span> _string-address/imm32/name +<span id="L31843" class="LineNr">31843 </span> <a href='mu.subx.html#L34019'>_string-address</a>/imm32/name <span id="L31844" class="LineNr">31844 </span> 0x11/imm32/alloc-id:fake -<span id="L31845" class="LineNr">31845 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L31845" class="LineNr">31845 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L31846" class="LineNr">31846 </span> 0x11/imm32/alloc-id:fake -<span id="L31847" class="LineNr">31847 </span> <span class="SpecialChar">Single-addr-var-in-some-register</span>/imm32/outputs +<span id="L31847" class="LineNr">31847 </span> <span class="SpecialChar"><a href='mu.subx.html#L35038'>Single-addr-var-in-some-register</a></span>/imm32/outputs <span id="L31848" class="LineNr">31848 </span> 0x11/imm32/alloc-id:fake -<span id="L31849" class="LineNr">31849 </span> _string_8d_copy_address/imm32/subx-name +<span id="L31849" class="LineNr">31849 </span> <a href='mu.subx.html#L34831'>_string_8d_copy_address</a>/imm32/subx-name <span id="L31850" class="LineNr">31850 </span> 1/imm32/rm32-is-first-inout <span id="L31851" class="LineNr">31851 </span> 3/imm32/r32-is-first-output <span id="L31852" class="LineNr">31852 </span> 0/imm32/no-imm32 @@ -30230,19 +30230,19 @@ if ('onhashchange' in window) { <span id="L31855" class="LineNr">31855 </span> 0/imm32/no-xm32 <span id="L31856" class="LineNr">31856 </span> 0/imm32/no-x32 <span id="L31857" class="LineNr">31857 </span> 0x11/imm32/alloc-id:fake -<span id="L31858" class="LineNr">31858 </span> _Primitive-compare-reg-with-reg/imm32/next +<span id="L31858" class="LineNr">31858 </span> <a href='mu.subx.html#L31860'>_Primitive-compare-reg-with-reg</a>/imm32/next <span id="L31859" class="LineNr">31859 </span><span class="subxH1Comment"># - compare</span> <span id="L31860" class="LineNr">31860 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31861" class="LineNr">31861 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31862" class="LineNr">31862 </span> <span class="subxComment"># compare var1/reg1 var2/reg2 => 39/compare var1/rm32 var2/r32</span> <span id="L31863" class="LineNr">31863 </span> 0x11/imm32/alloc-id:fake -<span id="L31864" class="LineNr">31864 </span> _string-compare/imm32/name +<span id="L31864" class="LineNr">31864 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31865" class="LineNr">31865 </span> 0x11/imm32/alloc-id:fake -<span id="L31866" class="LineNr">31866 </span> <span class="SpecialChar">Two-int-args-in-regs</span>/imm32/inouts +<span id="L31866" class="LineNr">31866 </span> <span class="SpecialChar"><a href='mu.subx.html#L34967'>Two-int-args-in-regs</a></span>/imm32/inouts <span id="L31867" class="LineNr">31867 </span> 0/imm32/no-outputs <span id="L31868" class="LineNr">31868 </span> 0/imm32/no-outputs <span id="L31869" class="LineNr">31869 </span> 0x11/imm32/alloc-id:fake -<span id="L31870" class="LineNr">31870 </span> _string_39_compare->/imm32/subx-name +<span id="L31870" class="LineNr">31870 </span> <a href='mu.subx.html#L34706'>_string_39_compare-></a>/imm32/subx-name <span id="L31871" class="LineNr">31871 </span> 1/imm32/rm32-is-first-inout <span id="L31872" class="LineNr">31872 </span> 2/imm32/r32-is-second-inout <span id="L31873" class="LineNr">31873 </span> 0/imm32/no-imm32 @@ -30251,18 +30251,18 @@ if ('onhashchange' in window) { <span id="L31876" class="LineNr">31876 </span> 0/imm32/no-xm32 <span id="L31877" class="LineNr">31877 </span> 0/imm32/no-x32 <span id="L31878" class="LineNr">31878 </span> 0x11/imm32/alloc-id:fake -<span id="L31879" class="LineNr">31879 </span> _Primitive-compare-mem-with-reg/imm32/next +<span id="L31879" class="LineNr">31879 </span> <a href='mu.subx.html#L31880'>_Primitive-compare-mem-with-reg</a>/imm32/next <span id="L31880" class="LineNr">31880 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31881" class="LineNr">31881 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31882" class="LineNr">31882 </span> <span class="subxComment"># compare var1 var2/reg => 39/compare var1/rm32 var2/r32</span> <span id="L31883" class="LineNr">31883 </span> 0x11/imm32/alloc-id:fake -<span id="L31884" class="LineNr">31884 </span> _string-compare/imm32/name +<span id="L31884" class="LineNr">31884 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31885" class="LineNr">31885 </span> 0x11/imm32/alloc-id:fake -<span id="L31886" class="LineNr">31886 </span> <span class="SpecialChar">Two-args-int-stack-int-reg</span>/imm32/inouts +<span id="L31886" class="LineNr">31886 </span> <span class="SpecialChar"><a href='mu.subx.html#L34960'>Two-args-int-stack-int-reg</a></span>/imm32/inouts <span id="L31887" class="LineNr">31887 </span> 0/imm32/no-outputs <span id="L31888" class="LineNr">31888 </span> 0/imm32/no-outputs <span id="L31889" class="LineNr">31889 </span> 0x11/imm32/alloc-id:fake -<span id="L31890" class="LineNr">31890 </span> _string_39_compare->/imm32/subx-name +<span id="L31890" class="LineNr">31890 </span> <a href='mu.subx.html#L34706'>_string_39_compare-></a>/imm32/subx-name <span id="L31891" class="LineNr">31891 </span> 1/imm32/rm32-is-first-inout <span id="L31892" class="LineNr">31892 </span> 2/imm32/r32-is-second-inout <span id="L31893" class="LineNr">31893 </span> 0/imm32/no-imm32 @@ -30271,18 +30271,18 @@ if ('onhashchange' in window) { <span id="L31896" class="LineNr">31896 </span> 0/imm32/no-xm32 <span id="L31897" class="LineNr">31897 </span> 0/imm32/no-x32 <span id="L31898" class="LineNr">31898 </span> 0x11/imm32/alloc-id:fake -<span id="L31899" class="LineNr">31899 </span> _Primitive-compare-reg-with-mem/imm32/next +<span id="L31899" class="LineNr">31899 </span> <a href='mu.subx.html#L31900'>_Primitive-compare-reg-with-mem</a>/imm32/next <span id="L31900" class="LineNr">31900 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31901" class="LineNr">31901 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31902" class="LineNr">31902 </span> <span class="subxComment"># compare var1/reg var2 => 3b/compare<- var2/rm32 var1/r32</span> <span id="L31903" class="LineNr">31903 </span> 0x11/imm32/alloc-id:fake -<span id="L31904" class="LineNr">31904 </span> _string-compare/imm32/name +<span id="L31904" class="LineNr">31904 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31905" class="LineNr">31905 </span> 0x11/imm32/alloc-id:fake -<span id="L31906" class="LineNr">31906 </span> <span class="SpecialChar">Two-args-int-reg-int-stack</span>/imm32/inouts +<span id="L31906" class="LineNr">31906 </span> <span class="SpecialChar"><a href='mu.subx.html#L34982'>Two-args-int-reg-int-stack</a></span>/imm32/inouts <span id="L31907" class="LineNr">31907 </span> 0/imm32/no-outputs <span id="L31908" class="LineNr">31908 </span> 0/imm32/no-outputs <span id="L31909" class="LineNr">31909 </span> 0x11/imm32/alloc-id:fake -<span id="L31910" class="LineNr">31910 </span> _string_3b_compare<-/imm32/subx-name +<span id="L31910" class="LineNr">31910 </span> <a href='mu.subx.html#L34711'>_string_3b_compare<-</a>/imm32/subx-name <span id="L31911" class="LineNr">31911 </span> 2/imm32/rm32-is-second-inout <span id="L31912" class="LineNr">31912 </span> 1/imm32/r32-is-first-inout <span id="L31913" class="LineNr">31913 </span> 0/imm32/no-imm32 @@ -30291,18 +30291,18 @@ if ('onhashchange' in window) { <span id="L31916" class="LineNr">31916 </span> 0/imm32/no-xm32 <span id="L31917" class="LineNr">31917 </span> 0/imm32/no-x32 <span id="L31918" class="LineNr">31918 </span> 0x11/imm32/alloc-id:fake -<span id="L31919" class="LineNr">31919 </span> _Primitive-compare-eax-with-literal/imm32/next +<span id="L31919" class="LineNr">31919 </span> <a href='mu.subx.html#L31920'>_Primitive-compare-eax-with-literal</a>/imm32/next <span id="L31920" class="LineNr">31920 </span><span class="subxMinorFunction">_Primitive-compare-eax-with-literal</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31921" class="LineNr">31921 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31922" class="LineNr">31922 </span> <span class="subxComment"># compare var1/eax n => 3d/compare-eax-with n/imm32</span> <span id="L31923" class="LineNr">31923 </span> 0x11/imm32/alloc-id:fake -<span id="L31924" class="LineNr">31924 </span> _string-compare/imm32/name +<span id="L31924" class="LineNr">31924 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31925" class="LineNr">31925 </span> 0x11/imm32/alloc-id:fake -<span id="L31926" class="LineNr">31926 </span> <span class="SpecialChar">Two-args-int-eax-int-literal</span>/imm32/inouts +<span id="L31926" class="LineNr">31926 </span> <span class="SpecialChar"><a href='mu.subx.html#L34989'>Two-args-int-eax-int-literal</a></span>/imm32/inouts <span id="L31927" class="LineNr">31927 </span> 0/imm32/no-outputs <span id="L31928" class="LineNr">31928 </span> 0/imm32/no-outputs <span id="L31929" class="LineNr">31929 </span> 0x11/imm32/alloc-id:fake -<span id="L31930" class="LineNr">31930 </span> _string_3d_compare_eax_with/imm32/subx-name +<span id="L31930" class="LineNr">31930 </span> <a href='mu.subx.html#L34716'>_string_3d_compare_eax_with</a>/imm32/subx-name <span id="L31931" class="LineNr">31931 </span> 0/imm32/no-rm32 <span id="L31932" class="LineNr">31932 </span> 0/imm32/no-r32 <span id="L31933" class="LineNr">31933 </span> 2/imm32/imm32-is-second-inout @@ -30311,18 +30311,18 @@ if ('onhashchange' in window) { <span id="L31936" class="LineNr">31936 </span> 0/imm32/no-xm32 <span id="L31937" class="LineNr">31937 </span> 0/imm32/no-x32 <span id="L31938" class="LineNr">31938 </span> 0x11/imm32/alloc-id:fake -<span id="L31939" class="LineNr">31939 </span> _Primitive-compare-reg-with-literal/imm32/next +<span id="L31939" class="LineNr">31939 </span> <a href='mu.subx.html#L31940'>_Primitive-compare-reg-with-literal</a>/imm32/next <span id="L31940" class="LineNr">31940 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-literal</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31941" class="LineNr">31941 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31942" class="LineNr">31942 </span> <span class="subxComment"># compare var1/reg n => 81 7/subop/compare %reg n/imm32</span> <span id="L31943" class="LineNr">31943 </span> 0x11/imm32/alloc-id:fake -<span id="L31944" class="LineNr">31944 </span> _string-compare/imm32/name +<span id="L31944" class="LineNr">31944 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31945" class="LineNr">31945 </span> 0x11/imm32/alloc-id:fake -<span id="L31946" class="LineNr">31946 </span> <span class="SpecialChar">Int-var-in-register-and-literal</span>/imm32/inouts +<span id="L31946" class="LineNr">31946 </span> <span class="SpecialChar"><a href='mu.subx.html#L35003'>Int-var-in-register-and-literal</a></span>/imm32/inouts <span id="L31947" class="LineNr">31947 </span> 0/imm32/no-outputs <span id="L31948" class="LineNr">31948 </span> 0/imm32/no-outputs <span id="L31949" class="LineNr">31949 </span> 0x11/imm32/alloc-id:fake -<span id="L31950" class="LineNr">31950 </span> _string_81_subop_compare/imm32/subx-name +<span id="L31950" class="LineNr">31950 </span> <a href='mu.subx.html#L34806'>_string_81_subop_compare</a>/imm32/subx-name <span id="L31951" class="LineNr">31951 </span> 1/imm32/rm32-is-first-inout <span id="L31952" class="LineNr">31952 </span> 0/imm32/no-r32 <span id="L31953" class="LineNr">31953 </span> 2/imm32/imm32-is-second-inout @@ -30331,18 +30331,18 @@ if ('onhashchange' in window) { <span id="L31956" class="LineNr">31956 </span> 0/imm32/no-xm32 <span id="L31957" class="LineNr">31957 </span> 0/imm32/no-x32 <span id="L31958" class="LineNr">31958 </span> 0x11/imm32/alloc-id:fake -<span id="L31959" class="LineNr">31959 </span> _Primitive-compare-mem-with-literal/imm32/next +<span id="L31959" class="LineNr">31959 </span> <a href='mu.subx.html#L31960'>_Primitive-compare-mem-with-literal</a>/imm32/next <span id="L31960" class="LineNr">31960 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-literal</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31961" class="LineNr">31961 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31962" class="LineNr">31962 </span> <span class="subxComment"># compare var1 n => 81 7/subop/compare *(ebp+___) n/imm32</span> <span id="L31963" class="LineNr">31963 </span> 0x11/imm32/alloc-id:fake -<span id="L31964" class="LineNr">31964 </span> _string-compare/imm32/name +<span id="L31964" class="LineNr">31964 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L31965" class="LineNr">31965 </span> 0x11/imm32/alloc-id:fake -<span id="L31966" class="LineNr">31966 </span> <span class="SpecialChar">Int-var-and-literal</span>/imm32/inouts +<span id="L31966" class="LineNr">31966 </span> <span class="SpecialChar"><a href='mu.subx.html#L34996'>Int-var-and-literal</a></span>/imm32/inouts <span id="L31967" class="LineNr">31967 </span> 0/imm32/no-outputs <span id="L31968" class="LineNr">31968 </span> 0/imm32/no-outputs <span id="L31969" class="LineNr">31969 </span> 0x11/imm32/alloc-id:fake -<span id="L31970" class="LineNr">31970 </span> _string_81_subop_compare/imm32/subx-name +<span id="L31970" class="LineNr">31970 </span> <a href='mu.subx.html#L34806'>_string_81_subop_compare</a>/imm32/subx-name <span id="L31971" class="LineNr">31971 </span> 1/imm32/rm32-is-first-inout <span id="L31972" class="LineNr">31972 </span> 0/imm32/no-r32 <span id="L31973" class="LineNr">31973 </span> 2/imm32/imm32-is-second-inout @@ -30351,19 +30351,19 @@ if ('onhashchange' in window) { <span id="L31976" class="LineNr">31976 </span> 0/imm32/no-xm32 <span id="L31977" class="LineNr">31977 </span> 0/imm32/no-x32 <span id="L31978" class="LineNr">31978 </span> 0x11/imm32/alloc-id:fake -<span id="L31979" class="LineNr">31979 </span> _Primitive-negate-reg/imm32/next +<span id="L31979" class="LineNr">31979 </span> <a href='mu.subx.html#L31981'>_Primitive-negate-reg</a>/imm32/next <span id="L31980" class="LineNr">31980 </span><span class="subxH1Comment"># - negate</span> <span id="L31981" class="LineNr">31981 </span><span class="subxMinorFunction">_Primitive-negate-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L31982" class="LineNr">31982 </span> 0x11/imm32/alloc-id:fake:payload <span id="L31983" class="LineNr">31983 </span> <span class="subxComment"># var1/reg <- negate => f7 3/subop/negate var1/rm32</span> <span id="L31984" class="LineNr">31984 </span> 0x11/imm32/alloc-id:fake -<span id="L31985" class="LineNr">31985 </span> _string-negate/imm32/name +<span id="L31985" class="LineNr">31985 </span> <a href='mu.subx.html#L34314'>_string-negate</a>/imm32/name <span id="L31986" class="LineNr">31986 </span> 0/imm32/no-inouts <span id="L31987" class="LineNr">31987 </span> 0/imm32/no-inouts <span id="L31988" class="LineNr">31988 </span> 0x11/imm32/alloc-id:fake -<span id="L31989" class="LineNr">31989 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L31989" class="LineNr">31989 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L31990" class="LineNr">31990 </span> 0x11/imm32/alloc-id:fake -<span id="L31991" class="LineNr">31991 </span> _string_f7_subop_negate/imm32/subx-name +<span id="L31991" class="LineNr">31991 </span> <a href='mu.subx.html#L34886'>_string_f7_subop_negate</a>/imm32/subx-name <span id="L31992" class="LineNr">31992 </span> 3/imm32/rm32-is-first-output <span id="L31993" class="LineNr">31993 </span> 0/imm32/no-r32 <span id="L31994" class="LineNr">31994 </span> 0/imm32/no-imm32 @@ -30372,18 +30372,18 @@ if ('onhashchange' in window) { <span id="L31997" class="LineNr">31997 </span> 0/imm32/no-xm32 <span id="L31998" class="LineNr">31998 </span> 0/imm32/no-x32 <span id="L31999" class="LineNr">31999 </span> 0x11/imm32/alloc-id:fake -<span id="L32000" class="LineNr">32000 </span> _Primitive-negate-mem/imm32/next +<span id="L32000" class="LineNr">32000 </span> <a href='mu.subx.html#L32001'>_Primitive-negate-mem</a>/imm32/next <span id="L32001" class="LineNr">32001 </span><span class="subxMinorFunction">_Primitive-negate-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32002" class="LineNr">32002 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32003" class="LineNr">32003 </span> <span class="subxComment"># negate var1 => f7 3/subop/negate var1/rm32</span> <span id="L32004" class="LineNr">32004 </span> 0x11/imm32/alloc-id:fake -<span id="L32005" class="LineNr">32005 </span> _string-negate/imm32/name +<span id="L32005" class="LineNr">32005 </span> <a href='mu.subx.html#L34314'>_string-negate</a>/imm32/name <span id="L32006" class="LineNr">32006 </span> 0x11/imm32/alloc-id:fake -<span id="L32007" class="LineNr">32007 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L32007" class="LineNr">32007 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L32008" class="LineNr">32008 </span> 0/imm32/no-outputs <span id="L32009" class="LineNr">32009 </span> 0/imm32/no-outputs <span id="L32010" class="LineNr">32010 </span> 0x11/imm32/alloc-id:fake -<span id="L32011" class="LineNr">32011 </span> _string_f7_subop_negate/imm32/subx-name +<span id="L32011" class="LineNr">32011 </span> <a href='mu.subx.html#L34886'>_string_f7_subop_negate</a>/imm32/subx-name <span id="L32012" class="LineNr">32012 </span> 1/imm32/rm32-is-first-inout <span id="L32013" class="LineNr">32013 </span> 0/imm32/no-r32 <span id="L32014" class="LineNr">32014 </span> 0/imm32/no-imm32 @@ -30392,19 +30392,19 @@ if ('onhashchange' in window) { <span id="L32017" class="LineNr">32017 </span> 0/imm32/no-xm32 <span id="L32018" class="LineNr">32018 </span> 0/imm32/no-x32 <span id="L32019" class="LineNr">32019 </span> 0x11/imm32/alloc-id:fake -<span id="L32020" class="LineNr">32020 </span> _Primitive-multiply-reg-by-reg/imm32/next +<span id="L32020" class="LineNr">32020 </span> <a href='mu.subx.html#L32022'>_Primitive-multiply-reg-by-reg</a>/imm32/next <span id="L32021" class="LineNr">32021 </span><span class="subxH1Comment"># - multiply</span> <span id="L32022" class="LineNr">32022 </span><span class="subxMinorFunction">_Primitive-multiply-reg-by-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32023" class="LineNr">32023 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32024" class="LineNr">32024 </span> <span class="subxComment"># var1/reg <- multiply var2 => 0f af/multiply var2/rm32 var1/r32</span> <span id="L32025" class="LineNr">32025 </span> 0x11/imm32/alloc-id:fake -<span id="L32026" class="LineNr">32026 </span> _string-multiply/imm32/name +<span id="L32026" class="LineNr">32026 </span> <a href='mu.subx.html#L34264'>_string-multiply</a>/imm32/name <span id="L32027" class="LineNr">32027 </span> 0x11/imm32/alloc-id:fake -<span id="L32028" class="LineNr">32028 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L32028" class="LineNr">32028 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L32029" class="LineNr">32029 </span> 0x11/imm32/alloc-id:fake -<span id="L32030" class="LineNr">32030 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32030" class="LineNr">32030 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32031" class="LineNr">32031 </span> 0x11/imm32/alloc-id:fake -<span id="L32032" class="LineNr">32032 </span> _string_0f_af_multiply/imm32/subx-name +<span id="L32032" class="LineNr">32032 </span> <a href='mu.subx.html#L34581'>_string_0f_af_multiply</a>/imm32/subx-name <span id="L32033" class="LineNr">32033 </span> 1/imm32/rm32-is-first-inout <span id="L32034" class="LineNr">32034 </span> 3/imm32/r32-is-first-output <span id="L32035" class="LineNr">32035 </span> 0/imm32/no-imm32 @@ -30413,18 +30413,18 @@ if ('onhashchange' in window) { <span id="L32038" class="LineNr">32038 </span> 0/imm32/no-xm32 <span id="L32039" class="LineNr">32039 </span> 0/imm32/no-x32 <span id="L32040" class="LineNr">32040 </span> 0x11/imm32/alloc-id:fake -<span id="L32041" class="LineNr">32041 </span> _Primitive-multiply-reg-by-mem/imm32/next +<span id="L32041" class="LineNr">32041 </span> <a href='mu.subx.html#L32042'>_Primitive-multiply-reg-by-mem</a>/imm32/next <span id="L32042" class="LineNr">32042 </span><span class="subxMinorFunction">_Primitive-multiply-reg-by-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32043" class="LineNr">32043 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32044" class="LineNr">32044 </span> <span class="subxComment"># var1/reg <- multiply var2 => 0f af/multiply var2/rm32 var1/r32</span> <span id="L32045" class="LineNr">32045 </span> 0x11/imm32/alloc-id:fake -<span id="L32046" class="LineNr">32046 </span> _string-multiply/imm32/name +<span id="L32046" class="LineNr">32046 </span> <a href='mu.subx.html#L34264'>_string-multiply</a>/imm32/name <span id="L32047" class="LineNr">32047 </span> 0x11/imm32/alloc-id:fake -<span id="L32048" class="LineNr">32048 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L32048" class="LineNr">32048 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L32049" class="LineNr">32049 </span> 0x11/imm32/alloc-id:fake -<span id="L32050" class="LineNr">32050 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32050" class="LineNr">32050 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32051" class="LineNr">32051 </span> 0x11/imm32/alloc-id:fake -<span id="L32052" class="LineNr">32052 </span> _string_0f_af_multiply/imm32/subx-name +<span id="L32052" class="LineNr">32052 </span> <a href='mu.subx.html#L34581'>_string_0f_af_multiply</a>/imm32/subx-name <span id="L32053" class="LineNr">32053 </span> 1/imm32/rm32-is-first-inout <span id="L32054" class="LineNr">32054 </span> 3/imm32/r32-is-first-output <span id="L32055" class="LineNr">32055 </span> 0/imm32/no-imm32 @@ -30433,19 +30433,19 @@ if ('onhashchange' in window) { <span id="L32058" class="LineNr">32058 </span> 0/imm32/no-xm32 <span id="L32059" class="LineNr">32059 </span> 0/imm32/no-x32 <span id="L32060" class="LineNr">32060 </span> 0x11/imm32/alloc-id:fake -<span id="L32061" class="LineNr">32061 </span> _Primitive-convert-mem-to-xreg/imm32/next +<span id="L32061" class="LineNr">32061 </span> <a href='mu.subx.html#L32063'>_Primitive-convert-mem-to-xreg</a>/imm32/next <span id="L32062" class="LineNr">32062 </span><span class="subxH1Comment"># - convert int to floating point</span> <span id="L32063" class="LineNr">32063 </span><span class="subxMinorFunction">_Primitive-convert-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32064" class="LineNr">32064 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32065" class="LineNr">32065 </span> <span class="subxComment"># var1/xreg <- convert var2 => f3 0f 2a/convert-to-float var2/rm32 var1/x32</span> <span id="L32066" class="LineNr">32066 </span> 0x11/imm32/alloc-id:fake -<span id="L32067" class="LineNr">32067 </span> _string-convert/imm32/name +<span id="L32067" class="LineNr">32067 </span> <a href='mu.subx.html#L34269'>_string-convert</a>/imm32/name <span id="L32068" class="LineNr">32068 </span> 0x11/imm32/alloc-id:fake -<span id="L32069" class="LineNr">32069 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L32069" class="LineNr">32069 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L32070" class="LineNr">32070 </span> 0x11/imm32/alloc-id:fake -<span id="L32071" class="LineNr">32071 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32071" class="LineNr">32071 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32072" class="LineNr">32072 </span> 0x11/imm32/alloc-id:fake -<span id="L32073" class="LineNr">32073 </span> _string_f3_0f_2a_convert_to_float/imm32/subx-name +<span id="L32073" class="LineNr">32073 </span> <a href='mu.subx.html#L34586'>_string_f3_0f_2a_convert_to_float</a>/imm32/subx-name <span id="L32074" class="LineNr">32074 </span> 1/imm32/rm32-is-first-inout <span id="L32075" class="LineNr">32075 </span> 0/imm32/no-r32 <span id="L32076" class="LineNr">32076 </span> 0/imm32/no-imm32 @@ -30454,18 +30454,18 @@ if ('onhashchange' in window) { <span id="L32079" class="LineNr">32079 </span> 0/imm32/no-xm32 <span id="L32080" class="LineNr">32080 </span> 3/imm32/x32-is-first-output <span id="L32081" class="LineNr">32081 </span> 0x11/imm32/alloc-id:fake -<span id="L32082" class="LineNr">32082 </span> _Primitive-convert-reg-to-xreg/imm32/next +<span id="L32082" class="LineNr">32082 </span> <a href='mu.subx.html#L32083'>_Primitive-convert-reg-to-xreg</a>/imm32/next <span id="L32083" class="LineNr">32083 </span><span class="subxMinorFunction">_Primitive-convert-reg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32084" class="LineNr">32084 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32085" class="LineNr">32085 </span> <span class="subxComment"># var1/xreg <- convert var2/reg => f3 0f 2a/convert-to-float var2/rm32 var1/x32</span> <span id="L32086" class="LineNr">32086 </span> 0x11/imm32/alloc-id:fake -<span id="L32087" class="LineNr">32087 </span> _string-convert/imm32/name +<span id="L32087" class="LineNr">32087 </span> <a href='mu.subx.html#L34269'>_string-convert</a>/imm32/name <span id="L32088" class="LineNr">32088 </span> 0x11/imm32/alloc-id:fake -<span id="L32089" class="LineNr">32089 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/inouts +<span id="L32089" class="LineNr">32089 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/inouts <span id="L32090" class="LineNr">32090 </span> 0x11/imm32/alloc-id:fake -<span id="L32091" class="LineNr">32091 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32091" class="LineNr">32091 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32092" class="LineNr">32092 </span> 0x11/imm32/alloc-id:fake -<span id="L32093" class="LineNr">32093 </span> _string_f3_0f_2a_convert_to_float/imm32/subx-name +<span id="L32093" class="LineNr">32093 </span> <a href='mu.subx.html#L34586'>_string_f3_0f_2a_convert_to_float</a>/imm32/subx-name <span id="L32094" class="LineNr">32094 </span> 1/imm32/rm32-is-first-inout <span id="L32095" class="LineNr">32095 </span> 0/imm32/no-r32 <span id="L32096" class="LineNr">32096 </span> 0/imm32/no-imm32 @@ -30474,19 +30474,19 @@ if ('onhashchange' in window) { <span id="L32099" class="LineNr">32099 </span> 0/imm32/no-xm32 <span id="L32100" class="LineNr">32100 </span> 3/imm32/x32-is-first-output <span id="L32101" class="LineNr">32101 </span> 0x11/imm32/alloc-id:fake -<span id="L32102" class="LineNr">32102 </span> _Primitive-convert-xmem-to-reg/imm32/next +<span id="L32102" class="LineNr">32102 </span> <a href='mu.subx.html#L32104'>_Primitive-convert-xmem-to-reg</a>/imm32/next <span id="L32103" class="LineNr">32103 </span><span class="subxH1Comment"># - convert floating point to int</span> <span id="L32104" class="LineNr">32104 </span><span class="subxMinorFunction">_Primitive-convert-xmem-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32105" class="LineNr">32105 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32106" class="LineNr">32106 </span> <span class="subxComment"># var1/reg <- convert var2 => f3 0f 2d/convert-to-int var2/xm32 var1/r32</span> <span id="L32107" class="LineNr">32107 </span> 0x11/imm32/alloc-id:fake -<span id="L32108" class="LineNr">32108 </span> _string-convert/imm32/name +<span id="L32108" class="LineNr">32108 </span> <a href='mu.subx.html#L34269'>_string-convert</a>/imm32/name <span id="L32109" class="LineNr">32109 </span> 0x11/imm32/alloc-id:fake -<span id="L32110" class="LineNr">32110 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32110" class="LineNr">32110 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32111" class="LineNr">32111 </span> 0x11/imm32/alloc-id:fake -<span id="L32112" class="LineNr">32112 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32112" class="LineNr">32112 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32113" class="LineNr">32113 </span> 0x11/imm32/alloc-id:fake -<span id="L32114" class="LineNr">32114 </span> _string_f3_0f_2d_convert_to_int/imm32/subx-name +<span id="L32114" class="LineNr">32114 </span> <a href='mu.subx.html#L34591'>_string_f3_0f_2d_convert_to_int</a>/imm32/subx-name <span id="L32115" class="LineNr">32115 </span> 0/imm32/no-rm32 <span id="L32116" class="LineNr">32116 </span> 3/imm32/r32-is-first-output <span id="L32117" class="LineNr">32117 </span> 0/imm32/no-imm32 @@ -30495,18 +30495,18 @@ if ('onhashchange' in window) { <span id="L32120" class="LineNr">32120 </span> 1/imm32/xm32-is-first-inout <span id="L32121" class="LineNr">32121 </span> 0/imm32/no-x32 <span id="L32122" class="LineNr">32122 </span> 0x11/imm32/alloc-id:fake -<span id="L32123" class="LineNr">32123 </span> _Primitive-convert-xreg-to-reg/imm32/next +<span id="L32123" class="LineNr">32123 </span> <a href='mu.subx.html#L32124'>_Primitive-convert-xreg-to-reg</a>/imm32/next <span id="L32124" class="LineNr">32124 </span><span class="subxMinorFunction">_Primitive-convert-xreg-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32125" class="LineNr">32125 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32126" class="LineNr">32126 </span> <span class="subxComment"># var1/reg <- convert var2/xreg => f3 0f 2d/convert-to-int var2/xm32 var1/r32</span> <span id="L32127" class="LineNr">32127 </span> 0x11/imm32/alloc-id:fake -<span id="L32128" class="LineNr">32128 </span> _string-convert/imm32/name +<span id="L32128" class="LineNr">32128 </span> <a href='mu.subx.html#L34269'>_string-convert</a>/imm32/name <span id="L32129" class="LineNr">32129 </span> 0x11/imm32/alloc-id:fake -<span id="L32130" class="LineNr">32130 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32130" class="LineNr">32130 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32131" class="LineNr">32131 </span> 0x11/imm32/alloc-id:fake -<span id="L32132" class="LineNr">32132 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32132" class="LineNr">32132 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32133" class="LineNr">32133 </span> 0x11/imm32/alloc-id:fake -<span id="L32134" class="LineNr">32134 </span> _string_f3_0f_2d_convert_to_int/imm32/subx-name +<span id="L32134" class="LineNr">32134 </span> <a href='mu.subx.html#L34591'>_string_f3_0f_2d_convert_to_int</a>/imm32/subx-name <span id="L32135" class="LineNr">32135 </span> 0/imm32/no-rm32 <span id="L32136" class="LineNr">32136 </span> 3/imm32/r32-is-first-output <span id="L32137" class="LineNr">32137 </span> 0/imm32/no-imm32 @@ -30515,18 +30515,18 @@ if ('onhashchange' in window) { <span id="L32140" class="LineNr">32140 </span> 1/imm32/xm32-is-first-inout <span id="L32141" class="LineNr">32141 </span> 0/imm32/no-x32 <span id="L32142" class="LineNr">32142 </span> 0x11/imm32/alloc-id:fake -<span id="L32143" class="LineNr">32143 </span> _Primitive-truncate-xmem-to-reg/imm32/next +<span id="L32143" class="LineNr">32143 </span> <a href='mu.subx.html#L32144'>_Primitive-truncate-xmem-to-reg</a>/imm32/next <span id="L32144" class="LineNr">32144 </span><span class="subxMinorFunction">_Primitive-truncate-xmem-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32145" class="LineNr">32145 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32146" class="LineNr">32146 </span> <span class="subxComment"># var1/reg <- truncate var2 => f3 0f 2c/truncate-to-int var2/xm32 var1/r32</span> <span id="L32147" class="LineNr">32147 </span> 0x11/imm32/alloc-id:fake -<span id="L32148" class="LineNr">32148 </span> _string-truncate/imm32/name +<span id="L32148" class="LineNr">32148 </span> <a href='mu.subx.html#L34274'>_string-truncate</a>/imm32/name <span id="L32149" class="LineNr">32149 </span> 0x11/imm32/alloc-id:fake -<span id="L32150" class="LineNr">32150 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32150" class="LineNr">32150 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32151" class="LineNr">32151 </span> 0x11/imm32/alloc-id:fake -<span id="L32152" class="LineNr">32152 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32152" class="LineNr">32152 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32153" class="LineNr">32153 </span> 0x11/imm32/alloc-id:fake -<span id="L32154" class="LineNr">32154 </span> _string_f3_0f_2c_truncate_to_int/imm32/subx-name +<span id="L32154" class="LineNr">32154 </span> <a href='mu.subx.html#L34596'>_string_f3_0f_2c_truncate_to_int</a>/imm32/subx-name <span id="L32155" class="LineNr">32155 </span> 0/imm32/no-rm32 <span id="L32156" class="LineNr">32156 </span> 3/imm32/r32-is-first-output <span id="L32157" class="LineNr">32157 </span> 0/imm32/no-imm32 @@ -30535,18 +30535,18 @@ if ('onhashchange' in window) { <span id="L32160" class="LineNr">32160 </span> 1/imm32/xm32-is-first-inout <span id="L32161" class="LineNr">32161 </span> 0/imm32/no-x32 <span id="L32162" class="LineNr">32162 </span> 0x11/imm32/alloc-id:fake -<span id="L32163" class="LineNr">32163 </span> _Primitive-truncate-xreg-to-reg/imm32/next +<span id="L32163" class="LineNr">32163 </span> <a href='mu.subx.html#L32164'>_Primitive-truncate-xreg-to-reg</a>/imm32/next <span id="L32164" class="LineNr">32164 </span><span class="subxMinorFunction">_Primitive-truncate-xreg-to-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32165" class="LineNr">32165 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32166" class="LineNr">32166 </span> <span class="subxComment"># var1/reg <- truncate var2/xreg => f3 0f 2c/truncate-to-int var2/xm32 var1/r32</span> <span id="L32167" class="LineNr">32167 </span> 0x11/imm32/alloc-id:fake -<span id="L32168" class="LineNr">32168 </span> _string-truncate/imm32/name +<span id="L32168" class="LineNr">32168 </span> <a href='mu.subx.html#L34274'>_string-truncate</a>/imm32/name <span id="L32169" class="LineNr">32169 </span> 0x11/imm32/alloc-id:fake -<span id="L32170" class="LineNr">32170 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32170" class="LineNr">32170 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32171" class="LineNr">32171 </span> 0x11/imm32/alloc-id:fake -<span id="L32172" class="LineNr">32172 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32172" class="LineNr">32172 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32173" class="LineNr">32173 </span> 0x11/imm32/alloc-id:fake -<span id="L32174" class="LineNr">32174 </span> _string_f3_0f_2c_truncate_to_int/imm32/subx-name +<span id="L32174" class="LineNr">32174 </span> <a href='mu.subx.html#L34596'>_string_f3_0f_2c_truncate_to_int</a>/imm32/subx-name <span id="L32175" class="LineNr">32175 </span> 0/imm32/no-rm32 <span id="L32176" class="LineNr">32176 </span> 3/imm32/r32-is-first-output <span id="L32177" class="LineNr">32177 </span> 0/imm32/no-imm32 @@ -30555,19 +30555,19 @@ if ('onhashchange' in window) { <span id="L32180" class="LineNr">32180 </span> 1/imm32/xm32-is-first-inout <span id="L32181" class="LineNr">32181 </span> 0/imm32/no-x32 <span id="L32182" class="LineNr">32182 </span> 0x11/imm32/alloc-id:fake -<span id="L32183" class="LineNr">32183 </span> _Primitive-reinterpret-xmem-as-reg/imm32/next +<span id="L32183" class="LineNr">32183 </span> <a href='mu.subx.html#L32185'>_Primitive-reinterpret-xmem-as-reg</a>/imm32/next <span id="L32184" class="LineNr">32184 </span><span class="subxH1Comment"># - reinterpret bytes (just for debugging)</span> <span id="L32185" class="LineNr">32185 </span><span class="subxMinorFunction">_Primitive-reinterpret-xmem-as-reg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32186" class="LineNr">32186 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32187" class="LineNr">32187 </span> <span class="subxComment"># var1/reg <- reinterpret var2 => 8b/-> var2/xm32 var1/r32</span> <span id="L32188" class="LineNr">32188 </span> 0x11/imm32/alloc-id:fake -<span id="L32189" class="LineNr">32189 </span> _string-reinterpret/imm32/name +<span id="L32189" class="LineNr">32189 </span> <a href='mu.subx.html#L34279'>_string-reinterpret</a>/imm32/name <span id="L32190" class="LineNr">32190 </span> 0x11/imm32/alloc-id:fake -<span id="L32191" class="LineNr">32191 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32191" class="LineNr">32191 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32192" class="LineNr">32192 </span> 0x11/imm32/alloc-id:fake -<span id="L32193" class="LineNr">32193 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/outputs +<span id="L32193" class="LineNr">32193 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/outputs <span id="L32194" class="LineNr">32194 </span> 0x11/imm32/alloc-id:fake -<span id="L32195" class="LineNr">32195 </span> _string_8b_->/imm32/subx-name +<span id="L32195" class="LineNr">32195 </span> <a href='mu.subx.html#L34816'>_string_8b_-></a>/imm32/subx-name <span id="L32196" class="LineNr">32196 </span> 0/imm32/no-rm32 <span id="L32197" class="LineNr">32197 </span> 3/imm32/r32-is-first-output <span id="L32198" class="LineNr">32198 </span> 0/imm32/no-imm32 @@ -30576,18 +30576,18 @@ if ('onhashchange' in window) { <span id="L32201" class="LineNr">32201 </span> 1/imm32/xm32-is-first-inout <span id="L32202" class="LineNr">32202 </span> 0/imm32/no-x32 <span id="L32203" class="LineNr">32203 </span> 0x11/imm32/alloc-id:fake -<span id="L32204" class="LineNr">32204 </span> _Primitive-reinterpret-mem-as-xreg/imm32/next +<span id="L32204" class="LineNr">32204 </span> <a href='mu.subx.html#L32205'>_Primitive-reinterpret-mem-as-xreg</a>/imm32/next <span id="L32205" class="LineNr">32205 </span><span class="subxMinorFunction">_Primitive-reinterpret-mem-as-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32206" class="LineNr">32206 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32207" class="LineNr">32207 </span> <span class="subxComment"># var1/xreg <- reinterpret var2 => f3 0f 10/-> var2/rm32 var1/x32</span> <span id="L32208" class="LineNr">32208 </span> 0x11/imm32/alloc-id:fake -<span id="L32209" class="LineNr">32209 </span> _string-reinterpret/imm32/name +<span id="L32209" class="LineNr">32209 </span> <a href='mu.subx.html#L34279'>_string-reinterpret</a>/imm32/name <span id="L32210" class="LineNr">32210 </span> 0x11/imm32/alloc-id:fake -<span id="L32211" class="LineNr">32211 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/inouts +<span id="L32211" class="LineNr">32211 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/inouts <span id="L32212" class="LineNr">32212 </span> 0x11/imm32/alloc-id:fake -<span id="L32213" class="LineNr">32213 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32213" class="LineNr">32213 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32214" class="LineNr">32214 </span> 0x11/imm32/alloc-id:fake -<span id="L32215" class="LineNr">32215 </span> _string_f3_0f_10_copy/imm32/subx-name +<span id="L32215" class="LineNr">32215 </span> <a href='mu.subx.html#L34646'>_string_f3_0f_10_copy</a>/imm32/subx-name <span id="L32216" class="LineNr">32216 </span> 1/imm32/rm32-is-first-inout <span id="L32217" class="LineNr">32217 </span> 0/imm32/no-r32 <span id="L32218" class="LineNr">32218 </span> 0/imm32/no-imm32 @@ -30596,19 +30596,19 @@ if ('onhashchange' in window) { <span id="L32221" class="LineNr">32221 </span> 0/imm32/no-xm32 <span id="L32222" class="LineNr">32222 </span> 3/imm32/x32-is-first-output <span id="L32223" class="LineNr">32223 </span> 0x11/imm32/alloc-id:fake -<span id="L32224" class="LineNr">32224 </span> _Primitive-copy-xreg-to-xreg/imm32/next +<span id="L32224" class="LineNr">32224 </span> <a href='mu.subx.html#L32226'>_Primitive-copy-xreg-to-xreg</a>/imm32/next <span id="L32225" class="LineNr">32225 </span><span class="subxH1Comment"># - floating-point copy</span> <span id="L32226" class="LineNr">32226 </span><span class="subxMinorFunction">_Primitive-copy-xreg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32227" class="LineNr">32227 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32228" class="LineNr">32228 </span> <span class="subxComment"># var1/xreg <- copy var2/xreg => f3 0f 11/<- var1/xm32 var2/x32</span> <span id="L32229" class="LineNr">32229 </span> 0x11/imm32/alloc-id:fake -<span id="L32230" class="LineNr">32230 </span> _string-copy/imm32/name +<span id="L32230" class="LineNr">32230 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L32231" class="LineNr">32231 </span> 0x11/imm32/alloc-id:fake -<span id="L32232" class="LineNr">32232 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32232" class="LineNr">32232 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32233" class="LineNr">32233 </span> 0x11/imm32/alloc-id:fake -<span id="L32234" class="LineNr">32234 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32234" class="LineNr">32234 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32235" class="LineNr">32235 </span> 0x11/imm32/alloc-id:fake -<span id="L32236" class="LineNr">32236 </span> _string_f3_0f_11_copy/imm32/subx-name +<span id="L32236" class="LineNr">32236 </span> <a href='mu.subx.html#L34651'>_string_f3_0f_11_copy</a>/imm32/subx-name <span id="L32237" class="LineNr">32237 </span> 0/imm32/no-rm32 <span id="L32238" class="LineNr">32238 </span> 0/imm32/no-r32 <span id="L32239" class="LineNr">32239 </span> 0/imm32/no-imm32 @@ -30617,18 +30617,18 @@ if ('onhashchange' in window) { <span id="L32242" class="LineNr">32242 </span> 3/imm32/xm32-is-first-output <span id="L32243" class="LineNr">32243 </span> 1/imm32/x32-is-first-inout <span id="L32244" class="LineNr">32244 </span> 0x11/imm32/alloc-id:fake -<span id="L32245" class="LineNr">32245 </span> _Primitive-copy-xreg-to-mem/imm32/next +<span id="L32245" class="LineNr">32245 </span> <a href='mu.subx.html#L32246'>_Primitive-copy-xreg-to-mem</a>/imm32/next <span id="L32246" class="LineNr">32246 </span><span class="subxMinorFunction">_Primitive-copy-xreg-to-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32247" class="LineNr">32247 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32248" class="LineNr">32248 </span> <span class="subxComment"># copy-to var1 var2/xreg => f3 0f 11/<- var1 var2/x32</span> <span id="L32249" class="LineNr">32249 </span> 0x11/imm32/alloc-id:fake -<span id="L32250" class="LineNr">32250 </span> _string-copy-to/imm32/name +<span id="L32250" class="LineNr">32250 </span> <a href='mu.subx.html#L34144'>_string-copy-to</a>/imm32/name <span id="L32251" class="LineNr">32251 </span> 0x11/imm32/alloc-id:fake -<span id="L32252" class="LineNr">32252 </span> <span class="SpecialChar">Two-args-float-stack-float-reg</span>/imm32/inouts +<span id="L32252" class="LineNr">32252 </span> <span class="SpecialChar"><a href='mu.subx.html#L35024'>Two-args-float-stack-float-reg</a></span>/imm32/inouts <span id="L32253" class="LineNr">32253 </span> 0/imm32/no-outputs <span id="L32254" class="LineNr">32254 </span> 0/imm32/no-outputs <span id="L32255" class="LineNr">32255 </span> 0x11/imm32/alloc-id:fake -<span id="L32256" class="LineNr">32256 </span> _string_f3_0f_11_copy/imm32/subx-name +<span id="L32256" class="LineNr">32256 </span> <a href='mu.subx.html#L34651'>_string_f3_0f_11_copy</a>/imm32/subx-name <span id="L32257" class="LineNr">32257 </span> 0/imm32/no-rm32 <span id="L32258" class="LineNr">32258 </span> 0/imm32/no-r32 <span id="L32259" class="LineNr">32259 </span> 0/imm32/no-imm32 @@ -30637,18 +30637,18 @@ if ('onhashchange' in window) { <span id="L32262" class="LineNr">32262 </span> 1/imm32/xm32-is-first-inout <span id="L32263" class="LineNr">32263 </span> 2/imm32/x32-is-second-inout <span id="L32264" class="LineNr">32264 </span> 0x11/imm32/alloc-id:fake -<span id="L32265" class="LineNr">32265 </span> _Primitive-copy-mem-to-xreg/imm32/next +<span id="L32265" class="LineNr">32265 </span> <a href='mu.subx.html#L32266'>_Primitive-copy-mem-to-xreg</a>/imm32/next <span id="L32266" class="LineNr">32266 </span><span class="subxMinorFunction">_Primitive-copy-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32267" class="LineNr">32267 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32268" class="LineNr">32268 </span> <span class="subxComment"># var1/xreg <- copy var2 => f3 0f 10/-> var2/rm32 var1/x32</span> <span id="L32269" class="LineNr">32269 </span> 0x11/imm32/alloc-id:fake -<span id="L32270" class="LineNr">32270 </span> _string-copy/imm32/name +<span id="L32270" class="LineNr">32270 </span> <a href='mu.subx.html#L34139'>_string-copy</a>/imm32/name <span id="L32271" class="LineNr">32271 </span> 0x11/imm32/alloc-id:fake -<span id="L32272" class="LineNr">32272 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32272" class="LineNr">32272 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32273" class="LineNr">32273 </span> 0x11/imm32/alloc-id:fake -<span id="L32274" class="LineNr">32274 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32274" class="LineNr">32274 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32275" class="LineNr">32275 </span> 0x11/imm32/alloc-id:fake -<span id="L32276" class="LineNr">32276 </span> _string_f3_0f_10_copy/imm32/subx-name +<span id="L32276" class="LineNr">32276 </span> <a href='mu.subx.html#L34646'>_string_f3_0f_10_copy</a>/imm32/subx-name <span id="L32277" class="LineNr">32277 </span> 0/imm32/no-rm32 <span id="L32278" class="LineNr">32278 </span> 0/imm32/no-r32 <span id="L32279" class="LineNr">32279 </span> 0/imm32/no-imm32 @@ -30657,19 +30657,19 @@ if ('onhashchange' in window) { <span id="L32282" class="LineNr">32282 </span> 1/imm32/xm32-is-first-inout <span id="L32283" class="LineNr">32283 </span> 3/imm32/x32-is-first-output <span id="L32284" class="LineNr">32284 </span> 0x11/imm32/alloc-id:fake -<span id="L32285" class="LineNr">32285 </span> _Primitive-address-of-xmem/imm32/next +<span id="L32285" class="LineNr">32285 </span> <a href='mu.subx.html#L32287'>_Primitive-address-of-xmem</a>/imm32/next <span id="L32286" class="LineNr">32286 </span><span class="subxH1Comment"># - floating-point-address</span> <span id="L32287" class="LineNr">32287 </span><span class="subxMinorFunction">_Primitive-address-of-xmem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32288" class="LineNr">32288 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32289" class="LineNr">32289 </span> <span class="subxComment"># var1/reg <- address var2 => 8d/copy-address var2/rm32 var1/r32</span> <span id="L32290" class="LineNr">32290 </span> 0x11/imm32/alloc-id:fake -<span id="L32291" class="LineNr">32291 </span> _string-address/imm32/name +<span id="L32291" class="LineNr">32291 </span> <a href='mu.subx.html#L34019'>_string-address</a>/imm32/name <span id="L32292" class="LineNr">32292 </span> 0x11/imm32/alloc-id:fake -<span id="L32293" class="LineNr">32293 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32293" class="LineNr">32293 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32294" class="LineNr">32294 </span> 0x11/imm32/alloc-id:fake -<span id="L32295" class="LineNr">32295 </span> <span class="SpecialChar">Single-addr-var-in-some-register</span>/imm32/outputs +<span id="L32295" class="LineNr">32295 </span> <span class="SpecialChar"><a href='mu.subx.html#L35038'>Single-addr-var-in-some-register</a></span>/imm32/outputs <span id="L32296" class="LineNr">32296 </span> 0x11/imm32/alloc-id:fake -<span id="L32297" class="LineNr">32297 </span> _string_8d_copy_address/imm32/subx-name +<span id="L32297" class="LineNr">32297 </span> <a href='mu.subx.html#L34831'>_string_8d_copy_address</a>/imm32/subx-name <span id="L32298" class="LineNr">32298 </span> 1/imm32/rm32-is-first-inout <span id="L32299" class="LineNr">32299 </span> 3/imm32/r32-is-first-output <span id="L32300" class="LineNr">32300 </span> 0/imm32/no-imm32 @@ -30678,19 +30678,19 @@ if ('onhashchange' in window) { <span id="L32303" class="LineNr">32303 </span> 0/imm32/no-xm32 <span id="L32304" class="LineNr">32304 </span> 0/imm32/no-x32 <span id="L32305" class="LineNr">32305 </span> 0x11/imm32/alloc-id:fake -<span id="L32306" class="LineNr">32306 </span> _Primitive-add-xreg-to-xreg/imm32/next +<span id="L32306" class="LineNr">32306 </span> <a href='mu.subx.html#L32308'>_Primitive-add-xreg-to-xreg</a>/imm32/next <span id="L32307" class="LineNr">32307 </span><span class="subxH1Comment"># - floating-point add</span> <span id="L32308" class="LineNr">32308 </span><span class="subxMinorFunction">_Primitive-add-xreg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32309" class="LineNr">32309 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32310" class="LineNr">32310 </span> <span class="subxComment"># var1/xreg <- add var2/xreg => f3 0f 58/add var1/xm32 var2/x32</span> <span id="L32311" class="LineNr">32311 </span> 0x11/imm32/alloc-id:fake -<span id="L32312" class="LineNr">32312 </span> _string-add/imm32/name +<span id="L32312" class="LineNr">32312 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L32313" class="LineNr">32313 </span> 0x11/imm32/alloc-id:fake -<span id="L32314" class="LineNr">32314 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32314" class="LineNr">32314 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32315" class="LineNr">32315 </span> 0x11/imm32/alloc-id:fake -<span id="L32316" class="LineNr">32316 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32316" class="LineNr">32316 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32317" class="LineNr">32317 </span> 0x11/imm32/alloc-id:fake -<span id="L32318" class="LineNr">32318 </span> _string_f3_0f_58_add/imm32/subx-name +<span id="L32318" class="LineNr">32318 </span> <a href='mu.subx.html#L34601'>_string_f3_0f_58_add</a>/imm32/subx-name <span id="L32319" class="LineNr">32319 </span> 0/imm32/no-rm32 <span id="L32320" class="LineNr">32320 </span> 0/imm32/no-r32 <span id="L32321" class="LineNr">32321 </span> 0/imm32/no-imm32 @@ -30699,18 +30699,18 @@ if ('onhashchange' in window) { <span id="L32324" class="LineNr">32324 </span> 1/imm32/xm32-is-first-inout <span id="L32325" class="LineNr">32325 </span> 3/imm32/x32-is-first-output <span id="L32326" class="LineNr">32326 </span> 0x11/imm32/alloc-id:fake -<span id="L32327" class="LineNr">32327 </span> _Primitive-add-mem-to-xreg/imm32/next +<span id="L32327" class="LineNr">32327 </span> <a href='mu.subx.html#L32328'>_Primitive-add-mem-to-xreg</a>/imm32/next <span id="L32328" class="LineNr">32328 </span><span class="subxMinorFunction">_Primitive-add-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32329" class="LineNr">32329 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32330" class="LineNr">32330 </span> <span class="subxComment"># var1/xreg <- add var2 => f3 0f 58/add var2/xm32 var1/x32</span> <span id="L32331" class="LineNr">32331 </span> 0x11/imm32/alloc-id:fake -<span id="L32332" class="LineNr">32332 </span> _string-add/imm32/name +<span id="L32332" class="LineNr">32332 </span> <a href='mu.subx.html#L34014'>_string-add</a>/imm32/name <span id="L32333" class="LineNr">32333 </span> 0x11/imm32/alloc-id:fake -<span id="L32334" class="LineNr">32334 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32334" class="LineNr">32334 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32335" class="LineNr">32335 </span> 0x11/imm32/alloc-id:fake -<span id="L32336" class="LineNr">32336 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32336" class="LineNr">32336 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32337" class="LineNr">32337 </span> 0x11/imm32/alloc-id:fake -<span id="L32338" class="LineNr">32338 </span> _string_f3_0f_58_add/imm32/subx-name +<span id="L32338" class="LineNr">32338 </span> <a href='mu.subx.html#L34601'>_string_f3_0f_58_add</a>/imm32/subx-name <span id="L32339" class="LineNr">32339 </span> 0/imm32/no-rm32 <span id="L32340" class="LineNr">32340 </span> 0/imm32/no-r32 <span id="L32341" class="LineNr">32341 </span> 0/imm32/no-imm32 @@ -30719,19 +30719,19 @@ if ('onhashchange' in window) { <span id="L32344" class="LineNr">32344 </span> 1/imm32/xm32-is-first-inout <span id="L32345" class="LineNr">32345 </span> 3/imm32/x32-is-first-output <span id="L32346" class="LineNr">32346 </span> 0x11/imm32/alloc-id:fake -<span id="L32347" class="LineNr">32347 </span> _Primitive-subtract-xreg-from-xreg/imm32/next +<span id="L32347" class="LineNr">32347 </span> <a href='mu.subx.html#L32349'>_Primitive-subtract-xreg-from-xreg</a>/imm32/next <span id="L32348" class="LineNr">32348 </span><span class="subxH1Comment"># - floating-point subtract</span> <span id="L32349" class="LineNr">32349 </span><span class="subxMinorFunction">_Primitive-subtract-xreg-from-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32350" class="LineNr">32350 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32351" class="LineNr">32351 </span> <span class="subxComment"># var1/xreg <- subtract var2/xreg => f3 0f 5c/subtract var1/xm32 var2/x32</span> <span id="L32352" class="LineNr">32352 </span> 0x11/imm32/alloc-id:fake -<span id="L32353" class="LineNr">32353 </span> _string-subtract/imm32/name +<span id="L32353" class="LineNr">32353 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L32354" class="LineNr">32354 </span> 0x11/imm32/alloc-id:fake -<span id="L32355" class="LineNr">32355 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32355" class="LineNr">32355 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32356" class="LineNr">32356 </span> 0x11/imm32/alloc-id:fake -<span id="L32357" class="LineNr">32357 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32357" class="LineNr">32357 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32358" class="LineNr">32358 </span> 0x11/imm32/alloc-id:fake -<span id="L32359" class="LineNr">32359 </span> _string_f3_0f_5c_subtract/imm32/subx-name +<span id="L32359" class="LineNr">32359 </span> <a href='mu.subx.html#L34606'>_string_f3_0f_5c_subtract</a>/imm32/subx-name <span id="L32360" class="LineNr">32360 </span> 0/imm32/no-rm32 <span id="L32361" class="LineNr">32361 </span> 0/imm32/no-r32 <span id="L32362" class="LineNr">32362 </span> 0/imm32/no-imm32 @@ -30740,18 +30740,18 @@ if ('onhashchange' in window) { <span id="L32365" class="LineNr">32365 </span> 1/imm32/xm32-is-first-inout <span id="L32366" class="LineNr">32366 </span> 3/imm32/x32-is-first-output <span id="L32367" class="LineNr">32367 </span> 0x11/imm32/alloc-id:fake -<span id="L32368" class="LineNr">32368 </span> _Primitive-subtract-mem-from-xreg/imm32/next +<span id="L32368" class="LineNr">32368 </span> <a href='mu.subx.html#L32369'>_Primitive-subtract-mem-from-xreg</a>/imm32/next <span id="L32369" class="LineNr">32369 </span><span class="subxMinorFunction">_Primitive-subtract-mem-from-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32370" class="LineNr">32370 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32371" class="LineNr">32371 </span> <span class="subxComment"># var1/xreg <- subtract var2 => f3 0f 5c/subtract var2/xm32 var1/x32</span> <span id="L32372" class="LineNr">32372 </span> 0x11/imm32/alloc-id:fake -<span id="L32373" class="LineNr">32373 </span> _string-subtract/imm32/name +<span id="L32373" class="LineNr">32373 </span> <a href='mu.subx.html#L34334'>_string-subtract</a>/imm32/name <span id="L32374" class="LineNr">32374 </span> 0x11/imm32/alloc-id:fake -<span id="L32375" class="LineNr">32375 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32375" class="LineNr">32375 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32376" class="LineNr">32376 </span> 0x11/imm32/alloc-id:fake -<span id="L32377" class="LineNr">32377 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32377" class="LineNr">32377 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32378" class="LineNr">32378 </span> 0x11/imm32/alloc-id:fake -<span id="L32379" class="LineNr">32379 </span> _string_f3_0f_5c_subtract/imm32/subx-name +<span id="L32379" class="LineNr">32379 </span> <a href='mu.subx.html#L34606'>_string_f3_0f_5c_subtract</a>/imm32/subx-name <span id="L32380" class="LineNr">32380 </span> 0/imm32/no-rm32 <span id="L32381" class="LineNr">32381 </span> 0/imm32/no-r32 <span id="L32382" class="LineNr">32382 </span> 0/imm32/no-imm32 @@ -30760,19 +30760,19 @@ if ('onhashchange' in window) { <span id="L32385" class="LineNr">32385 </span> 1/imm32/xm32-is-first-inout <span id="L32386" class="LineNr">32386 </span> 3/imm32/x32-is-first-output <span id="L32387" class="LineNr">32387 </span> 0x11/imm32/alloc-id:fake -<span id="L32388" class="LineNr">32388 </span> _Primitive-multiply-xreg-by-xreg/imm32/next +<span id="L32388" class="LineNr">32388 </span> <a href='mu.subx.html#L32390'>_Primitive-multiply-xreg-by-xreg</a>/imm32/next <span id="L32389" class="LineNr">32389 </span><span class="subxH1Comment"># - floating-point multiply</span> <span id="L32390" class="LineNr">32390 </span><span class="subxMinorFunction">_Primitive-multiply-xreg-by-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32391" class="LineNr">32391 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32392" class="LineNr">32392 </span> <span class="subxComment"># var1/xreg <- multiply var2 => f3 0f 59/multiply var2/xm32 var1/x32</span> <span id="L32393" class="LineNr">32393 </span> 0x11/imm32/alloc-id:fake -<span id="L32394" class="LineNr">32394 </span> _string-multiply/imm32/name +<span id="L32394" class="LineNr">32394 </span> <a href='mu.subx.html#L34264'>_string-multiply</a>/imm32/name <span id="L32395" class="LineNr">32395 </span> 0x11/imm32/alloc-id:fake -<span id="L32396" class="LineNr">32396 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32396" class="LineNr">32396 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32397" class="LineNr">32397 </span> 0x11/imm32/alloc-id:fake -<span id="L32398" class="LineNr">32398 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32398" class="LineNr">32398 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32399" class="LineNr">32399 </span> 0x11/imm32/alloc-id:fake -<span id="L32400" class="LineNr">32400 </span> _string_f3_0f_59_multiply/imm32/subx-name +<span id="L32400" class="LineNr">32400 </span> <a href='mu.subx.html#L34611'>_string_f3_0f_59_multiply</a>/imm32/subx-name <span id="L32401" class="LineNr">32401 </span> 0/imm32/no-rm32 <span id="L32402" class="LineNr">32402 </span> 0/imm32/no-r32 <span id="L32403" class="LineNr">32403 </span> 0/imm32/no-imm32 @@ -30781,18 +30781,18 @@ if ('onhashchange' in window) { <span id="L32406" class="LineNr">32406 </span> 1/imm32/xm32-is-first-inout <span id="L32407" class="LineNr">32407 </span> 3/imm32/x32-is-first-output <span id="L32408" class="LineNr">32408 </span> 0x11/imm32/alloc-id:fake -<span id="L32409" class="LineNr">32409 </span> _Primitive-multiply-xreg-by-mem/imm32/next +<span id="L32409" class="LineNr">32409 </span> <a href='mu.subx.html#L32410'>_Primitive-multiply-xreg-by-mem</a>/imm32/next <span id="L32410" class="LineNr">32410 </span><span class="subxMinorFunction">_Primitive-multiply-xreg-by-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32411" class="LineNr">32411 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32412" class="LineNr">32412 </span> <span class="subxComment"># var1/xreg <- multiply var2 => 53 0f 59/multiply var2/xm32 var1/x32</span> <span id="L32413" class="LineNr">32413 </span> 0x11/imm32/alloc-id:fake -<span id="L32414" class="LineNr">32414 </span> _string-multiply/imm32/name +<span id="L32414" class="LineNr">32414 </span> <a href='mu.subx.html#L34264'>_string-multiply</a>/imm32/name <span id="L32415" class="LineNr">32415 </span> 0x11/imm32/alloc-id:fake -<span id="L32416" class="LineNr">32416 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32416" class="LineNr">32416 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32417" class="LineNr">32417 </span> 0x11/imm32/alloc-id:fake -<span id="L32418" class="LineNr">32418 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32418" class="LineNr">32418 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32419" class="LineNr">32419 </span> 0x11/imm32/alloc-id:fake -<span id="L32420" class="LineNr">32420 </span> _string_f3_0f_59_multiply/imm32/subx-name +<span id="L32420" class="LineNr">32420 </span> <a href='mu.subx.html#L34611'>_string_f3_0f_59_multiply</a>/imm32/subx-name <span id="L32421" class="LineNr">32421 </span> 0/imm32/no-rm32 <span id="L32422" class="LineNr">32422 </span> 0/imm32/no-r32 <span id="L32423" class="LineNr">32423 </span> 0/imm32/no-imm32 @@ -30801,19 +30801,19 @@ if ('onhashchange' in window) { <span id="L32426" class="LineNr">32426 </span> 1/imm32/xm32-is-first-inout <span id="L32427" class="LineNr">32427 </span> 3/imm32/x32-is-first-output <span id="L32428" class="LineNr">32428 </span> 0x11/imm32/alloc-id:fake -<span id="L32429" class="LineNr">32429 </span> _Primitive-divide-xreg-by-xreg/imm32/next +<span id="L32429" class="LineNr">32429 </span> <a href='mu.subx.html#L32431'>_Primitive-divide-xreg-by-xreg</a>/imm32/next <span id="L32430" class="LineNr">32430 </span><span class="subxH1Comment"># - floating-point divide</span> <span id="L32431" class="LineNr">32431 </span><span class="subxMinorFunction">_Primitive-divide-xreg-by-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32432" class="LineNr">32432 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32433" class="LineNr">32433 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 5e/divide var2/xm32 var1/x32</span> <span id="L32434" class="LineNr">32434 </span> 0x11/imm32/alloc-id:fake -<span id="L32435" class="LineNr">32435 </span> _string-divide/imm32/name +<span id="L32435" class="LineNr">32435 </span> <a href='mu.subx.html#L34284'>_string-divide</a>/imm32/name <span id="L32436" class="LineNr">32436 </span> 0x11/imm32/alloc-id:fake -<span id="L32437" class="LineNr">32437 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32437" class="LineNr">32437 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32438" class="LineNr">32438 </span> 0x11/imm32/alloc-id:fake -<span id="L32439" class="LineNr">32439 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32439" class="LineNr">32439 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32440" class="LineNr">32440 </span> 0x11/imm32/alloc-id:fake -<span id="L32441" class="LineNr">32441 </span> _string_f3_0f_5e_divide/imm32/subx-name +<span id="L32441" class="LineNr">32441 </span> <a href='mu.subx.html#L34616'>_string_f3_0f_5e_divide</a>/imm32/subx-name <span id="L32442" class="LineNr">32442 </span> 0/imm32/no-rm32 <span id="L32443" class="LineNr">32443 </span> 0/imm32/no-r32 <span id="L32444" class="LineNr">32444 </span> 0/imm32/no-imm32 @@ -30822,18 +30822,18 @@ if ('onhashchange' in window) { <span id="L32447" class="LineNr">32447 </span> 1/imm32/xm32-is-first-inout <span id="L32448" class="LineNr">32448 </span> 3/imm32/x32-is-first-output <span id="L32449" class="LineNr">32449 </span> 0x11/imm32/alloc-id:fake -<span id="L32450" class="LineNr">32450 </span> _Primitive-divide-xreg-by-mem/imm32/next +<span id="L32450" class="LineNr">32450 </span> <a href='mu.subx.html#L32451'>_Primitive-divide-xreg-by-mem</a>/imm32/next <span id="L32451" class="LineNr">32451 </span><span class="subxMinorFunction">_Primitive-divide-xreg-by-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32452" class="LineNr">32452 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32453" class="LineNr">32453 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 5e/divide var2/xm32 var1/x32</span> <span id="L32454" class="LineNr">32454 </span> 0x11/imm32/alloc-id:fake -<span id="L32455" class="LineNr">32455 </span> _string-divide/imm32/name +<span id="L32455" class="LineNr">32455 </span> <a href='mu.subx.html#L34284'>_string-divide</a>/imm32/name <span id="L32456" class="LineNr">32456 </span> 0x11/imm32/alloc-id:fake -<span id="L32457" class="LineNr">32457 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32457" class="LineNr">32457 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32458" class="LineNr">32458 </span> 0x11/imm32/alloc-id:fake -<span id="L32459" class="LineNr">32459 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32459" class="LineNr">32459 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32460" class="LineNr">32460 </span> 0x11/imm32/alloc-id:fake -<span id="L32461" class="LineNr">32461 </span> _string_f3_0f_5e_divide/imm32/subx-name +<span id="L32461" class="LineNr">32461 </span> <a href='mu.subx.html#L34616'>_string_f3_0f_5e_divide</a>/imm32/subx-name <span id="L32462" class="LineNr">32462 </span> 0/imm32/no-rm32 <span id="L32463" class="LineNr">32463 </span> 0/imm32/no-r32 <span id="L32464" class="LineNr">32464 </span> 0/imm32/no-imm32 @@ -30842,19 +30842,19 @@ if ('onhashchange' in window) { <span id="L32467" class="LineNr">32467 </span> 1/imm32/xm32-is-first-inout <span id="L32468" class="LineNr">32468 </span> 3/imm32/x32-is-first-output <span id="L32469" class="LineNr">32469 </span> 0x11/imm32/alloc-id:fake -<span id="L32470" class="LineNr">32470 </span> _Primitive-max-xreg-with-xreg/imm32/next +<span id="L32470" class="LineNr">32470 </span> <a href='mu.subx.html#L32472'>_Primitive-max-xreg-with-xreg</a>/imm32/next <span id="L32471" class="LineNr">32471 </span><span class="subxH1Comment"># - floating-point maximum</span> <span id="L32472" class="LineNr">32472 </span><span class="subxMinorFunction">_Primitive-max-xreg-with-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32473" class="LineNr">32473 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32474" class="LineNr">32474 </span> <span class="subxComment"># var1/xreg <- max var2 => f3 0f 5f/max var2/xm32 var1/x32</span> <span id="L32475" class="LineNr">32475 </span> 0x11/imm32/alloc-id:fake -<span id="L32476" class="LineNr">32476 </span> _string-max/imm32/name +<span id="L32476" class="LineNr">32476 </span> <a href='mu.subx.html#L34289'>_string-max</a>/imm32/name <span id="L32477" class="LineNr">32477 </span> 0x11/imm32/alloc-id:fake -<span id="L32478" class="LineNr">32478 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32478" class="LineNr">32478 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32479" class="LineNr">32479 </span> 0x11/imm32/alloc-id:fake -<span id="L32480" class="LineNr">32480 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32480" class="LineNr">32480 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32481" class="LineNr">32481 </span> 0x11/imm32/alloc-id:fake -<span id="L32482" class="LineNr">32482 </span> _string_f3_0f_5f_max/imm32/subx-name +<span id="L32482" class="LineNr">32482 </span> <a href='mu.subx.html#L34641'>_string_f3_0f_5f_max</a>/imm32/subx-name <span id="L32483" class="LineNr">32483 </span> 0/imm32/no-rm32 <span id="L32484" class="LineNr">32484 </span> 0/imm32/no-r32 <span id="L32485" class="LineNr">32485 </span> 0/imm32/no-imm32 @@ -30863,18 +30863,18 @@ if ('onhashchange' in window) { <span id="L32488" class="LineNr">32488 </span> 1/imm32/xm32-is-first-inout <span id="L32489" class="LineNr">32489 </span> 3/imm32/x32-is-first-output <span id="L32490" class="LineNr">32490 </span> 0x11/imm32/alloc-id:fake -<span id="L32491" class="LineNr">32491 </span> _Primitive-max-xreg-with-mem/imm32/next +<span id="L32491" class="LineNr">32491 </span> <a href='mu.subx.html#L32492'>_Primitive-max-xreg-with-mem</a>/imm32/next <span id="L32492" class="LineNr">32492 </span><span class="subxMinorFunction">_Primitive-max-xreg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32493" class="LineNr">32493 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32494" class="LineNr">32494 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 5f/max var2/xm32 var1/x32</span> <span id="L32495" class="LineNr">32495 </span> 0x11/imm32/alloc-id:fake -<span id="L32496" class="LineNr">32496 </span> _string-max/imm32/name +<span id="L32496" class="LineNr">32496 </span> <a href='mu.subx.html#L34289'>_string-max</a>/imm32/name <span id="L32497" class="LineNr">32497 </span> 0x11/imm32/alloc-id:fake -<span id="L32498" class="LineNr">32498 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32498" class="LineNr">32498 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32499" class="LineNr">32499 </span> 0x11/imm32/alloc-id:fake -<span id="L32500" class="LineNr">32500 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32500" class="LineNr">32500 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32501" class="LineNr">32501 </span> 0x11/imm32/alloc-id:fake -<span id="L32502" class="LineNr">32502 </span> _string_f3_0f_5f_max/imm32/subx-name +<span id="L32502" class="LineNr">32502 </span> <a href='mu.subx.html#L34641'>_string_f3_0f_5f_max</a>/imm32/subx-name <span id="L32503" class="LineNr">32503 </span> 0/imm32/no-rm32 <span id="L32504" class="LineNr">32504 </span> 0/imm32/no-r32 <span id="L32505" class="LineNr">32505 </span> 0/imm32/no-imm32 @@ -30883,19 +30883,19 @@ if ('onhashchange' in window) { <span id="L32508" class="LineNr">32508 </span> 1/imm32/xm32-is-first-inout <span id="L32509" class="LineNr">32509 </span> 3/imm32/x32-is-first-output <span id="L32510" class="LineNr">32510 </span> 0x11/imm32/alloc-id:fake -<span id="L32511" class="LineNr">32511 </span> _Primitive-min-xreg-with-xreg/imm32/next +<span id="L32511" class="LineNr">32511 </span> <a href='mu.subx.html#L32513'>_Primitive-min-xreg-with-xreg</a>/imm32/next <span id="L32512" class="LineNr">32512 </span><span class="subxH1Comment"># - floating-point minimum</span> <span id="L32513" class="LineNr">32513 </span><span class="subxMinorFunction">_Primitive-min-xreg-with-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32514" class="LineNr">32514 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32515" class="LineNr">32515 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 5d/min var2/xm32 var1/x32</span> <span id="L32516" class="LineNr">32516 </span> 0x11/imm32/alloc-id:fake -<span id="L32517" class="LineNr">32517 </span> _string-min/imm32/name +<span id="L32517" class="LineNr">32517 </span> <a href='mu.subx.html#L34294'>_string-min</a>/imm32/name <span id="L32518" class="LineNr">32518 </span> 0x11/imm32/alloc-id:fake -<span id="L32519" class="LineNr">32519 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32519" class="LineNr">32519 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32520" class="LineNr">32520 </span> 0x11/imm32/alloc-id:fake -<span id="L32521" class="LineNr">32521 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32521" class="LineNr">32521 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32522" class="LineNr">32522 </span> 0x11/imm32/alloc-id:fake -<span id="L32523" class="LineNr">32523 </span> _string_f3_0f_5d_min/imm32/subx-name +<span id="L32523" class="LineNr">32523 </span> <a href='mu.subx.html#L34636'>_string_f3_0f_5d_min</a>/imm32/subx-name <span id="L32524" class="LineNr">32524 </span> 0/imm32/no-rm32 <span id="L32525" class="LineNr">32525 </span> 0/imm32/no-r32 <span id="L32526" class="LineNr">32526 </span> 0/imm32/no-imm32 @@ -30904,18 +30904,18 @@ if ('onhashchange' in window) { <span id="L32529" class="LineNr">32529 </span> 1/imm32/xm32-is-first-inout <span id="L32530" class="LineNr">32530 </span> 3/imm32/x32-is-first-output <span id="L32531" class="LineNr">32531 </span> 0x11/imm32/alloc-id:fake -<span id="L32532" class="LineNr">32532 </span> _Primitive-min-xreg-with-mem/imm32/next +<span id="L32532" class="LineNr">32532 </span> <a href='mu.subx.html#L32533'>_Primitive-min-xreg-with-mem</a>/imm32/next <span id="L32533" class="LineNr">32533 </span><span class="subxMinorFunction">_Primitive-min-xreg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32534" class="LineNr">32534 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32535" class="LineNr">32535 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 5d/min var2/xm32 var1/x32</span> <span id="L32536" class="LineNr">32536 </span> 0x11/imm32/alloc-id:fake -<span id="L32537" class="LineNr">32537 </span> _string-min/imm32/name +<span id="L32537" class="LineNr">32537 </span> <a href='mu.subx.html#L34294'>_string-min</a>/imm32/name <span id="L32538" class="LineNr">32538 </span> 0x11/imm32/alloc-id:fake -<span id="L32539" class="LineNr">32539 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32539" class="LineNr">32539 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32540" class="LineNr">32540 </span> 0x11/imm32/alloc-id:fake -<span id="L32541" class="LineNr">32541 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32541" class="LineNr">32541 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32542" class="LineNr">32542 </span> 0x11/imm32/alloc-id:fake -<span id="L32543" class="LineNr">32543 </span> _string_f3_0f_5d_min/imm32/subx-name +<span id="L32543" class="LineNr">32543 </span> <a href='mu.subx.html#L34636'>_string_f3_0f_5d_min</a>/imm32/subx-name <span id="L32544" class="LineNr">32544 </span> 0/imm32/no-rm32 <span id="L32545" class="LineNr">32545 </span> 0/imm32/no-r32 <span id="L32546" class="LineNr">32546 </span> 0/imm32/no-imm32 @@ -30924,19 +30924,19 @@ if ('onhashchange' in window) { <span id="L32549" class="LineNr">32549 </span> 1/imm32/xm32-is-first-inout <span id="L32550" class="LineNr">32550 </span> 3/imm32/x32-is-first-output <span id="L32551" class="LineNr">32551 </span> 0x11/imm32/alloc-id:fake -<span id="L32552" class="LineNr">32552 </span> _Primitive-reciprocal-xreg-to-xreg/imm32/next +<span id="L32552" class="LineNr">32552 </span> <a href='mu.subx.html#L32554'>_Primitive-reciprocal-xreg-to-xreg</a>/imm32/next <span id="L32553" class="LineNr">32553 </span><span class="subxH1Comment"># - floating-point reciprocal</span> <span id="L32554" class="LineNr">32554 </span><span class="subxMinorFunction">_Primitive-reciprocal-xreg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32555" class="LineNr">32555 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32556" class="LineNr">32556 </span> <span class="subxComment"># var1/xreg <- reciprocal var2 => f3 0f 53/reciprocal var2/xm32 var1/x32</span> <span id="L32557" class="LineNr">32557 </span> 0x11/imm32/alloc-id:fake -<span id="L32558" class="LineNr">32558 </span> _string-reciprocal/imm32/name +<span id="L32558" class="LineNr">32558 </span> <a href='mu.subx.html#L34299'>_string-reciprocal</a>/imm32/name <span id="L32559" class="LineNr">32559 </span> 0x11/imm32/alloc-id:fake -<span id="L32560" class="LineNr">32560 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32560" class="LineNr">32560 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32561" class="LineNr">32561 </span> 0x11/imm32/alloc-id:fake -<span id="L32562" class="LineNr">32562 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32562" class="LineNr">32562 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32563" class="LineNr">32563 </span> 0x11/imm32/alloc-id:fake -<span id="L32564" class="LineNr">32564 </span> _string_f3_0f_53_reciprocal/imm32/subx-name +<span id="L32564" class="LineNr">32564 </span> <a href='mu.subx.html#L34621'>_string_f3_0f_53_reciprocal</a>/imm32/subx-name <span id="L32565" class="LineNr">32565 </span> 0/imm32/no-rm32 <span id="L32566" class="LineNr">32566 </span> 0/imm32/no-r32 <span id="L32567" class="LineNr">32567 </span> 0/imm32/no-imm32 @@ -30945,18 +30945,18 @@ if ('onhashchange' in window) { <span id="L32570" class="LineNr">32570 </span> 1/imm32/xm32-is-first-inout <span id="L32571" class="LineNr">32571 </span> 3/imm32/x32-is-first-output <span id="L32572" class="LineNr">32572 </span> 0x11/imm32/alloc-id:fake -<span id="L32573" class="LineNr">32573 </span> _Primitive-reciprocal-mem-to-xreg/imm32/next +<span id="L32573" class="LineNr">32573 </span> <a href='mu.subx.html#L32574'>_Primitive-reciprocal-mem-to-xreg</a>/imm32/next <span id="L32574" class="LineNr">32574 </span><span class="subxMinorFunction">_Primitive-reciprocal-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32575" class="LineNr">32575 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32576" class="LineNr">32576 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 53/reciprocal var2/xm32 var1/x32</span> <span id="L32577" class="LineNr">32577 </span> 0x11/imm32/alloc-id:fake -<span id="L32578" class="LineNr">32578 </span> _string-reciprocal/imm32/name +<span id="L32578" class="LineNr">32578 </span> <a href='mu.subx.html#L34299'>_string-reciprocal</a>/imm32/name <span id="L32579" class="LineNr">32579 </span> 0x11/imm32/alloc-id:fake -<span id="L32580" class="LineNr">32580 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32580" class="LineNr">32580 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32581" class="LineNr">32581 </span> 0x11/imm32/alloc-id:fake -<span id="L32582" class="LineNr">32582 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32582" class="LineNr">32582 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32583" class="LineNr">32583 </span> 0x11/imm32/alloc-id:fake -<span id="L32584" class="LineNr">32584 </span> _string_f3_0f_53_reciprocal/imm32/subx-name +<span id="L32584" class="LineNr">32584 </span> <a href='mu.subx.html#L34621'>_string_f3_0f_53_reciprocal</a>/imm32/subx-name <span id="L32585" class="LineNr">32585 </span> 0/imm32/no-rm32 <span id="L32586" class="LineNr">32586 </span> 0/imm32/no-r32 <span id="L32587" class="LineNr">32587 </span> 0/imm32/no-imm32 @@ -30965,19 +30965,19 @@ if ('onhashchange' in window) { <span id="L32590" class="LineNr">32590 </span> 1/imm32/xm32-is-first-inout <span id="L32591" class="LineNr">32591 </span> 3/imm32/x32-is-first-output <span id="L32592" class="LineNr">32592 </span> 0x11/imm32/alloc-id:fake -<span id="L32593" class="LineNr">32593 </span> _Primitive-square-root-xreg-to-xreg/imm32/next +<span id="L32593" class="LineNr">32593 </span> <a href='mu.subx.html#L32595'>_Primitive-square-root-xreg-to-xreg</a>/imm32/next <span id="L32594" class="LineNr">32594 </span><span class="subxH1Comment"># - floating-point square root</span> <span id="L32595" class="LineNr">32595 </span><span class="subxMinorFunction">_Primitive-square-root-xreg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32596" class="LineNr">32596 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32597" class="LineNr">32597 </span> <span class="subxComment"># var1/xreg <- square-root var2 => f3 0f 51/square-root var2/xm32 var1/x32</span> <span id="L32598" class="LineNr">32598 </span> 0x11/imm32/alloc-id:fake -<span id="L32599" class="LineNr">32599 </span> _string-square-root/imm32/name +<span id="L32599" class="LineNr">32599 </span> <a href='mu.subx.html#L34304'>_string-square-root</a>/imm32/name <span id="L32600" class="LineNr">32600 </span> 0x11/imm32/alloc-id:fake -<span id="L32601" class="LineNr">32601 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32601" class="LineNr">32601 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32602" class="LineNr">32602 </span> 0x11/imm32/alloc-id:fake -<span id="L32603" class="LineNr">32603 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32603" class="LineNr">32603 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32604" class="LineNr">32604 </span> 0x11/imm32/alloc-id:fake -<span id="L32605" class="LineNr">32605 </span> _string_f3_0f_51_square_root/imm32/subx-name +<span id="L32605" class="LineNr">32605 </span> <a href='mu.subx.html#L34626'>_string_f3_0f_51_square_root</a>/imm32/subx-name <span id="L32606" class="LineNr">32606 </span> 0/imm32/no-rm32 <span id="L32607" class="LineNr">32607 </span> 0/imm32/no-r32 <span id="L32608" class="LineNr">32608 </span> 0/imm32/no-imm32 @@ -30986,18 +30986,18 @@ if ('onhashchange' in window) { <span id="L32611" class="LineNr">32611 </span> 1/imm32/xm32-is-first-inout <span id="L32612" class="LineNr">32612 </span> 3/imm32/x32-is-first-output <span id="L32613" class="LineNr">32613 </span> 0x11/imm32/alloc-id:fake -<span id="L32614" class="LineNr">32614 </span> _Primitive-square-root-mem-to-xreg/imm32/next +<span id="L32614" class="LineNr">32614 </span> <a href='mu.subx.html#L32615'>_Primitive-square-root-mem-to-xreg</a>/imm32/next <span id="L32615" class="LineNr">32615 </span><span class="subxMinorFunction">_Primitive-square-root-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32616" class="LineNr">32616 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32617" class="LineNr">32617 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 51/square-root var2/xm32 var1/x32</span> <span id="L32618" class="LineNr">32618 </span> 0x11/imm32/alloc-id:fake -<span id="L32619" class="LineNr">32619 </span> _string-square-root/imm32/name +<span id="L32619" class="LineNr">32619 </span> <a href='mu.subx.html#L34304'>_string-square-root</a>/imm32/name <span id="L32620" class="LineNr">32620 </span> 0x11/imm32/alloc-id:fake -<span id="L32621" class="LineNr">32621 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32621" class="LineNr">32621 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32622" class="LineNr">32622 </span> 0x11/imm32/alloc-id:fake -<span id="L32623" class="LineNr">32623 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32623" class="LineNr">32623 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32624" class="LineNr">32624 </span> 0x11/imm32/alloc-id:fake -<span id="L32625" class="LineNr">32625 </span> _string_f3_0f_51_square_root/imm32/subx-name +<span id="L32625" class="LineNr">32625 </span> <a href='mu.subx.html#L34626'>_string_f3_0f_51_square_root</a>/imm32/subx-name <span id="L32626" class="LineNr">32626 </span> 0/imm32/no-rm32 <span id="L32627" class="LineNr">32627 </span> 0/imm32/no-r32 <span id="L32628" class="LineNr">32628 </span> 0/imm32/no-imm32 @@ -31006,19 +31006,19 @@ if ('onhashchange' in window) { <span id="L32631" class="LineNr">32631 </span> 1/imm32/xm32-is-first-inout <span id="L32632" class="LineNr">32632 </span> 3/imm32/x32-is-first-output <span id="L32633" class="LineNr">32633 </span> 0x11/imm32/alloc-id:fake -<span id="L32634" class="LineNr">32634 </span> _Primitive-inverse-square-root-xreg-to-xreg/imm32/next +<span id="L32634" class="LineNr">32634 </span> <a href='mu.subx.html#L32636'>_Primitive-inverse-square-root-xreg-to-xreg</a>/imm32/next <span id="L32635" class="LineNr">32635 </span><span class="subxH1Comment"># - floating-point inverse square root 1/sqrt(x)</span> <span id="L32636" class="LineNr">32636 </span><span class="subxMinorFunction">_Primitive-inverse-square-root-xreg-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32637" class="LineNr">32637 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32638" class="LineNr">32638 </span> <span class="subxComment"># var1/xreg <- reciprocal var2 => f3 0f 52/inverse-square-root var2/xm32 var1/x32</span> <span id="L32639" class="LineNr">32639 </span> 0x11/imm32/alloc-id:fake -<span id="L32640" class="LineNr">32640 </span> _string-inverse-square-root/imm32/name +<span id="L32640" class="LineNr">32640 </span> <a href='mu.subx.html#L34309'>_string-inverse-square-root</a>/imm32/name <span id="L32641" class="LineNr">32641 </span> 0x11/imm32/alloc-id:fake -<span id="L32642" class="LineNr">32642 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/inouts +<span id="L32642" class="LineNr">32642 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/inouts <span id="L32643" class="LineNr">32643 </span> 0x11/imm32/alloc-id:fake -<span id="L32644" class="LineNr">32644 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32644" class="LineNr">32644 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32645" class="LineNr">32645 </span> 0x11/imm32/alloc-id:fake -<span id="L32646" class="LineNr">32646 </span> _string_f3_0f_52_inverse_square_root/imm32/subx-name +<span id="L32646" class="LineNr">32646 </span> <a href='mu.subx.html#L34631'>_string_f3_0f_52_inverse_square_root</a>/imm32/subx-name <span id="L32647" class="LineNr">32647 </span> 0/imm32/no-rm32 <span id="L32648" class="LineNr">32648 </span> 0/imm32/no-r32 <span id="L32649" class="LineNr">32649 </span> 0/imm32/no-imm32 @@ -31027,18 +31027,18 @@ if ('onhashchange' in window) { <span id="L32652" class="LineNr">32652 </span> 1/imm32/xm32-is-first-inout <span id="L32653" class="LineNr">32653 </span> 3/imm32/x32-is-first-output <span id="L32654" class="LineNr">32654 </span> 0x11/imm32/alloc-id:fake -<span id="L32655" class="LineNr">32655 </span> _Primitive-inverse-square-root-mem-to-xreg/imm32/next +<span id="L32655" class="LineNr">32655 </span> <a href='mu.subx.html#L32656'>_Primitive-inverse-square-root-mem-to-xreg</a>/imm32/next <span id="L32656" class="LineNr">32656 </span><span class="subxMinorFunction">_Primitive-inverse-square-root-mem-to-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32657" class="LineNr">32657 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32658" class="LineNr">32658 </span> <span class="subxComment"># var1/xreg <- divide var2 => f3 0f 52/inverse-square-root var2/xm32 var1/x32</span> <span id="L32659" class="LineNr">32659 </span> 0x11/imm32/alloc-id:fake -<span id="L32660" class="LineNr">32660 </span> _string-inverse-square-root/imm32/name +<span id="L32660" class="LineNr">32660 </span> <a href='mu.subx.html#L34309'>_string-inverse-square-root</a>/imm32/name <span id="L32661" class="LineNr">32661 </span> 0x11/imm32/alloc-id:fake -<span id="L32662" class="LineNr">32662 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/inouts +<span id="L32662" class="LineNr">32662 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/inouts <span id="L32663" class="LineNr">32663 </span> 0x11/imm32/alloc-id:fake -<span id="L32664" class="LineNr">32664 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/outputs +<span id="L32664" class="LineNr">32664 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/outputs <span id="L32665" class="LineNr">32665 </span> 0x11/imm32/alloc-id:fake -<span id="L32666" class="LineNr">32666 </span> _string_f3_0f_52_inverse_square_root/imm32/subx-name +<span id="L32666" class="LineNr">32666 </span> <a href='mu.subx.html#L34631'>_string_f3_0f_52_inverse_square_root</a>/imm32/subx-name <span id="L32667" class="LineNr">32667 </span> 0/imm32/no-rm32 <span id="L32668" class="LineNr">32668 </span> 0/imm32/no-r32 <span id="L32669" class="LineNr">32669 </span> 0/imm32/no-imm32 @@ -31047,19 +31047,19 @@ if ('onhashchange' in window) { <span id="L32672" class="LineNr">32672 </span> 1/imm32/xm32-is-first-inout <span id="L32673" class="LineNr">32673 </span> 3/imm32/x32-is-first-output <span id="L32674" class="LineNr">32674 </span> 0x11/imm32/alloc-id:fake -<span id="L32675" class="LineNr">32675 </span> _Primitive-compare-xreg-with-xreg/imm32/next +<span id="L32675" class="LineNr">32675 </span> <a href='mu.subx.html#L32677'>_Primitive-compare-xreg-with-xreg</a>/imm32/next <span id="L32676" class="LineNr">32676 </span><span class="subxH1Comment"># - floating-point compare</span> <span id="L32677" class="LineNr">32677 </span><span class="subxMinorFunction">_Primitive-compare-xreg-with-xreg</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32678" class="LineNr">32678 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32679" class="LineNr">32679 </span> <span class="subxComment"># compare var1/reg1 var2/reg2 => 0f 2f/compare var2/x32 var1/xm32</span> <span id="L32680" class="LineNr">32680 </span> 0x11/imm32/alloc-id:fake -<span id="L32681" class="LineNr">32681 </span> _string-compare/imm32/name +<span id="L32681" class="LineNr">32681 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L32682" class="LineNr">32682 </span> 0x11/imm32/alloc-id:fake -<span id="L32683" class="LineNr">32683 </span> <span class="SpecialChar">Two-float-args-in-regs</span>/imm32/inouts +<span id="L32683" class="LineNr">32683 </span> <span class="SpecialChar"><a href='mu.subx.html#L35010'>Two-float-args-in-regs</a></span>/imm32/inouts <span id="L32684" class="LineNr">32684 </span> 0/imm32/no-outputs <span id="L32685" class="LineNr">32685 </span> 0/imm32/no-outputs <span id="L32686" class="LineNr">32686 </span> 0x11/imm32/alloc-id:fake -<span id="L32687" class="LineNr">32687 </span> _string_0f_2f_compare/imm32/subx-name +<span id="L32687" class="LineNr">32687 </span> <a href='mu.subx.html#L34656'>_string_0f_2f_compare</a>/imm32/subx-name <span id="L32688" class="LineNr">32688 </span> 0/imm32/no-rm32 <span id="L32689" class="LineNr">32689 </span> 0/imm32/no-r32 <span id="L32690" class="LineNr">32690 </span> 0/imm32/no-imm32 @@ -31068,18 +31068,18 @@ if ('onhashchange' in window) { <span id="L32693" class="LineNr">32693 </span> 2/imm32/xm32-is-second-inout <span id="L32694" class="LineNr">32694 </span> 1/imm32/x32-is-first-inout <span id="L32695" class="LineNr">32695 </span> 0x11/imm32/alloc-id:fake -<span id="L32696" class="LineNr">32696 </span> _Primitive-compare-xreg-with-mem/imm32/next +<span id="L32696" class="LineNr">32696 </span> <a href='mu.subx.html#L32697'>_Primitive-compare-xreg-with-mem</a>/imm32/next <span id="L32697" class="LineNr">32697 </span><span class="subxMinorFunction">_Primitive-compare-xreg-with-mem</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32698" class="LineNr">32698 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32699" class="LineNr">32699 </span> <span class="subxComment"># compare var1/xreg var2 => 0f 2f/compare var1/x32 var2/xm32</span> <span id="L32700" class="LineNr">32700 </span> 0x11/imm32/alloc-id:fake -<span id="L32701" class="LineNr">32701 </span> _string-compare/imm32/name +<span id="L32701" class="LineNr">32701 </span> <a href='mu.subx.html#L34134'>_string-compare</a>/imm32/name <span id="L32702" class="LineNr">32702 </span> 0x11/imm32/alloc-id:fake -<span id="L32703" class="LineNr">32703 </span> <span class="SpecialChar">Two-args-float-reg-float-stack</span>/imm32/inouts +<span id="L32703" class="LineNr">32703 </span> <span class="SpecialChar"><a href='mu.subx.html#L35017'>Two-args-float-reg-float-stack</a></span>/imm32/inouts <span id="L32704" class="LineNr">32704 </span> 0/imm32/no-outputs <span id="L32705" class="LineNr">32705 </span> 0/imm32/no-outputs <span id="L32706" class="LineNr">32706 </span> 0x11/imm32/alloc-id:fake -<span id="L32707" class="LineNr">32707 </span> _string_0f_2f_compare/imm32/subx-name +<span id="L32707" class="LineNr">32707 </span> <a href='mu.subx.html#L34656'>_string_0f_2f_compare</a>/imm32/subx-name <span id="L32708" class="LineNr">32708 </span> 0/imm32/no-rm32 <span id="L32709" class="LineNr">32709 </span> 0/imm32/no-r32 <span id="L32710" class="LineNr">32710 </span> 0/imm32/no-imm32 @@ -31088,18 +31088,18 @@ if ('onhashchange' in window) { <span id="L32713" class="LineNr">32713 </span> 2/imm32/xm32-is-second-inout <span id="L32714" class="LineNr">32714 </span> 1/imm32/x32-is-first-inout <span id="L32715" class="LineNr">32715 </span> 0x11/imm32/alloc-id:fake -<span id="L32716" class="LineNr">32716 </span> _Primitive-break-if-addr</imm32/next +<span id="L32716" class="LineNr">32716 </span> <a href='mu.subx.html#L32718'>_Primitive-break-if-addr<</a>/imm32/next <span id="L32717" class="LineNr">32717 </span><span class="subxH1Comment"># - branches</span> <span id="L32718" class="LineNr">32718 </span><span class="subxMinorFunction">_Primitive-break-if-addr<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32719" class="LineNr">32719 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32720" class="LineNr">32720 </span> 0x11/imm32/alloc-id:fake -<span id="L32721" class="LineNr">32721 </span> _string-break-if-addr</imm32/name +<span id="L32721" class="LineNr">32721 </span> <a href='mu.subx.html#L34074'>_string-break-if-addr<</a>/imm32/name <span id="L32722" class="LineNr">32722 </span> 0/imm32/no-inouts <span id="L32723" class="LineNr">32723 </span> 0/imm32/no-inouts <span id="L32724" class="LineNr">32724 </span> 0/imm32/no-outputs <span id="L32725" class="LineNr">32725 </span> 0/imm32/no-outputs <span id="L32726" class="LineNr">32726 </span> 0x11/imm32/alloc-id:fake -<span id="L32727" class="LineNr">32727 </span> _string_0f_82_jump_break/imm32/subx-name +<span id="L32727" class="LineNr">32727 </span> <a href='mu.subx.html#L34436'>_string_0f_82_jump_break</a>/imm32/subx-name <span id="L32728" class="LineNr">32728 </span> 0/imm32/no-rm32 <span id="L32729" class="LineNr">32729 </span> 0/imm32/no-r32 <span id="L32730" class="LineNr">32730 </span> 0/imm32/no-imm32 @@ -31108,17 +31108,17 @@ if ('onhashchange' in window) { <span id="L32733" class="LineNr">32733 </span> 0/imm32/no-xm32 <span id="L32734" class="LineNr">32734 </span> 0/imm32/no-x32 <span id="L32735" class="LineNr">32735 </span> 0x11/imm32/alloc-id:fake -<span id="L32736" class="LineNr">32736 </span> _Primitive-break-if-addr>=/imm32/next +<span id="L32736" class="LineNr">32736 </span> <a href='mu.subx.html#L32737'>_Primitive-break-if-addr>=</a>/imm32/next <span id="L32737" class="LineNr">32737 </span><span class="subxMinorFunction">_Primitive-break-if-addr>=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32738" class="LineNr">32738 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32739" class="LineNr">32739 </span> 0x11/imm32/alloc-id:fake -<span id="L32740" class="LineNr">32740 </span> _string-break-if-addr>=/imm32/name +<span id="L32740" class="LineNr">32740 </span> <a href='mu.subx.html#L34089'>_string-break-if-addr>=</a>/imm32/name <span id="L32741" class="LineNr">32741 </span> 0/imm32/no-inouts <span id="L32742" class="LineNr">32742 </span> 0/imm32/no-inouts <span id="L32743" class="LineNr">32743 </span> 0/imm32/no-outputs <span id="L32744" class="LineNr">32744 </span> 0/imm32/no-outputs <span id="L32745" class="LineNr">32745 </span> 0x11/imm32/alloc-id:fake -<span id="L32746" class="LineNr">32746 </span> _string_0f_83_jump_break/imm32/subx-name +<span id="L32746" class="LineNr">32746 </span> <a href='mu.subx.html#L34451'>_string_0f_83_jump_break</a>/imm32/subx-name <span id="L32747" class="LineNr">32747 </span> 0/imm32/no-rm32 <span id="L32748" class="LineNr">32748 </span> 0/imm32/no-r32 <span id="L32749" class="LineNr">32749 </span> 0/imm32/no-imm32 @@ -31127,17 +31127,17 @@ if ('onhashchange' in window) { <span id="L32752" class="LineNr">32752 </span> 0/imm32/no-xm32 <span id="L32753" class="LineNr">32753 </span> 0/imm32/no-x32 <span id="L32754" class="LineNr">32754 </span> 0x11/imm32/alloc-id:fake -<span id="L32755" class="LineNr">32755 </span> _Primitive-break-if-=/imm32/next +<span id="L32755" class="LineNr">32755 </span> <a href='mu.subx.html#L32756'>_Primitive-break-if-=</a>/imm32/next <span id="L32756" class="LineNr">32756 </span><span class="subxMinorFunction">_Primitive-break-if-=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32757" class="LineNr">32757 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32758" class="LineNr">32758 </span> 0x11/imm32/alloc-id:fake -<span id="L32759" class="LineNr">32759 </span> _string-break-if-=/imm32/name +<span id="L32759" class="LineNr">32759 </span> <a href='mu.subx.html#L34054'>_string-break-if-=</a>/imm32/name <span id="L32760" class="LineNr">32760 </span> 0/imm32/no-inouts <span id="L32761" class="LineNr">32761 </span> 0/imm32/no-inouts <span id="L32762" class="LineNr">32762 </span> 0/imm32/no-outputs <span id="L32763" class="LineNr">32763 </span> 0/imm32/no-outputs <span id="L32764" class="LineNr">32764 </span> 0x11/imm32/alloc-id:fake -<span id="L32765" class="LineNr">32765 </span> _string_0f_84_jump_break/imm32/subx-name +<span id="L32765" class="LineNr">32765 </span> <a href='mu.subx.html#L34466'>_string_0f_84_jump_break</a>/imm32/subx-name <span id="L32766" class="LineNr">32766 </span> 0/imm32/no-rm32 <span id="L32767" class="LineNr">32767 </span> 0/imm32/no-r32 <span id="L32768" class="LineNr">32768 </span> 0/imm32/no-imm32 @@ -31146,17 +31146,17 @@ if ('onhashchange' in window) { <span id="L32771" class="LineNr">32771 </span> 0/imm32/no-xm32 <span id="L32772" class="LineNr">32772 </span> 0/imm32/no-x32 <span id="L32773" class="LineNr">32773 </span> 0x11/imm32/alloc-id:fake -<span id="L32774" class="LineNr">32774 </span> _Primitive-break-if-!=/imm32/next +<span id="L32774" class="LineNr">32774 </span> <a href='mu.subx.html#L32775'>_Primitive-break-if-!=</a>/imm32/next <span id="L32775" class="LineNr">32775 </span><span class="subxMinorFunction">_Primitive-break-if-!=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32776" class="LineNr">32776 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32777" class="LineNr">32777 </span> 0x11/imm32/alloc-id:fake -<span id="L32778" class="LineNr">32778 </span> _string-break-if-!=/imm32/name +<span id="L32778" class="LineNr">32778 </span> <a href='mu.subx.html#L34069'>_string-break-if-!=</a>/imm32/name <span id="L32779" class="LineNr">32779 </span> 0/imm32/no-inouts <span id="L32780" class="LineNr">32780 </span> 0/imm32/no-inouts <span id="L32781" class="LineNr">32781 </span> 0/imm32/no-outputs <span id="L32782" class="LineNr">32782 </span> 0/imm32/no-outputs <span id="L32783" class="LineNr">32783 </span> 0x11/imm32/alloc-id:fake -<span id="L32784" class="LineNr">32784 </span> _string_0f_85_jump_break/imm32/subx-name +<span id="L32784" class="LineNr">32784 </span> <a href='mu.subx.html#L34481'>_string_0f_85_jump_break</a>/imm32/subx-name <span id="L32785" class="LineNr">32785 </span> 0/imm32/no-rm32 <span id="L32786" class="LineNr">32786 </span> 0/imm32/no-r32 <span id="L32787" class="LineNr">32787 </span> 0/imm32/no-imm32 @@ -31165,17 +31165,17 @@ if ('onhashchange' in window) { <span id="L32790" class="LineNr">32790 </span> 0/imm32/no-xm32 <span id="L32791" class="LineNr">32791 </span> 0/imm32/no-x32 <span id="L32792" class="LineNr">32792 </span> 0x11/imm32/alloc-id:fake -<span id="L32793" class="LineNr">32793 </span> _Primitive-break-if-addr<=/imm32/next +<span id="L32793" class="LineNr">32793 </span> <a href='mu.subx.html#L32794'>_Primitive-break-if-addr<=</a>/imm32/next <span id="L32794" class="LineNr">32794 </span><span class="subxMinorFunction">_Primitive-break-if-addr<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32795" class="LineNr">32795 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32796" class="LineNr">32796 </span> 0x11/imm32/alloc-id:fake -<span id="L32797" class="LineNr">32797 </span> _string-break-if-addr<=/imm32/name +<span id="L32797" class="LineNr">32797 </span> <a href='mu.subx.html#L34079'>_string-break-if-addr<=</a>/imm32/name <span id="L32798" class="LineNr">32798 </span> 0/imm32/no-inouts <span id="L32799" class="LineNr">32799 </span> 0/imm32/no-inouts <span id="L32800" class="LineNr">32800 </span> 0/imm32/no-outputs <span id="L32801" class="LineNr">32801 </span> 0/imm32/no-outputs <span id="L32802" class="LineNr">32802 </span> 0x11/imm32/alloc-id:fake -<span id="L32803" class="LineNr">32803 </span> _string_0f_86_jump_break/imm32/subx-name +<span id="L32803" class="LineNr">32803 </span> <a href='mu.subx.html#L34496'>_string_0f_86_jump_break</a>/imm32/subx-name <span id="L32804" class="LineNr">32804 </span> 0/imm32/no-rm32 <span id="L32805" class="LineNr">32805 </span> 0/imm32/no-r32 <span id="L32806" class="LineNr">32806 </span> 0/imm32/no-imm32 @@ -31184,17 +31184,17 @@ if ('onhashchange' in window) { <span id="L32809" class="LineNr">32809 </span> 0/imm32/no-xm32 <span id="L32810" class="LineNr">32810 </span> 0/imm32/no-x32 <span id="L32811" class="LineNr">32811 </span> 0x11/imm32/alloc-id:fake -<span id="L32812" class="LineNr">32812 </span> _Primitive-break-if-addr>/imm32/next +<span id="L32812" class="LineNr">32812 </span> <a href='mu.subx.html#L32813'>_Primitive-break-if-addr></a>/imm32/next <span id="L32813" class="LineNr">32813 </span><span class="subxMinorFunction">_Primitive-break-if-addr></span>: <span class="subxComment"># (payload primitive)</span> <span id="L32814" class="LineNr">32814 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32815" class="LineNr">32815 </span> 0x11/imm32/alloc-id:fake -<span id="L32816" class="LineNr">32816 </span> _string-break-if-addr>/imm32/name +<span id="L32816" class="LineNr">32816 </span> <a href='mu.subx.html#L34084'>_string-break-if-addr></a>/imm32/name <span id="L32817" class="LineNr">32817 </span> 0/imm32/no-inouts <span id="L32818" class="LineNr">32818 </span> 0/imm32/no-inouts <span id="L32819" class="LineNr">32819 </span> 0/imm32/no-outputs <span id="L32820" class="LineNr">32820 </span> 0/imm32/no-outputs <span id="L32821" class="LineNr">32821 </span> 0x11/imm32/alloc-id:fake -<span id="L32822" class="LineNr">32822 </span> _string_0f_87_jump_break/imm32/subx-name +<span id="L32822" class="LineNr">32822 </span> <a href='mu.subx.html#L34511'>_string_0f_87_jump_break</a>/imm32/subx-name <span id="L32823" class="LineNr">32823 </span> 0/imm32/no-rm32 <span id="L32824" class="LineNr">32824 </span> 0/imm32/no-r32 <span id="L32825" class="LineNr">32825 </span> 0/imm32/no-imm32 @@ -31203,17 +31203,17 @@ if ('onhashchange' in window) { <span id="L32828" class="LineNr">32828 </span> 0/imm32/no-xm32 <span id="L32829" class="LineNr">32829 </span> 0/imm32/no-x32 <span id="L32830" class="LineNr">32830 </span> 0x11/imm32/alloc-id:fake -<span id="L32831" class="LineNr">32831 </span> _Primitive-break-if-</imm32/next +<span id="L32831" class="LineNr">32831 </span> <a href='mu.subx.html#L32832'>_Primitive-break-if-<</a>/imm32/next <span id="L32832" class="LineNr">32832 </span><span class="subxMinorFunction">_Primitive-break-if-<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32833" class="LineNr">32833 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32834" class="LineNr">32834 </span> 0x11/imm32/alloc-id:fake -<span id="L32835" class="LineNr">32835 </span> _string-break-if-</imm32/name +<span id="L32835" class="LineNr">32835 </span> <a href='mu.subx.html#L34044'>_string-break-if-<</a>/imm32/name <span id="L32836" class="LineNr">32836 </span> 0/imm32/no-inouts <span id="L32837" class="LineNr">32837 </span> 0/imm32/no-inouts <span id="L32838" class="LineNr">32838 </span> 0/imm32/no-outputs <span id="L32839" class="LineNr">32839 </span> 0/imm32/no-outputs <span id="L32840" class="LineNr">32840 </span> 0x11/imm32/alloc-id:fake -<span id="L32841" class="LineNr">32841 </span> _string_0f_8c_jump_break/imm32/subx-name +<span id="L32841" class="LineNr">32841 </span> <a href='mu.subx.html#L34526'>_string_0f_8c_jump_break</a>/imm32/subx-name <span id="L32842" class="LineNr">32842 </span> 0/imm32/no-rm32 <span id="L32843" class="LineNr">32843 </span> 0/imm32/no-r32 <span id="L32844" class="LineNr">32844 </span> 0/imm32/no-imm32 @@ -31222,17 +31222,17 @@ if ('onhashchange' in window) { <span id="L32847" class="LineNr">32847 </span> 0/imm32/no-xm32 <span id="L32848" class="LineNr">32848 </span> 0/imm32/no-x32 <span id="L32849" class="LineNr">32849 </span> 0x11/imm32/alloc-id:fake -<span id="L32850" class="LineNr">32850 </span> _Primitive-break-if->=/imm32/next +<span id="L32850" class="LineNr">32850 </span> <a href='mu.subx.html#L32851'>_Primitive-break-if->=</a>/imm32/next <span id="L32851" class="LineNr">32851 </span><span class="subxMinorFunction">_Primitive-break-if->=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32852" class="LineNr">32852 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32853" class="LineNr">32853 </span> 0x11/imm32/alloc-id:fake -<span id="L32854" class="LineNr">32854 </span> _string-break-if->=/imm32/name +<span id="L32854" class="LineNr">32854 </span> <a href='mu.subx.html#L34064'>_string-break-if->=</a>/imm32/name <span id="L32855" class="LineNr">32855 </span> 0/imm32/no-inouts <span id="L32856" class="LineNr">32856 </span> 0/imm32/no-inouts <span id="L32857" class="LineNr">32857 </span> 0/imm32/no-outputs <span id="L32858" class="LineNr">32858 </span> 0/imm32/no-outputs <span id="L32859" class="LineNr">32859 </span> 0x11/imm32/alloc-id:fake -<span id="L32860" class="LineNr">32860 </span> _string_0f_8d_jump_break/imm32/subx-name +<span id="L32860" class="LineNr">32860 </span> <a href='mu.subx.html#L34541'>_string_0f_8d_jump_break</a>/imm32/subx-name <span id="L32861" class="LineNr">32861 </span> 0/imm32/no-rm32 <span id="L32862" class="LineNr">32862 </span> 0/imm32/no-r32 <span id="L32863" class="LineNr">32863 </span> 0/imm32/no-imm32 @@ -31241,17 +31241,17 @@ if ('onhashchange' in window) { <span id="L32866" class="LineNr">32866 </span> 0/imm32/no-xm32 <span id="L32867" class="LineNr">32867 </span> 0/imm32/no-x32 <span id="L32868" class="LineNr">32868 </span> 0x11/imm32/alloc-id:fake -<span id="L32869" class="LineNr">32869 </span> _Primitive-break-if-<=/imm32/next +<span id="L32869" class="LineNr">32869 </span> <a href='mu.subx.html#L32870'>_Primitive-break-if-<=</a>/imm32/next <span id="L32870" class="LineNr">32870 </span><span class="subxMinorFunction">_Primitive-break-if-<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32871" class="LineNr">32871 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32872" class="LineNr">32872 </span> 0x11/imm32/alloc-id:fake -<span id="L32873" class="LineNr">32873 </span> _string-break-if-<=/imm32/name +<span id="L32873" class="LineNr">32873 </span> <a href='mu.subx.html#L34049'>_string-break-if-<=</a>/imm32/name <span id="L32874" class="LineNr">32874 </span> 0/imm32/no-inouts <span id="L32875" class="LineNr">32875 </span> 0/imm32/no-inouts <span id="L32876" class="LineNr">32876 </span> 0/imm32/no-outputs <span id="L32877" class="LineNr">32877 </span> 0/imm32/no-outputs <span id="L32878" class="LineNr">32878 </span> 0x11/imm32/alloc-id:fake -<span id="L32879" class="LineNr">32879 </span> _string_0f_8e_jump_break/imm32/subx-name +<span id="L32879" class="LineNr">32879 </span> <a href='mu.subx.html#L34556'>_string_0f_8e_jump_break</a>/imm32/subx-name <span id="L32880" class="LineNr">32880 </span> 0/imm32/no-rm32 <span id="L32881" class="LineNr">32881 </span> 0/imm32/no-r32 <span id="L32882" class="LineNr">32882 </span> 0/imm32/no-imm32 @@ -31260,17 +31260,17 @@ if ('onhashchange' in window) { <span id="L32885" class="LineNr">32885 </span> 0/imm32/no-xm32 <span id="L32886" class="LineNr">32886 </span> 0/imm32/no-x32 <span id="L32887" class="LineNr">32887 </span> 0x11/imm32/alloc-id:fake -<span id="L32888" class="LineNr">32888 </span> _Primitive-break-if->/imm32/next +<span id="L32888" class="LineNr">32888 </span> <a href='mu.subx.html#L32889'>_Primitive-break-if-></a>/imm32/next <span id="L32889" class="LineNr">32889 </span><span class="subxMinorFunction">_Primitive-break-if-></span>: <span class="subxComment"># (payload primitive)</span> <span id="L32890" class="LineNr">32890 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32891" class="LineNr">32891 </span> 0x11/imm32/alloc-id:fake -<span id="L32892" class="LineNr">32892 </span> _string-break-if->/imm32/name +<span id="L32892" class="LineNr">32892 </span> <a href='mu.subx.html#L34059'>_string-break-if-></a>/imm32/name <span id="L32893" class="LineNr">32893 </span> 0/imm32/no-inouts <span id="L32894" class="LineNr">32894 </span> 0/imm32/no-inouts <span id="L32895" class="LineNr">32895 </span> 0/imm32/no-outputs <span id="L32896" class="LineNr">32896 </span> 0/imm32/no-outputs <span id="L32897" class="LineNr">32897 </span> 0x11/imm32/alloc-id:fake -<span id="L32898" class="LineNr">32898 </span> _string_0f_8f_jump_break/imm32/subx-name +<span id="L32898" class="LineNr">32898 </span> <a href='mu.subx.html#L34571'>_string_0f_8f_jump_break</a>/imm32/subx-name <span id="L32899" class="LineNr">32899 </span> 0/imm32/no-rm32 <span id="L32900" class="LineNr">32900 </span> 0/imm32/no-r32 <span id="L32901" class="LineNr">32901 </span> 0/imm32/no-imm32 @@ -31279,17 +31279,17 @@ if ('onhashchange' in window) { <span id="L32904" class="LineNr">32904 </span> 0/imm32/no-xm32 <span id="L32905" class="LineNr">32905 </span> 0/imm32/no-x32 <span id="L32906" class="LineNr">32906 </span> 0x11/imm32/alloc-id:fake -<span id="L32907" class="LineNr">32907 </span> _Primitive-break-if-carry/imm32/next +<span id="L32907" class="LineNr">32907 </span> <a href='mu.subx.html#L32908'>_Primitive-break-if-carry</a>/imm32/next <span id="L32908" class="LineNr">32908 </span><span class="subxMinorFunction">_Primitive-break-if-carry</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32909" class="LineNr">32909 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32910" class="LineNr">32910 </span> 0x11/imm32/alloc-id:fake -<span id="L32911" class="LineNr">32911 </span> _string-break-if-carry/imm32/name +<span id="L32911" class="LineNr">32911 </span> <a href='mu.subx.html#L34114'>_string-break-if-carry</a>/imm32/name <span id="L32912" class="LineNr">32912 </span> 0/imm32/no-inouts <span id="L32913" class="LineNr">32913 </span> 0/imm32/no-inouts <span id="L32914" class="LineNr">32914 </span> 0/imm32/no-outputs <span id="L32915" class="LineNr">32915 </span> 0/imm32/no-outputs <span id="L32916" class="LineNr">32916 </span> 0x11/imm32/alloc-id:fake -<span id="L32917" class="LineNr">32917 </span> _string_0f_82_jump_break/imm32/subx-name +<span id="L32917" class="LineNr">32917 </span> <a href='mu.subx.html#L34436'>_string_0f_82_jump_break</a>/imm32/subx-name <span id="L32918" class="LineNr">32918 </span> 0/imm32/no-rm32 <span id="L32919" class="LineNr">32919 </span> 0/imm32/no-r32 <span id="L32920" class="LineNr">32920 </span> 0/imm32/no-imm32 @@ -31298,17 +31298,17 @@ if ('onhashchange' in window) { <span id="L32923" class="LineNr">32923 </span> 0/imm32/no-xm32 <span id="L32924" class="LineNr">32924 </span> 0/imm32/no-x32 <span id="L32925" class="LineNr">32925 </span> 0x11/imm32/alloc-id:fake -<span id="L32926" class="LineNr">32926 </span> _Primitive-break-if-not-carry/imm32/next +<span id="L32926" class="LineNr">32926 </span> <a href='mu.subx.html#L32927'>_Primitive-break-if-not-carry</a>/imm32/next <span id="L32927" class="LineNr">32927 </span><span class="subxMinorFunction">_Primitive-break-if-not-carry</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32928" class="LineNr">32928 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32929" class="LineNr">32929 </span> 0x11/imm32/alloc-id:fake -<span id="L32930" class="LineNr">32930 </span> _string-break-if-not-carry/imm32/name +<span id="L32930" class="LineNr">32930 </span> <a href='mu.subx.html#L34119'>_string-break-if-not-carry</a>/imm32/name <span id="L32931" class="LineNr">32931 </span> 0/imm32/no-inouts <span id="L32932" class="LineNr">32932 </span> 0/imm32/no-inouts <span id="L32933" class="LineNr">32933 </span> 0/imm32/no-outputs <span id="L32934" class="LineNr">32934 </span> 0/imm32/no-outputs <span id="L32935" class="LineNr">32935 </span> 0x11/imm32/alloc-id:fake -<span id="L32936" class="LineNr">32936 </span> _string_0f_83_jump_break/imm32/subx-name +<span id="L32936" class="LineNr">32936 </span> <a href='mu.subx.html#L34451'>_string_0f_83_jump_break</a>/imm32/subx-name <span id="L32937" class="LineNr">32937 </span> 0/imm32/no-rm32 <span id="L32938" class="LineNr">32938 </span> 0/imm32/no-r32 <span id="L32939" class="LineNr">32939 </span> 0/imm32/no-imm32 @@ -31317,17 +31317,17 @@ if ('onhashchange' in window) { <span id="L32942" class="LineNr">32942 </span> 0/imm32/no-xm32 <span id="L32943" class="LineNr">32943 </span> 0/imm32/no-x32 <span id="L32944" class="LineNr">32944 </span> 0x11/imm32/alloc-id:fake -<span id="L32945" class="LineNr">32945 </span> _Primitive-break-if-overflow/imm32/next +<span id="L32945" class="LineNr">32945 </span> <a href='mu.subx.html#L32946'>_Primitive-break-if-overflow</a>/imm32/next <span id="L32946" class="LineNr">32946 </span><span class="subxMinorFunction">_Primitive-break-if-overflow</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32947" class="LineNr">32947 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32948" class="LineNr">32948 </span> 0x11/imm32/alloc-id:fake -<span id="L32949" class="LineNr">32949 </span> _string-break-if-overflow/imm32/name +<span id="L32949" class="LineNr">32949 </span> <a href='mu.subx.html#L34124'>_string-break-if-overflow</a>/imm32/name <span id="L32950" class="LineNr">32950 </span> 0/imm32/no-inouts <span id="L32951" class="LineNr">32951 </span> 0/imm32/no-inouts <span id="L32952" class="LineNr">32952 </span> 0/imm32/no-outputs <span id="L32953" class="LineNr">32953 </span> 0/imm32/no-outputs <span id="L32954" class="LineNr">32954 </span> 0x11/imm32/alloc-id:fake -<span id="L32955" class="LineNr">32955 </span> _string_0f_80_jump_break/imm32/subx-name +<span id="L32955" class="LineNr">32955 </span> <a href='mu.subx.html#L34406'>_string_0f_80_jump_break</a>/imm32/subx-name <span id="L32956" class="LineNr">32956 </span> 0/imm32/no-rm32 <span id="L32957" class="LineNr">32957 </span> 0/imm32/no-r32 <span id="L32958" class="LineNr">32958 </span> 0/imm32/no-imm32 @@ -31336,17 +31336,17 @@ if ('onhashchange' in window) { <span id="L32961" class="LineNr">32961 </span> 0/imm32/no-xm32 <span id="L32962" class="LineNr">32962 </span> 0/imm32/no-x32 <span id="L32963" class="LineNr">32963 </span> 0x11/imm32/alloc-id:fake -<span id="L32964" class="LineNr">32964 </span> _Primitive-break-if-not-overflow/imm32/next +<span id="L32964" class="LineNr">32964 </span> <a href='mu.subx.html#L32965'>_Primitive-break-if-not-overflow</a>/imm32/next <span id="L32965" class="LineNr">32965 </span><span class="subxMinorFunction">_Primitive-break-if-not-overflow</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32966" class="LineNr">32966 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32967" class="LineNr">32967 </span> 0x11/imm32/alloc-id:fake -<span id="L32968" class="LineNr">32968 </span> _string-break-if-not-overflow/imm32/name +<span id="L32968" class="LineNr">32968 </span> <a href='mu.subx.html#L34129'>_string-break-if-not-overflow</a>/imm32/name <span id="L32969" class="LineNr">32969 </span> 0/imm32/no-inouts <span id="L32970" class="LineNr">32970 </span> 0/imm32/no-inouts <span id="L32971" class="LineNr">32971 </span> 0/imm32/no-outputs <span id="L32972" class="LineNr">32972 </span> 0/imm32/no-outputs <span id="L32973" class="LineNr">32973 </span> 0x11/imm32/alloc-id:fake -<span id="L32974" class="LineNr">32974 </span> _string_0f_81_jump_break/imm32/subx-name +<span id="L32974" class="LineNr">32974 </span> <a href='mu.subx.html#L34421'>_string_0f_81_jump_break</a>/imm32/subx-name <span id="L32975" class="LineNr">32975 </span> 0/imm32/no-rm32 <span id="L32976" class="LineNr">32976 </span> 0/imm32/no-r32 <span id="L32977" class="LineNr">32977 </span> 0/imm32/no-imm32 @@ -31355,17 +31355,17 @@ if ('onhashchange' in window) { <span id="L32980" class="LineNr">32980 </span> 0/imm32/no-xm32 <span id="L32981" class="LineNr">32981 </span> 0/imm32/no-x32 <span id="L32982" class="LineNr">32982 </span> 0x11/imm32/alloc-id:fake -<span id="L32983" class="LineNr">32983 </span> _Primitive-break/imm32/next +<span id="L32983" class="LineNr">32983 </span> <a href='mu.subx.html#L32984'>_Primitive-break</a>/imm32/next <span id="L32984" class="LineNr">32984 </span><span class="subxMinorFunction">_Primitive-break</span>: <span class="subxComment"># (payload primitive)</span> <span id="L32985" class="LineNr">32985 </span> 0x11/imm32/alloc-id:fake:payload <span id="L32986" class="LineNr">32986 </span> 0x11/imm32/alloc-id:fake -<span id="L32987" class="LineNr">32987 </span> _string-break/imm32/name +<span id="L32987" class="LineNr">32987 </span> <a href='mu.subx.html#L34039'>_string-break</a>/imm32/name <span id="L32988" class="LineNr">32988 </span> 0/imm32/no-inouts <span id="L32989" class="LineNr">32989 </span> 0/imm32/no-inouts <span id="L32990" class="LineNr">32990 </span> 0/imm32/no-outputs <span id="L32991" class="LineNr">32991 </span> 0/imm32/no-outputs <span id="L32992" class="LineNr">32992 </span> 0x11/imm32/alloc-id:fake -<span id="L32993" class="LineNr">32993 </span> _string_e9_jump_break/imm32/subx-name +<span id="L32993" class="LineNr">32993 </span> <a href='mu.subx.html#L34876'>_string_e9_jump_break</a>/imm32/subx-name <span id="L32994" class="LineNr">32994 </span> 0/imm32/no-rm32 <span id="L32995" class="LineNr">32995 </span> 0/imm32/no-r32 <span id="L32996" class="LineNr">32996 </span> 0/imm32/no-imm32 @@ -31374,17 +31374,17 @@ if ('onhashchange' in window) { <span id="L32999" class="LineNr">32999 </span> 0/imm32/no-xm32 <span id="L33000" class="LineNr">33000 </span> 0/imm32/no-x32 <span id="L33001" class="LineNr">33001 </span> 0x11/imm32/alloc-id:fake -<span id="L33002" class="LineNr">33002 </span> _Primitive-loop-if-addr</imm32/next +<span id="L33002" class="LineNr">33002 </span> <a href='mu.subx.html#L33003'>_Primitive-loop-if-addr<</a>/imm32/next <span id="L33003" class="LineNr">33003 </span><span class="subxMinorFunction">_Primitive-loop-if-addr<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33004" class="LineNr">33004 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33005" class="LineNr">33005 </span> 0x11/imm32/alloc-id:fake -<span id="L33006" class="LineNr">33006 </span> _string-loop-if-addr</imm32/name +<span id="L33006" class="LineNr">33006 </span> <a href='mu.subx.html#L34204'>_string-loop-if-addr<</a>/imm32/name <span id="L33007" class="LineNr">33007 </span> 0/imm32/no-inouts <span id="L33008" class="LineNr">33008 </span> 0/imm32/no-inouts <span id="L33009" class="LineNr">33009 </span> 0/imm32/no-outputs <span id="L33010" class="LineNr">33010 </span> 0/imm32/no-outputs <span id="L33011" class="LineNr">33011 </span> 0x11/imm32/alloc-id:fake -<span id="L33012" class="LineNr">33012 </span> _string_0f_82_jump_loop/imm32/subx-name +<span id="L33012" class="LineNr">33012 </span> <a href='mu.subx.html#L34441'>_string_0f_82_jump_loop</a>/imm32/subx-name <span id="L33013" class="LineNr">33013 </span> 0/imm32/no-rm32 <span id="L33014" class="LineNr">33014 </span> 0/imm32/no-r32 <span id="L33015" class="LineNr">33015 </span> 0/imm32/no-imm32 @@ -31393,17 +31393,17 @@ if ('onhashchange' in window) { <span id="L33018" class="LineNr">33018 </span> 0/imm32/no-xm32 <span id="L33019" class="LineNr">33019 </span> 0/imm32/no-x32 <span id="L33020" class="LineNr">33020 </span> 0x11/imm32/alloc-id:fake -<span id="L33021" class="LineNr">33021 </span> _Primitive-loop-if-addr>=/imm32/next +<span id="L33021" class="LineNr">33021 </span> <a href='mu.subx.html#L33022'>_Primitive-loop-if-addr>=</a>/imm32/next <span id="L33022" class="LineNr">33022 </span><span class="subxMinorFunction">_Primitive-loop-if-addr>=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33023" class="LineNr">33023 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33024" class="LineNr">33024 </span> 0x11/imm32/alloc-id:fake -<span id="L33025" class="LineNr">33025 </span> _string-loop-if-addr>=/imm32/name +<span id="L33025" class="LineNr">33025 </span> <a href='mu.subx.html#L34219'>_string-loop-if-addr>=</a>/imm32/name <span id="L33026" class="LineNr">33026 </span> 0/imm32/no-inouts <span id="L33027" class="LineNr">33027 </span> 0/imm32/no-inouts <span id="L33028" class="LineNr">33028 </span> 0/imm32/no-outputs <span id="L33029" class="LineNr">33029 </span> 0/imm32/no-outputs <span id="L33030" class="LineNr">33030 </span> 0x11/imm32/alloc-id:fake -<span id="L33031" class="LineNr">33031 </span> _string_0f_83_jump_loop/imm32/subx-name +<span id="L33031" class="LineNr">33031 </span> <a href='mu.subx.html#L34456'>_string_0f_83_jump_loop</a>/imm32/subx-name <span id="L33032" class="LineNr">33032 </span> 0/imm32/no-rm32 <span id="L33033" class="LineNr">33033 </span> 0/imm32/no-r32 <span id="L33034" class="LineNr">33034 </span> 0/imm32/no-imm32 @@ -31412,17 +31412,17 @@ if ('onhashchange' in window) { <span id="L33037" class="LineNr">33037 </span> 0/imm32/no-xm32 <span id="L33038" class="LineNr">33038 </span> 0/imm32/no-x32 <span id="L33039" class="LineNr">33039 </span> 0x11/imm32/alloc-id:fake -<span id="L33040" class="LineNr">33040 </span> _Primitive-loop-if-=/imm32/next +<span id="L33040" class="LineNr">33040 </span> <a href='mu.subx.html#L33041'>_Primitive-loop-if-=</a>/imm32/next <span id="L33041" class="LineNr">33041 </span><span class="subxMinorFunction">_Primitive-loop-if-=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33042" class="LineNr">33042 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33043" class="LineNr">33043 </span> 0x11/imm32/alloc-id:fake -<span id="L33044" class="LineNr">33044 </span> _string-loop-if-=/imm32/name +<span id="L33044" class="LineNr">33044 </span> <a href='mu.subx.html#L34184'>_string-loop-if-=</a>/imm32/name <span id="L33045" class="LineNr">33045 </span> 0/imm32/no-inouts <span id="L33046" class="LineNr">33046 </span> 0/imm32/no-inouts <span id="L33047" class="LineNr">33047 </span> 0/imm32/no-outputs <span id="L33048" class="LineNr">33048 </span> 0/imm32/no-outputs <span id="L33049" class="LineNr">33049 </span> 0x11/imm32/alloc-id:fake -<span id="L33050" class="LineNr">33050 </span> _string_0f_84_jump_loop/imm32/subx-name +<span id="L33050" class="LineNr">33050 </span> <a href='mu.subx.html#L34471'>_string_0f_84_jump_loop</a>/imm32/subx-name <span id="L33051" class="LineNr">33051 </span> 0/imm32/no-rm32 <span id="L33052" class="LineNr">33052 </span> 0/imm32/no-r32 <span id="L33053" class="LineNr">33053 </span> 0/imm32/no-imm32 @@ -31431,17 +31431,17 @@ if ('onhashchange' in window) { <span id="L33056" class="LineNr">33056 </span> 0/imm32/no-xm32 <span id="L33057" class="LineNr">33057 </span> 0/imm32/no-x32 <span id="L33058" class="LineNr">33058 </span> 0x11/imm32/alloc-id:fake -<span id="L33059" class="LineNr">33059 </span> _Primitive-loop-if-!=/imm32/next +<span id="L33059" class="LineNr">33059 </span> <a href='mu.subx.html#L33060'>_Primitive-loop-if-!=</a>/imm32/next <span id="L33060" class="LineNr">33060 </span><span class="subxMinorFunction">_Primitive-loop-if-!=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33061" class="LineNr">33061 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33062" class="LineNr">33062 </span> 0x11/imm32/alloc-id:fake -<span id="L33063" class="LineNr">33063 </span> _string-loop-if-!=/imm32/name +<span id="L33063" class="LineNr">33063 </span> <a href='mu.subx.html#L34199'>_string-loop-if-!=</a>/imm32/name <span id="L33064" class="LineNr">33064 </span> 0/imm32/no-inouts <span id="L33065" class="LineNr">33065 </span> 0/imm32/no-inouts <span id="L33066" class="LineNr">33066 </span> 0/imm32/no-outputs <span id="L33067" class="LineNr">33067 </span> 0/imm32/no-outputs <span id="L33068" class="LineNr">33068 </span> 0x11/imm32/alloc-id:fake -<span id="L33069" class="LineNr">33069 </span> _string_0f_85_jump_loop/imm32/subx-name +<span id="L33069" class="LineNr">33069 </span> <a href='mu.subx.html#L34486'>_string_0f_85_jump_loop</a>/imm32/subx-name <span id="L33070" class="LineNr">33070 </span> 0/imm32/no-rm32 <span id="L33071" class="LineNr">33071 </span> 0/imm32/no-r32 <span id="L33072" class="LineNr">33072 </span> 0/imm32/no-imm32 @@ -31450,17 +31450,17 @@ if ('onhashchange' in window) { <span id="L33075" class="LineNr">33075 </span> 0/imm32/no-xm32 <span id="L33076" class="LineNr">33076 </span> 0/imm32/no-x32 <span id="L33077" class="LineNr">33077 </span> 0x11/imm32/alloc-id:fake -<span id="L33078" class="LineNr">33078 </span> _Primitive-loop-if-addr<=/imm32/next +<span id="L33078" class="LineNr">33078 </span> <a href='mu.subx.html#L33079'>_Primitive-loop-if-addr<=</a>/imm32/next <span id="L33079" class="LineNr">33079 </span><span class="subxMinorFunction">_Primitive-loop-if-addr<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33080" class="LineNr">33080 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33081" class="LineNr">33081 </span> 0x11/imm32/alloc-id:fake -<span id="L33082" class="LineNr">33082 </span> _string-loop-if-addr<=/imm32/name +<span id="L33082" class="LineNr">33082 </span> <a href='mu.subx.html#L34209'>_string-loop-if-addr<=</a>/imm32/name <span id="L33083" class="LineNr">33083 </span> 0/imm32/no-inouts <span id="L33084" class="LineNr">33084 </span> 0/imm32/no-inouts <span id="L33085" class="LineNr">33085 </span> 0/imm32/no-outputs <span id="L33086" class="LineNr">33086 </span> 0/imm32/no-outputs <span id="L33087" class="LineNr">33087 </span> 0x11/imm32/alloc-id:fake -<span id="L33088" class="LineNr">33088 </span> _string_0f_86_jump_loop/imm32/subx-name +<span id="L33088" class="LineNr">33088 </span> <a href='mu.subx.html#L34501'>_string_0f_86_jump_loop</a>/imm32/subx-name <span id="L33089" class="LineNr">33089 </span> 0/imm32/no-rm32 <span id="L33090" class="LineNr">33090 </span> 0/imm32/no-r32 <span id="L33091" class="LineNr">33091 </span> 0/imm32/no-imm32 @@ -31469,17 +31469,17 @@ if ('onhashchange' in window) { <span id="L33094" class="LineNr">33094 </span> 0/imm32/no-xm32 <span id="L33095" class="LineNr">33095 </span> 0/imm32/no-x32 <span id="L33096" class="LineNr">33096 </span> 0x11/imm32/alloc-id:fake -<span id="L33097" class="LineNr">33097 </span> _Primitive-loop-if-addr>/imm32/next +<span id="L33097" class="LineNr">33097 </span> <a href='mu.subx.html#L33098'>_Primitive-loop-if-addr></a>/imm32/next <span id="L33098" class="LineNr">33098 </span><span class="subxMinorFunction">_Primitive-loop-if-addr></span>: <span class="subxComment"># (payload primitive)</span> <span id="L33099" class="LineNr">33099 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33100" class="LineNr">33100 </span> 0x11/imm32/alloc-id:fake -<span id="L33101" class="LineNr">33101 </span> _string-loop-if-addr>/imm32/name +<span id="L33101" class="LineNr">33101 </span> <a href='mu.subx.html#L34214'>_string-loop-if-addr></a>/imm32/name <span id="L33102" class="LineNr">33102 </span> 0/imm32/no-inouts <span id="L33103" class="LineNr">33103 </span> 0/imm32/no-inouts <span id="L33104" class="LineNr">33104 </span> 0/imm32/no-outputs <span id="L33105" class="LineNr">33105 </span> 0/imm32/no-outputs <span id="L33106" class="LineNr">33106 </span> 0x11/imm32/alloc-id:fake -<span id="L33107" class="LineNr">33107 </span> _string_0f_87_jump_loop/imm32/subx-name +<span id="L33107" class="LineNr">33107 </span> <a href='mu.subx.html#L34516'>_string_0f_87_jump_loop</a>/imm32/subx-name <span id="L33108" class="LineNr">33108 </span> 0/imm32/no-rm32 <span id="L33109" class="LineNr">33109 </span> 0/imm32/no-r32 <span id="L33110" class="LineNr">33110 </span> 0/imm32/no-imm32 @@ -31488,17 +31488,17 @@ if ('onhashchange' in window) { <span id="L33113" class="LineNr">33113 </span> 0/imm32/no-xm32 <span id="L33114" class="LineNr">33114 </span> 0/imm32/no-x32 <span id="L33115" class="LineNr">33115 </span> 0x11/imm32/alloc-id:fake -<span id="L33116" class="LineNr">33116 </span> _Primitive-loop-if-</imm32/next +<span id="L33116" class="LineNr">33116 </span> <a href='mu.subx.html#L33117'>_Primitive-loop-if-<</a>/imm32/next <span id="L33117" class="LineNr">33117 </span><span class="subxMinorFunction">_Primitive-loop-if-<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33118" class="LineNr">33118 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33119" class="LineNr">33119 </span> 0x11/imm32/alloc-id:fake -<span id="L33120" class="LineNr">33120 </span> _string-loop-if-</imm32/name +<span id="L33120" class="LineNr">33120 </span> <a href='mu.subx.html#L34174'>_string-loop-if-<</a>/imm32/name <span id="L33121" class="LineNr">33121 </span> 0/imm32/no-inouts <span id="L33122" class="LineNr">33122 </span> 0/imm32/no-inouts <span id="L33123" class="LineNr">33123 </span> 0/imm32/no-outputs <span id="L33124" class="LineNr">33124 </span> 0/imm32/no-outputs <span id="L33125" class="LineNr">33125 </span> 0x11/imm32/alloc-id:fake -<span id="L33126" class="LineNr">33126 </span> _string_0f_8c_jump_loop/imm32/subx-name +<span id="L33126" class="LineNr">33126 </span> <a href='mu.subx.html#L34531'>_string_0f_8c_jump_loop</a>/imm32/subx-name <span id="L33127" class="LineNr">33127 </span> 0/imm32/no-rm32 <span id="L33128" class="LineNr">33128 </span> 0/imm32/no-r32 <span id="L33129" class="LineNr">33129 </span> 0/imm32/no-imm32 @@ -31507,17 +31507,17 @@ if ('onhashchange' in window) { <span id="L33132" class="LineNr">33132 </span> 0/imm32/no-xm32 <span id="L33133" class="LineNr">33133 </span> 0/imm32/no-x32 <span id="L33134" class="LineNr">33134 </span> 0x11/imm32/alloc-id:fake -<span id="L33135" class="LineNr">33135 </span> _Primitive-loop-if->=/imm32/next +<span id="L33135" class="LineNr">33135 </span> <a href='mu.subx.html#L33136'>_Primitive-loop-if->=</a>/imm32/next <span id="L33136" class="LineNr">33136 </span><span class="subxMinorFunction">_Primitive-loop-if->=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33137" class="LineNr">33137 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33138" class="LineNr">33138 </span> 0x11/imm32/alloc-id:fake -<span id="L33139" class="LineNr">33139 </span> _string-loop-if->=/imm32/name +<span id="L33139" class="LineNr">33139 </span> <a href='mu.subx.html#L34194'>_string-loop-if->=</a>/imm32/name <span id="L33140" class="LineNr">33140 </span> 0/imm32/no-inouts <span id="L33141" class="LineNr">33141 </span> 0/imm32/no-inouts <span id="L33142" class="LineNr">33142 </span> 0/imm32/no-outputs <span id="L33143" class="LineNr">33143 </span> 0/imm32/no-outputs <span id="L33144" class="LineNr">33144 </span> 0x11/imm32/alloc-id:fake -<span id="L33145" class="LineNr">33145 </span> _string_0f_8d_jump_loop/imm32/subx-name +<span id="L33145" class="LineNr">33145 </span> <a href='mu.subx.html#L34546'>_string_0f_8d_jump_loop</a>/imm32/subx-name <span id="L33146" class="LineNr">33146 </span> 0/imm32/no-rm32 <span id="L33147" class="LineNr">33147 </span> 0/imm32/no-r32 <span id="L33148" class="LineNr">33148 </span> 0/imm32/no-imm32 @@ -31526,17 +31526,17 @@ if ('onhashchange' in window) { <span id="L33151" class="LineNr">33151 </span> 0/imm32/no-xm32 <span id="L33152" class="LineNr">33152 </span> 0/imm32/no-x32 <span id="L33153" class="LineNr">33153 </span> 0x11/imm32/alloc-id:fake -<span id="L33154" class="LineNr">33154 </span> _Primitive-loop-if-<=/imm32/next +<span id="L33154" class="LineNr">33154 </span> <a href='mu.subx.html#L33155'>_Primitive-loop-if-<=</a>/imm32/next <span id="L33155" class="LineNr">33155 </span><span class="subxMinorFunction">_Primitive-loop-if-<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33156" class="LineNr">33156 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33157" class="LineNr">33157 </span> 0x11/imm32/alloc-id:fake -<span id="L33158" class="LineNr">33158 </span> _string-loop-if-<=/imm32/name +<span id="L33158" class="LineNr">33158 </span> <a href='mu.subx.html#L34179'>_string-loop-if-<=</a>/imm32/name <span id="L33159" class="LineNr">33159 </span> 0/imm32/no-inouts <span id="L33160" class="LineNr">33160 </span> 0/imm32/no-inouts <span id="L33161" class="LineNr">33161 </span> 0/imm32/no-outputs <span id="L33162" class="LineNr">33162 </span> 0/imm32/no-outputs <span id="L33163" class="LineNr">33163 </span> 0x11/imm32/alloc-id:fake -<span id="L33164" class="LineNr">33164 </span> _string_0f_8e_jump_loop/imm32/subx-name +<span id="L33164" class="LineNr">33164 </span> <a href='mu.subx.html#L34561'>_string_0f_8e_jump_loop</a>/imm32/subx-name <span id="L33165" class="LineNr">33165 </span> 0/imm32/no-rm32 <span id="L33166" class="LineNr">33166 </span> 0/imm32/no-r32 <span id="L33167" class="LineNr">33167 </span> 0/imm32/no-imm32 @@ -31545,17 +31545,17 @@ if ('onhashchange' in window) { <span id="L33170" class="LineNr">33170 </span> 0/imm32/no-xm32 <span id="L33171" class="LineNr">33171 </span> 0/imm32/no-x32 <span id="L33172" class="LineNr">33172 </span> 0x11/imm32/alloc-id:fake -<span id="L33173" class="LineNr">33173 </span> _Primitive-loop-if->/imm32/next +<span id="L33173" class="LineNr">33173 </span> <a href='mu.subx.html#L33174'>_Primitive-loop-if-></a>/imm32/next <span id="L33174" class="LineNr">33174 </span><span class="subxMinorFunction">_Primitive-loop-if-></span>: <span class="subxComment"># (payload primitive)</span> <span id="L33175" class="LineNr">33175 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33176" class="LineNr">33176 </span> 0x11/imm32/alloc-id:fake -<span id="L33177" class="LineNr">33177 </span> _string-loop-if->/imm32/name +<span id="L33177" class="LineNr">33177 </span> <a href='mu.subx.html#L34189'>_string-loop-if-></a>/imm32/name <span id="L33178" class="LineNr">33178 </span> 0/imm32/no-inouts <span id="L33179" class="LineNr">33179 </span> 0/imm32/no-inouts <span id="L33180" class="LineNr">33180 </span> 0/imm32/no-outputs <span id="L33181" class="LineNr">33181 </span> 0/imm32/no-outputs <span id="L33182" class="LineNr">33182 </span> 0x11/imm32/alloc-id:fake -<span id="L33183" class="LineNr">33183 </span> _string_0f_8f_jump_loop/imm32/subx-name +<span id="L33183" class="LineNr">33183 </span> <a href='mu.subx.html#L34576'>_string_0f_8f_jump_loop</a>/imm32/subx-name <span id="L33184" class="LineNr">33184 </span> 0/imm32/no-rm32 <span id="L33185" class="LineNr">33185 </span> 0/imm32/no-r32 <span id="L33186" class="LineNr">33186 </span> 0/imm32/no-imm32 @@ -31564,17 +31564,17 @@ if ('onhashchange' in window) { <span id="L33189" class="LineNr">33189 </span> 0/imm32/no-xm32 <span id="L33190" class="LineNr">33190 </span> 0/imm32/no-x32 <span id="L33191" class="LineNr">33191 </span> 0x11/imm32/alloc-id:fake -<span id="L33192" class="LineNr">33192 </span> _Primitive-loop-if-carry/imm32/next +<span id="L33192" class="LineNr">33192 </span> <a href='mu.subx.html#L33193'>_Primitive-loop-if-carry</a>/imm32/next <span id="L33193" class="LineNr">33193 </span><span class="subxMinorFunction">_Primitive-loop-if-carry</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33194" class="LineNr">33194 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33195" class="LineNr">33195 </span> 0x11/imm32/alloc-id:fake -<span id="L33196" class="LineNr">33196 </span> _string-loop-if-carry/imm32/name +<span id="L33196" class="LineNr">33196 </span> <a href='mu.subx.html#L34244'>_string-loop-if-carry</a>/imm32/name <span id="L33197" class="LineNr">33197 </span> 0/imm32/no-inouts <span id="L33198" class="LineNr">33198 </span> 0/imm32/no-inouts <span id="L33199" class="LineNr">33199 </span> 0/imm32/no-outputs <span id="L33200" class="LineNr">33200 </span> 0/imm32/no-outputs <span id="L33201" class="LineNr">33201 </span> 0x11/imm32/alloc-id:fake -<span id="L33202" class="LineNr">33202 </span> _string_0f_82_jump_loop/imm32/subx-name +<span id="L33202" class="LineNr">33202 </span> <a href='mu.subx.html#L34441'>_string_0f_82_jump_loop</a>/imm32/subx-name <span id="L33203" class="LineNr">33203 </span> 0/imm32/no-rm32 <span id="L33204" class="LineNr">33204 </span> 0/imm32/no-r32 <span id="L33205" class="LineNr">33205 </span> 0/imm32/no-imm32 @@ -31583,17 +31583,17 @@ if ('onhashchange' in window) { <span id="L33208" class="LineNr">33208 </span> 0/imm32/no-xm32 <span id="L33209" class="LineNr">33209 </span> 0/imm32/no-x32 <span id="L33210" class="LineNr">33210 </span> 0x11/imm32/alloc-id:fake -<span id="L33211" class="LineNr">33211 </span> _Primitive-loop-if-not-carry/imm32/next +<span id="L33211" class="LineNr">33211 </span> <a href='mu.subx.html#L33212'>_Primitive-loop-if-not-carry</a>/imm32/next <span id="L33212" class="LineNr">33212 </span><span class="subxMinorFunction">_Primitive-loop-if-not-carry</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33213" class="LineNr">33213 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33214" class="LineNr">33214 </span> 0x11/imm32/alloc-id:fake -<span id="L33215" class="LineNr">33215 </span> _string-loop-if-not-carry/imm32/name +<span id="L33215" class="LineNr">33215 </span> <a href='mu.subx.html#L34249'>_string-loop-if-not-carry</a>/imm32/name <span id="L33216" class="LineNr">33216 </span> 0/imm32/no-inouts <span id="L33217" class="LineNr">33217 </span> 0/imm32/no-inouts <span id="L33218" class="LineNr">33218 </span> 0/imm32/no-outputs <span id="L33219" class="LineNr">33219 </span> 0/imm32/no-outputs <span id="L33220" class="LineNr">33220 </span> 0x11/imm32/alloc-id:fake -<span id="L33221" class="LineNr">33221 </span> _string_0f_83_jump_loop/imm32/subx-name +<span id="L33221" class="LineNr">33221 </span> <a href='mu.subx.html#L34456'>_string_0f_83_jump_loop</a>/imm32/subx-name <span id="L33222" class="LineNr">33222 </span> 0/imm32/no-rm32 <span id="L33223" class="LineNr">33223 </span> 0/imm32/no-r32 <span id="L33224" class="LineNr">33224 </span> 0/imm32/no-imm32 @@ -31602,17 +31602,17 @@ if ('onhashchange' in window) { <span id="L33227" class="LineNr">33227 </span> 0/imm32/no-xm32 <span id="L33228" class="LineNr">33228 </span> 0/imm32/no-x32 <span id="L33229" class="LineNr">33229 </span> 0x11/imm32/alloc-id:fake -<span id="L33230" class="LineNr">33230 </span> _Primitive-loop-if-overflow/imm32/next +<span id="L33230" class="LineNr">33230 </span> <a href='mu.subx.html#L33231'>_Primitive-loop-if-overflow</a>/imm32/next <span id="L33231" class="LineNr">33231 </span><span class="subxMinorFunction">_Primitive-loop-if-overflow</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33232" class="LineNr">33232 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33233" class="LineNr">33233 </span> 0x11/imm32/alloc-id:fake -<span id="L33234" class="LineNr">33234 </span> _string-loop-if-overflow/imm32/name +<span id="L33234" class="LineNr">33234 </span> <a href='mu.subx.html#L34254'>_string-loop-if-overflow</a>/imm32/name <span id="L33235" class="LineNr">33235 </span> 0/imm32/no-inouts <span id="L33236" class="LineNr">33236 </span> 0/imm32/no-inouts <span id="L33237" class="LineNr">33237 </span> 0/imm32/no-outputs <span id="L33238" class="LineNr">33238 </span> 0/imm32/no-outputs <span id="L33239" class="LineNr">33239 </span> 0x11/imm32/alloc-id:fake -<span id="L33240" class="LineNr">33240 </span> _string_0f_80_jump_loop/imm32/subx-name +<span id="L33240" class="LineNr">33240 </span> <a href='mu.subx.html#L34411'>_string_0f_80_jump_loop</a>/imm32/subx-name <span id="L33241" class="LineNr">33241 </span> 0/imm32/no-rm32 <span id="L33242" class="LineNr">33242 </span> 0/imm32/no-r32 <span id="L33243" class="LineNr">33243 </span> 0/imm32/no-imm32 @@ -31621,17 +31621,17 @@ if ('onhashchange' in window) { <span id="L33246" class="LineNr">33246 </span> 0/imm32/no-xm32 <span id="L33247" class="LineNr">33247 </span> 0/imm32/no-x32 <span id="L33248" class="LineNr">33248 </span> 0x11/imm32/alloc-id:fake -<span id="L33249" class="LineNr">33249 </span> _Primitive-loop-if-not-overflow/imm32/next +<span id="L33249" class="LineNr">33249 </span> <a href='mu.subx.html#L33250'>_Primitive-loop-if-not-overflow</a>/imm32/next <span id="L33250" class="LineNr">33250 </span><span class="subxMinorFunction">_Primitive-loop-if-not-overflow</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33251" class="LineNr">33251 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33252" class="LineNr">33252 </span> 0x11/imm32/alloc-id:fake -<span id="L33253" class="LineNr">33253 </span> _string-loop-if-not-overflow/imm32/name +<span id="L33253" class="LineNr">33253 </span> <a href='mu.subx.html#L34259'>_string-loop-if-not-overflow</a>/imm32/name <span id="L33254" class="LineNr">33254 </span> 0/imm32/no-inouts <span id="L33255" class="LineNr">33255 </span> 0/imm32/no-inouts <span id="L33256" class="LineNr">33256 </span> 0/imm32/no-outputs <span id="L33257" class="LineNr">33257 </span> 0/imm32/no-outputs <span id="L33258" class="LineNr">33258 </span> 0x11/imm32/alloc-id:fake -<span id="L33259" class="LineNr">33259 </span> _string_0f_81_jump_loop/imm32/subx-name +<span id="L33259" class="LineNr">33259 </span> <a href='mu.subx.html#L34426'>_string_0f_81_jump_loop</a>/imm32/subx-name <span id="L33260" class="LineNr">33260 </span> 0/imm32/no-rm32 <span id="L33261" class="LineNr">33261 </span> 0/imm32/no-r32 <span id="L33262" class="LineNr">33262 </span> 0/imm32/no-imm32 @@ -31640,17 +31640,17 @@ if ('onhashchange' in window) { <span id="L33265" class="LineNr">33265 </span> 0/imm32/no-xm32 <span id="L33266" class="LineNr">33266 </span> 0/imm32/no-x32 <span id="L33267" class="LineNr">33267 </span> 0x11/imm32/alloc-id:fake -<span id="L33268" class="LineNr">33268 </span> _Primitive-loop/imm32/next <span class="subxComment"># we probably don't need an unconditional break</span> +<span id="L33268" class="LineNr">33268 </span> <a href='mu.subx.html#L33269'>_Primitive-loop</a>/imm32/next <span class="subxComment"># we probably don't need an unconditional break</span> <span id="L33269" class="LineNr">33269 </span><span class="subxMinorFunction">_Primitive-loop</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33270" class="LineNr">33270 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33271" class="LineNr">33271 </span> 0x11/imm32/alloc-id:fake -<span id="L33272" class="LineNr">33272 </span> _string-loop/imm32/name +<span id="L33272" class="LineNr">33272 </span> <a href='mu.subx.html#L34169'>_string-loop</a>/imm32/name <span id="L33273" class="LineNr">33273 </span> 0/imm32/no-inouts <span id="L33274" class="LineNr">33274 </span> 0/imm32/no-inouts <span id="L33275" class="LineNr">33275 </span> 0/imm32/no-outputs <span id="L33276" class="LineNr">33276 </span> 0/imm32/no-outputs <span id="L33277" class="LineNr">33277 </span> 0x11/imm32/alloc-id:fake -<span id="L33278" class="LineNr">33278 </span> _string_e9_jump_loop/imm32/subx-name +<span id="L33278" class="LineNr">33278 </span> <a href='mu.subx.html#L34881'>_string_e9_jump_loop</a>/imm32/subx-name <span id="L33279" class="LineNr">33279 </span> 0/imm32/no-rm32 <span id="L33280" class="LineNr">33280 </span> 0/imm32/no-r32 <span id="L33281" class="LineNr">33281 </span> 0/imm32/no-imm32 @@ -31659,18 +31659,18 @@ if ('onhashchange' in window) { <span id="L33284" class="LineNr">33284 </span> 0/imm32/no-xm32 <span id="L33285" class="LineNr">33285 </span> 0/imm32/no-x32 <span id="L33286" class="LineNr">33286 </span> 0x11/imm32/alloc-id:fake -<span id="L33287" class="LineNr">33287 </span> _Primitive-break-if-addr<-named/imm32/next +<span id="L33287" class="LineNr">33287 </span> <a href='mu.subx.html#L33289'>_Primitive-break-if-addr<-named</a>/imm32/next <span id="L33288" class="LineNr">33288 </span><span class="subxH1Comment"># - branches to named blocks</span> <span id="L33289" class="LineNr">33289 </span><span class="subxMinorFunction">_Primitive-break-if-addr<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33290" class="LineNr">33290 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33291" class="LineNr">33291 </span> 0x11/imm32/alloc-id:fake -<span id="L33292" class="LineNr">33292 </span> _string-break-if-addr</imm32/name +<span id="L33292" class="LineNr">33292 </span> <a href='mu.subx.html#L34074'>_string-break-if-addr<</a>/imm32/name <span id="L33293" class="LineNr">33293 </span> 0x11/imm32/alloc-id:fake -<span id="L33294" class="LineNr">33294 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33294" class="LineNr">33294 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33295" class="LineNr">33295 </span> 0/imm32/no-outputs <span id="L33296" class="LineNr">33296 </span> 0/imm32/no-outputs <span id="L33297" class="LineNr">33297 </span> 0x11/imm32/alloc-id:fake -<span id="L33298" class="LineNr">33298 </span> _string_0f_82_jump_label/imm32/subx-name +<span id="L33298" class="LineNr">33298 </span> <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32/subx-name <span id="L33299" class="LineNr">33299 </span> 0/imm32/no-rm32 <span id="L33300" class="LineNr">33300 </span> 0/imm32/no-r32 <span id="L33301" class="LineNr">33301 </span> 0/imm32/no-imm32 @@ -31679,17 +31679,17 @@ if ('onhashchange' in window) { <span id="L33304" class="LineNr">33304 </span> 0/imm32/no-xm32 <span id="L33305" class="LineNr">33305 </span> 0/imm32/no-x32 <span id="L33306" class="LineNr">33306 </span> 0x11/imm32/alloc-id:fake -<span id="L33307" class="LineNr">33307 </span> _Primitive-break-if-addr>=-named/imm32/next +<span id="L33307" class="LineNr">33307 </span> <a href='mu.subx.html#L33308'>_Primitive-break-if-addr>=-named</a>/imm32/next <span id="L33308" class="LineNr">33308 </span><span class="subxMinorFunction">_Primitive-break-if-addr>=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33309" class="LineNr">33309 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33310" class="LineNr">33310 </span> 0x11/imm32/alloc-id:fake -<span id="L33311" class="LineNr">33311 </span> _string-break-if-addr>=/imm32/name +<span id="L33311" class="LineNr">33311 </span> <a href='mu.subx.html#L34089'>_string-break-if-addr>=</a>/imm32/name <span id="L33312" class="LineNr">33312 </span> 0x11/imm32/alloc-id:fake -<span id="L33313" class="LineNr">33313 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33313" class="LineNr">33313 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33314" class="LineNr">33314 </span> 0/imm32/no-outputs <span id="L33315" class="LineNr">33315 </span> 0/imm32/no-outputs <span id="L33316" class="LineNr">33316 </span> 0x11/imm32/alloc-id:fake -<span id="L33317" class="LineNr">33317 </span> _string_0f_83_jump_label/imm32/subx-name +<span id="L33317" class="LineNr">33317 </span> <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32/subx-name <span id="L33318" class="LineNr">33318 </span> 0/imm32/no-rm32 <span id="L33319" class="LineNr">33319 </span> 0/imm32/no-r32 <span id="L33320" class="LineNr">33320 </span> 0/imm32/no-imm32 @@ -31698,17 +31698,17 @@ if ('onhashchange' in window) { <span id="L33323" class="LineNr">33323 </span> 0/imm32/no-xm32 <span id="L33324" class="LineNr">33324 </span> 0/imm32/no-x32 <span id="L33325" class="LineNr">33325 </span> 0x11/imm32/alloc-id:fake -<span id="L33326" class="LineNr">33326 </span> _Primitive-break-if-=-named/imm32/next +<span id="L33326" class="LineNr">33326 </span> <a href='mu.subx.html#L33327'>_Primitive-break-if-=-named</a>/imm32/next <span id="L33327" class="LineNr">33327 </span><span class="subxMinorFunction">_Primitive-break-if-=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33328" class="LineNr">33328 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33329" class="LineNr">33329 </span> 0x11/imm32/alloc-id:fake -<span id="L33330" class="LineNr">33330 </span> _string-break-if-=/imm32/name +<span id="L33330" class="LineNr">33330 </span> <a href='mu.subx.html#L34054'>_string-break-if-=</a>/imm32/name <span id="L33331" class="LineNr">33331 </span> 0x11/imm32/alloc-id:fake -<span id="L33332" class="LineNr">33332 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33332" class="LineNr">33332 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33333" class="LineNr">33333 </span> 0/imm32/no-outputs <span id="L33334" class="LineNr">33334 </span> 0/imm32/no-outputs <span id="L33335" class="LineNr">33335 </span> 0x11/imm32/alloc-id:fake -<span id="L33336" class="LineNr">33336 </span> _string_0f_84_jump_label/imm32/subx-name +<span id="L33336" class="LineNr">33336 </span> <a href='mu.subx.html#L34461'>_string_0f_84_jump_label</a>/imm32/subx-name <span id="L33337" class="LineNr">33337 </span> 0/imm32/no-rm32 <span id="L33338" class="LineNr">33338 </span> 0/imm32/no-r32 <span id="L33339" class="LineNr">33339 </span> 0/imm32/no-imm32 @@ -31717,17 +31717,17 @@ if ('onhashchange' in window) { <span id="L33342" class="LineNr">33342 </span> 0/imm32/no-xm32 <span id="L33343" class="LineNr">33343 </span> 0/imm32/no-x32 <span id="L33344" class="LineNr">33344 </span> 0x11/imm32/alloc-id:fake -<span id="L33345" class="LineNr">33345 </span> _Primitive-break-if-!=-named/imm32/next +<span id="L33345" class="LineNr">33345 </span> <a href='mu.subx.html#L33346'>_Primitive-break-if-!=-named</a>/imm32/next <span id="L33346" class="LineNr">33346 </span><span class="subxMinorFunction">_Primitive-break-if-!=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33347" class="LineNr">33347 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33348" class="LineNr">33348 </span> 0x11/imm32/alloc-id:fake -<span id="L33349" class="LineNr">33349 </span> _string-break-if-!=/imm32/name +<span id="L33349" class="LineNr">33349 </span> <a href='mu.subx.html#L34069'>_string-break-if-!=</a>/imm32/name <span id="L33350" class="LineNr">33350 </span> 0x11/imm32/alloc-id:fake -<span id="L33351" class="LineNr">33351 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33351" class="LineNr">33351 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33352" class="LineNr">33352 </span> 0/imm32/no-outputs <span id="L33353" class="LineNr">33353 </span> 0/imm32/no-outputs <span id="L33354" class="LineNr">33354 </span> 0x11/imm32/alloc-id:fake -<span id="L33355" class="LineNr">33355 </span> _string_0f_85_jump_label/imm32/subx-name +<span id="L33355" class="LineNr">33355 </span> <a href='mu.subx.html#L34476'>_string_0f_85_jump_label</a>/imm32/subx-name <span id="L33356" class="LineNr">33356 </span> 0/imm32/no-rm32 <span id="L33357" class="LineNr">33357 </span> 0/imm32/no-r32 <span id="L33358" class="LineNr">33358 </span> 0/imm32/no-imm32 @@ -31736,17 +31736,17 @@ if ('onhashchange' in window) { <span id="L33361" class="LineNr">33361 </span> 0/imm32/no-xm32 <span id="L33362" class="LineNr">33362 </span> 0/imm32/no-x32 <span id="L33363" class="LineNr">33363 </span> 0x11/imm32/alloc-id:fake -<span id="L33364" class="LineNr">33364 </span> _Primitive-break-if-addr<=-named/imm32/next +<span id="L33364" class="LineNr">33364 </span> <a href='mu.subx.html#L33365'>_Primitive-break-if-addr<=-named</a>/imm32/next <span id="L33365" class="LineNr">33365 </span><span class="subxMinorFunction">_Primitive-break-if-addr<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33366" class="LineNr">33366 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33367" class="LineNr">33367 </span> 0x11/imm32/alloc-id:fake -<span id="L33368" class="LineNr">33368 </span> _string-break-if-addr<=/imm32/name +<span id="L33368" class="LineNr">33368 </span> <a href='mu.subx.html#L34079'>_string-break-if-addr<=</a>/imm32/name <span id="L33369" class="LineNr">33369 </span> 0x11/imm32/alloc-id:fake -<span id="L33370" class="LineNr">33370 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33370" class="LineNr">33370 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33371" class="LineNr">33371 </span> 0/imm32/no-outputs <span id="L33372" class="LineNr">33372 </span> 0/imm32/no-outputs <span id="L33373" class="LineNr">33373 </span> 0x11/imm32/alloc-id:fake -<span id="L33374" class="LineNr">33374 </span> _string_0f_86_jump_label/imm32/subx-name +<span id="L33374" class="LineNr">33374 </span> <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32/subx-name <span id="L33375" class="LineNr">33375 </span> 0/imm32/no-rm32 <span id="L33376" class="LineNr">33376 </span> 0/imm32/no-r32 <span id="L33377" class="LineNr">33377 </span> 0/imm32/no-imm32 @@ -31755,17 +31755,17 @@ if ('onhashchange' in window) { <span id="L33380" class="LineNr">33380 </span> 0/imm32/no-xm32 <span id="L33381" class="LineNr">33381 </span> 0/imm32/no-x32 <span id="L33382" class="LineNr">33382 </span> 0x11/imm32/alloc-id:fake -<span id="L33383" class="LineNr">33383 </span> _Primitive-break-if-addr>-named/imm32/next +<span id="L33383" class="LineNr">33383 </span> <a href='mu.subx.html#L33384'>_Primitive-break-if-addr>-named</a>/imm32/next <span id="L33384" class="LineNr">33384 </span><span class="subxMinorFunction">_Primitive-break-if-addr>-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33385" class="LineNr">33385 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33386" class="LineNr">33386 </span> 0x11/imm32/alloc-id:fake -<span id="L33387" class="LineNr">33387 </span> _string-break-if-addr>/imm32/name +<span id="L33387" class="LineNr">33387 </span> <a href='mu.subx.html#L34084'>_string-break-if-addr></a>/imm32/name <span id="L33388" class="LineNr">33388 </span> 0x11/imm32/alloc-id:fake -<span id="L33389" class="LineNr">33389 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33389" class="LineNr">33389 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33390" class="LineNr">33390 </span> 0/imm32/no-outputs <span id="L33391" class="LineNr">33391 </span> 0/imm32/no-outputs <span id="L33392" class="LineNr">33392 </span> 0x11/imm32/alloc-id:fake -<span id="L33393" class="LineNr">33393 </span> _string_0f_87_jump_label/imm32/subx-name +<span id="L33393" class="LineNr">33393 </span> <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32/subx-name <span id="L33394" class="LineNr">33394 </span> 0/imm32/no-rm32 <span id="L33395" class="LineNr">33395 </span> 0/imm32/no-r32 <span id="L33396" class="LineNr">33396 </span> 0/imm32/no-imm32 @@ -31774,17 +31774,17 @@ if ('onhashchange' in window) { <span id="L33399" class="LineNr">33399 </span> 0/imm32/no-xm32 <span id="L33400" class="LineNr">33400 </span> 0/imm32/no-x32 <span id="L33401" class="LineNr">33401 </span> 0x11/imm32/alloc-id:fake -<span id="L33402" class="LineNr">33402 </span> _Primitive-break-if-<-named/imm32/next +<span id="L33402" class="LineNr">33402 </span> <a href='mu.subx.html#L33403'>_Primitive-break-if-<-named</a>/imm32/next <span id="L33403" class="LineNr">33403 </span><span class="subxMinorFunction">_Primitive-break-if-<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33404" class="LineNr">33404 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33405" class="LineNr">33405 </span> 0x11/imm32/alloc-id:fake -<span id="L33406" class="LineNr">33406 </span> _string-break-if-</imm32/name +<span id="L33406" class="LineNr">33406 </span> <a href='mu.subx.html#L34044'>_string-break-if-<</a>/imm32/name <span id="L33407" class="LineNr">33407 </span> 0x11/imm32/alloc-id:fake -<span id="L33408" class="LineNr">33408 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33408" class="LineNr">33408 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33409" class="LineNr">33409 </span> 0/imm32/no-outputs <span id="L33410" class="LineNr">33410 </span> 0/imm32/no-outputs <span id="L33411" class="LineNr">33411 </span> 0x11/imm32/alloc-id:fake -<span id="L33412" class="LineNr">33412 </span> _string_0f_8c_jump_label/imm32/subx-name +<span id="L33412" class="LineNr">33412 </span> <a href='mu.subx.html#L34521'>_string_0f_8c_jump_label</a>/imm32/subx-name <span id="L33413" class="LineNr">33413 </span> 0/imm32/no-rm32 <span id="L33414" class="LineNr">33414 </span> 0/imm32/no-r32 <span id="L33415" class="LineNr">33415 </span> 0/imm32/no-imm32 @@ -31793,17 +31793,17 @@ if ('onhashchange' in window) { <span id="L33418" class="LineNr">33418 </span> 0/imm32/no-xm32 <span id="L33419" class="LineNr">33419 </span> 0/imm32/no-x32 <span id="L33420" class="LineNr">33420 </span> 0x11/imm32/alloc-id:fake -<span id="L33421" class="LineNr">33421 </span> _Primitive-break-if->=-named/imm32/next +<span id="L33421" class="LineNr">33421 </span> <a href='mu.subx.html#L33422'>_Primitive-break-if->=-named</a>/imm32/next <span id="L33422" class="LineNr">33422 </span><span class="subxMinorFunction">_Primitive-break-if->=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33423" class="LineNr">33423 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33424" class="LineNr">33424 </span> 0x11/imm32/alloc-id:fake -<span id="L33425" class="LineNr">33425 </span> _string-break-if->=/imm32/name +<span id="L33425" class="LineNr">33425 </span> <a href='mu.subx.html#L34064'>_string-break-if->=</a>/imm32/name <span id="L33426" class="LineNr">33426 </span> 0x11/imm32/alloc-id:fake -<span id="L33427" class="LineNr">33427 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33427" class="LineNr">33427 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33428" class="LineNr">33428 </span> 0/imm32/no-outputs <span id="L33429" class="LineNr">33429 </span> 0/imm32/no-outputs <span id="L33430" class="LineNr">33430 </span> 0x11/imm32/alloc-id:fake -<span id="L33431" class="LineNr">33431 </span> _string_0f_8d_jump_label/imm32/subx-name +<span id="L33431" class="LineNr">33431 </span> <a href='mu.subx.html#L34536'>_string_0f_8d_jump_label</a>/imm32/subx-name <span id="L33432" class="LineNr">33432 </span> 0/imm32/no-rm32 <span id="L33433" class="LineNr">33433 </span> 0/imm32/no-r32 <span id="L33434" class="LineNr">33434 </span> 0/imm32/no-imm32 @@ -31812,17 +31812,17 @@ if ('onhashchange' in window) { <span id="L33437" class="LineNr">33437 </span> 0/imm32/no-xm32 <span id="L33438" class="LineNr">33438 </span> 0/imm32/no-x32 <span id="L33439" class="LineNr">33439 </span> 0x11/imm32/alloc-id:fake -<span id="L33440" class="LineNr">33440 </span> _Primitive-break-if-<=-named/imm32/next +<span id="L33440" class="LineNr">33440 </span> <a href='mu.subx.html#L33441'>_Primitive-break-if-<=-named</a>/imm32/next <span id="L33441" class="LineNr">33441 </span><span class="subxMinorFunction">_Primitive-break-if-<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33442" class="LineNr">33442 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33443" class="LineNr">33443 </span> 0x11/imm32/alloc-id:fake -<span id="L33444" class="LineNr">33444 </span> _string-break-if-<=/imm32/name +<span id="L33444" class="LineNr">33444 </span> <a href='mu.subx.html#L34049'>_string-break-if-<=</a>/imm32/name <span id="L33445" class="LineNr">33445 </span> 0x11/imm32/alloc-id:fake -<span id="L33446" class="LineNr">33446 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33446" class="LineNr">33446 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33447" class="LineNr">33447 </span> 0/imm32/no-outputs <span id="L33448" class="LineNr">33448 </span> 0/imm32/no-outputs <span id="L33449" class="LineNr">33449 </span> 0x11/imm32/alloc-id:fake -<span id="L33450" class="LineNr">33450 </span> _string_0f_8e_jump_label/imm32/subx-name +<span id="L33450" class="LineNr">33450 </span> <a href='mu.subx.html#L34551'>_string_0f_8e_jump_label</a>/imm32/subx-name <span id="L33451" class="LineNr">33451 </span> 0/imm32/no-rm32 <span id="L33452" class="LineNr">33452 </span> 0/imm32/no-r32 <span id="L33453" class="LineNr">33453 </span> 0/imm32/no-imm32 @@ -31831,17 +31831,17 @@ if ('onhashchange' in window) { <span id="L33456" class="LineNr">33456 </span> 0/imm32/no-xm32 <span id="L33457" class="LineNr">33457 </span> 0/imm32/no-x32 <span id="L33458" class="LineNr">33458 </span> 0x11/imm32/alloc-id:fake -<span id="L33459" class="LineNr">33459 </span> _Primitive-break-if->-named/imm32/next +<span id="L33459" class="LineNr">33459 </span> <a href='mu.subx.html#L33460'>_Primitive-break-if->-named</a>/imm32/next <span id="L33460" class="LineNr">33460 </span><span class="subxMinorFunction">_Primitive-break-if->-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33461" class="LineNr">33461 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33462" class="LineNr">33462 </span> 0x11/imm32/alloc-id:fake -<span id="L33463" class="LineNr">33463 </span> _string-break-if->/imm32/name +<span id="L33463" class="LineNr">33463 </span> <a href='mu.subx.html#L34059'>_string-break-if-></a>/imm32/name <span id="L33464" class="LineNr">33464 </span> 0x11/imm32/alloc-id:fake -<span id="L33465" class="LineNr">33465 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33465" class="LineNr">33465 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33466" class="LineNr">33466 </span> 0/imm32/no-outputs <span id="L33467" class="LineNr">33467 </span> 0/imm32/no-outputs <span id="L33468" class="LineNr">33468 </span> 0x11/imm32/alloc-id:fake -<span id="L33469" class="LineNr">33469 </span> _string_0f_8f_jump_label/imm32/subx-name +<span id="L33469" class="LineNr">33469 </span> <a href='mu.subx.html#L34566'>_string_0f_8f_jump_label</a>/imm32/subx-name <span id="L33470" class="LineNr">33470 </span> 0/imm32/no-rm32 <span id="L33471" class="LineNr">33471 </span> 0/imm32/no-r32 <span id="L33472" class="LineNr">33472 </span> 0/imm32/no-imm32 @@ -31850,17 +31850,17 @@ if ('onhashchange' in window) { <span id="L33475" class="LineNr">33475 </span> 0/imm32/no-xm32 <span id="L33476" class="LineNr">33476 </span> 0/imm32/no-x32 <span id="L33477" class="LineNr">33477 </span> 0x11/imm32/alloc-id:fake -<span id="L33478" class="LineNr">33478 </span> _Primitive-break-named/imm32/next +<span id="L33478" class="LineNr">33478 </span> <a href='mu.subx.html#L33479'>_Primitive-break-named</a>/imm32/next <span id="L33479" class="LineNr">33479 </span><span class="subxMinorFunction">_Primitive-break-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33480" class="LineNr">33480 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33481" class="LineNr">33481 </span> 0x11/imm32/alloc-id:fake -<span id="L33482" class="LineNr">33482 </span> _string-break/imm32/name +<span id="L33482" class="LineNr">33482 </span> <a href='mu.subx.html#L34039'>_string-break</a>/imm32/name <span id="L33483" class="LineNr">33483 </span> 0x11/imm32/alloc-id:fake -<span id="L33484" class="LineNr">33484 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33484" class="LineNr">33484 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33485" class="LineNr">33485 </span> 0/imm32/no-outputs <span id="L33486" class="LineNr">33486 </span> 0/imm32/no-outputs <span id="L33487" class="LineNr">33487 </span> 0x11/imm32/alloc-id:fake -<span id="L33488" class="LineNr">33488 </span> _string_e9_jump_label/imm32/subx-name +<span id="L33488" class="LineNr">33488 </span> <a href='mu.subx.html#L34871'>_string_e9_jump_label</a>/imm32/subx-name <span id="L33489" class="LineNr">33489 </span> 0/imm32/no-rm32 <span id="L33490" class="LineNr">33490 </span> 0/imm32/no-r32 <span id="L33491" class="LineNr">33491 </span> 0/imm32/no-imm32 @@ -31869,17 +31869,17 @@ if ('onhashchange' in window) { <span id="L33494" class="LineNr">33494 </span> 0/imm32/no-xm32 <span id="L33495" class="LineNr">33495 </span> 0/imm32/no-x32 <span id="L33496" class="LineNr">33496 </span> 0x11/imm32/alloc-id:fake -<span id="L33497" class="LineNr">33497 </span> _Primitive-loop-if-addr<-named/imm32/next +<span id="L33497" class="LineNr">33497 </span> <a href='mu.subx.html#L33498'>_Primitive-loop-if-addr<-named</a>/imm32/next <span id="L33498" class="LineNr">33498 </span><span class="subxMinorFunction">_Primitive-loop-if-addr<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33499" class="LineNr">33499 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33500" class="LineNr">33500 </span> 0x11/imm32/alloc-id:fake -<span id="L33501" class="LineNr">33501 </span> _string-loop-if-addr</imm32/name +<span id="L33501" class="LineNr">33501 </span> <a href='mu.subx.html#L34204'>_string-loop-if-addr<</a>/imm32/name <span id="L33502" class="LineNr">33502 </span> 0x11/imm32/alloc-id:fake -<span id="L33503" class="LineNr">33503 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33503" class="LineNr">33503 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33504" class="LineNr">33504 </span> 0/imm32/no-outputs <span id="L33505" class="LineNr">33505 </span> 0/imm32/no-outputs <span id="L33506" class="LineNr">33506 </span> 0x11/imm32/alloc-id:fake -<span id="L33507" class="LineNr">33507 </span> _string_0f_82_jump_label/imm32/subx-name +<span id="L33507" class="LineNr">33507 </span> <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32/subx-name <span id="L33508" class="LineNr">33508 </span> 0/imm32/no-rm32 <span id="L33509" class="LineNr">33509 </span> 0/imm32/no-r32 <span id="L33510" class="LineNr">33510 </span> 0/imm32/no-imm32 @@ -31888,17 +31888,17 @@ if ('onhashchange' in window) { <span id="L33513" class="LineNr">33513 </span> 0/imm32/no-xm32 <span id="L33514" class="LineNr">33514 </span> 0/imm32/no-x32 <span id="L33515" class="LineNr">33515 </span> 0x11/imm32/alloc-id:fake -<span id="L33516" class="LineNr">33516 </span> _Primitive-loop-if-addr>=-named/imm32/next +<span id="L33516" class="LineNr">33516 </span> <a href='mu.subx.html#L33517'>_Primitive-loop-if-addr>=-named</a>/imm32/next <span id="L33517" class="LineNr">33517 </span><span class="subxMinorFunction">_Primitive-loop-if-addr>=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33518" class="LineNr">33518 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33519" class="LineNr">33519 </span> 0x11/imm32/alloc-id:fake -<span id="L33520" class="LineNr">33520 </span> _string-loop-if-addr>=/imm32/name +<span id="L33520" class="LineNr">33520 </span> <a href='mu.subx.html#L34219'>_string-loop-if-addr>=</a>/imm32/name <span id="L33521" class="LineNr">33521 </span> 0x11/imm32/alloc-id:fake -<span id="L33522" class="LineNr">33522 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33522" class="LineNr">33522 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33523" class="LineNr">33523 </span> 0/imm32/no-outputs <span id="L33524" class="LineNr">33524 </span> 0/imm32/no-outputs <span id="L33525" class="LineNr">33525 </span> 0x11/imm32/alloc-id:fake -<span id="L33526" class="LineNr">33526 </span> _string_0f_83_jump_label/imm32/subx-name +<span id="L33526" class="LineNr">33526 </span> <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32/subx-name <span id="L33527" class="LineNr">33527 </span> 0/imm32/no-rm32 <span id="L33528" class="LineNr">33528 </span> 0/imm32/no-r32 <span id="L33529" class="LineNr">33529 </span> 0/imm32/no-imm32 @@ -31907,17 +31907,17 @@ if ('onhashchange' in window) { <span id="L33532" class="LineNr">33532 </span> 0/imm32/no-xm32 <span id="L33533" class="LineNr">33533 </span> 0/imm32/no-x32 <span id="L33534" class="LineNr">33534 </span> 0x11/imm32/alloc-id:fake -<span id="L33535" class="LineNr">33535 </span> _Primitive-loop-if-=-named/imm32/next +<span id="L33535" class="LineNr">33535 </span> <a href='mu.subx.html#L33536'>_Primitive-loop-if-=-named</a>/imm32/next <span id="L33536" class="LineNr">33536 </span><span class="subxMinorFunction">_Primitive-loop-if-=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33537" class="LineNr">33537 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33538" class="LineNr">33538 </span> 0x11/imm32/alloc-id:fake -<span id="L33539" class="LineNr">33539 </span> _string-loop-if-=/imm32/name +<span id="L33539" class="LineNr">33539 </span> <a href='mu.subx.html#L34184'>_string-loop-if-=</a>/imm32/name <span id="L33540" class="LineNr">33540 </span> 0x11/imm32/alloc-id:fake -<span id="L33541" class="LineNr">33541 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33541" class="LineNr">33541 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33542" class="LineNr">33542 </span> 0/imm32/no-outputs <span id="L33543" class="LineNr">33543 </span> 0/imm32/no-outputs <span id="L33544" class="LineNr">33544 </span> 0x11/imm32/alloc-id:fake -<span id="L33545" class="LineNr">33545 </span> _string_0f_84_jump_label/imm32/subx-name +<span id="L33545" class="LineNr">33545 </span> <a href='mu.subx.html#L34461'>_string_0f_84_jump_label</a>/imm32/subx-name <span id="L33546" class="LineNr">33546 </span> 0/imm32/no-rm32 <span id="L33547" class="LineNr">33547 </span> 0/imm32/no-r32 <span id="L33548" class="LineNr">33548 </span> 0/imm32/no-imm32 @@ -31926,17 +31926,17 @@ if ('onhashchange' in window) { <span id="L33551" class="LineNr">33551 </span> 0/imm32/no-xm32 <span id="L33552" class="LineNr">33552 </span> 0/imm32/no-x32 <span id="L33553" class="LineNr">33553 </span> 0x11/imm32/alloc-id:fake -<span id="L33554" class="LineNr">33554 </span> _Primitive-loop-if-!=-named/imm32/next +<span id="L33554" class="LineNr">33554 </span> <a href='mu.subx.html#L33555'>_Primitive-loop-if-!=-named</a>/imm32/next <span id="L33555" class="LineNr">33555 </span><span class="subxMinorFunction">_Primitive-loop-if-!=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33556" class="LineNr">33556 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33557" class="LineNr">33557 </span> 0x11/imm32/alloc-id:fake -<span id="L33558" class="LineNr">33558 </span> _string-loop-if-!=/imm32/name +<span id="L33558" class="LineNr">33558 </span> <a href='mu.subx.html#L34199'>_string-loop-if-!=</a>/imm32/name <span id="L33559" class="LineNr">33559 </span> 0x11/imm32/alloc-id:fake -<span id="L33560" class="LineNr">33560 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33560" class="LineNr">33560 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33561" class="LineNr">33561 </span> 0/imm32/no-outputs <span id="L33562" class="LineNr">33562 </span> 0/imm32/no-outputs <span id="L33563" class="LineNr">33563 </span> 0x11/imm32/alloc-id:fake -<span id="L33564" class="LineNr">33564 </span> _string_0f_85_jump_label/imm32/subx-name +<span id="L33564" class="LineNr">33564 </span> <a href='mu.subx.html#L34476'>_string_0f_85_jump_label</a>/imm32/subx-name <span id="L33565" class="LineNr">33565 </span> 0/imm32/no-rm32 <span id="L33566" class="LineNr">33566 </span> 0/imm32/no-r32 <span id="L33567" class="LineNr">33567 </span> 0/imm32/no-imm32 @@ -31945,17 +31945,17 @@ if ('onhashchange' in window) { <span id="L33570" class="LineNr">33570 </span> 0/imm32/no-xm32 <span id="L33571" class="LineNr">33571 </span> 0/imm32/no-x32 <span id="L33572" class="LineNr">33572 </span> 0x11/imm32/alloc-id:fake -<span id="L33573" class="LineNr">33573 </span> _Primitive-loop-if-addr<=-named/imm32/next +<span id="L33573" class="LineNr">33573 </span> <a href='mu.subx.html#L33574'>_Primitive-loop-if-addr<=-named</a>/imm32/next <span id="L33574" class="LineNr">33574 </span><span class="subxMinorFunction">_Primitive-loop-if-addr<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33575" class="LineNr">33575 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33576" class="LineNr">33576 </span> 0x11/imm32/alloc-id:fake -<span id="L33577" class="LineNr">33577 </span> _string-loop-if-addr<=/imm32/name +<span id="L33577" class="LineNr">33577 </span> <a href='mu.subx.html#L34209'>_string-loop-if-addr<=</a>/imm32/name <span id="L33578" class="LineNr">33578 </span> 0x11/imm32/alloc-id:fake -<span id="L33579" class="LineNr">33579 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33579" class="LineNr">33579 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33580" class="LineNr">33580 </span> 0/imm32/no-outputs <span id="L33581" class="LineNr">33581 </span> 0/imm32/no-outputs <span id="L33582" class="LineNr">33582 </span> 0x11/imm32/alloc-id:fake -<span id="L33583" class="LineNr">33583 </span> _string_0f_86_jump_label/imm32/subx-name +<span id="L33583" class="LineNr">33583 </span> <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32/subx-name <span id="L33584" class="LineNr">33584 </span> 0/imm32/no-rm32 <span id="L33585" class="LineNr">33585 </span> 0/imm32/no-r32 <span id="L33586" class="LineNr">33586 </span> 0/imm32/no-imm32 @@ -31964,17 +31964,17 @@ if ('onhashchange' in window) { <span id="L33589" class="LineNr">33589 </span> 0/imm32/no-xm32 <span id="L33590" class="LineNr">33590 </span> 0/imm32/no-x32 <span id="L33591" class="LineNr">33591 </span> 0x11/imm32/alloc-id:fake -<span id="L33592" class="LineNr">33592 </span> _Primitive-loop-if-addr>-named/imm32/next +<span id="L33592" class="LineNr">33592 </span> <a href='mu.subx.html#L33593'>_Primitive-loop-if-addr>-named</a>/imm32/next <span id="L33593" class="LineNr">33593 </span><span class="subxMinorFunction">_Primitive-loop-if-addr>-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33594" class="LineNr">33594 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33595" class="LineNr">33595 </span> 0x11/imm32/alloc-id:fake -<span id="L33596" class="LineNr">33596 </span> _string-loop-if-addr>/imm32/name +<span id="L33596" class="LineNr">33596 </span> <a href='mu.subx.html#L34214'>_string-loop-if-addr></a>/imm32/name <span id="L33597" class="LineNr">33597 </span> 0x11/imm32/alloc-id:fake -<span id="L33598" class="LineNr">33598 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33598" class="LineNr">33598 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33599" class="LineNr">33599 </span> 0/imm32/no-outputs <span id="L33600" class="LineNr">33600 </span> 0/imm32/no-outputs <span id="L33601" class="LineNr">33601 </span> 0x11/imm32/alloc-id:fake -<span id="L33602" class="LineNr">33602 </span> _string_0f_87_jump_label/imm32/subx-name +<span id="L33602" class="LineNr">33602 </span> <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32/subx-name <span id="L33603" class="LineNr">33603 </span> 0/imm32/no-rm32 <span id="L33604" class="LineNr">33604 </span> 0/imm32/no-r32 <span id="L33605" class="LineNr">33605 </span> 0/imm32/no-imm32 @@ -31983,17 +31983,17 @@ if ('onhashchange' in window) { <span id="L33608" class="LineNr">33608 </span> 0/imm32/no-xm32 <span id="L33609" class="LineNr">33609 </span> 0/imm32/no-x32 <span id="L33610" class="LineNr">33610 </span> 0x11/imm32/alloc-id:fake -<span id="L33611" class="LineNr">33611 </span> _Primitive-loop-if-<-named/imm32/next +<span id="L33611" class="LineNr">33611 </span> <a href='mu.subx.html#L33612'>_Primitive-loop-if-<-named</a>/imm32/next <span id="L33612" class="LineNr">33612 </span><span class="subxMinorFunction">_Primitive-loop-if-<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33613" class="LineNr">33613 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33614" class="LineNr">33614 </span> 0x11/imm32/alloc-id:fake -<span id="L33615" class="LineNr">33615 </span> _string-loop-if-</imm32/name +<span id="L33615" class="LineNr">33615 </span> <a href='mu.subx.html#L34174'>_string-loop-if-<</a>/imm32/name <span id="L33616" class="LineNr">33616 </span> 0x11/imm32/alloc-id:fake -<span id="L33617" class="LineNr">33617 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33617" class="LineNr">33617 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33618" class="LineNr">33618 </span> 0/imm32/no-outputs <span id="L33619" class="LineNr">33619 </span> 0/imm32/no-outputs <span id="L33620" class="LineNr">33620 </span> 0x11/imm32/alloc-id:fake -<span id="L33621" class="LineNr">33621 </span> _string_0f_8c_jump_label/imm32/subx-name +<span id="L33621" class="LineNr">33621 </span> <a href='mu.subx.html#L34521'>_string_0f_8c_jump_label</a>/imm32/subx-name <span id="L33622" class="LineNr">33622 </span> 0/imm32/no-rm32 <span id="L33623" class="LineNr">33623 </span> 0/imm32/no-r32 <span id="L33624" class="LineNr">33624 </span> 0/imm32/no-imm32 @@ -32002,17 +32002,17 @@ if ('onhashchange' in window) { <span id="L33627" class="LineNr">33627 </span> 0/imm32/no-xm32 <span id="L33628" class="LineNr">33628 </span> 0/imm32/no-x32 <span id="L33629" class="LineNr">33629 </span> 0x11/imm32/alloc-id:fake -<span id="L33630" class="LineNr">33630 </span> _Primitive-loop-if->=-named/imm32/next +<span id="L33630" class="LineNr">33630 </span> <a href='mu.subx.html#L33631'>_Primitive-loop-if->=-named</a>/imm32/next <span id="L33631" class="LineNr">33631 </span><span class="subxMinorFunction">_Primitive-loop-if->=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33632" class="LineNr">33632 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33633" class="LineNr">33633 </span> 0x11/imm32/alloc-id:fake -<span id="L33634" class="LineNr">33634 </span> _string-loop-if->=/imm32/name +<span id="L33634" class="LineNr">33634 </span> <a href='mu.subx.html#L34194'>_string-loop-if->=</a>/imm32/name <span id="L33635" class="LineNr">33635 </span> 0x11/imm32/alloc-id:fake -<span id="L33636" class="LineNr">33636 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33636" class="LineNr">33636 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33637" class="LineNr">33637 </span> 0/imm32/no-outputs <span id="L33638" class="LineNr">33638 </span> 0/imm32/no-outputs <span id="L33639" class="LineNr">33639 </span> 0x11/imm32/alloc-id:fake -<span id="L33640" class="LineNr">33640 </span> _string_0f_8d_jump_label/imm32/subx-name +<span id="L33640" class="LineNr">33640 </span> <a href='mu.subx.html#L34536'>_string_0f_8d_jump_label</a>/imm32/subx-name <span id="L33641" class="LineNr">33641 </span> 0/imm32/no-rm32 <span id="L33642" class="LineNr">33642 </span> 0/imm32/no-r32 <span id="L33643" class="LineNr">33643 </span> 0/imm32/no-imm32 @@ -32021,17 +32021,17 @@ if ('onhashchange' in window) { <span id="L33646" class="LineNr">33646 </span> 0/imm32/no-xm32 <span id="L33647" class="LineNr">33647 </span> 0/imm32/no-x32 <span id="L33648" class="LineNr">33648 </span> 0x11/imm32/alloc-id:fake -<span id="L33649" class="LineNr">33649 </span> _Primitive-loop-if-<=-named/imm32/next +<span id="L33649" class="LineNr">33649 </span> <a href='mu.subx.html#L33650'>_Primitive-loop-if-<=-named</a>/imm32/next <span id="L33650" class="LineNr">33650 </span><span class="subxMinorFunction">_Primitive-loop-if-<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33651" class="LineNr">33651 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33652" class="LineNr">33652 </span> 0x11/imm32/alloc-id:fake -<span id="L33653" class="LineNr">33653 </span> _string-loop-if-<=/imm32/name +<span id="L33653" class="LineNr">33653 </span> <a href='mu.subx.html#L34179'>_string-loop-if-<=</a>/imm32/name <span id="L33654" class="LineNr">33654 </span> 0x11/imm32/alloc-id:fake -<span id="L33655" class="LineNr">33655 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33655" class="LineNr">33655 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33656" class="LineNr">33656 </span> 0/imm32/no-outputs <span id="L33657" class="LineNr">33657 </span> 0/imm32/no-outputs <span id="L33658" class="LineNr">33658 </span> 0x11/imm32/alloc-id:fake -<span id="L33659" class="LineNr">33659 </span> _string_0f_8e_jump_label/imm32/subx-name +<span id="L33659" class="LineNr">33659 </span> <a href='mu.subx.html#L34551'>_string_0f_8e_jump_label</a>/imm32/subx-name <span id="L33660" class="LineNr">33660 </span> 0/imm32/no-rm32 <span id="L33661" class="LineNr">33661 </span> 0/imm32/no-r32 <span id="L33662" class="LineNr">33662 </span> 0/imm32/no-imm32 @@ -32040,17 +32040,17 @@ if ('onhashchange' in window) { <span id="L33665" class="LineNr">33665 </span> 0/imm32/no-xm32 <span id="L33666" class="LineNr">33666 </span> 0/imm32/no-x32 <span id="L33667" class="LineNr">33667 </span> 0x11/imm32/alloc-id:fake -<span id="L33668" class="LineNr">33668 </span> _Primitive-loop-if->-named/imm32/next +<span id="L33668" class="LineNr">33668 </span> <a href='mu.subx.html#L33669'>_Primitive-loop-if->-named</a>/imm32/next <span id="L33669" class="LineNr">33669 </span><span class="subxMinorFunction">_Primitive-loop-if->-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33670" class="LineNr">33670 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33671" class="LineNr">33671 </span> 0x11/imm32/alloc-id:fake -<span id="L33672" class="LineNr">33672 </span> _string-loop-if->/imm32/name +<span id="L33672" class="LineNr">33672 </span> <a href='mu.subx.html#L34189'>_string-loop-if-></a>/imm32/name <span id="L33673" class="LineNr">33673 </span> 0x11/imm32/alloc-id:fake -<span id="L33674" class="LineNr">33674 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33674" class="LineNr">33674 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33675" class="LineNr">33675 </span> 0/imm32/no-outputs <span id="L33676" class="LineNr">33676 </span> 0/imm32/no-outputs <span id="L33677" class="LineNr">33677 </span> 0x11/imm32/alloc-id:fake -<span id="L33678" class="LineNr">33678 </span> _string_0f_8f_jump_label/imm32/subx-name +<span id="L33678" class="LineNr">33678 </span> <a href='mu.subx.html#L34566'>_string_0f_8f_jump_label</a>/imm32/subx-name <span id="L33679" class="LineNr">33679 </span> 0/imm32/no-rm32 <span id="L33680" class="LineNr">33680 </span> 0/imm32/no-r32 <span id="L33681" class="LineNr">33681 </span> 0/imm32/no-imm32 @@ -32059,17 +32059,17 @@ if ('onhashchange' in window) { <span id="L33684" class="LineNr">33684 </span> 0/imm32/no-xm32 <span id="L33685" class="LineNr">33685 </span> 0/imm32/no-x32 <span id="L33686" class="LineNr">33686 </span> 0x11/imm32/alloc-id:fake -<span id="L33687" class="LineNr">33687 </span> _Primitive-loop-named/imm32/next <span class="subxComment"># we probably don't need an unconditional break</span> +<span id="L33687" class="LineNr">33687 </span> <a href='mu.subx.html#L33688'>_Primitive-loop-named</a>/imm32/next <span class="subxComment"># we probably don't need an unconditional break</span> <span id="L33688" class="LineNr">33688 </span><span class="subxMinorFunction">_Primitive-loop-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33689" class="LineNr">33689 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33690" class="LineNr">33690 </span> 0x11/imm32/alloc-id:fake -<span id="L33691" class="LineNr">33691 </span> _string-loop/imm32/name +<span id="L33691" class="LineNr">33691 </span> <a href='mu.subx.html#L34169'>_string-loop</a>/imm32/name <span id="L33692" class="LineNr">33692 </span> 0x11/imm32/alloc-id:fake -<span id="L33693" class="LineNr">33693 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33693" class="LineNr">33693 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33694" class="LineNr">33694 </span> 0/imm32/no-outputs <span id="L33695" class="LineNr">33695 </span> 0/imm32/no-outputs <span id="L33696" class="LineNr">33696 </span> 0x11/imm32/alloc-id:fake -<span id="L33697" class="LineNr">33697 </span> _string_e9_jump_label/imm32/subx-name +<span id="L33697" class="LineNr">33697 </span> <a href='mu.subx.html#L34871'>_string_e9_jump_label</a>/imm32/subx-name <span id="L33698" class="LineNr">33698 </span> 0/imm32/no-rm32 <span id="L33699" class="LineNr">33699 </span> 0/imm32/no-r32 <span id="L33700" class="LineNr">33700 </span> 0/imm32/no-imm32 @@ -32078,18 +32078,18 @@ if ('onhashchange' in window) { <span id="L33703" class="LineNr">33703 </span> 0/imm32/no-xm32 <span id="L33704" class="LineNr">33704 </span> 0/imm32/no-x32 <span id="L33705" class="LineNr">33705 </span> 0x11/imm32/alloc-id:fake -<span id="L33706" class="LineNr">33706 </span> _Primitive-break-if-float</imm32/next +<span id="L33706" class="LineNr">33706 </span> <a href='mu.subx.html#L33708'>_Primitive-break-if-float<</a>/imm32/next <span id="L33707" class="LineNr">33707 </span><span class="subxH1Comment"># - branches based on floating-point comparisons</span> <span id="L33708" class="LineNr">33708 </span><span class="subxMinorFunction">_Primitive-break-if-float<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33709" class="LineNr">33709 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33710" class="LineNr">33710 </span> 0x11/imm32/alloc-id:fake -<span id="L33711" class="LineNr">33711 </span> _string-break-if-float</imm32/name +<span id="L33711" class="LineNr">33711 </span> <a href='mu.subx.html#L34094'>_string-break-if-float<</a>/imm32/name <span id="L33712" class="LineNr">33712 </span> 0/imm32/no-inouts <span id="L33713" class="LineNr">33713 </span> 0/imm32/no-inouts <span id="L33714" class="LineNr">33714 </span> 0/imm32/no-outputs <span id="L33715" class="LineNr">33715 </span> 0/imm32/no-outputs <span id="L33716" class="LineNr">33716 </span> 0x11/imm32/alloc-id:fake -<span id="L33717" class="LineNr">33717 </span> _string_0f_82_jump_break/imm32/subx-name +<span id="L33717" class="LineNr">33717 </span> <a href='mu.subx.html#L34436'>_string_0f_82_jump_break</a>/imm32/subx-name <span id="L33718" class="LineNr">33718 </span> 0/imm32/no-rm32 <span id="L33719" class="LineNr">33719 </span> 0/imm32/no-r32 <span id="L33720" class="LineNr">33720 </span> 0/imm32/no-imm32 @@ -32098,17 +32098,17 @@ if ('onhashchange' in window) { <span id="L33723" class="LineNr">33723 </span> 0/imm32/no-xm32 <span id="L33724" class="LineNr">33724 </span> 0/imm32/no-x32 <span id="L33725" class="LineNr">33725 </span> 0x11/imm32/alloc-id:fake -<span id="L33726" class="LineNr">33726 </span> _Primitive-break-if-float>=/imm32/next +<span id="L33726" class="LineNr">33726 </span> <a href='mu.subx.html#L33727'>_Primitive-break-if-float>=</a>/imm32/next <span id="L33727" class="LineNr">33727 </span><span class="subxMinorFunction">_Primitive-break-if-float>=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33728" class="LineNr">33728 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33729" class="LineNr">33729 </span> 0x11/imm32/alloc-id:fake -<span id="L33730" class="LineNr">33730 </span> _string-break-if-float>=/imm32/name +<span id="L33730" class="LineNr">33730 </span> <a href='mu.subx.html#L34109'>_string-break-if-float>=</a>/imm32/name <span id="L33731" class="LineNr">33731 </span> 0/imm32/no-inouts <span id="L33732" class="LineNr">33732 </span> 0/imm32/no-inouts <span id="L33733" class="LineNr">33733 </span> 0/imm32/no-outputs <span id="L33734" class="LineNr">33734 </span> 0/imm32/no-outputs <span id="L33735" class="LineNr">33735 </span> 0x11/imm32/alloc-id:fake -<span id="L33736" class="LineNr">33736 </span> _string_0f_83_jump_break/imm32/subx-name +<span id="L33736" class="LineNr">33736 </span> <a href='mu.subx.html#L34451'>_string_0f_83_jump_break</a>/imm32/subx-name <span id="L33737" class="LineNr">33737 </span> 0/imm32/no-rm32 <span id="L33738" class="LineNr">33738 </span> 0/imm32/no-r32 <span id="L33739" class="LineNr">33739 </span> 0/imm32/no-imm32 @@ -32117,17 +32117,17 @@ if ('onhashchange' in window) { <span id="L33742" class="LineNr">33742 </span> 0/imm32/no-xm32 <span id="L33743" class="LineNr">33743 </span> 0/imm32/no-x32 <span id="L33744" class="LineNr">33744 </span> 0x11/imm32/alloc-id:fake -<span id="L33745" class="LineNr">33745 </span> _Primitive-break-if-float<=/imm32/next +<span id="L33745" class="LineNr">33745 </span> <a href='mu.subx.html#L33746'>_Primitive-break-if-float<=</a>/imm32/next <span id="L33746" class="LineNr">33746 </span><span class="subxMinorFunction">_Primitive-break-if-float<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33747" class="LineNr">33747 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33748" class="LineNr">33748 </span> 0x11/imm32/alloc-id:fake -<span id="L33749" class="LineNr">33749 </span> _string-break-if-float<=/imm32/name +<span id="L33749" class="LineNr">33749 </span> <a href='mu.subx.html#L34099'>_string-break-if-float<=</a>/imm32/name <span id="L33750" class="LineNr">33750 </span> 0/imm32/no-inouts <span id="L33751" class="LineNr">33751 </span> 0/imm32/no-inouts <span id="L33752" class="LineNr">33752 </span> 0/imm32/no-outputs <span id="L33753" class="LineNr">33753 </span> 0/imm32/no-outputs <span id="L33754" class="LineNr">33754 </span> 0x11/imm32/alloc-id:fake -<span id="L33755" class="LineNr">33755 </span> _string_0f_86_jump_break/imm32/subx-name +<span id="L33755" class="LineNr">33755 </span> <a href='mu.subx.html#L34496'>_string_0f_86_jump_break</a>/imm32/subx-name <span id="L33756" class="LineNr">33756 </span> 0/imm32/no-rm32 <span id="L33757" class="LineNr">33757 </span> 0/imm32/no-r32 <span id="L33758" class="LineNr">33758 </span> 0/imm32/no-imm32 @@ -32136,17 +32136,17 @@ if ('onhashchange' in window) { <span id="L33761" class="LineNr">33761 </span> 0/imm32/no-xm32 <span id="L33762" class="LineNr">33762 </span> 0/imm32/no-x32 <span id="L33763" class="LineNr">33763 </span> 0x11/imm32/alloc-id:fake -<span id="L33764" class="LineNr">33764 </span> _Primitive-break-if-float>/imm32/next +<span id="L33764" class="LineNr">33764 </span> <a href='mu.subx.html#L33765'>_Primitive-break-if-float></a>/imm32/next <span id="L33765" class="LineNr">33765 </span><span class="subxMinorFunction">_Primitive-break-if-float></span>: <span class="subxComment"># (payload primitive)</span> <span id="L33766" class="LineNr">33766 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33767" class="LineNr">33767 </span> 0x11/imm32/alloc-id:fake -<span id="L33768" class="LineNr">33768 </span> _string-break-if-float>/imm32/name +<span id="L33768" class="LineNr">33768 </span> <a href='mu.subx.html#L34104'>_string-break-if-float></a>/imm32/name <span id="L33769" class="LineNr">33769 </span> 0/imm32/no-inouts <span id="L33770" class="LineNr">33770 </span> 0/imm32/no-inouts <span id="L33771" class="LineNr">33771 </span> 0/imm32/no-outputs <span id="L33772" class="LineNr">33772 </span> 0/imm32/no-outputs <span id="L33773" class="LineNr">33773 </span> 0x11/imm32/alloc-id:fake -<span id="L33774" class="LineNr">33774 </span> _string_0f_87_jump_break/imm32/subx-name +<span id="L33774" class="LineNr">33774 </span> <a href='mu.subx.html#L34511'>_string_0f_87_jump_break</a>/imm32/subx-name <span id="L33775" class="LineNr">33775 </span> 0/imm32/no-rm32 <span id="L33776" class="LineNr">33776 </span> 0/imm32/no-r32 <span id="L33777" class="LineNr">33777 </span> 0/imm32/no-imm32 @@ -32155,17 +32155,17 @@ if ('onhashchange' in window) { <span id="L33780" class="LineNr">33780 </span> 0/imm32/no-xm32 <span id="L33781" class="LineNr">33781 </span> 0/imm32/no-x32 <span id="L33782" class="LineNr">33782 </span> 0x11/imm32/alloc-id:fake -<span id="L33783" class="LineNr">33783 </span> _Primitive-loop-if-float</imm32/next +<span id="L33783" class="LineNr">33783 </span> <a href='mu.subx.html#L33784'>_Primitive-loop-if-float<</a>/imm32/next <span id="L33784" class="LineNr">33784 </span><span class="subxMinorFunction">_Primitive-loop-if-float<</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33785" class="LineNr">33785 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33786" class="LineNr">33786 </span> 0x11/imm32/alloc-id:fake -<span id="L33787" class="LineNr">33787 </span> _string-loop-if-float</imm32/name +<span id="L33787" class="LineNr">33787 </span> <a href='mu.subx.html#L34224'>_string-loop-if-float<</a>/imm32/name <span id="L33788" class="LineNr">33788 </span> 0/imm32/no-inouts <span id="L33789" class="LineNr">33789 </span> 0/imm32/no-inouts <span id="L33790" class="LineNr">33790 </span> 0/imm32/no-outputs <span id="L33791" class="LineNr">33791 </span> 0/imm32/no-outputs <span id="L33792" class="LineNr">33792 </span> 0x11/imm32/alloc-id:fake -<span id="L33793" class="LineNr">33793 </span> _string_0f_82_jump_loop/imm32/subx-name +<span id="L33793" class="LineNr">33793 </span> <a href='mu.subx.html#L34441'>_string_0f_82_jump_loop</a>/imm32/subx-name <span id="L33794" class="LineNr">33794 </span> 0/imm32/no-rm32 <span id="L33795" class="LineNr">33795 </span> 0/imm32/no-r32 <span id="L33796" class="LineNr">33796 </span> 0/imm32/no-imm32 @@ -32174,17 +32174,17 @@ if ('onhashchange' in window) { <span id="L33799" class="LineNr">33799 </span> 0/imm32/no-xm32 <span id="L33800" class="LineNr">33800 </span> 0/imm32/no-x32 <span id="L33801" class="LineNr">33801 </span> 0x11/imm32/alloc-id:fake -<span id="L33802" class="LineNr">33802 </span> _Primitive-loop-if-float>=/imm32/next +<span id="L33802" class="LineNr">33802 </span> <a href='mu.subx.html#L33803'>_Primitive-loop-if-float>=</a>/imm32/next <span id="L33803" class="LineNr">33803 </span><span class="subxMinorFunction">_Primitive-loop-if-float>=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33804" class="LineNr">33804 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33805" class="LineNr">33805 </span> 0x11/imm32/alloc-id:fake -<span id="L33806" class="LineNr">33806 </span> _string-loop-if-float>=/imm32/name +<span id="L33806" class="LineNr">33806 </span> <a href='mu.subx.html#L34239'>_string-loop-if-float>=</a>/imm32/name <span id="L33807" class="LineNr">33807 </span> 0/imm32/no-inouts <span id="L33808" class="LineNr">33808 </span> 0/imm32/no-inouts <span id="L33809" class="LineNr">33809 </span> 0/imm32/no-outputs <span id="L33810" class="LineNr">33810 </span> 0/imm32/no-outputs <span id="L33811" class="LineNr">33811 </span> 0x11/imm32/alloc-id:fake -<span id="L33812" class="LineNr">33812 </span> _string_0f_83_jump_loop/imm32/subx-name +<span id="L33812" class="LineNr">33812 </span> <a href='mu.subx.html#L34456'>_string_0f_83_jump_loop</a>/imm32/subx-name <span id="L33813" class="LineNr">33813 </span> 0/imm32/no-rm32 <span id="L33814" class="LineNr">33814 </span> 0/imm32/no-r32 <span id="L33815" class="LineNr">33815 </span> 0/imm32/no-imm32 @@ -32193,17 +32193,17 @@ if ('onhashchange' in window) { <span id="L33818" class="LineNr">33818 </span> 0/imm32/no-xm32 <span id="L33819" class="LineNr">33819 </span> 0/imm32/no-x32 <span id="L33820" class="LineNr">33820 </span> 0x11/imm32/alloc-id:fake -<span id="L33821" class="LineNr">33821 </span> _Primitive-loop-if-float<=/imm32/next +<span id="L33821" class="LineNr">33821 </span> <a href='mu.subx.html#L33822'>_Primitive-loop-if-float<=</a>/imm32/next <span id="L33822" class="LineNr">33822 </span><span class="subxMinorFunction">_Primitive-loop-if-float<=</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33823" class="LineNr">33823 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33824" class="LineNr">33824 </span> 0x11/imm32/alloc-id:fake -<span id="L33825" class="LineNr">33825 </span> _string-loop-if-float<=/imm32/name +<span id="L33825" class="LineNr">33825 </span> <a href='mu.subx.html#L34229'>_string-loop-if-float<=</a>/imm32/name <span id="L33826" class="LineNr">33826 </span> 0/imm32/no-inouts <span id="L33827" class="LineNr">33827 </span> 0/imm32/no-inouts <span id="L33828" class="LineNr">33828 </span> 0/imm32/no-outputs <span id="L33829" class="LineNr">33829 </span> 0/imm32/no-outputs <span id="L33830" class="LineNr">33830 </span> 0x11/imm32/alloc-id:fake -<span id="L33831" class="LineNr">33831 </span> _string_0f_86_jump_loop/imm32/subx-name +<span id="L33831" class="LineNr">33831 </span> <a href='mu.subx.html#L34501'>_string_0f_86_jump_loop</a>/imm32/subx-name <span id="L33832" class="LineNr">33832 </span> 0/imm32/no-rm32 <span id="L33833" class="LineNr">33833 </span> 0/imm32/no-r32 <span id="L33834" class="LineNr">33834 </span> 0/imm32/no-imm32 @@ -32212,17 +32212,17 @@ if ('onhashchange' in window) { <span id="L33837" class="LineNr">33837 </span> 0/imm32/no-xm32 <span id="L33838" class="LineNr">33838 </span> 0/imm32/no-x32 <span id="L33839" class="LineNr">33839 </span> 0x11/imm32/alloc-id:fake -<span id="L33840" class="LineNr">33840 </span> _Primitive-loop-if-float>/imm32/next +<span id="L33840" class="LineNr">33840 </span> <a href='mu.subx.html#L33841'>_Primitive-loop-if-float></a>/imm32/next <span id="L33841" class="LineNr">33841 </span><span class="subxMinorFunction">_Primitive-loop-if-float></span>: <span class="subxComment"># (payload primitive)</span> <span id="L33842" class="LineNr">33842 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33843" class="LineNr">33843 </span> 0x11/imm32/alloc-id:fake -<span id="L33844" class="LineNr">33844 </span> _string-loop-if-float>/imm32/name +<span id="L33844" class="LineNr">33844 </span> <a href='mu.subx.html#L34234'>_string-loop-if-float></a>/imm32/name <span id="L33845" class="LineNr">33845 </span> 0/imm32/no-inouts <span id="L33846" class="LineNr">33846 </span> 0/imm32/no-inouts <span id="L33847" class="LineNr">33847 </span> 0/imm32/no-outputs <span id="L33848" class="LineNr">33848 </span> 0/imm32/no-outputs <span id="L33849" class="LineNr">33849 </span> 0x11/imm32/alloc-id:fake -<span id="L33850" class="LineNr">33850 </span> _string_0f_87_jump_loop/imm32/subx-name +<span id="L33850" class="LineNr">33850 </span> <a href='mu.subx.html#L34516'>_string_0f_87_jump_loop</a>/imm32/subx-name <span id="L33851" class="LineNr">33851 </span> 0/imm32/no-rm32 <span id="L33852" class="LineNr">33852 </span> 0/imm32/no-r32 <span id="L33853" class="LineNr">33853 </span> 0/imm32/no-imm32 @@ -32231,17 +32231,17 @@ if ('onhashchange' in window) { <span id="L33856" class="LineNr">33856 </span> 0/imm32/no-xm32 <span id="L33857" class="LineNr">33857 </span> 0/imm32/no-x32 <span id="L33858" class="LineNr">33858 </span> 0x11/imm32/alloc-id:fake -<span id="L33859" class="LineNr">33859 </span> _Primitive-break-if-float<-named/imm32/next +<span id="L33859" class="LineNr">33859 </span> <a href='mu.subx.html#L33860'>_Primitive-break-if-float<-named</a>/imm32/next <span id="L33860" class="LineNr">33860 </span><span class="subxMinorFunction">_Primitive-break-if-float<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33861" class="LineNr">33861 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33862" class="LineNr">33862 </span> 0x11/imm32/alloc-id:fake -<span id="L33863" class="LineNr">33863 </span> _string-break-if-float</imm32/name +<span id="L33863" class="LineNr">33863 </span> <a href='mu.subx.html#L34094'>_string-break-if-float<</a>/imm32/name <span id="L33864" class="LineNr">33864 </span> 0x11/imm32/alloc-id:fake -<span id="L33865" class="LineNr">33865 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33865" class="LineNr">33865 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33866" class="LineNr">33866 </span> 0/imm32/no-outputs <span id="L33867" class="LineNr">33867 </span> 0/imm32/no-outputs <span id="L33868" class="LineNr">33868 </span> 0x11/imm32/alloc-id:fake -<span id="L33869" class="LineNr">33869 </span> _string_0f_82_jump_label/imm32/subx-name +<span id="L33869" class="LineNr">33869 </span> <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32/subx-name <span id="L33870" class="LineNr">33870 </span> 0/imm32/no-rm32 <span id="L33871" class="LineNr">33871 </span> 0/imm32/no-r32 <span id="L33872" class="LineNr">33872 </span> 0/imm32/no-imm32 @@ -32250,17 +32250,17 @@ if ('onhashchange' in window) { <span id="L33875" class="LineNr">33875 </span> 0/imm32/no-xm32 <span id="L33876" class="LineNr">33876 </span> 0/imm32/no-x32 <span id="L33877" class="LineNr">33877 </span> 0x11/imm32/alloc-id:fake -<span id="L33878" class="LineNr">33878 </span> _Primitive-break-if-float>=-named/imm32/next +<span id="L33878" class="LineNr">33878 </span> <a href='mu.subx.html#L33879'>_Primitive-break-if-float>=-named</a>/imm32/next <span id="L33879" class="LineNr">33879 </span><span class="subxMinorFunction">_Primitive-break-if-float>=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33880" class="LineNr">33880 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33881" class="LineNr">33881 </span> 0x11/imm32/alloc-id:fake -<span id="L33882" class="LineNr">33882 </span> _string-break-if-float>=/imm32/name +<span id="L33882" class="LineNr">33882 </span> <a href='mu.subx.html#L34109'>_string-break-if-float>=</a>/imm32/name <span id="L33883" class="LineNr">33883 </span> 0x11/imm32/alloc-id:fake -<span id="L33884" class="LineNr">33884 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33884" class="LineNr">33884 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33885" class="LineNr">33885 </span> 0/imm32/no-outputs <span id="L33886" class="LineNr">33886 </span> 0/imm32/no-outputs <span id="L33887" class="LineNr">33887 </span> 0x11/imm32/alloc-id:fake -<span id="L33888" class="LineNr">33888 </span> _string_0f_83_jump_label/imm32/subx-name +<span id="L33888" class="LineNr">33888 </span> <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32/subx-name <span id="L33889" class="LineNr">33889 </span> 0/imm32/no-rm32 <span id="L33890" class="LineNr">33890 </span> 0/imm32/no-r32 <span id="L33891" class="LineNr">33891 </span> 0/imm32/no-imm32 @@ -32269,17 +32269,17 @@ if ('onhashchange' in window) { <span id="L33894" class="LineNr">33894 </span> 0/imm32/no-xm32 <span id="L33895" class="LineNr">33895 </span> 0/imm32/no-x32 <span id="L33896" class="LineNr">33896 </span> 0x11/imm32/alloc-id:fake -<span id="L33897" class="LineNr">33897 </span> _Primitive-break-if-float<=-named/imm32/next +<span id="L33897" class="LineNr">33897 </span> <a href='mu.subx.html#L33898'>_Primitive-break-if-float<=-named</a>/imm32/next <span id="L33898" class="LineNr">33898 </span><span class="subxMinorFunction">_Primitive-break-if-float<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33899" class="LineNr">33899 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33900" class="LineNr">33900 </span> 0x11/imm32/alloc-id:fake -<span id="L33901" class="LineNr">33901 </span> _string-break-if-float<=/imm32/name +<span id="L33901" class="LineNr">33901 </span> <a href='mu.subx.html#L34099'>_string-break-if-float<=</a>/imm32/name <span id="L33902" class="LineNr">33902 </span> 0x11/imm32/alloc-id:fake -<span id="L33903" class="LineNr">33903 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33903" class="LineNr">33903 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33904" class="LineNr">33904 </span> 0/imm32/no-outputs <span id="L33905" class="LineNr">33905 </span> 0/imm32/no-outputs <span id="L33906" class="LineNr">33906 </span> 0x11/imm32/alloc-id:fake -<span id="L33907" class="LineNr">33907 </span> _string_0f_86_jump_label/imm32/subx-name +<span id="L33907" class="LineNr">33907 </span> <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32/subx-name <span id="L33908" class="LineNr">33908 </span> 0/imm32/no-rm32 <span id="L33909" class="LineNr">33909 </span> 0/imm32/no-r32 <span id="L33910" class="LineNr">33910 </span> 0/imm32/no-imm32 @@ -32288,17 +32288,17 @@ if ('onhashchange' in window) { <span id="L33913" class="LineNr">33913 </span> 0/imm32/no-xm32 <span id="L33914" class="LineNr">33914 </span> 0/imm32/no-x32 <span id="L33915" class="LineNr">33915 </span> 0x11/imm32/alloc-id:fake -<span id="L33916" class="LineNr">33916 </span> _Primitive-break-if-float>-named/imm32/next +<span id="L33916" class="LineNr">33916 </span> <a href='mu.subx.html#L33917'>_Primitive-break-if-float>-named</a>/imm32/next <span id="L33917" class="LineNr">33917 </span><span class="subxMinorFunction">_Primitive-break-if-float>-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33918" class="LineNr">33918 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33919" class="LineNr">33919 </span> 0x11/imm32/alloc-id:fake -<span id="L33920" class="LineNr">33920 </span> _string-break-if-float>/imm32/name +<span id="L33920" class="LineNr">33920 </span> <a href='mu.subx.html#L34104'>_string-break-if-float></a>/imm32/name <span id="L33921" class="LineNr">33921 </span> 0x11/imm32/alloc-id:fake -<span id="L33922" class="LineNr">33922 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33922" class="LineNr">33922 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33923" class="LineNr">33923 </span> 0/imm32/no-outputs <span id="L33924" class="LineNr">33924 </span> 0/imm32/no-outputs <span id="L33925" class="LineNr">33925 </span> 0x11/imm32/alloc-id:fake -<span id="L33926" class="LineNr">33926 </span> _string_0f_87_jump_label/imm32/subx-name +<span id="L33926" class="LineNr">33926 </span> <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32/subx-name <span id="L33927" class="LineNr">33927 </span> 0/imm32/no-rm32 <span id="L33928" class="LineNr">33928 </span> 0/imm32/no-r32 <span id="L33929" class="LineNr">33929 </span> 0/imm32/no-imm32 @@ -32307,17 +32307,17 @@ if ('onhashchange' in window) { <span id="L33932" class="LineNr">33932 </span> 0/imm32/no-xm32 <span id="L33933" class="LineNr">33933 </span> 0/imm32/no-x32 <span id="L33934" class="LineNr">33934 </span> 0x11/imm32/alloc-id:fake -<span id="L33935" class="LineNr">33935 </span> _Primitive-loop-if-float<-named/imm32/next +<span id="L33935" class="LineNr">33935 </span> <a href='mu.subx.html#L33936'>_Primitive-loop-if-float<-named</a>/imm32/next <span id="L33936" class="LineNr">33936 </span><span class="subxMinorFunction">_Primitive-loop-if-float<-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33937" class="LineNr">33937 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33938" class="LineNr">33938 </span> 0x11/imm32/alloc-id:fake -<span id="L33939" class="LineNr">33939 </span> _string-loop-if-float</imm32/name +<span id="L33939" class="LineNr">33939 </span> <a href='mu.subx.html#L34224'>_string-loop-if-float<</a>/imm32/name <span id="L33940" class="LineNr">33940 </span> 0x11/imm32/alloc-id:fake -<span id="L33941" class="LineNr">33941 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33941" class="LineNr">33941 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33942" class="LineNr">33942 </span> 0/imm32/no-outputs <span id="L33943" class="LineNr">33943 </span> 0/imm32/no-outputs <span id="L33944" class="LineNr">33944 </span> 0x11/imm32/alloc-id:fake -<span id="L33945" class="LineNr">33945 </span> _string_0f_82_jump_label/imm32/subx-name +<span id="L33945" class="LineNr">33945 </span> <a href='mu.subx.html#L34431'>_string_0f_82_jump_label</a>/imm32/subx-name <span id="L33946" class="LineNr">33946 </span> 0/imm32/no-rm32 <span id="L33947" class="LineNr">33947 </span> 0/imm32/no-r32 <span id="L33948" class="LineNr">33948 </span> 0/imm32/no-imm32 @@ -32326,17 +32326,17 @@ if ('onhashchange' in window) { <span id="L33951" class="LineNr">33951 </span> 0/imm32/no-xm32 <span id="L33952" class="LineNr">33952 </span> 0/imm32/no-x32 <span id="L33953" class="LineNr">33953 </span> 0x11/imm32/alloc-id:fake -<span id="L33954" class="LineNr">33954 </span> _Primitive-loop-if-float>=-named/imm32/next +<span id="L33954" class="LineNr">33954 </span> <a href='mu.subx.html#L33955'>_Primitive-loop-if-float>=-named</a>/imm32/next <span id="L33955" class="LineNr">33955 </span><span class="subxMinorFunction">_Primitive-loop-if-float>=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33956" class="LineNr">33956 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33957" class="LineNr">33957 </span> 0x11/imm32/alloc-id:fake -<span id="L33958" class="LineNr">33958 </span> _string-loop-if-float>=/imm32/name +<span id="L33958" class="LineNr">33958 </span> <a href='mu.subx.html#L34239'>_string-loop-if-float>=</a>/imm32/name <span id="L33959" class="LineNr">33959 </span> 0x11/imm32/alloc-id:fake -<span id="L33960" class="LineNr">33960 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33960" class="LineNr">33960 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33961" class="LineNr">33961 </span> 0/imm32/no-outputs <span id="L33962" class="LineNr">33962 </span> 0/imm32/no-outputs <span id="L33963" class="LineNr">33963 </span> 0x11/imm32/alloc-id:fake -<span id="L33964" class="LineNr">33964 </span> _string_0f_83_jump_label/imm32/subx-name +<span id="L33964" class="LineNr">33964 </span> <a href='mu.subx.html#L34446'>_string_0f_83_jump_label</a>/imm32/subx-name <span id="L33965" class="LineNr">33965 </span> 0/imm32/no-rm32 <span id="L33966" class="LineNr">33966 </span> 0/imm32/no-r32 <span id="L33967" class="LineNr">33967 </span> 0/imm32/no-imm32 @@ -32345,17 +32345,17 @@ if ('onhashchange' in window) { <span id="L33970" class="LineNr">33970 </span> 0/imm32/no-xm32 <span id="L33971" class="LineNr">33971 </span> 0/imm32/no-x32 <span id="L33972" class="LineNr">33972 </span> 0x11/imm32/alloc-id:fake -<span id="L33973" class="LineNr">33973 </span> _Primitive-loop-if-float<=-named/imm32/next +<span id="L33973" class="LineNr">33973 </span> <a href='mu.subx.html#L33974'>_Primitive-loop-if-float<=-named</a>/imm32/next <span id="L33974" class="LineNr">33974 </span><span class="subxMinorFunction">_Primitive-loop-if-float<=-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33975" class="LineNr">33975 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33976" class="LineNr">33976 </span> 0x11/imm32/alloc-id:fake -<span id="L33977" class="LineNr">33977 </span> _string-loop-if-float<=/imm32/name +<span id="L33977" class="LineNr">33977 </span> <a href='mu.subx.html#L34229'>_string-loop-if-float<=</a>/imm32/name <span id="L33978" class="LineNr">33978 </span> 0x11/imm32/alloc-id:fake -<span id="L33979" class="LineNr">33979 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33979" class="LineNr">33979 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33980" class="LineNr">33980 </span> 0/imm32/no-outputs <span id="L33981" class="LineNr">33981 </span> 0/imm32/no-outputs <span id="L33982" class="LineNr">33982 </span> 0x11/imm32/alloc-id:fake -<span id="L33983" class="LineNr">33983 </span> _string_0f_86_jump_label/imm32/subx-name +<span id="L33983" class="LineNr">33983 </span> <a href='mu.subx.html#L34491'>_string_0f_86_jump_label</a>/imm32/subx-name <span id="L33984" class="LineNr">33984 </span> 0/imm32/no-rm32 <span id="L33985" class="LineNr">33985 </span> 0/imm32/no-r32 <span id="L33986" class="LineNr">33986 </span> 0/imm32/no-imm32 @@ -32364,17 +32364,17 @@ if ('onhashchange' in window) { <span id="L33989" class="LineNr">33989 </span> 0/imm32/no-xm32 <span id="L33990" class="LineNr">33990 </span> 0/imm32/no-x32 <span id="L33991" class="LineNr">33991 </span> 0x11/imm32/alloc-id:fake -<span id="L33992" class="LineNr">33992 </span> _Primitive-loop-if-float>-named/imm32/next +<span id="L33992" class="LineNr">33992 </span> <a href='mu.subx.html#L33993'>_Primitive-loop-if-float>-named</a>/imm32/next <span id="L33993" class="LineNr">33993 </span><span class="subxMinorFunction">_Primitive-loop-if-float>-named</span>: <span class="subxComment"># (payload primitive)</span> <span id="L33994" class="LineNr">33994 </span> 0x11/imm32/alloc-id:fake:payload <span id="L33995" class="LineNr">33995 </span> 0x11/imm32/alloc-id:fake -<span id="L33996" class="LineNr">33996 </span> _string-loop-if-float>/imm32/name +<span id="L33996" class="LineNr">33996 </span> <a href='mu.subx.html#L34234'>_string-loop-if-float></a>/imm32/name <span id="L33997" class="LineNr">33997 </span> 0x11/imm32/alloc-id:fake -<span id="L33998" class="LineNr">33998 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/inouts +<span id="L33998" class="LineNr">33998 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/inouts <span id="L33999" class="LineNr">33999 </span> 0/imm32/no-outputs <span id="L34000" class="LineNr">34000 </span> 0/imm32/no-outputs <span id="L34001" class="LineNr">34001 </span> 0x11/imm32/alloc-id:fake -<span id="L34002" class="LineNr">34002 </span> _string_0f_87_jump_label/imm32/subx-name +<span id="L34002" class="LineNr">34002 </span> <a href='mu.subx.html#L34506'>_string_0f_87_jump_label</a>/imm32/subx-name <span id="L34003" class="LineNr">34003 </span> 0/imm32/no-rm32 <span id="L34004" class="LineNr">34004 </span> 0/imm32/no-r32 <span id="L34005" class="LineNr">34005 </span> 0/imm32/no-imm32 @@ -33297,7 +33297,7 @@ if ('onhashchange' in window) { <span id="L34922" class="LineNr">34922 </span><span class="SpecialChar">Single-int-var-in-mem</span>: <span class="subxComment"># (payload list var)</span> <span id="L34923" class="LineNr">34923 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34924" class="LineNr">34924 </span> 0x11/imm32/alloc-id:fake -<span id="L34925" class="LineNr">34925 </span> <span class="SpecialChar">Int-var-in-mem</span>/imm32 +<span id="L34925" class="LineNr">34925 </span> <span class="SpecialChar"><a href='mu.subx.html#L34929'>Int-var-in-mem</a></span>/imm32 <span id="L34926" class="LineNr">34926 </span> 0/imm32/next <span id="L34927" class="LineNr">34927 </span> 0/imm32/next <span id="L34928" class="LineNr">34928 </span> @@ -33306,7 +33306,7 @@ if ('onhashchange' in window) { <span id="L34931" class="LineNr">34931 </span> 0/imm32/name <span id="L34932" class="LineNr">34932 </span> 0/imm32/name <span id="L34933" class="LineNr">34933 </span> 0x11/imm32/alloc-id:fake -<span id="L34934" class="LineNr">34934 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L34934" class="LineNr">34934 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L34935" class="LineNr">34935 </span> 1/imm32/some-block-depth <span id="L34936" class="LineNr">34936 </span> 1/imm32/some-stack-offset <span id="L34937" class="LineNr">34937 </span> 0/imm32/no-register @@ -33316,7 +33316,7 @@ if ('onhashchange' in window) { <span id="L34941" class="LineNr">34941 </span><span class="SpecialChar">Single-byte-var-in-mem</span>: <span class="subxComment"># (payload list var)</span> <span id="L34942" class="LineNr">34942 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34943" class="LineNr">34943 </span> 0x11/imm32/alloc-id:fake -<span id="L34944" class="LineNr">34944 </span> <span class="SpecialChar">Byte-var-in-mem</span>/imm32 +<span id="L34944" class="LineNr">34944 </span> <span class="SpecialChar"><a href='mu.subx.html#L34949'>Byte-var-in-mem</a></span>/imm32 <span id="L34945" class="LineNr">34945 </span> 0/imm32/next <span id="L34946" class="LineNr">34946 </span> 0/imm32/next <span id="L34947" class="LineNr">34947 </span> @@ -33326,7 +33326,7 @@ if ('onhashchange' in window) { <span id="L34951" class="LineNr">34951 </span> 0/imm32/name <span id="L34952" class="LineNr">34952 </span> 0/imm32/name <span id="L34953" class="LineNr">34953 </span> 0x11/imm32/alloc-id:fake -<span id="L34954" class="LineNr">34954 </span> <span class="SpecialChar">Type-byte</span>/imm32 +<span id="L34954" class="LineNr">34954 </span> <span class="SpecialChar"><a href='mu.subx.html#L35285'>Type-byte</a></span>/imm32 <span id="L34955" class="LineNr">34955 </span> 1/imm32/some-block-depth <span id="L34956" class="LineNr">34956 </span> 1/imm32/some-stack-offset <span id="L34957" class="LineNr">34957 </span> 0/imm32/no-register @@ -33335,92 +33335,92 @@ if ('onhashchange' in window) { <span id="L34960" class="LineNr">34960 </span><span class="SpecialChar">Two-args-int-stack-int-reg</span>: <span class="subxComment"># (payload list var)</span> <span id="L34961" class="LineNr">34961 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34962" class="LineNr">34962 </span> 0x11/imm32/alloc-id:fake -<span id="L34963" class="LineNr">34963 </span> <span class="SpecialChar">Int-var-in-mem</span>/imm32 +<span id="L34963" class="LineNr">34963 </span> <span class="SpecialChar"><a href='mu.subx.html#L34929'>Int-var-in-mem</a></span>/imm32 <span id="L34964" class="LineNr">34964 </span> 0x11/imm32/alloc-id:fake -<span id="L34965" class="LineNr">34965 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/next +<span id="L34965" class="LineNr">34965 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/next <span id="L34966" class="LineNr">34966 </span> <span id="L34967" class="LineNr">34967 </span><span class="SpecialChar">Two-int-args-in-regs</span>: <span class="subxComment"># (payload list var)</span> <span id="L34968" class="LineNr">34968 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34969" class="LineNr">34969 </span> 0x11/imm32/alloc-id:fake -<span id="L34970" class="LineNr">34970 </span> <span class="SpecialChar">Int-var-in-some-register</span>/imm32 +<span id="L34970" class="LineNr">34970 </span> <span class="SpecialChar"><a href='mu.subx.html#L35052'>Int-var-in-some-register</a></span>/imm32 <span id="L34971" class="LineNr">34971 </span> 0x11/imm32/alloc-id:fake -<span id="L34972" class="LineNr">34972 </span> <span class="SpecialChar">Single-int-var-in-some-register</span>/imm32/next +<span id="L34972" class="LineNr">34972 </span> <span class="SpecialChar"><a href='mu.subx.html#L35031'>Single-int-var-in-some-register</a></span>/imm32/next <span id="L34973" class="LineNr">34973 </span> <span id="L34974" class="LineNr">34974 </span><span class="subxComment"># Not really legal, but closest we can currently represent a dereference of an (addr byte)</span> <span id="L34975" class="LineNr">34975 </span><span class="SpecialChar">Two-args-byte-stack-byte-reg</span>: <span class="subxComment"># (payload list var)</span> <span id="L34976" class="LineNr">34976 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34977" class="LineNr">34977 </span> 0x11/imm32/alloc-id:fake -<span id="L34978" class="LineNr">34978 </span> <span class="SpecialChar">Byte-var-in-mem</span>/imm32 +<span id="L34978" class="LineNr">34978 </span> <span class="SpecialChar"><a href='mu.subx.html#L34949'>Byte-var-in-mem</a></span>/imm32 <span id="L34979" class="LineNr">34979 </span> 0x11/imm32/alloc-id:fake -<span id="L34980" class="LineNr">34980 </span> <span class="SpecialChar">Single-byte-var-in-some-register</span>/imm32/next +<span id="L34980" class="LineNr">34980 </span> <span class="SpecialChar"><a href='mu.subx.html#L35045'>Single-byte-var-in-some-register</a></span>/imm32/next <span id="L34981" class="LineNr">34981 </span> <span id="L34982" class="LineNr">34982 </span><span class="SpecialChar">Two-args-int-reg-int-stack</span>: <span class="subxComment"># (payload list var)</span> <span id="L34983" class="LineNr">34983 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34984" class="LineNr">34984 </span> 0x11/imm32/alloc-id:fake -<span id="L34985" class="LineNr">34985 </span> <span class="SpecialChar">Int-var-in-some-register</span>/imm32 +<span id="L34985" class="LineNr">34985 </span> <span class="SpecialChar"><a href='mu.subx.html#L35052'>Int-var-in-some-register</a></span>/imm32 <span id="L34986" class="LineNr">34986 </span> 0x11/imm32/alloc-id:fake -<span id="L34987" class="LineNr">34987 </span> <span class="SpecialChar">Single-int-var-in-mem</span>/imm32/next +<span id="L34987" class="LineNr">34987 </span> <span class="SpecialChar"><a href='mu.subx.html#L34922'>Single-int-var-in-mem</a></span>/imm32/next <span id="L34988" class="LineNr">34988 </span> <span id="L34989" class="LineNr">34989 </span><span class="SpecialChar">Two-args-int-eax-int-literal</span>: <span class="subxComment"># (payload list var)</span> <span id="L34990" class="LineNr">34990 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34991" class="LineNr">34991 </span> 0x11/imm32/alloc-id:fake -<span id="L34992" class="LineNr">34992 </span> <span class="SpecialChar">Int-var-in-eax</span>/imm32 +<span id="L34992" class="LineNr">34992 </span> <span class="SpecialChar"><a href='mu.subx.html#L35098'>Int-var-in-eax</a></span>/imm32 <span id="L34993" class="LineNr">34993 </span> 0x11/imm32/alloc-id:fake -<span id="L34994" class="LineNr">34994 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/next +<span id="L34994" class="LineNr">34994 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/next <span id="L34995" class="LineNr">34995 </span> <span id="L34996" class="LineNr">34996 </span><span class="SpecialChar">Int-var-and-literal</span>: <span class="subxComment"># (payload list var)</span> <span id="L34997" class="LineNr">34997 </span> 0x11/imm32/alloc-id:fake:payload <span id="L34998" class="LineNr">34998 </span> 0x11/imm32/alloc-id:fake -<span id="L34999" class="LineNr">34999 </span> <span class="SpecialChar">Int-var-in-mem</span>/imm32 +<span id="L34999" class="LineNr">34999 </span> <span class="SpecialChar"><a href='mu.subx.html#L34929'>Int-var-in-mem</a></span>/imm32 <span id="L35000" class="LineNr">35000 </span> 0x11/imm32/alloc-id:fake -<span id="L35001" class="LineNr">35001 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/next +<span id="L35001" class="LineNr">35001 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/next <span id="L35002" class="LineNr">35002 </span> <span id="L35003" class="LineNr">35003 </span><span class="SpecialChar">Int-var-in-register-and-literal</span>: <span class="subxComment"># (payload list var)</span> <span id="L35004" class="LineNr">35004 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35005" class="LineNr">35005 </span> 0x11/imm32/alloc-id:fake -<span id="L35006" class="LineNr">35006 </span> <span class="SpecialChar">Int-var-in-some-register</span>/imm32 +<span id="L35006" class="LineNr">35006 </span> <span class="SpecialChar"><a href='mu.subx.html#L35052'>Int-var-in-some-register</a></span>/imm32 <span id="L35007" class="LineNr">35007 </span> 0x11/imm32/alloc-id:fake -<span id="L35008" class="LineNr">35008 </span> <span class="SpecialChar">Single-lit-var</span>/imm32/next +<span id="L35008" class="LineNr">35008 </span> <span class="SpecialChar"><a href='mu.subx.html#L35199'>Single-lit-var</a></span>/imm32/next <span id="L35009" class="LineNr">35009 </span> <span id="L35010" class="LineNr">35010 </span><span class="SpecialChar">Two-float-args-in-regs</span>: <span class="subxComment"># (payload list var)</span> <span id="L35011" class="LineNr">35011 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35012" class="LineNr">35012 </span> 0x11/imm32/alloc-id:fake -<span id="L35013" class="LineNr">35013 </span> <span class="SpecialChar">Float-var-in-some-register</span>/imm32 +<span id="L35013" class="LineNr">35013 </span> <span class="SpecialChar"><a href='mu.subx.html#L35242'>Float-var-in-some-register</a></span>/imm32 <span id="L35014" class="LineNr">35014 </span> 0x11/imm32/alloc-id:fake -<span id="L35015" class="LineNr">35015 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/next +<span id="L35015" class="LineNr">35015 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/next <span id="L35016" class="LineNr">35016 </span> <span id="L35017" class="LineNr">35017 </span><span class="SpecialChar">Two-args-float-reg-float-stack</span>: <span class="subxComment"># (payload list var)</span> <span id="L35018" class="LineNr">35018 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35019" class="LineNr">35019 </span> 0x11/imm32/alloc-id:fake -<span id="L35020" class="LineNr">35020 </span> <span class="SpecialChar">Float-var-in-some-register</span>/imm32 +<span id="L35020" class="LineNr">35020 </span> <span class="SpecialChar"><a href='mu.subx.html#L35242'>Float-var-in-some-register</a></span>/imm32 <span id="L35021" class="LineNr">35021 </span> 0x11/imm32/alloc-id:fake -<span id="L35022" class="LineNr">35022 </span> <span class="SpecialChar">Single-float-var-in-mem</span>/imm32/next +<span id="L35022" class="LineNr">35022 </span> <span class="SpecialChar"><a href='mu.subx.html#L35217'>Single-float-var-in-mem</a></span>/imm32/next <span id="L35023" class="LineNr">35023 </span> <span id="L35024" class="LineNr">35024 </span><span class="SpecialChar">Two-args-float-stack-float-reg</span>: <span class="subxComment"># (payload list var)</span> <span id="L35025" class="LineNr">35025 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35026" class="LineNr">35026 </span> 0x11/imm32/alloc-id:fake -<span id="L35027" class="LineNr">35027 </span> <span class="SpecialChar">Float-var-in-mem</span>/imm32 +<span id="L35027" class="LineNr">35027 </span> <span class="SpecialChar"><a href='mu.subx.html#L35224'>Float-var-in-mem</a></span>/imm32 <span id="L35028" class="LineNr">35028 </span> 0x11/imm32/alloc-id:fake -<span id="L35029" class="LineNr">35029 </span> <span class="SpecialChar">Single-float-var-in-some-register</span>/imm32/next +<span id="L35029" class="LineNr">35029 </span> <span class="SpecialChar"><a href='mu.subx.html#L35235'>Single-float-var-in-some-register</a></span>/imm32/next <span id="L35030" class="LineNr">35030 </span> <span id="L35031" class="LineNr">35031 </span><span class="SpecialChar">Single-int-var-in-some-register</span>: <span class="subxComment"># (payload list var)</span> <span id="L35032" class="LineNr">35032 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35033" class="LineNr">35033 </span> 0x11/imm32/alloc-id:fake -<span id="L35034" class="LineNr">35034 </span> <span class="SpecialChar">Int-var-in-some-register</span>/imm32 +<span id="L35034" class="LineNr">35034 </span> <span class="SpecialChar"><a href='mu.subx.html#L35052'>Int-var-in-some-register</a></span>/imm32 <span id="L35035" class="LineNr">35035 </span> 0/imm32/next <span id="L35036" class="LineNr">35036 </span> 0/imm32/next <span id="L35037" class="LineNr">35037 </span> <span id="L35038" class="LineNr">35038 </span><span class="SpecialChar">Single-addr-var-in-some-register</span>: <span class="subxComment"># (payload list var)</span> <span id="L35039" class="LineNr">35039 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35040" class="LineNr">35040 </span> 0x11/imm32/alloc-id:fake -<span id="L35041" class="LineNr">35041 </span> <span class="SpecialChar">Addr-var-in-some-register</span>/imm32 +<span id="L35041" class="LineNr">35041 </span> <span class="SpecialChar"><a href='mu.subx.html#L35069'>Addr-var-in-some-register</a></span>/imm32 <span id="L35042" class="LineNr">35042 </span> 0/imm32/next <span id="L35043" class="LineNr">35043 </span> 0/imm32/next <span id="L35044" class="LineNr">35044 </span> <span id="L35045" class="LineNr">35045 </span><span class="SpecialChar">Single-byte-var-in-some-register</span>: <span class="subxComment"># (payload list var)</span> <span id="L35046" class="LineNr">35046 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35047" class="LineNr">35047 </span> 0x11/imm32/alloc-id:fake -<span id="L35048" class="LineNr">35048 </span> <span class="SpecialChar">Byte-var-in-some-register</span>/imm32 +<span id="L35048" class="LineNr">35048 </span> <span class="SpecialChar"><a href='mu.subx.html#L35080'>Byte-var-in-some-register</a></span>/imm32 <span id="L35049" class="LineNr">35049 </span> 0/imm32/next <span id="L35050" class="LineNr">35050 </span> 0/imm32/next <span id="L35051" class="LineNr">35051 </span> @@ -33429,11 +33429,11 @@ if ('onhashchange' in window) { <span id="L35054" class="LineNr">35054 </span> 0/imm32/name <span id="L35055" class="LineNr">35055 </span> 0/imm32/name <span id="L35056" class="LineNr">35056 </span> 0x11/imm32/alloc-id:fake -<span id="L35057" class="LineNr">35057 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35057" class="LineNr">35057 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35058" class="LineNr">35058 </span> 1/imm32/some-block-depth <span id="L35059" class="LineNr">35059 </span> 0/imm32/no-stack-offset <span id="L35060" class="LineNr">35060 </span> 0x11/imm32/alloc-id:fake -<span id="L35061" class="LineNr">35061 </span> <span class="SpecialChar">Any-register</span>/imm32 +<span id="L35061" class="LineNr">35061 </span> <span class="SpecialChar"><a href='mu.subx.html#L35063'>Any-register</a></span>/imm32 <span id="L35062" class="LineNr">35062 </span> <span id="L35063" class="LineNr">35063 </span><span class="SpecialChar">Any-register</span>: <span class="subxComment"># (payload array byte)</span> <span id="L35064" class="LineNr">35064 </span> 0x11/imm32/alloc-id:fake:payload @@ -33446,27 +33446,27 @@ if ('onhashchange' in window) { <span id="L35071" class="LineNr">35071 </span> 0/imm32/name <span id="L35072" class="LineNr">35072 </span> 0/imm32/name <span id="L35073" class="LineNr">35073 </span> 0x11/imm32/alloc-id:fake -<span id="L35074" class="LineNr">35074 </span> <span class="SpecialChar">Type-addr</span>/imm32 +<span id="L35074" class="LineNr">35074 </span> <span class="SpecialChar"><a href='mu.subx.html#L35269'>Type-addr</a></span>/imm32 <span id="L35075" class="LineNr">35075 </span> 1/imm32/some-block-depth <span id="L35076" class="LineNr">35076 </span> 0/imm32/no-stack-offset <span id="L35077" class="LineNr">35077 </span> 0x11/imm32/alloc-id:fake -<span id="L35078" class="LineNr">35078 </span> <span class="SpecialChar">Any-register</span>/imm32 +<span id="L35078" class="LineNr">35078 </span> <span class="SpecialChar"><a href='mu.subx.html#L35063'>Any-register</a></span>/imm32 <span id="L35079" class="LineNr">35079 </span> <span id="L35080" class="LineNr">35080 </span><span class="SpecialChar">Byte-var-in-some-register</span>: <span class="subxComment"># (payload var)</span> <span id="L35081" class="LineNr">35081 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35082" class="LineNr">35082 </span> 0/imm32/name <span id="L35083" class="LineNr">35083 </span> 0/imm32/name <span id="L35084" class="LineNr">35084 </span> 0x11/imm32/alloc-id:fake -<span id="L35085" class="LineNr">35085 </span> <span class="SpecialChar">Type-byte</span>/imm32 +<span id="L35085" class="LineNr">35085 </span> <span class="SpecialChar"><a href='mu.subx.html#L35285'>Type-byte</a></span>/imm32 <span id="L35086" class="LineNr">35086 </span> 1/imm32/some-block-depth <span id="L35087" class="LineNr">35087 </span> 0/imm32/no-stack-offset <span id="L35088" class="LineNr">35088 </span> 0x11/imm32/alloc-id:fake -<span id="L35089" class="LineNr">35089 </span> <span class="SpecialChar">Any-register</span>/imm32 +<span id="L35089" class="LineNr">35089 </span> <span class="SpecialChar"><a href='mu.subx.html#L35063'>Any-register</a></span>/imm32 <span id="L35090" class="LineNr">35090 </span> <span id="L35091" class="LineNr">35091 </span><span class="SpecialChar">Single-int-var-in-eax</span>: <span class="subxComment"># (payload list var)</span> <span id="L35092" class="LineNr">35092 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35093" class="LineNr">35093 </span> 0x11/imm32/alloc-id:fake -<span id="L35094" class="LineNr">35094 </span> <span class="SpecialChar">Int-var-in-eax</span>/imm32 +<span id="L35094" class="LineNr">35094 </span> <span class="SpecialChar"><a href='mu.subx.html#L35098'>Int-var-in-eax</a></span>/imm32 <span id="L35095" class="LineNr">35095 </span> 0/imm32/next <span id="L35096" class="LineNr">35096 </span> 0/imm32/next <span id="L35097" class="LineNr">35097 </span> @@ -33475,7 +33475,7 @@ if ('onhashchange' in window) { <span id="L35100" class="LineNr">35100 </span> 0/imm32/name <span id="L35101" class="LineNr">35101 </span> 0/imm32/name <span id="L35102" class="LineNr">35102 </span> 0x11/imm32/alloc-id:fake -<span id="L35103" class="LineNr">35103 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35103" class="LineNr">35103 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35104" class="LineNr">35104 </span> 1/imm32/some-block-depth <span id="L35105" class="LineNr">35105 </span> 0/imm32/no-stack-offset <span id="L35106" class="LineNr">35106 </span> 0x11/imm32/alloc-id:fake @@ -33484,7 +33484,7 @@ if ('onhashchange' in window) { <span id="L35109" class="LineNr">35109 </span><span class="SpecialChar">Single-int-var-in-ecx</span>: <span class="subxComment"># (payload list var)</span> <span id="L35110" class="LineNr">35110 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35111" class="LineNr">35111 </span> 0x11/imm32/alloc-id:fake -<span id="L35112" class="LineNr">35112 </span> <span class="SpecialChar">Int-var-in-ecx</span>/imm32 +<span id="L35112" class="LineNr">35112 </span> <span class="SpecialChar"><a href='mu.subx.html#L35116'>Int-var-in-ecx</a></span>/imm32 <span id="L35113" class="LineNr">35113 </span> 0/imm32/next <span id="L35114" class="LineNr">35114 </span> 0/imm32/next <span id="L35115" class="LineNr">35115 </span> @@ -33493,7 +33493,7 @@ if ('onhashchange' in window) { <span id="L35118" class="LineNr">35118 </span> 0/imm32/name <span id="L35119" class="LineNr">35119 </span> 0/imm32/name <span id="L35120" class="LineNr">35120 </span> 0x11/imm32/alloc-id:fake -<span id="L35121" class="LineNr">35121 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35121" class="LineNr">35121 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35122" class="LineNr">35122 </span> 1/imm32/some-block-depth <span id="L35123" class="LineNr">35123 </span> 0/imm32/no-stack-offset <span id="L35124" class="LineNr">35124 </span> 0x11/imm32/alloc-id:fake @@ -33502,7 +33502,7 @@ if ('onhashchange' in window) { <span id="L35127" class="LineNr">35127 </span><span class="SpecialChar">Single-int-var-in-edx</span>: <span class="subxComment"># (payload list var)</span> <span id="L35128" class="LineNr">35128 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35129" class="LineNr">35129 </span> 0x11/imm32/alloc-id:fake -<span id="L35130" class="LineNr">35130 </span> <span class="SpecialChar">Int-var-in-edx</span>/imm32 +<span id="L35130" class="LineNr">35130 </span> <span class="SpecialChar"><a href='mu.subx.html#L35134'>Int-var-in-edx</a></span>/imm32 <span id="L35131" class="LineNr">35131 </span> 0/imm32/next <span id="L35132" class="LineNr">35132 </span> 0/imm32/next <span id="L35133" class="LineNr">35133 </span> @@ -33511,7 +33511,7 @@ if ('onhashchange' in window) { <span id="L35136" class="LineNr">35136 </span> 0/imm32/name <span id="L35137" class="LineNr">35137 </span> 0/imm32/name <span id="L35138" class="LineNr">35138 </span> 0x11/imm32/alloc-id:fake -<span id="L35139" class="LineNr">35139 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35139" class="LineNr">35139 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35140" class="LineNr">35140 </span> 1/imm32/some-block-depth <span id="L35141" class="LineNr">35141 </span> 0/imm32/no-stack-offset <span id="L35142" class="LineNr">35142 </span> 0x11/imm32/alloc-id:fake @@ -33520,7 +33520,7 @@ if ('onhashchange' in window) { <span id="L35145" class="LineNr">35145 </span><span class="SpecialChar">Single-int-var-in-ebx</span>: <span class="subxComment"># (payload list var)</span> <span id="L35146" class="LineNr">35146 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35147" class="LineNr">35147 </span> 0x11/imm32/alloc-id:fake -<span id="L35148" class="LineNr">35148 </span> <span class="SpecialChar">Int-var-in-ebx</span>/imm32 +<span id="L35148" class="LineNr">35148 </span> <span class="SpecialChar"><a href='mu.subx.html#L35152'>Int-var-in-ebx</a></span>/imm32 <span id="L35149" class="LineNr">35149 </span> 0/imm32/next <span id="L35150" class="LineNr">35150 </span> 0/imm32/next <span id="L35151" class="LineNr">35151 </span> @@ -33529,7 +33529,7 @@ if ('onhashchange' in window) { <span id="L35154" class="LineNr">35154 </span> 0/imm32/name <span id="L35155" class="LineNr">35155 </span> 0/imm32/name <span id="L35156" class="LineNr">35156 </span> 0x11/imm32/alloc-id:fake -<span id="L35157" class="LineNr">35157 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35157" class="LineNr">35157 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35158" class="LineNr">35158 </span> 1/imm32/some-block-depth <span id="L35159" class="LineNr">35159 </span> 0/imm32/no-stack-offset <span id="L35160" class="LineNr">35160 </span> 0x11/imm32/alloc-id:fake @@ -33538,7 +33538,7 @@ if ('onhashchange' in window) { <span id="L35163" class="LineNr">35163 </span><span class="SpecialChar">Single-int-var-in-esi</span>: <span class="subxComment"># (payload list var)</span> <span id="L35164" class="LineNr">35164 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35165" class="LineNr">35165 </span> 0x11/imm32/alloc-id:fake -<span id="L35166" class="LineNr">35166 </span> <span class="SpecialChar">Int-var-in-esi</span>/imm32 +<span id="L35166" class="LineNr">35166 </span> <span class="SpecialChar"><a href='mu.subx.html#L35170'>Int-var-in-esi</a></span>/imm32 <span id="L35167" class="LineNr">35167 </span> 0/imm32/next <span id="L35168" class="LineNr">35168 </span> 0/imm32/next <span id="L35169" class="LineNr">35169 </span> @@ -33547,7 +33547,7 @@ if ('onhashchange' in window) { <span id="L35172" class="LineNr">35172 </span> 0/imm32/name <span id="L35173" class="LineNr">35173 </span> 0/imm32/name <span id="L35174" class="LineNr">35174 </span> 0x11/imm32/alloc-id:fake -<span id="L35175" class="LineNr">35175 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35175" class="LineNr">35175 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35176" class="LineNr">35176 </span> 1/imm32/some-block-depth <span id="L35177" class="LineNr">35177 </span> 0/imm32/no-stack-offset <span id="L35178" class="LineNr">35178 </span> 0x11/imm32/alloc-id:fake @@ -33556,7 +33556,7 @@ if ('onhashchange' in window) { <span id="L35181" class="LineNr">35181 </span><span class="SpecialChar">Single-int-var-in-edi</span>: <span class="subxComment"># (payload list var)</span> <span id="L35182" class="LineNr">35182 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35183" class="LineNr">35183 </span> 0x11/imm32/alloc-id:fake -<span id="L35184" class="LineNr">35184 </span> <span class="SpecialChar">Int-var-in-edi</span>/imm32 +<span id="L35184" class="LineNr">35184 </span> <span class="SpecialChar"><a href='mu.subx.html#L35188'>Int-var-in-edi</a></span>/imm32 <span id="L35185" class="LineNr">35185 </span> 0/imm32/next <span id="L35186" class="LineNr">35186 </span> 0/imm32/next <span id="L35187" class="LineNr">35187 </span> @@ -33565,7 +33565,7 @@ if ('onhashchange' in window) { <span id="L35190" class="LineNr">35190 </span> 0/imm32/name <span id="L35191" class="LineNr">35191 </span> 0/imm32/name <span id="L35192" class="LineNr">35192 </span> 0x11/imm32/alloc-id:fake -<span id="L35193" class="LineNr">35193 </span> <span class="SpecialChar">Type-int</span>/imm32 +<span id="L35193" class="LineNr">35193 </span> <span class="SpecialChar"><a href='mu.subx.html#L35253'>Type-int</a></span>/imm32 <span id="L35194" class="LineNr">35194 </span> 1/imm32/some-block-depth <span id="L35195" class="LineNr">35195 </span> 0/imm32/no-stack-offset <span id="L35196" class="LineNr">35196 </span> 0x11/imm32/alloc-id:fake @@ -33574,7 +33574,7 @@ if ('onhashchange' in window) { <span id="L35199" class="LineNr">35199 </span><span class="SpecialChar">Single-lit-var</span>: <span class="subxComment"># (payload list var)</span> <span id="L35200" class="LineNr">35200 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35201" class="LineNr">35201 </span> 0x11/imm32/alloc-id:fake -<span id="L35202" class="LineNr">35202 </span> <span class="SpecialChar">Lit-var</span>/imm32 +<span id="L35202" class="LineNr">35202 </span> <span class="SpecialChar"><a href='mu.subx.html#L35206'>Lit-var</a></span>/imm32 <span id="L35203" class="LineNr">35203 </span> 0/imm32/next <span id="L35204" class="LineNr">35204 </span> 0/imm32/next <span id="L35205" class="LineNr">35205 </span> @@ -33583,7 +33583,7 @@ if ('onhashchange' in window) { <span id="L35208" class="LineNr">35208 </span> 0/imm32/name <span id="L35209" class="LineNr">35209 </span> 0/imm32/name <span id="L35210" class="LineNr">35210 </span> 0x11/imm32/alloc-id:fake -<span id="L35211" class="LineNr">35211 </span> <span class="SpecialChar">Type-literal</span>/imm32 +<span id="L35211" class="LineNr">35211 </span> <span class="SpecialChar"><a href='mu.subx.html#L35261'>Type-literal</a></span>/imm32 <span id="L35212" class="LineNr">35212 </span> 1/imm32/some-block-depth <span id="L35213" class="LineNr">35213 </span> 0/imm32/no-stack-offset <span id="L35214" class="LineNr">35214 </span> 0/imm32/no-register @@ -33592,7 +33592,7 @@ if ('onhashchange' in window) { <span id="L35217" class="LineNr">35217 </span><span class="SpecialChar">Single-float-var-in-mem</span>: <span class="subxComment"># (payload list var)</span> <span id="L35218" class="LineNr">35218 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35219" class="LineNr">35219 </span> 0x11/imm32/alloc-id:fake -<span id="L35220" class="LineNr">35220 </span> <span class="SpecialChar">Float-var-in-mem</span>/imm32 +<span id="L35220" class="LineNr">35220 </span> <span class="SpecialChar"><a href='mu.subx.html#L35224'>Float-var-in-mem</a></span>/imm32 <span id="L35221" class="LineNr">35221 </span> 0/imm32/next <span id="L35222" class="LineNr">35222 </span> 0/imm32/next <span id="L35223" class="LineNr">35223 </span> @@ -33601,7 +33601,7 @@ if ('onhashchange' in window) { <span id="L35226" class="LineNr">35226 </span> 0/imm32/name <span id="L35227" class="LineNr">35227 </span> 0/imm32/name <span id="L35228" class="LineNr">35228 </span> 0x11/imm32/alloc-id:fake -<span id="L35229" class="LineNr">35229 </span> <span class="SpecialChar">Type-float</span>/imm32 +<span id="L35229" class="LineNr">35229 </span> <span class="SpecialChar"><a href='mu.subx.html#L35293'>Type-float</a></span>/imm32 <span id="L35230" class="LineNr">35230 </span> 1/imm32/some-block-depth <span id="L35231" class="LineNr">35231 </span> 1/imm32/some-stack-offset <span id="L35232" class="LineNr">35232 </span> 0/imm32/no-register @@ -33610,7 +33610,7 @@ if ('onhashchange' in window) { <span id="L35235" class="LineNr">35235 </span><span class="SpecialChar">Single-float-var-in-some-register</span>: <span class="subxComment"># (payload list var)</span> <span id="L35236" class="LineNr">35236 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35237" class="LineNr">35237 </span> 0x11/imm32/alloc-id:fake -<span id="L35238" class="LineNr">35238 </span> <span class="SpecialChar">Float-var-in-some-register</span>/imm32 +<span id="L35238" class="LineNr">35238 </span> <span class="SpecialChar"><a href='mu.subx.html#L35242'>Float-var-in-some-register</a></span>/imm32 <span id="L35239" class="LineNr">35239 </span> 0/imm32/next <span id="L35240" class="LineNr">35240 </span> 0/imm32/next <span id="L35241" class="LineNr">35241 </span> @@ -33619,11 +33619,11 @@ if ('onhashchange' in window) { <span id="L35244" class="LineNr">35244 </span> 0/imm32/name <span id="L35245" class="LineNr">35245 </span> 0/imm32/name <span id="L35246" class="LineNr">35246 </span> 0x11/imm32/alloc-id:fake -<span id="L35247" class="LineNr">35247 </span> <span class="SpecialChar">Type-float</span>/imm32 +<span id="L35247" class="LineNr">35247 </span> <span class="SpecialChar"><a href='mu.subx.html#L35293'>Type-float</a></span>/imm32 <span id="L35248" class="LineNr">35248 </span> 1/imm32/some-block-depth <span id="L35249" class="LineNr">35249 </span> 0/imm32/no-stack-offset <span id="L35250" class="LineNr">35250 </span> 0x11/imm32/alloc-id:fake -<span id="L35251" class="LineNr">35251 </span> <span class="SpecialChar">Any-register</span>/imm32 +<span id="L35251" class="LineNr">35251 </span> <span class="SpecialChar"><a href='mu.subx.html#L35063'>Any-register</a></span>/imm32 <span id="L35252" class="LineNr">35252 </span> <span id="L35253" class="LineNr">35253 </span><span class="SpecialChar">Type-int</span>: <span class="subxComment"># (payload type-tree)</span> <span id="L35254" class="LineNr">35254 </span> 0x11/imm32/alloc-id:fake:payload @@ -33676,21 +33676,21 @@ if ('onhashchange' in window) { <span id="L35301" class="LineNr">35301 </span><span class="SpecialChar">Addr-type-string</span>: <span class="subxComment"># (addr type-tree)</span> <span id="L35302" class="LineNr">35302 </span> 0/imm32/not-atom <span id="L35303" class="LineNr">35303 </span> 0x11/imm32/alloc-id:fake -<span id="L35304" class="LineNr">35304 </span> <span class="SpecialChar">Type-addr</span>/imm32/left +<span id="L35304" class="LineNr">35304 </span> <span class="SpecialChar"><a href='mu.subx.html#L35269'>Type-addr</a></span>/imm32/left <span id="L35305" class="LineNr">35305 </span> 0x11/imm32/alloc-id:fake <span id="L35306" class="LineNr">35306 </span> _Addr-type-string:array/imm32/right <span id="L35307" class="LineNr">35307 </span><span class="subxMinorFunction">_Addr-type-string:array</span>: <span class="subxComment"># (payload type-tree)</span> <span id="L35308" class="LineNr">35308 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35309" class="LineNr">35309 </span> 0/imm32/not-atom <span id="L35310" class="LineNr">35310 </span> 0x11/imm32/alloc-id:fake -<span id="L35311" class="LineNr">35311 </span> <span class="SpecialChar">Type-array</span>/imm32/left +<span id="L35311" class="LineNr">35311 </span> <span class="SpecialChar"><a href='mu.subx.html#L35277'>Type-array</a></span>/imm32/left <span id="L35312" class="LineNr">35312 </span> 0x11/imm32/alloc-id:fake <span id="L35313" class="LineNr">35313 </span> _Addr-type-string:byte/imm32/right <span id="L35314" class="LineNr">35314 </span><span class="subxMinorFunction">_Addr-type-string:byte</span>: <span class="subxComment"># (payload type-tree)</span> <span id="L35315" class="LineNr">35315 </span> 0x11/imm32/alloc-id:fake:payload <span id="L35316" class="LineNr">35316 </span> 0/imm32/not-atom <span id="L35317" class="LineNr">35317 </span> 0x11/imm32/alloc-id:fake -<span id="L35318" class="LineNr">35318 </span> <span class="SpecialChar">Type-byte</span>/imm32/left +<span id="L35318" class="LineNr">35318 </span> <span class="SpecialChar"><a href='mu.subx.html#L35285'>Type-byte</a></span>/imm32/left <span id="L35319" class="LineNr">35319 </span> 0/imm32/right:null <span id="L35320" class="LineNr">35320 </span> 0/imm32/right:null <span id="L35321" class="LineNr">35321 </span> @@ -33705,23 +33705,23 @@ if ('onhashchange' in window) { <span id="L35330" class="LineNr">35330 </span> <span class="subxComment"># ecx = primitive</span> <span id="L35331" class="LineNr">35331 </span> 8b/-> *(ebp+0x10) 1/r32/ecx <span id="L35332" class="LineNr">35332 </span> <span class="subxComment"># emit primitive name</span> -<span id="L35333" class="LineNr">35333 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L35333" class="LineNr">35333 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L35334" class="LineNr">35334 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(ecx+0x18) *(ecx+0x1c)) <span class="subxComment"># Primitive-subx-name Primitive-subx-name => eax</span> <span id="L35335" class="LineNr">35335 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %eax) <span id="L35336" class="LineNr">35336 </span> <span class="subxComment"># emit rm32 if necessary</span> -<span id="L35337" class="LineNr">35337 </span> (emit-subx-rm32 *(ebp+8) *(ecx+0x20) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-rm32</span> +<span id="L35337" class="LineNr">35337 </span> (<a href='mu.subx.html#L35360'>emit-subx-rm32</a> *(ebp+8) *(ecx+0x20) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-rm32</span> <span id="L35338" class="LineNr">35338 </span> <span class="subxComment"># emit xm32 if necessary</span> -<span id="L35339" class="LineNr">35339 </span> (emit-subx-rm32 *(ebp+8) *(ecx+0x34) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-xm32</span> +<span id="L35339" class="LineNr">35339 </span> (<a href='mu.subx.html#L35360'>emit-subx-rm32</a> *(ebp+8) *(ecx+0x34) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-xm32</span> <span id="L35340" class="LineNr">35340 </span> <span class="subxComment"># emit r32 if necessary</span> -<span id="L35341" class="LineNr">35341 </span> (emit-subx-r32 *(ebp+8) *(ecx+0x24) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-r32</span> +<span id="L35341" class="LineNr">35341 </span> (<a href='mu.subx.html#L35434'>emit-subx-r32</a> *(ebp+8) *(ecx+0x24) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-r32</span> <span id="L35342" class="LineNr">35342 </span> <span class="subxComment"># emit x32 if necessary</span> -<span id="L35343" class="LineNr">35343 </span> (emit-subx-x32 *(ebp+8) *(ecx+0x38) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-x32</span> +<span id="L35343" class="LineNr">35343 </span> (<a href='mu.subx.html#L35465'>emit-subx-x32</a> *(ebp+8) *(ecx+0x38) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-x32</span> <span id="L35344" class="LineNr">35344 </span> <span class="subxComment"># emit imm32 if necessary</span> -<span id="L35345" class="LineNr">35345 </span> (emit-subx-imm32 *(ebp+8) *(ecx+0x28) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-imm32</span> +<span id="L35345" class="LineNr">35345 </span> (<a href='mu.subx.html#L35496'>emit-subx-imm32</a> *(ebp+8) *(ecx+0x28) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-imm32</span> <span id="L35346" class="LineNr">35346 </span> <span class="subxComment"># emit imm8 if necessary</span> -<span id="L35347" class="LineNr">35347 </span> (emit-subx-imm8 *(ebp+8) *(ecx+0x2c) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-imm8</span> +<span id="L35347" class="LineNr">35347 </span> (<a href='mu.subx.html#L35522'>emit-subx-imm8</a> *(ebp+8) *(ecx+0x2c) *(ebp+0xc)) <span class="subxComment"># Primitive-subx-imm8</span> <span id="L35348" class="LineNr">35348 </span> <span class="subxComment"># emit disp32 if necessary</span> -<span id="L35349" class="LineNr">35349 </span> (emit-subx-disp32 *(ebp+8) *(ecx+0x30) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-disp32</span> +<span id="L35349" class="LineNr">35349 </span> (<a href='mu.subx.html#L35548'>emit-subx-disp32</a> *(ebp+8) *(ecx+0x30) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># Primitive-subx-disp32</span> <span id="L35350" class="LineNr">35350 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L82'>Newline</a></span>) <span id="L35351" class="LineNr">35351 </span><span class="Constant">$emit-subx-primitive:end</span>: <span id="L35352" class="LineNr">35352 </span> <span class="subxS1Comment"># . restore registers</span> @@ -33742,8 +33742,8 @@ if ('onhashchange' in window) { <span id="L35367" class="LineNr">35367 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35368" class="LineNr">35368 </span> 74/jump-if-= $emit-subx-rm32:end/disp8 <span id="L35369" class="LineNr">35369 </span> <span class="subxComment"># var v/eax: (addr stmt-var)</span> -<span id="L35370" class="LineNr">35370 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> -<span id="L35371" class="LineNr">35371 </span> (emit-subx-var-as-rm32 *(ebp+8) %eax) +<span id="L35370" class="LineNr">35370 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> +<span id="L35371" class="LineNr">35371 </span> (<a href='mu.subx.html#L35793'>emit-subx-var-as-rm32</a> *(ebp+8) %eax) <span id="L35372" class="LineNr">35372 </span><span class="Constant">$emit-subx-rm32:end</span>: <span id="L35373" class="LineNr">35373 </span> <span class="subxS1Comment"># . restore registers</span> <span id="L35374" class="LineNr">35374 </span> 58/pop-to-eax @@ -33817,14 +33817,14 @@ if ('onhashchange' in window) { <span id="L35442" class="LineNr">35442 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35443" class="LineNr">35443 </span> 0f 84/jump-if-= $emit-subx-r32:end/disp32 <span id="L35444" class="LineNr">35444 </span> <span class="subxComment"># var v/eax: (addr stmt-var)</span> -<span id="L35445" class="LineNr">35445 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L35445" class="LineNr">35445 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L35446" class="LineNr">35446 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L35447" class="LineNr">35447 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L35448" class="LineNr">35448 </span><span class="CommentedCode">#? (write-buffered Stderr "looking up ")</span> <span id="L35449" class="LineNr">35449 </span><span class="CommentedCode">#? (write-buffered Stderr %eax)</span> <span id="L35450" class="LineNr">35450 </span><span class="CommentedCode">#? (write-buffered Stderr Newline)</span> <span id="L35451" class="LineNr">35451 </span><span class="CommentedCode">#? (flush Stderr)</span> -<span id="L35452" class="LineNr">35452 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> +<span id="L35452" class="LineNr">35452 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> <span id="L35453" class="LineNr">35453 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) <span id="L35454" class="LineNr">35454 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L35455" class="LineNr">35455 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/r32"</span>) @@ -33848,14 +33848,14 @@ if ('onhashchange' in window) { <span id="L35473" class="LineNr">35473 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35474" class="LineNr">35474 </span> 0f 84/jump-if-= $emit-subx-x32:end/disp32 <span id="L35475" class="LineNr">35475 </span> <span class="subxComment"># var v/eax: (addr stmt-var)</span> -<span id="L35476" class="LineNr">35476 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L35476" class="LineNr">35476 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L35477" class="LineNr">35477 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L35478" class="LineNr">35478 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+0x18) *(eax+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> <span id="L35479" class="LineNr">35479 </span><span class="CommentedCode">#? (write-buffered Stderr "looking up ")</span> <span id="L35480" class="LineNr">35480 </span><span class="CommentedCode">#? (write-buffered Stderr %eax)</span> <span id="L35481" class="LineNr">35481 </span><span class="CommentedCode">#? (write-buffered Stderr Newline)</span> <span id="L35482" class="LineNr">35482 </span><span class="CommentedCode">#? (flush Stderr)</span> -<span id="L35483" class="LineNr">35483 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar">Mu-registers</span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> +<span id="L35483" class="LineNr">35483 </span> (<a href='131table.subx.html#L1800'>maybe-get</a> <span class="SpecialChar"><a href='mu.subx.html#L19420'>Mu-registers</a></span> %eax 0xc) <span class="subxComment"># => eax: (addr register-index)</span> <span id="L35484" class="LineNr">35484 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) <span id="L35485" class="LineNr">35485 </span> (<a href='117write-int-hex.subx.html#L288'>write-int32-hex-buffered</a> *(ebp+8) *eax) <span id="L35486" class="LineNr">35486 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"/x32"</span>) @@ -33879,7 +33879,7 @@ if ('onhashchange' in window) { <span id="L35504" class="LineNr">35504 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35505" class="LineNr">35505 </span> 0f 84/jump-if-= $emit-subx-imm32:end/disp32 <span id="L35506" class="LineNr">35506 </span> <span class="subxComment"># var v/eax: (handle var)</span> -<span id="L35507" class="LineNr">35507 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L35507" class="LineNr">35507 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L35508" class="LineNr">35508 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L35509" class="LineNr">35509 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L35510" class="LineNr">35510 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) @@ -33905,7 +33905,7 @@ if ('onhashchange' in window) { <span id="L35530" class="LineNr">35530 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35531" class="LineNr">35531 </span> 0f 84/jump-if-= $emit-subx-imm32:end/disp32 <span id="L35532" class="LineNr">35532 </span> <span class="subxComment"># var v/eax: (handle var)</span> -<span id="L35533" class="LineNr">35533 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L35533" class="LineNr">35533 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L35534" class="LineNr">35534 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L35535" class="LineNr">35535 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L35536" class="LineNr">35536 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) @@ -33931,7 +33931,7 @@ if ('onhashchange' in window) { <span id="L35556" class="LineNr">35556 </span> 81 7/subop/compare *(ebp+0xc) 0/imm32 <span id="L35557" class="LineNr">35557 </span> 0f 84/jump-if-= $emit-subx-disp32:end/disp32 <span id="L35558" class="LineNr">35558 </span> <span class="subxComment"># var v/eax: (addr stmt-var)</span> -<span id="L35559" class="LineNr">35559 </span> (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> +<span id="L35559" class="LineNr">35559 </span> (<a href='mu.subx.html#L35380'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc) *(ebp+0x14) *(ebp+0x18)) <span class="subxComment"># => eax</span> <span id="L35560" class="LineNr">35560 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Stmt-var-value Stmt-var-value => eax</span> <span id="L35561" class="LineNr">35561 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *eax *(eax+4)) <span class="subxComment"># Var-name Var-name => eax</span> <span id="L35562" class="LineNr">35562 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='102test.subx.html#L93'>Space</a></span>) @@ -33972,7 +33972,7 @@ if ('onhashchange' in window) { <span id="L35597" class="LineNr">35597 </span> 50/push-eax <span id="L35598" class="LineNr">35598 </span> 51/push-ecx <span id="L35599" class="LineNr">35599 </span> <span class="subxComment">#</span> -<span id="L35600" class="LineNr">35600 </span> (emit-indent *(ebp+8) *<span class="SpecialChar">Curr-block-depth</span>) +<span id="L35600" class="LineNr">35600 </span> (<a href='mu.subx.html#L38826'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span>) <span id="L35601" class="LineNr">35601 </span> (<a href='116write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">"("</span>) <span id="L35602" class="LineNr">35602 </span> <span class="subxComment"># ecx = stmt</span> <span id="L35603" class="LineNr">35603 </span> 8b/-> *(ebp+0xc) 1/r32/ecx @@ -33987,7 +33987,7 @@ if ('onhashchange' in window) { <span id="L35612" class="LineNr">35612 </span> 3d/compare-eax-and 0/imm32 <span id="L35613" class="LineNr">35613 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L35614" class="LineNr">35614 </span> <span class="subxComment">#</span> -<span id="L35615" class="LineNr">35615 </span> (emit-subx-call-operand *(ebp+8) %eax) +<span id="L35615" class="LineNr">35615 </span> (<a href='mu.subx.html#L35631'>emit-subx-call-operand</a> *(ebp+8) %eax) <span id="L35616" class="LineNr">35616 </span> <span class="subxComment"># curr = lookup(curr->next)</span> <span id="L35617" class="LineNr">35617 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+8) *(eax+0xc)) <span class="subxComment"># Stmt-var-next Stmt-var-next => eax</span> <span id="L35618" class="LineNr">35618 </span> eb/jump <span class="Constant">loop</span>/disp8 @@ -34038,7 +34038,7 @@ if ('onhashchange' in window) { <span id="L35663" class="LineNr">35663 </span> 81 7/subop/compare *(ecx+0x10) 0/imm32/false <span class="subxComment"># Stmt-var-is-deref</span> <span id="L35664" class="LineNr">35664 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L35665" class="LineNr">35665 </span><span class="Constant">$emit-subx-call-operand:register-indirect</span>: -<span id="L35666" class="LineNr">35666 </span> (emit-subx-call-operand-register-indirect *(ebp+8) %esi) +<span id="L35666" class="LineNr">35666 </span> (<a href='mu.subx.html#L35708'>emit-subx-call-operand-register-indirect</a> *(ebp+8) %esi) <span id="L35667" class="LineNr">35667 </span> e9/jump $emit-subx-call-operand:end/disp32 <span id="L35668" class="LineNr">35668 </span> } <span id="L35669" class="LineNr">35669 </span> <span class="subxComment"># else if (operand->stack-offset) emit "*(ebp+__)"</span> @@ -34046,7 +34046,7 @@ if ('onhashchange' in window) { <span id="L35671" class="LineNr">35671 </span> 81 7/subop/compare *(esi+0x14) 0/imm32 <span class="subxComment"># Var-offset</span> <span id="L35672" class="LineNr">35672 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L35673" class="LineNr">35673 </span><span class="Constant">$emit-subx-call-operand:stack</span>: -<span id="L35674" class="LineNr">35674 </span> (emit-subx-call-operand-stack *(ebp+8) %esi) +<span id="L35674" class="LineNr">35674 </span> (<a href='mu.subx.html#L35753'>emit-subx-call-operand-stack</a> *(ebp+8) %esi) <span id="L35675" class="LineNr">35675 </span> e9/jump $emit-subx-call-operand:end/disp32 <span id="L35676" class="LineNr">35676 </span> } <span id="L35677" class="LineNr">35677 </span> <span class="subxComment"># else if (operand->type == literal) emit "__"</span> @@ -34091,7 +34091,7 @@ if ('onhashchange' in window) { <span id="L35716" class="LineNr">35716 </span> <span class="subxComment"># esi = v</span> <span id="L35717" class="LineNr">35717 </span> 8b/-> *(ebp+0xc) 6/r32/esi <span id="L35718" class="LineNr">35718 </span> <span class="subxComment"># var size/ecx: int = size-of-deref(v)</span> -<span id="L35719" class="LineNr">35719 </span> (size-of-deref %esi) <span class="subxComment"># => eax</span> +<span id="L35719" class="LineNr">35719 </span> (<a href='mu.subx.html#L26645'>size-of-deref</a> %esi) <span class="subxComment"># => eax</span> <span id="L35720" class="LineNr">35720 </span> 89/<- %ecx 0/r32/eax <span id="L35721" class="LineNr">35721 </span> <span class="subxComment"># var reg-name/esi: (addr array byte) = lookup(v->register)</span> <span id="L35722" class="LineNr">35722 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0x18) *(esi+0x1c)) <span class="subxComment"># Var-register Var-register => eax</span> @@ -34138,7 +34138,7 @@ if ('onhashchange' in window) { <span id="L35763" class="LineNr">35763 </span> <span class="subxComment"># var curr/ecx: int = v->offset</span> <span id="L35764" class="LineNr">35764 </span> 8b/-> *(esi+0x14) 1/r32/ecx <span class="subxComment"># Var-offset</span> <span id="L35765" class="LineNr">35765 </span> <span class="subxComment"># var max/eax: int = v->offset + size-of(v)</span> -<span id="L35766" class="LineNr">35766 </span> (size-of %esi) <span class="subxComment"># => eax</span> +<span id="L35766" class="LineNr">35766 </span> (<a href='mu.subx.html#L26595'>size-of</a> %esi) <span class="subxComment"># => eax</span> <span id="L35767" class="LineNr">35767 </span> <span class="subxComment"># TODO: assert size is a multiple of 4</span> <span id="L35768" class="LineNr">35768 </span> 01/add-to %eax 1/r32/ecx <span id="L35769" class="LineNr">35769 </span> { @@ -34239,7 +34239,7 @@ if ('onhashchange' in window) { <span id="L35864" class="LineNr">35864 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L35865" class="LineNr">35865 </span> <span class="subxComment"># if match(curr, stmt) return curr</span> <span id="L35866" class="LineNr">35866 </span> { -<span id="L35867" class="LineNr">35867 </span> (mu-stmt-matches-primitive? *(ebp+0xc) %ecx) <span class="subxComment"># => eax</span> +<span id="L35867" class="LineNr">35867 </span> (<a href='mu.subx.html#L35890'>mu-stmt-matches-primitive?</a> *(ebp+0xc) %ecx) <span class="subxComment"># => eax</span> <span id="L35868" class="LineNr">35868 </span> 3d/compare-eax-and 0/imm32/false <span id="L35869" class="LineNr">35869 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L35870" class="LineNr">35870 </span> 89/<- %eax 1/r32/ecx @@ -34333,7 +34333,7 @@ if ('onhashchange' in window) { <span id="L35958" class="LineNr">35958 </span> { <span id="L35959" class="LineNr">35959 </span><span class="Constant">$mu-stmt-matches-primitive?:check-inouts-match</span>: <span id="L35960" class="LineNr">35960 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># List-value List-value => eax</span> -<span id="L35961" class="LineNr">35961 </span> (operand-matches-primitive? %esi %eax) <span class="subxComment"># => eax</span> +<span id="L35961" class="LineNr">35961 </span> (<a href='mu.subx.html#L36050'>operand-matches-primitive?</a> %esi %eax) <span class="subxComment"># => eax</span> <span id="L35962" class="LineNr">35962 </span> 3d/compare-eax-and 0/imm32/false <span id="L35963" class="LineNr">35963 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L35964" class="LineNr">35964 </span><span class="Constant">$mu-stmt-matches-primitive?:inouts-match</span>: @@ -34391,7 +34391,7 @@ if ('onhashchange' in window) { <span id="L36016" class="LineNr">36016 </span> { <span id="L36017" class="LineNr">36017 </span><span class="Constant">$mu-stmt-matches-primitive?:check-outputs-match</span>: <span id="L36018" class="LineNr">36018 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *edi *(edi+4)) <span class="subxComment"># List-value List-value => eax</span> -<span id="L36019" class="LineNr">36019 </span> (operand-matches-primitive? %esi %eax) <span class="subxComment"># => eax</span> +<span id="L36019" class="LineNr">36019 </span> (<a href='mu.subx.html#L36050'>operand-matches-primitive?</a> %esi %eax) <span class="subxComment"># => eax</span> <span id="L36020" class="LineNr">36020 </span> 3d/compare-eax-and 0/imm32/false <span id="L36021" class="LineNr">36021 </span> 75/jump-if-!= <span class="Constant">break</span>/disp8 <span id="L36022" class="LineNr">36022 </span><span class="Constant">$mu-stmt-matches-primitive?:outputs-match</span>: @@ -34462,7 +34462,7 @@ if ('onhashchange' in window) { <span id="L36087" class="LineNr">36087 </span> } <span id="L36088" class="LineNr">36088 </span> <span class="subxS1Comment"># . var ptype/eax: (addr type-tree) = lookup(prim-var->type)</span> <span id="L36089" class="LineNr">36089 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(edi+8) *(edi+0xc)) <span class="subxComment"># Var-type Var-type => eax</span> -<span id="L36090" class="LineNr">36090 </span> (subx-type-category-match? %ebx %eax) <span class="subxComment"># => eax</span> +<span id="L36090" class="LineNr">36090 </span> (<a href='mu.subx.html#L36227'>subx-type-category-match?</a> %ebx %eax) <span class="subxComment"># => eax</span> <span id="L36091" class="LineNr">36091 </span> 3d/compare-eax-and 0/imm32/false <span id="L36092" class="LineNr">36092 </span> 0f 84/jump-if-= $operand-matches-primitive?:return-false/disp32 <span id="L36093" class="LineNr">36093 </span> { @@ -34551,7 +34551,7 @@ if ('onhashchange' in window) { <span id="L36176" class="LineNr">36176 </span><span class="CommentedCode">#? (flush Stderr)</span> <span id="L36177" class="LineNr">36177 </span> <span class="subxComment"># if match(stmt, curr) return curr</span> <span id="L36178" class="LineNr">36178 </span> { -<span id="L36179" class="LineNr">36179 </span> (mu-stmt-matches-function? *(ebp+0xc) %ecx) <span class="subxComment"># => eax</span> +<span id="L36179" class="LineNr">36179 </span> (<a href='mu.subx.html#L36202'>mu-stmt-matches-function?</a> *(ebp+0xc) %ecx) <span class="subxComment"># => eax</span> <span id="L36180" class="LineNr">36180 </span> 3d/compare-eax-and 0/imm32/false <span id="L36181" class="LineNr">36181 </span> 74/jump-if-= <span class="Constant">break</span>/disp8 <span id="L36182" class="LineNr">36182 </span> 89/<- %eax 1/r32/ecx @@ -34606,10 +34606,10 @@ if ('onhashchange' in window) { <span id="L36231" class="LineNr">36231 </span> <span class="subxS1Comment"># . save registers</span> <span id="L36232" class="LineNr">36232 </span> 51/push-ecx <span id="L36233" class="LineNr">36233 </span> <span class="subxComment"># var cata/ecx: int = type-category(a)</span> -<span id="L36234" class="LineNr">36234 </span> (type-category *(ebp+8)) <span class="subxComment"># => eax</span> +<span id="L36234" class="LineNr">36234 </span> (<a href='mu.subx.html#L36250'>type-category</a> *(ebp+8)) <span class="subxComment"># => eax</span> <span id="L36235" class="LineNr">36235 </span> 89/<- %ecx 0/r32/eax <span id="L36236" class="LineNr">36236 </span> <span class="subxComment"># var catb/eax: int = type-category(b)</span> -<span id="L36237" class="LineNr">36237 </span> (type-category *(ebp+0xc)) <span class="subxComment"># => eax</span> +<span id="L36237" class="LineNr">36237 </span> (<a href='mu.subx.html#L36250'>type-category</a> *(ebp+0xc)) <span class="subxComment"># => eax</span> <span id="L36238" class="LineNr">36238 </span> <span class="subxComment"># return cata == catb</span> <span id="L36239" class="LineNr">36239 </span> 39/compare %eax 1/r32/ecx <span id="L36240" class="LineNr">36240 </span> 0f 94/set-byte-if-= %al @@ -34629,10 +34629,10 @@ if ('onhashchange' in window) { <span id="L36254" class="LineNr">36254 </span> <span class="subxS1Comment"># . save registers</span> <span id="L36255" class="LineNr">36255 </span> 51/push-ecx <span id="L36256" class="LineNr">36256 </span> <span class="subxComment"># var lit?/ecx: boolean = literal-type?(a)</span> -<span id="L36257" class="LineNr">36257 </span> (simple-mu-type? *(ebp+8) 0) <span class="subxComment"># literal => eax</span> +<span id="L36257" class="LineNr">36257 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> *(ebp+8) 0) <span class="subxComment"># literal => eax</span> <span id="L36258" class="LineNr">36258 </span> 89/<- %ecx 0/r32/eax <span id="L36259" class="LineNr">36259 </span> <span class="subxComment"># var float?/eax: int = float?(a)</span> -<span id="L36260" class="LineNr">36260 </span> (simple-mu-type? *(ebp+8) 0xf) <span class="subxComment"># => eax</span> +<span id="L36260" class="LineNr">36260 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> *(ebp+8) 0xf) <span class="subxComment"># => eax</span> <span id="L36261" class="LineNr">36261 </span> <span class="subxComment"># set bits for lit? and float?</span> <span id="L36262" class="LineNr">36262 </span> c1/shift 4/subop/left %ecx 1/imm8 <span id="L36263" class="LineNr">36263 </span> 09/or %eax 1/r32/ecx @@ -34721,12 +34721,12 @@ if ('onhashchange' in window) { <span id="L36346" class="LineNr">36346 </span> 81 7/subop/compare *esi 0/imm32/false <span class="subxComment"># Type-tree-is-atom</span> <span id="L36347" class="LineNr">36347 </span> 0f 85/jump-if-!= $mu-string-type?:return-false/disp32 <span id="L36348" class="LineNr">36348 </span> <span class="subxComment"># if a is not an addr, return false</span> -<span id="L36349" class="LineNr">36349 </span> (mu-addr-type? %esi) <span class="subxComment"># => eax</span> +<span id="L36349" class="LineNr">36349 </span> (<a href='mu.subx.html#L36293'>mu-addr-type?</a> %esi) <span class="subxComment"># => eax</span> <span id="L36350" class="LineNr">36350 </span> 3d/compare-eax-with 0/imm32/false <span id="L36351" class="LineNr">36351 </span> 0f 84/jump-if-= $mu-string-type?:end/disp32 <span class="subxComment"># eax changes var</span> <span id="L36352" class="LineNr">36352 </span> <span class="subxComment"># if a is not an array, return false</span> <span id="L36353" class="LineNr">36353 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(esi+0xc) *(esi+0x10)) <span class="subxComment"># Type-tree-right Type-tree-right => eax</span> -<span id="L36354" class="LineNr">36354 </span> (mu-array-type? %eax) <span class="subxComment"># => eax</span> +<span id="L36354" class="LineNr">36354 </span> (<a href='mu.subx.html#L36315'>mu-array-type?</a> %eax) <span class="subxComment"># => eax</span> <span id="L36355" class="LineNr">36355 </span> 3d/compare-eax-with 0/imm32/false <span id="L36356" class="LineNr">36356 </span> 74/jump-if-= $mu-string-type?:end/disp8 <span class="subxComment"># eax changes var</span> <span id="L36357" class="LineNr">36357 </span> <span class="subxComment"># var p/eax: (addr type-tree) = payload of a</span> @@ -34737,7 +34737,7 @@ if ('onhashchange' in window) { <span id="L36362" class="LineNr">36362 </span> 75/jump-if-!= $mu-string-type?:return-false/disp8 <span id="L36363" class="LineNr">36363 </span> <span class="subxComment"># return (p == byte)</span> <span id="L36364" class="LineNr">36364 </span> (<a href='120allocate.subx.html#L258'>lookup</a> *(eax+4) *(eax+8)) <span class="subxComment"># Type-tree-left Type-tree-left => eax</span> -<span id="L36365" class="LineNr">36365 </span> (simple-mu-type? %eax 8) <span class="subxComment"># byte => eax</span> +<span id="L36365" class="LineNr">36365 </span> (<a href='mu.subx.html#L36272'>simple-mu-type?</a> %eax 8) <span class="subxComment"># byte => eax</span> <span id="L36366" class="LineNr">36366 </span> eb/jump $mu-string-type?:end/disp8 <span id="L36367" class="LineNr">36367 </span><span class="Constant">$mu-string-type?:return-false</span>: <span id="L36368" class="LineNr">36368 </span> b8/copy-to-eax 0/imm32/false @@ -34870,8 +34870,8 @@ if ('onhashchange' in window) { <span id="L36495" class="LineNr">36495 </span> 8d/copy-address *(ebx+0x18) 0/r32/eax <span class="subxComment"># Primitive-subx-name</span> <span id="L36496" class="LineNr">36496 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"ff 0/subop/increment"</span> %eax) <span id="L36497" class="LineNr">36497 </span> <span class="subxComment"># convert</span> -<span id="L36498" class="LineNr">36498 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L36499" class="LineNr">36499 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L36498" class="LineNr">36498 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L36499" class="LineNr">36499 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L36500" class="LineNr">36500 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L36501" class="Folded">36501 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L36507" class="LineNr">36507 </span> <span class="subxComment"># check output</span> @@ -35011,8 +35011,8 @@ if ('onhashchange' in window) { <span id="L36641" class="LineNr">36641 </span> 8d/copy-address *(ebx+0x18) 0/r32/eax <span class="subxComment"># Primitive-subx-name</span> <span id="L36642" class="LineNr">36642 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"ff 0/subop/increment"</span> %eax) <span id="L36643" class="LineNr">36643 </span> <span class="subxComment"># convert</span> -<span id="L36644" class="LineNr">36644 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L36645" class="LineNr">36645 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L36644" class="LineNr">36644 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L36645" class="LineNr">36645 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L36646" class="LineNr">36646 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L36647" class="Folded">36647 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L36653" class="LineNr">36653 </span> <span class="subxComment"># check output</span> @@ -35184,8 +35184,8 @@ if ('onhashchange' in window) { <span id="L36819" class="LineNr">36819 </span> 8d/copy-address *(ebx+0x18) 0/r32/eax <span class="subxComment"># Primitive-subx-name</span> <span id="L36820" class="LineNr">36820 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"ff 0/subop/increment"</span> %eax) <span id="L36821" class="LineNr">36821 </span> <span class="subxComment"># convert</span> -<span id="L36822" class="LineNr">36822 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L36823" class="LineNr">36823 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L36822" class="LineNr">36822 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L36823" class="LineNr">36823 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L36824" class="LineNr">36824 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L36825" class="Folded">36825 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L36831" class="LineNr">36831 </span> <span class="subxComment"># check output</span> @@ -35357,8 +35357,8 @@ if ('onhashchange' in window) { <span id="L36997" class="LineNr">36997 </span> 8d/copy-address *(ebx+0x18) 0/r32/eax <span class="subxComment"># Primitive-subx-name</span> <span id="L36998" class="LineNr">36998 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"ff 0/subop/increment"</span> %eax) <span id="L36999" class="LineNr">36999 </span> <span class="subxComment"># convert</span> -<span id="L37000" class="LineNr">37000 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37001" class="LineNr">37001 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37000" class="LineNr">37000 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37001" class="LineNr">37001 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37002" class="LineNr">37002 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37003" class="Folded">37003 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37009" class="LineNr">37009 </span> <span class="subxComment"># check output</span> @@ -35440,8 +35440,8 @@ if ('onhashchange' in window) { <span id="L37085" class="LineNr">37085 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37086" class="LineNr">37086 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"increment"</span> %eax) <span id="L37087" class="LineNr">37087 </span> <span class="subxComment"># convert</span> -<span id="L37088" class="LineNr">37088 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37089" class="LineNr">37089 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37088" class="LineNr">37088 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37089" class="LineNr">37089 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37090" class="LineNr">37090 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37091" class="Folded">37091 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37097" class="LineNr">37097 </span> <span class="subxComment"># check output</span> @@ -35546,8 +35546,8 @@ if ('onhashchange' in window) { <span id="L37196" class="LineNr">37196 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37197" class="LineNr">37197 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add"</span> %eax) <span id="L37198" class="LineNr">37198 </span> <span class="subxComment"># convert</span> -<span id="L37199" class="LineNr">37199 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37200" class="LineNr">37200 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37199" class="LineNr">37199 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37200" class="LineNr">37200 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37201" class="LineNr">37201 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37202" class="Folded">37202 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37208" class="LineNr">37208 </span> <span class="subxComment"># check output</span> @@ -35647,8 +35647,8 @@ if ('onhashchange' in window) { <span id="L37302" class="LineNr">37302 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37303" class="LineNr">37303 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add-to"</span> %eax) <span id="L37304" class="LineNr">37304 </span> <span class="subxComment"># convert</span> -<span id="L37305" class="LineNr">37305 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37306" class="LineNr">37306 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37305" class="LineNr">37305 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37306" class="LineNr">37306 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37307" class="LineNr">37307 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37308" class="Folded">37308 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37314" class="LineNr">37314 </span> <span class="subxComment"># check output</span> @@ -35749,8 +35749,8 @@ if ('onhashchange' in window) { <span id="L37409" class="LineNr">37409 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37410" class="LineNr">37410 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add"</span> %eax) <span id="L37411" class="LineNr">37411 </span> <span class="subxComment"># convert</span> -<span id="L37412" class="LineNr">37412 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37413" class="LineNr">37413 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37412" class="LineNr">37412 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37413" class="LineNr">37413 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37414" class="LineNr">37414 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37415" class="Folded">37415 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37421" class="LineNr">37421 </span> <span class="subxComment"># check output</span> @@ -35860,8 +35860,8 @@ if ('onhashchange' in window) { <span id="L37525" class="LineNr">37525 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37526" class="LineNr">37526 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add"</span> %eax) <span id="L37527" class="LineNr">37527 </span> <span class="subxComment"># convert</span> -<span id="L37528" class="LineNr">37528 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37529" class="LineNr">37529 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37528" class="LineNr">37528 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37529" class="LineNr">37529 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37530" class="LineNr">37530 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37531" class="Folded">37531 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37537" class="LineNr">37537 </span> <span class="subxComment"># check output</span> @@ -35971,8 +35971,8 @@ if ('onhashchange' in window) { <span id="L37641" class="LineNr">37641 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37642" class="LineNr">37642 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add"</span> %eax) <span id="L37643" class="LineNr">37643 </span> <span class="subxComment"># convert</span> -<span id="L37644" class="LineNr">37644 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37645" class="LineNr">37645 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37644" class="LineNr">37644 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37645" class="LineNr">37645 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37646" class="LineNr">37646 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37647" class="Folded">37647 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37653" class="LineNr">37653 </span> <span class="subxComment"># check output</span> @@ -36077,8 +36077,8 @@ if ('onhashchange' in window) { <span id="L37752" class="LineNr">37752 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37753" class="LineNr">37753 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"add-to"</span> %eax) <span id="L37754" class="LineNr">37754 </span> <span class="subxComment"># convert</span> -<span id="L37755" class="LineNr">37755 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37756" class="LineNr">37756 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37755" class="LineNr">37755 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37756" class="LineNr">37756 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37757" class="LineNr">37757 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37758" class="Folded">37758 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37764" class="LineNr">37764 </span> <span class="subxComment"># check output</span> @@ -36188,8 +36188,8 @@ if ('onhashchange' in window) { <span id="L37868" class="LineNr">37868 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37869" class="LineNr">37869 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"shift-left"</span> %eax) <span id="L37870" class="LineNr">37870 </span> <span class="subxComment"># convert</span> -<span id="L37871" class="LineNr">37871 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37872" class="LineNr">37872 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37871" class="LineNr">37871 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37872" class="LineNr">37872 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37873" class="LineNr">37873 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37874" class="Folded">37874 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37880" class="LineNr">37880 </span> <span class="subxComment"># check output</span> @@ -36294,8 +36294,8 @@ if ('onhashchange' in window) { <span id="L37979" class="LineNr">37979 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L37980" class="LineNr">37980 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"shift-left"</span> %eax) <span id="L37981" class="LineNr">37981 </span> <span class="subxComment"># convert</span> -<span id="L37982" class="LineNr">37982 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L37983" class="LineNr">37983 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L37982" class="LineNr">37982 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L37983" class="LineNr">37983 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L37984" class="LineNr">37984 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L37985" class="Folded">37985 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L37991" class="LineNr">37991 </span> <span class="subxComment"># check output</span> @@ -36399,8 +36399,8 @@ if ('onhashchange' in window) { <span id="L38089" class="LineNr">38089 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38090" class="LineNr">38090 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38091" class="LineNr">38091 </span> <span class="subxComment"># convert</span> -<span id="L38092" class="LineNr">38092 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38093" class="LineNr">38093 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38092" class="LineNr">38092 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38093" class="LineNr">38093 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38094" class="LineNr">38094 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38095" class="Folded">38095 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38101" class="LineNr">38101 </span> <span class="subxComment"># check output</span> @@ -36500,8 +36500,8 @@ if ('onhashchange' in window) { <span id="L38195" class="LineNr">38195 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38196" class="LineNr">38196 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38197" class="LineNr">38197 </span> <span class="subxComment"># convert</span> -<span id="L38198" class="LineNr">38198 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38199" class="LineNr">38199 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38198" class="LineNr">38198 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38199" class="LineNr">38199 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38200" class="LineNr">38200 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38201" class="Folded">38201 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38207" class="LineNr">38207 </span> <span class="subxComment"># check output</span> @@ -36601,8 +36601,8 @@ if ('onhashchange' in window) { <span id="L38301" class="LineNr">38301 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38302" class="LineNr">38302 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38303" class="LineNr">38303 </span> <span class="subxComment"># convert</span> -<span id="L38304" class="LineNr">38304 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38305" class="LineNr">38305 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38304" class="LineNr">38304 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38305" class="LineNr">38305 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38306" class="LineNr">38306 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38307" class="Folded">38307 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38313" class="LineNr">38313 </span> <span class="subxComment"># check output</span> @@ -36707,8 +36707,8 @@ if ('onhashchange' in window) { <span id="L38412" class="LineNr">38412 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38413" class="LineNr">38413 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38414" class="LineNr">38414 </span> <span class="subxComment"># convert</span> -<span id="L38415" class="LineNr">38415 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38416" class="LineNr">38416 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38415" class="LineNr">38415 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38416" class="LineNr">38416 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38417" class="LineNr">38417 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38418" class="Folded">38418 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38424" class="LineNr">38424 </span> <span class="subxComment"># check output</span> @@ -36817,8 +36817,8 @@ if ('onhashchange' in window) { <span id="L38527" class="LineNr">38527 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38528" class="LineNr">38528 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38529" class="LineNr">38529 </span> <span class="subxComment"># convert</span> -<span id="L38530" class="LineNr">38530 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38531" class="LineNr">38531 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38530" class="LineNr">38530 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38531" class="LineNr">38531 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38532" class="LineNr">38532 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38533" class="Folded">38533 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38539" class="LineNr">38539 </span> <span class="subxComment"># check output</span> @@ -36927,8 +36927,8 @@ if ('onhashchange' in window) { <span id="L38642" class="LineNr">38642 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38643" class="LineNr">38643 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"compare"</span> %eax) <span id="L38644" class="LineNr">38644 </span> <span class="subxComment"># convert</span> -<span id="L38645" class="LineNr">38645 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38646" class="LineNr">38646 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar">Primitives</span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38645" class="LineNr">38645 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38646" class="LineNr">38646 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L30469'>Primitives</a></span> 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38647" class="LineNr">38647 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38648" class="Folded">38648 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38654" class="LineNr">38654 </span> <span class="subxComment"># check output</span> @@ -37010,8 +37010,8 @@ if ('onhashchange' in window) { <span id="L38730" class="LineNr">38730 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38731" class="LineNr">38731 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"f"</span> %eax) <span id="L38732" class="LineNr">38732 </span> <span class="subxComment"># convert</span> -<span id="L38733" class="LineNr">38733 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38734" class="LineNr">38734 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi 0 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38733" class="LineNr">38733 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38734" class="LineNr">38734 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi 0 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38735" class="LineNr">38735 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38736" class="Folded">38736 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38742" class="LineNr">38742 </span> <span class="subxComment"># check output</span> @@ -37082,8 +37082,8 @@ if ('onhashchange' in window) { <span id="L38807" class="LineNr">38807 </span> 8d/copy-address *(esi+4) 0/r32/eax <span class="subxComment"># Stmt1-operation</span> <span id="L38808" class="LineNr">38808 </span> (<a href='120allocate.subx.html#L720'>copy-array</a> <span class="SpecialChar"><a href='120allocate.subx.html#L27'>Heap</a></span> <span class="Constant">"f"</span> %eax) <span id="L38809" class="LineNr">38809 </span> <span class="subxComment"># convert</span> -<span id="L38810" class="LineNr">38810 </span> c7 0/subop/copy *<span class="SpecialChar">Curr-block-depth</span> 0/imm32 -<span id="L38811" class="LineNr">38811 </span> (emit-subx-stmt <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi 0 %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) +<span id="L38810" class="LineNr">38810 </span> c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L15739'>Curr-block-depth</a></span> 0/imm32 +<span id="L38811" class="LineNr">38811 </span> (<a href='mu.subx.html#L28680'>emit-subx-stmt</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a> %esi 0 %ebx 0 <span class="SpecialChar"><a href='116write-buffered.subx.html#L209'>Stderr</a></span> 0) <span id="L38812" class="LineNr">38812 </span> (<a href='115write-byte.subx.html#L81'>flush</a> <a href='115write-byte.subx.html#L425'>_test-output-buffered-file</a>) <span id="L38813" class="Folded">38813 </span><span class="Folded">+-- 6 lines: #? # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span> <span id="L38819" class="LineNr">38819 </span> <span class="subxComment"># check output</span> diff --git a/html/linux/pack.subx.html b/html/linux/pack.subx.html index 33c70ce5..7d95becc 100644 --- a/html/linux/pack.subx.html +++ b/html/linux/pack.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } --> diff --git a/html/linux/parse-int.mu.html b/html/linux/parse-int.mu.html index 28fd0b54..0fe96dd9 100644 --- a/html/linux/parse-int.mu.html +++ b/html/linux/parse-int.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdi { color: #87ffd7; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -64,10 +70,10 @@ if ('onhashchange' in window) { <span id="L6" class="LineNr"> 6 </span><span class="muComment"># $ echo $?</span> <span id="L7" class="LineNr"> 7 </span><span class="muComment"># 123</span> <span id="L8" class="LineNr"> 8 </span> -<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='parse-int.mu.html#L9'>main</a></span> _args: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='parse-int.mu.html#L9'>main</a></span> _args: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L10" class="LineNr">10 </span> <span class="muComment"># if no args, print a message and exit</span> -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> args/<span class="Constant">esi</span>: (addr array addr array byte) <span class="Special"><-</span> copy _args -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length args +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> args/<span class="muRegEsi">esi</span>: (addr array addr array byte) <span class="Special"><-</span> copy _args +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length args <span id="L13" class="LineNr">13 </span> compare n, <span class="Constant">1</span> <span id="L14" class="LineNr">14 </span> <span class="Delimiter">{</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">break-if-></span> @@ -75,28 +81,28 @@ if ('onhashchange' in window) { <span id="L17" class="LineNr">17 </span> <span class="PreProc">return</span> <span class="Constant">1</span> <span id="L18" class="LineNr">18 </span> <span class="Delimiter">}</span> <span id="L19" class="LineNr">19 </span> <span class="muComment"># otherwise parse the first arg as an integer</span> -<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> in/<span class="Constant">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> -<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='parse-int.mu.html#L25'>parse-int</a> *in +<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> in/<span class="muRegEcx">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> +<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='parse-int.mu.html#L25'>parse-int</a> *in <span id="L22" class="LineNr">22 </span> <span class="PreProc">return</span> out <span id="L23" class="LineNr">23 </span><span class="Delimiter">}</span> <span id="L24" class="LineNr">24 </span> -<span id="L25" class="LineNr">25 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='parse-int.mu.html#L25'>parse-int</a></span> _in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _in -<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> len/<span class="Constant">edx</span>: int <span class="Special"><-</span> length in -<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L25" class="LineNr">25 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='parse-int.mu.html#L25'>parse-int</a></span> _in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _in +<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> len/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> length in +<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> i/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> result/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L30" class="LineNr">30 </span> <span class="Delimiter">{</span> <span id="L31" class="LineNr">31 </span> compare i, len <span id="L32" class="LineNr">32 </span> <span class="PreProc">break-if->=</span> <span id="L33" class="LineNr">33 </span> <span class="muComment"># result *= 10</span> -<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> ten/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> +<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> ten/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0xa</span> <span id="L35" class="LineNr">35 </span> result <span class="Special"><-</span> multiply ten <span id="L36" class="LineNr">36 </span> <span class="muComment"># c = in[i]</span> -<span id="L37" class="LineNr">37 </span> <span class="PreProc">var</span> tmp/<span class="Constant">ebx</span>: (addr byte) <span class="Special"><-</span> index in, i -<span id="L38" class="LineNr">38 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> copy-byte *tmp +<span id="L37" class="LineNr">37 </span> <span class="PreProc">var</span> tmp/<span class="muRegEbx">ebx</span>: (addr byte) <span class="Special"><-</span> index in, i +<span id="L38" class="LineNr">38 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> copy-byte *tmp <span id="L39" class="LineNr">39 </span> <span class="muComment">#</span> -<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c -<span id="L41" class="LineNr">41 </span> <span class="PreProc">var</span> digit/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> g +<span id="L40" class="LineNr">40 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L41" class="LineNr">41 </span> <span class="PreProc">var</span> digit/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='126write-int-decimal.subx.html#L405'>to-decimal-digit</a> g <span id="L42" class="LineNr">42 </span> result <span class="Special"><-</span> add digit <span id="L43" class="LineNr">43 </span> i <span class="Special"><-</span> increment <span id="L44" class="LineNr">44 </span> <span class="PreProc">loop</span> diff --git a/html/linux/print-file.mu.html b/html/linux/print-file.mu.html index 34cb9c14..299df4b0 100644 --- a/html/linux/print-file.mu.html +++ b/html/linux/print-file.mu.html @@ -7,18 +7,22 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -65,9 +69,9 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ ./a.elf x</span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># abc</span> <span id="L9" class="LineNr"> 9 </span> -<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='print-file.mu.html#L10'>main</a></span> _args: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy _args -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length args +<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='print-file.mu.html#L10'>main</a></span> _args: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy _args +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length args <span id="L13" class="LineNr">13 </span> compare n, <span class="Constant">1</span> <span id="L14" class="LineNr">14 </span> <span class="Delimiter">{</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">break-if-></span> @@ -76,19 +80,19 @@ if ('onhashchange' in window) { <span id="L18" class="LineNr">18 </span> <span class="Delimiter">}</span> <span id="L19" class="LineNr">19 </span> <span class="Delimiter">{</span> <span id="L20" class="LineNr">20 </span> <span class="PreProc">break-if-<=</span> -<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> filename/<span class="Constant">edx</span>: (addr addr array byte) <span class="Special"><-</span> index args <span class="Constant">1</span> +<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> filename/<span class="muRegEdx">edx</span>: (addr addr array byte) <span class="Special"><-</span> index args <span class="Constant">1</span> <span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> in: (handle buffered-file) <span id="L23" class="LineNr">23 </span> <span class="Delimiter">{</span> -<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> addr-in/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address in +<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> addr-in/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> address in <span id="L25" class="LineNr">25 </span> <a href='306files.subx.html#L9'>open</a> *filename, <span class="Constant">0</span>/read-only, addr-in <span id="L26" class="LineNr">26 </span> <span class="Delimiter">}</span> -<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> _in-addr/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> in -<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> in-addr/<span class="Constant">ecx</span>: (addr buffered-file) <span class="Special"><-</span> copy _in-addr +<span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> _in-addr/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> in +<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> in-addr/<span class="muRegEcx">ecx</span>: (addr buffered-file) <span class="Special"><-</span> copy _in-addr <span id="L29" class="LineNr">29 </span> <span class="Delimiter">{</span> -<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in-addr +<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in-addr <span id="L31" class="LineNr">31 </span> compare c, <span class="Constant">0xffffffff</span>/end-of-file <span id="L32" class="LineNr">32 </span> <span class="PreProc">break-if-=</span> -<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy c +<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy c <span id="L34" class="LineNr">34 </span> <a href='405screen.mu.html#L214'>print-grapheme</a> <span class="Constant">0</span>/screen, g <span id="L35" class="LineNr">35 </span> <span class="PreProc">loop</span> <span id="L36" class="LineNr">36 </span> <span class="Delimiter">}</span> diff --git a/html/linux/random.subx.html b/html/linux/random.subx.html index f7bfd3fd..1ba5ffd3 100644 --- a/html/linux/random.subx.html +++ b/html/linux/random.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } @@ -20,7 +20,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } --> </style> diff --git a/html/linux/raytracing/1.mu.html b/html/linux/raytracing/1.mu.html index ce86778a..aff9e488 100644 --- a/html/linux/raytracing/1.mu.html +++ b/html/linux/raytracing/1.mu.html @@ -7,18 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -65,13 +68,13 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ ./translate raytracing/1.mu</span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># $ ./a.elf > 1.ppm</span> <span id="L9" class="LineNr"> 9 </span> -<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L10" class="LineNr">10 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L11" class="LineNr">11 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"P3\n256 256\n255\n"</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> j/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> j/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span id="L13" class="LineNr">13 </span> <span class="Delimiter">{</span> <span id="L14" class="LineNr">14 </span> compare j, <span class="Constant">0</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">break-if-<</span> -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L17" class="LineNr">17 </span> <span class="Delimiter">{</span> <span id="L18" class="LineNr">18 </span> compare i, <span class="Constant">0xff</span> <span id="L19" class="LineNr">19 </span> <span class="PreProc">break-if-></span> diff --git a/html/linux/raytracing/2.mu.html b/html/linux/raytracing/2.mu.html index bd7d94fb..ff2f9576 100644 --- a/html/linux/raytracing/2.mu.html +++ b/html/linux/raytracing/2.mu.html @@ -7,20 +7,25 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } -.CommentedCode { color: #8a8a8a; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } --> </style> @@ -65,18 +70,18 @@ if ('onhashchange' in window) { <span id="L6" class="LineNr"> 6 </span><span class="muComment"># $ ./translate raytracing/2.mu</span> <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ ./a.elf > 2.ppm</span> <span id="L8" class="LineNr"> 8 </span> -<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L10" class="LineNr">10 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"P3\n256 256\n255\n"</span> -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> _four/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">4</span> +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> _four/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">4</span> <span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> four/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> convert _four <span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> one-fourth/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> reciprocal four -<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> max/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> +<span id="L14" class="LineNr">14 </span> <span class="PreProc">var</span> max/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> image-size/<span class="Constant">xmm2</span>: float <span class="Special"><-</span> convert max -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> j/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> j/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span id="L17" class="LineNr">17 </span> <span class="Delimiter">{</span> <span id="L18" class="LineNr">18 </span> compare j, <span class="Constant">0</span> <span id="L19" class="LineNr">19 </span> <span class="PreProc">break-if-<</span> -<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L21" class="LineNr">21 </span> <span class="Delimiter">{</span> <span id="L22" class="LineNr">22 </span> compare i, <span class="Constant">0xff</span> <span id="L23" class="LineNr">23 </span> <span class="PreProc">break-if-></span> @@ -84,7 +89,7 @@ if ('onhashchange' in window) { <span id="L25" class="LineNr">25 </span> <span class="muComment"># compute r</span> <span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> tmp/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert i <span id="L27" class="LineNr">27 </span> tmp <span class="Special"><-</span> divide image-size -<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> r-addr/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r +<span id="L28" class="LineNr">28 </span> <span class="PreProc">var</span> r-addr/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r <span id="L29" class="LineNr">29 </span> copy-to *r-addr, tmp <span id="L30" class="LineNr">30 </span><span class="CommentedCode">#? var tmp2/ebx: int <- reinterpret *r-addr</span> <span id="L31" class="LineNr">31 </span><span class="CommentedCode">#? print-int32-hex 0, tmp2</span> @@ -92,13 +97,13 @@ if ('onhashchange' in window) { <span id="L33" class="LineNr">33 </span> <span class="muComment"># compute g</span> <span id="L34" class="LineNr">34 </span> tmp <span class="Special"><-</span> convert j <span id="L35" class="LineNr">35 </span> tmp <span class="Special"><-</span> divide image-size -<span id="L36" class="LineNr">36 </span> <span class="PreProc">var</span> g-addr/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, g +<span id="L36" class="LineNr">36 </span> <span class="PreProc">var</span> g-addr/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, g <span id="L37" class="LineNr">37 </span> copy-to *g-addr, tmp <span id="L38" class="LineNr">38 </span> <span class="muComment"># compute b</span> -<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> b-addr/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, b +<span id="L39" class="LineNr">39 </span> <span class="PreProc">var</span> b-addr/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, b <span id="L40" class="LineNr">40 </span> copy-to *b-addr, one-fourth <span id="L41" class="LineNr">41 </span> <span class="muComment"># emit</span> -<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> c-addr/<span class="Constant">edx</span>: (addr rgb) <span class="Special"><-</span> address c +<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> c-addr/<span class="muRegEdx">edx</span>: (addr rgb) <span class="Special"><-</span> address c <span id="L43" class="LineNr">43 </span> print-rgb <span class="Constant">0</span>, c-addr <span id="L44" class="LineNr">44 </span> i <span class="Special"><-</span> increment <span id="L45" class="LineNr">45 </span> <span class="PreProc">loop</span> @@ -118,14 +123,14 @@ if ('onhashchange' in window) { <span id="L59" class="LineNr">59 </span> <span id="L60" class="LineNr">60 </span><span class="muComment"># print translating to [0, 256)</span> <span id="L61" class="LineNr">61 </span><span class="PreProc">fn</span> <span class="muFunction">print-rgb</span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _c: (addr rgb) <span class="Delimiter">{</span> -<span id="L62" class="LineNr">62 </span> <span class="PreProc">var</span> c/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c -<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span class="muComment"># turns out 255 works just as well as 255.999, which is lucky because we don't have floating-point literals</span> +<span id="L62" class="LineNr">62 </span> <span class="PreProc">var</span> c/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c +<span id="L63" class="LineNr">63 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span class="muComment"># turns out 255 works just as well as 255.999, which is lucky because we don't have floating-point literals</span> <span id="L64" class="LineNr">64 </span> <span class="PreProc">var</span> xn/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> convert n <span id="L65" class="LineNr">65 </span> <span class="muComment"># print 255 * c->r</span> <span id="L66" class="LineNr">66 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy xn -<span id="L67" class="LineNr">67 </span> <span class="PreProc">var</span> src-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r +<span id="L67" class="LineNr">67 </span> <span class="PreProc">var</span> src-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r <span id="L68" class="LineNr">68 </span> result <span class="Special"><-</span> multiply *src-addr -<span id="L69" class="LineNr">69 </span> <span class="PreProc">var</span> result-int/<span class="Constant">edx</span>: int <span class="Special"><-</span> convert result +<span id="L69" class="LineNr">69 </span> <span class="PreProc">var</span> result-int/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> convert result <span id="L70" class="LineNr">70 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <a href='../405screen.mu.html#L9'>screen</a>, result-int <span id="L71" class="LineNr">71 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> <span id="L72" class="LineNr">72 </span> <span class="muComment"># print 255 * c->g</span> diff --git a/html/linux/raytracing/3.mu.html b/html/linux/raytracing/3.mu.html index 66c9a495..e479d4cb 100644 --- a/html/linux/raytracing/3.mu.html +++ b/html/linux/raytracing/3.mu.html @@ -7,23 +7,29 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } -.muS1Comment { color: #0000af; } -.muS2Comment { color: #8a8a8a; } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muS2Comment { color: #8a8a8a; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } +.muS1Comment { color: #0000af; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -68,25 +74,25 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ ./a.elf > 3.ppm</span> <span id="L8" class="LineNr"> 8 </span> <span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3.mu.html#L9'>ray-color</a></span> _in: (addr ray), _out: (addr rgb) <span class="Delimiter">{</span> -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr ray) <span class="Special"><-</span> copy _in -<span id="L11" class="LineNr"> 11 </span> <span class="PreProc">var</span> out/<span class="Constant">edi</span>: (addr rgb) <span class="Special"><-</span> copy _out -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> dir/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> in, dir +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr ray) <span class="Special"><-</span> copy _in +<span id="L11" class="LineNr"> 11 </span> <span class="PreProc">var</span> out/<span class="muRegEdi">edi</span>: (addr rgb) <span class="Special"><-</span> copy _out +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> dir/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> in, dir <span id="L13" class="LineNr"> 13 </span><span class="CommentedCode">#? print-string 0, "r.dir: "</span> <span id="L14" class="LineNr"> 14 </span><span class="CommentedCode">#? print-vec3 0, dir</span> <span id="L15" class="LineNr"> 15 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> unit-storage: vec3 -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> unit/<span class="Constant">ecx</span>: (addr vec3) <span class="Special"><-</span> address unit-storage +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> unit/<span class="muRegEcx">ecx</span>: (addr vec3) <span class="Special"><-</span> address unit-storage <span id="L18" class="LineNr"> 18 </span> vec3-unit dir, unit <span id="L19" class="LineNr"> 19 </span><span class="CommentedCode">#? print-string 0, "r.dir normalized: "</span> <span id="L20" class="LineNr"> 20 </span><span class="CommentedCode">#? print-vec3 0, unit</span> <span id="L21" class="LineNr"> 21 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> y-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> unit, y +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> y-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> unit, y <span id="L23" class="LineNr"> 23 </span> <span class="muComment"># t = (dir.y + 1.0) / 2.0</span> <span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> t/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *y-addr -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> one/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> one/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> one-f/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> convert one <span id="L27" class="LineNr"> 27 </span> t <span class="Special"><-</span> add one-f -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> two/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">2</span> +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> two/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">2</span> <span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> two-f/<span class="Constant">xmm2</span>: float <span class="Special"><-</span> convert two <span id="L30" class="LineNr"> 30 </span> t <span class="Special"><-</span> divide two-f <span id="L31" class="LineNr"> 31 </span><span class="CommentedCode">#? print-string 0, "t: "</span> @@ -94,7 +100,7 @@ if ('onhashchange' in window) { <span id="L33" class="LineNr"> 33 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L34" class="LineNr"> 34 </span> <span class="muComment"># whitening = (1.0 - t) * white</span> <span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> whitening-storage: rgb -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> whitening/<span class="Constant">ecx</span>: (addr rgb) <span class="Special"><-</span> address whitening-storage +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> whitening/<span class="muRegEcx">ecx</span>: (addr rgb) <span class="Special"><-</span> address whitening-storage <span id="L37" class="LineNr"> 37 </span> <a href='3.mu.html#L302'>rgb-white</a> whitening <span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> one-minus-t/<span class="Constant">xmm3</span>: float <span class="Special"><-</span> copy one-f <span id="L39" class="LineNr"> 39 </span> one-minus-t <span class="Special"><-</span> subtract t @@ -103,7 +109,7 @@ if ('onhashchange' in window) { <span id="L42" class="LineNr"> 42 </span><span class="CommentedCode">#? print-rgb-raw 0, whitening</span> <span id="L43" class="LineNr"> 43 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L44" class="LineNr"> 44 </span> <span class="muComment"># out = t * (0.5, 0.7, 1.0)</span> -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, r +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, r <span id="L46" class="LineNr"> 46 </span> <a href='../408float.mu.html#L3'>fill-in-rational</a> dest, <span class="Constant">5</span>, <span class="Constant">0xa</span> <span id="L47" class="LineNr"> 47 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, g <span id="L48" class="LineNr"> 48 </span> <a href='../408float.mu.html#L3'>fill-in-rational</a> dest, <span class="Constant">7</span>, <span class="Constant">0xa</span> @@ -120,13 +126,13 @@ if ('onhashchange' in window) { <span id="L59" class="LineNr"> 59 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L60" class="LineNr"> 60 </span><span class="Delimiter">}</span> <span id="L61" class="LineNr"> 61 </span> -<span id="L62" class="LineNr"> 62 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L62" class="LineNr"> 62 </span><span class="PreProc">fn</span> <span class="muFunction">main</span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L63" class="LineNr"> 63 </span> <span id="L64" class="LineNr"> 64 </span> <span class="muComment"># image</span> <span id="L65" class="LineNr"> 65 </span> <span class="muComment"># width = 400</span> <span id="L66" class="LineNr"> 66 </span> <span class="muComment"># height = 400 * 9/16 = 225</span> <span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> aspect: float -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> aspect-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> address aspect +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> aspect-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> address aspect <span id="L69" class="LineNr"> 69 </span> <a href='../408float.mu.html#L3'>fill-in-rational</a> aspect-addr, <span class="Constant">0x10</span>, <span class="Constant">9</span> <span class="muComment"># 16/9</span> <span id="L70" class="LineNr"> 70 </span><span class="CommentedCode">#? print-string 0, "aspect ratio: "</span> <span id="L71" class="LineNr"> 71 </span><span class="CommentedCode">#? print-float-hex 0, aspect</span> @@ -140,7 +146,7 @@ if ('onhashchange' in window) { <span id="L79" class="LineNr"> 79 </span> <span class="muComment"># camera</span> <span id="L80" class="LineNr"> 80 </span> <span id="L81" class="LineNr"> 81 </span> <span class="muComment"># viewport-height = 2.0</span> -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">2</span> +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">2</span> <span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> two-f/<span class="Constant">xmm4</span>: float <span class="Special"><-</span> convert tmp <span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> viewport-height/<span class="Constant">xmm7</span>: float <span class="Special"><-</span> copy two-f <span id="L85" class="LineNr"> 85 </span><span class="CommentedCode">#? print-string 0, "viewport height: "</span> @@ -172,25 +178,25 @@ if ('onhashchange' in window) { <span id="L111" class="LineNr">111 </span> <span id="L112" class="LineNr">112 </span> <span class="muComment"># origin = point3(0, 0, 0)</span> <span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> origin-storage: vec3 -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> origin/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> address origin-storage +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> origin/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> address origin-storage <span id="L115" class="LineNr">115 </span> <span class="muComment"># horizontal = vec3(viewport-width, 0, 0)</span> <span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> horizontal-storage: vec3 -<span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> horizontal-storage, x +<span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> horizontal-storage, x <span id="L118" class="LineNr">118 </span> copy-to *dest, viewport-width -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> horizontal/<span class="Constant">ebx</span>: (addr vec3) <span class="Special"><-</span> address horizontal-storage +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> horizontal/<span class="muRegEbx">ebx</span>: (addr vec3) <span class="Special"><-</span> address horizontal-storage <span id="L120" class="LineNr">120 </span> <span class="muComment"># vertical = vec3(0, viewport-height, 0)</span> <span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> vertical-storage: vec3 <span id="L122" class="LineNr">122 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> vertical-storage, y <span id="L123" class="LineNr">123 </span> copy-to *dest, viewport-height -<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> vertical/<span class="Constant">edx</span>: (addr vec3) <span class="Special"><-</span> address vertical-storage +<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> vertical/<span class="muRegEdx">edx</span>: (addr vec3) <span class="Special"><-</span> address vertical-storage <span id="L125" class="LineNr">125 </span> <span class="muComment"># lower-left-corner = origin - horizontal/2 - vertical/2 - vec3(0, 0, focal-length)</span> <span id="L126" class="LineNr">126 </span> <span class="muS1Comment"># . lower-left-corner = origin</span> <span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> lower-left-corner-storage: vec3 -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> lower-left-corner/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> address lower-left-corner-storage +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> lower-left-corner/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> address lower-left-corner-storage <span id="L129" class="LineNr">129 </span> copy-object origin, lower-left-corner <span id="L130" class="LineNr">130 </span> <span class="muS1Comment"># . lower-left-corner -= horizontal/2</span> <span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> tmp2: vec3 -<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> tmp2-addr/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp2 +<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> tmp2-addr/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp2 <span id="L133" class="LineNr">133 </span> copy-object horizontal, tmp2-addr <span id="L134" class="LineNr">134 </span> vec3-scale-down tmp2-addr, two-f <span id="L135" class="LineNr">135 </span> vec3-subtract-from lower-left-corner, tmp2-addr @@ -199,7 +205,7 @@ if ('onhashchange' in window) { <span id="L138" class="LineNr">138 </span> vec3-scale-down tmp2-addr, two-f <span id="L139" class="LineNr">139 </span> vec3-subtract-from lower-left-corner, tmp2-addr <span id="L140" class="LineNr">140 </span> <span class="muS1Comment"># . lower-left-corner -= vec3(0, 0, focal-length)</span> -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> dest2/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> lower-left-corner, z +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> dest2/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> lower-left-corner, z <span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> tmp3/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest2 <span id="L143" class="LineNr">143 </span> tmp3 <span class="Special"><-</span> subtract focal-length <span id="L144" class="LineNr">144 </span> copy-to *dest2, tmp3 @@ -214,16 +220,16 @@ if ('onhashchange' in window) { <span id="L153" class="LineNr">153 </span> <span class="muComment"># vertical (edx)</span> <span id="L154" class="LineNr">154 </span> <span class="muComment"># floating-point registers are all free</span> <span id="L155" class="LineNr">155 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"P3\n400 225\n255\n"</span> <span class="muComment"># 225 = image height</span> -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0x18f</span> <span class="muComment"># image width - 1</span> +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0x18f</span> <span class="muComment"># image width - 1</span> <span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> image-width-1/<span class="Constant">xmm7</span>: float <span class="Special"><-</span> convert tmp <span id="L158" class="LineNr">158 </span> tmp <span class="Special"><-</span> copy <span class="Constant">0xe0</span> <span class="muComment"># image height - 1</span> <span id="L159" class="LineNr">159 </span> <span class="PreProc">var</span> image-height-1/<span class="Constant">xmm6</span>: float <span class="Special"><-</span> convert tmp <span id="L160" class="LineNr">160 </span> <span class="muComment">#</span> -<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> j/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xe0</span> <span class="muComment"># 224</span> +<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> j/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0xe0</span> <span class="muComment"># 224</span> <span id="L162" class="LineNr">162 </span> <span class="Delimiter">{</span> <span id="L163" class="LineNr">163 </span> compare j, <span class="Constant">0</span> <span id="L164" class="LineNr">164 </span> <span class="PreProc">break-if-<</span> -<span id="L165" class="LineNr">165 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L165" class="LineNr">165 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L166" class="LineNr">166 </span> <span class="Delimiter">{</span> <span id="L167" class="LineNr">167 </span> compare i, <span class="Constant">0x190</span> <span class="muComment"># 400 = image width</span> <span id="L168" class="LineNr">168 </span> <span class="PreProc">break-if->=</span> @@ -243,15 +249,15 @@ if ('onhashchange' in window) { <span id="L182" class="LineNr">182 </span> <span class="muS2Comment"># . . so we'll just spill them in a block</span> <span id="L183" class="LineNr">183 </span> <span class="Delimiter">{</span> <span id="L184" class="LineNr">184 </span> <span class="muS1Comment"># . r.orig = origin</span> -<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> r/<span class="Constant">eax</span>: (addr ray) <span class="Special"><-</span> address r-storage -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> r, orig +<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> r/<span class="muRegEax">eax</span>: (addr ray) <span class="Special"><-</span> address r-storage +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> r, orig <span id="L187" class="LineNr">187 </span> copy-object origin, dest <span id="L188" class="LineNr">188 </span> <span class="muS1Comment"># . r.dir = lower-left-corner</span> <span id="L189" class="LineNr">189 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> r, dir <span id="L190" class="LineNr">190 </span> copy-object lower-left-corner, dest <span id="L191" class="LineNr">191 </span> <span class="muS1Comment"># . r.dir += horizontal*u</span> <span id="L192" class="LineNr">192 </span> <span class="PreProc">var</span> tmp-vec3: vec3 -<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-vec3 +<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-vec3 <span id="L194" class="LineNr">194 </span> copy-object horizontal, tmp <span id="L195" class="LineNr">195 </span> vec3-scale-up tmp, u <span id="L196" class="LineNr">196 </span> vec3-add-to dest, tmp @@ -267,9 +273,9 @@ if ('onhashchange' in window) { <span id="L206" class="LineNr">206 </span> <span class="Delimiter">}</span> <span id="L207" class="LineNr">207 </span> <span class="muComment"># pixel-color = ray-color(r)</span> <span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> c-storage: rgb -<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> c/<span class="Constant">ecx</span>: (addr rgb) <span class="Special"><-</span> address c-storage +<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> c/<span class="muRegEcx">ecx</span>: (addr rgb) <span class="Special"><-</span> address c-storage <span id="L210" class="LineNr">210 </span> <span class="Delimiter">{</span> -<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> r/<span class="Constant">eax</span>: (addr ray) <span class="Special"><-</span> address r-storage +<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> r/<span class="muRegEax">eax</span>: (addr ray) <span class="Special"><-</span> address r-storage <span id="L212" class="LineNr">212 </span> <a href='3.mu.html#L9'>ray-color</a> r, c <span id="L213" class="LineNr">213 </span> <span class="muComment"># write color</span> <span id="L214" class="LineNr">214 </span> print-rgb <span class="Constant">0</span>, c @@ -294,16 +300,16 @@ if ('onhashchange' in window) { <span id="L233" class="LineNr">233 </span><span class="muComment"># We immediately normalize the direction vector so we don't have to keep doing</span> <span id="L234" class="LineNr">234 </span><span class="muComment"># so.</span> <span id="L235" class="LineNr">235 </span><span class="PreProc">fn</span> <span class="muFunction">initialize-ray</span> _self: (addr ray), o: (addr vec3), d: (addr vec3) <span class="Delimiter">{</span> -<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr ray) <span class="Special"><-</span> copy _self -<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig +<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr ray) <span class="Special"><-</span> copy _self +<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig <span id="L238" class="LineNr">238 </span> copy-object o, dest <span id="L239" class="LineNr">239 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir <span id="L240" class="LineNr">240 </span> vec3-unit d, dest <span id="L241" class="LineNr">241 </span><span class="Delimiter">}</span> <span id="L242" class="LineNr">242 </span> <span id="L243" class="LineNr">243 </span><span class="PreProc">fn</span> <span class="muFunction">ray-at</span> _self: (addr ray), t: float, out: (addr vec3) <span class="Delimiter">{</span> -<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr ray) <span class="Special"><-</span> copy _self -<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir +<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr ray) <span class="Special"><-</span> copy _self +<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir <span id="L246" class="LineNr">246 </span> copy-object src, out <span id="L247" class="LineNr">247 </span> vec3-scale-up out, t <span id="L248" class="LineNr">248 </span> src <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig @@ -319,15 +325,15 @@ if ('onhashchange' in window) { <span id="L258" class="LineNr">258 </span> <span id="L259" class="LineNr">259 </span><span class="muComment"># print translating to [0, 256)</span> <span id="L260" class="LineNr">260 </span><span class="PreProc">fn</span> <span class="muFunction">print-rgb</span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _c: (addr rgb) <span class="Delimiter">{</span> -<span id="L261" class="LineNr">261 </span> <span class="PreProc">var</span> c/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c +<span id="L261" class="LineNr">261 </span> <span class="PreProc">var</span> c/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c <span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> xn: float -<span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> xn-addr/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> address xn +<span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> xn-addr/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> address xn <span id="L264" class="LineNr">264 </span> <a href='../408float.mu.html#L3'>fill-in-rational</a> xn-addr, <span class="Constant">0x3e7ff</span>, <span class="Constant">0x3e8</span> <span class="muComment"># 255999 / 1000</span> <span id="L265" class="LineNr">265 </span> <span class="muComment"># print 255.999 * c->r</span> <span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy xn -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> src-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> src-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r <span id="L268" class="LineNr">268 </span> result <span class="Special"><-</span> multiply *src-addr -<span id="L269" class="LineNr">269 </span> <span class="PreProc">var</span> result-int/<span class="Constant">edx</span>: int <span class="Special"><-</span> truncate result +<span id="L269" class="LineNr">269 </span> <span class="PreProc">var</span> result-int/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> truncate result <span id="L270" class="LineNr">270 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <a href='../405screen.mu.html#L9'>screen</a>, result-int <span id="L271" class="LineNr">271 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> <span id="L272" class="LineNr">272 </span> <span class="muComment"># print 255.999 * c->g</span> @@ -347,9 +353,9 @@ if ('onhashchange' in window) { <span id="L286" class="LineNr">286 </span><span class="Delimiter">}</span> <span id="L287" class="LineNr">287 </span> <span id="L288" class="LineNr">288 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3.mu.html#L288'>print-rgb-raw</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _v: (addr rgb) <span class="Delimiter">{</span> -<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _v +<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _v <span id="L290" class="LineNr">290 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">"("</span> -<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, r +<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, r <span id="L292" class="LineNr">292 </span> <a href='../409print-float-hex.mu.html#L118'>print-float-hex</a> <a href='../405screen.mu.html#L9'>screen</a>, *tmp <span id="L293" class="LineNr">293 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">", "</span> <span id="L294" class="LineNr">294 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, g @@ -361,10 +367,10 @@ if ('onhashchange' in window) { <span id="L300" class="LineNr">300 </span><span class="Delimiter">}</span> <span id="L301" class="LineNr">301 </span> <span id="L302" class="LineNr">302 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3.mu.html#L302'>rgb-white</a></span> _c: (addr rgb) <span class="Delimiter">{</span> -<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> c/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c -<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> one/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> c/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c +<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> one/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L305" class="LineNr">305 </span> <span class="PreProc">var</span> one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert one -<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r +<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r <span id="L307" class="LineNr">307 </span> copy-to *dest, one-f <span id="L308" class="LineNr">308 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, g <span id="L309" class="LineNr">309 </span> copy-to *dest, one-f @@ -373,11 +379,11 @@ if ('onhashchange' in window) { <span id="L312" class="LineNr">312 </span><span class="Delimiter">}</span> <span id="L313" class="LineNr">313 </span> <span id="L314" class="LineNr">314 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3.mu.html#L314'>rgb-add-to</a></span> _c1: (addr rgb), _c2: (addr rgb) <span class="Delimiter">{</span> -<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> c1/<span class="Constant">edi</span>: (addr rgb) <span class="Special"><-</span> copy _c1 -<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> c2/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c2 +<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> c1/<span class="muRegEdi">edi</span>: (addr rgb) <span class="Special"><-</span> copy _c1 +<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> c2/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c2 <span id="L317" class="LineNr">317 </span> <span class="muComment"># c1.r += c2.r</span> -<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> arg1/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c1, r -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> arg2/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c2, r +<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> arg1/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c1, r +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> arg2/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c2, r <span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *arg1 <span id="L321" class="LineNr">321 </span> result <span class="Special"><-</span> add *arg2 <span id="L322" class="LineNr">322 </span> copy-to *arg1, result @@ -396,9 +402,9 @@ if ('onhashchange' in window) { <span id="L335" class="LineNr">335 </span><span class="Delimiter">}</span> <span id="L336" class="LineNr">336 </span> <span id="L337" class="LineNr">337 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='3.mu.html#L337'>rgb-scale-up</a></span> _c1: (addr rgb), f: float <span class="Delimiter">{</span> -<span id="L338" class="LineNr">338 </span> <span class="PreProc">var</span> c1/<span class="Constant">edi</span>: (addr rgb) <span class="Special"><-</span> copy _c1 +<span id="L338" class="LineNr">338 </span> <span class="PreProc">var</span> c1/<span class="muRegEdi">edi</span>: (addr rgb) <span class="Special"><-</span> copy _c1 <span id="L339" class="LineNr">339 </span> <span class="muComment"># c1.r *= f</span> -<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c1, r +<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c1, r <span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest <span id="L342" class="LineNr">342 </span> result <span class="Special"><-</span> multiply f <span id="L343" class="LineNr">343 </span> copy-to *dest, result @@ -421,9 +427,9 @@ if ('onhashchange' in window) { <span id="L360" class="LineNr">360 </span><span class="Delimiter">}</span> <span id="L361" class="LineNr">361 </span> <span id="L362" class="LineNr">362 </span><span class="PreProc">fn</span> <span class="muFunction">print-vec3</span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _v: (addr vec3) <span class="Delimiter">{</span> -<span id="L363" class="LineNr">363 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L363" class="LineNr">363 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L364" class="LineNr">364 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">"("</span> -<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L366" class="LineNr">366 </span> <a href='../409print-float-hex.mu.html#L118'>print-float-hex</a> <a href='../405screen.mu.html#L9'>screen</a>, *tmp <span id="L367" class="LineNr">367 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">", "</span> <span id="L368" class="LineNr">368 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, y @@ -435,11 +441,11 @@ if ('onhashchange' in window) { <span id="L374" class="LineNr">374 </span><span class="Delimiter">}</span> <span id="L375" class="LineNr">375 </span> <span id="L376" class="LineNr">376 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-add-to</span> _v1: (addr vec3), _v2: (addr vec3) <span class="Delimiter">{</span> -<span id="L377" class="LineNr">377 </span> <span class="PreProc">var</span> v1/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v1 -<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> v2/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v2 +<span id="L377" class="LineNr">377 </span> <span class="PreProc">var</span> v1/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v1 +<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> v2/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v2 <span id="L379" class="LineNr">379 </span> <span class="muComment"># v1.x += v2.x</span> -<span id="L380" class="LineNr">380 </span> <span class="PreProc">var</span> arg1/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v1, x -<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> arg2/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v2, x +<span id="L380" class="LineNr">380 </span> <span class="PreProc">var</span> arg1/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v1, x +<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> arg2/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v2, x <span id="L382" class="LineNr">382 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *arg1 <span id="L383" class="LineNr">383 </span> result <span class="Special"><-</span> add *arg2 <span id="L384" class="LineNr">384 </span> copy-to *arg1, result @@ -459,22 +465,22 @@ if ('onhashchange' in window) { <span id="L398" class="LineNr">398 </span> <span id="L399" class="LineNr">399 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-subtract-from</span> v1: (addr vec3), v2: (addr vec3) <span class="Delimiter">{</span> <span id="L400" class="LineNr">400 </span> <span class="PreProc">var</span> tmp-storage: vec3 -<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-storage +<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-storage <span id="L402" class="LineNr">402 </span> copy-object v2, tmp <span id="L403" class="LineNr">403 </span> vec3-negate tmp <span id="L404" class="LineNr">404 </span> vec3-add-to v1, tmp <span id="L405" class="LineNr">405 </span><span class="Delimiter">}</span> <span id="L406" class="LineNr">406 </span> <span id="L407" class="LineNr">407 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-negate</span> v: (addr vec3) <span class="Delimiter">{</span> -<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> negative-one/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> +<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> negative-one/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> <span id="L409" class="LineNr">409 </span> <span class="PreProc">var</span> negative-one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert negative-one <span id="L410" class="LineNr">410 </span> vec3-scale-up v, negative-one-f <span id="L411" class="LineNr">411 </span><span class="Delimiter">}</span> <span id="L412" class="LineNr">412 </span> <span id="L413" class="LineNr">413 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-scale-up</span> _v: (addr vec3), f: float <span class="Delimiter">{</span> -<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> v/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> v/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L415" class="LineNr">415 </span> <span class="muComment"># v.x *= f</span> -<span id="L416" class="LineNr">416 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L416" class="LineNr">416 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L417" class="LineNr">417 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest <span id="L418" class="LineNr">418 </span> result <span class="Special"><-</span> multiply f <span id="L419" class="LineNr">419 </span> copy-to *dest, result @@ -491,9 +497,9 @@ if ('onhashchange' in window) { <span id="L430" class="LineNr">430 </span><span class="Delimiter">}</span> <span id="L431" class="LineNr">431 </span> <span id="L432" class="LineNr">432 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-scale-down</span> _v: (addr vec3), f: float <span class="Delimiter">{</span> -<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> v/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> v/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L434" class="LineNr">434 </span> <span class="muComment"># v.x /= f</span> -<span id="L435" class="LineNr">435 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L435" class="LineNr">435 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L436" class="LineNr">436 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest <span id="L437" class="LineNr">437 </span> result <span class="Special"><-</span> divide f <span id="L438" class="LineNr">438 </span> copy-to *dest, result @@ -525,9 +531,9 @@ if ('onhashchange' in window) { <span id="L464" class="LineNr">464 </span><span class="Delimiter">}</span> <span id="L465" class="LineNr">465 </span> <span id="L466" class="LineNr">466 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-length-squared</span> _v: (addr vec3)<span class="PreProc"> -> </span>_/<span class="Constant">xmm0</span>: float <span class="Delimiter">{</span> -<span id="L467" class="LineNr">467 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L467" class="LineNr">467 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L468" class="LineNr">468 </span> <span class="muComment"># result = v.x * v.x</span> -<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L470" class="LineNr">470 </span> <span class="PreProc">var</span> tmp/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> copy *src <span id="L471" class="LineNr">471 </span> tmp <span class="Special"><-</span> multiply tmp <span id="L472" class="LineNr">472 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy tmp diff --git a/html/linux/raytracing/color.mu.html b/html/linux/raytracing/color.mu.html index 131615dc..a646459e 100644 --- a/html/linux/raytracing/color.mu.html +++ b/html/linux/raytracing/color.mu.html @@ -7,17 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEcx { color: #af875f; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -65,15 +69,15 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># print translating to [0, 256)</span> <span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction">print-rgb</span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _c: (addr rgb) <span class="Delimiter">{</span> -<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> c/<span class="Constant">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c +<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> c/<span class="muRegEsi">esi</span>: (addr rgb) <span class="Special"><-</span> copy _c <span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> xn: float -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> xn-addr/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> address xn +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> xn-addr/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> address xn <span id="L13" class="LineNr">13 </span> <a href='../408float.mu.html#L3'>fill-in-rational</a> xn-addr, <span class="Constant">0x3e7ff</span>, <span class="Constant">0x3e8</span> <span class="muComment"># 255999 / 1000</span> <span id="L14" class="LineNr">14 </span> <span class="muComment"># print 255.999 * c->r</span> <span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy xn -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> src-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> src-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> c, r <span id="L17" class="LineNr">17 </span> result <span class="Special"><-</span> multiply *src-addr -<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> result-int/<span class="Constant">edx</span>: int <span class="Special"><-</span> truncate result +<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> result-int/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> truncate result <span id="L19" class="LineNr">19 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <a href='../405screen.mu.html#L9'>screen</a>, result-int <span id="L20" class="LineNr">20 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> <span id="L21" class="LineNr">21 </span> <span class="muComment"># print 255.999 * c->g</span> diff --git a/html/linux/raytracing/ray.mu.html b/html/linux/raytracing/ray.mu.html index 823b78ca..65e762eb 100644 --- a/html/linux/raytracing/ray.mu.html +++ b/html/linux/raytracing/ray.mu.html @@ -7,17 +7,18 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .Special { color: #ff6060; } .LineNr { } -.Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } @@ -65,16 +66,16 @@ if ('onhashchange' in window) { <span id="L7" class="LineNr"> 7 </span><span class="muComment"># We immediately normalize the direction vector so we don't have to keep doing</span> <span id="L8" class="LineNr"> 8 </span><span class="muComment"># so.</span> <span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction">initialize-ray</span> _self: (addr ray), o: (addr vec3), d: (addr vec3) <span class="Delimiter">{</span> -<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr ray) <span class="Special"><-</span> copy _self -<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig +<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr ray) <span class="Special"><-</span> copy _self +<span id="L11" class="LineNr">11 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig <span id="L12" class="LineNr">12 </span> copy-object o, dest <span id="L13" class="LineNr">13 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir <span id="L14" class="LineNr">14 </span> vec3-unit d, dest <span id="L15" class="LineNr">15 </span><span class="Delimiter">}</span> <span id="L16" class="LineNr">16 </span> <span id="L17" class="LineNr">17 </span><span class="PreProc">fn</span> <span class="muFunction">ray-at</span> _self: (addr ray), t: float, out: (addr vec3) <span class="Delimiter">{</span> -<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr ray) <span class="Special"><-</span> copy _self -<span id="L19" class="LineNr">19 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir +<span id="L18" class="LineNr">18 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr ray) <span class="Special"><-</span> copy _self +<span id="L19" class="LineNr">19 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, dir <span id="L20" class="LineNr">20 </span> copy-object src, out <span id="L21" class="LineNr">21 </span> vec3-scale-up out, t <span id="L22" class="LineNr">22 </span> src <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, orig diff --git a/html/linux/raytracing/vec.mu.html b/html/linux/raytracing/vec.mu.html index f0ef54c3..e7a65eaa 100644 --- a/html/linux/raytracing/vec.mu.html +++ b/html/linux/raytracing/vec.mu.html @@ -7,20 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } +.muRegEdi { color: #87ffd7; } .LineNr { } -.CommentedCode { color: #8a8a8a; } -.Constant { color: #008787; } .muComment { color: #005faf; } +.Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.CommentedCode { color: #8a8a8a; } .Special { color: #ff6060; } --> </style> @@ -64,9 +68,9 @@ if ('onhashchange' in window) { <span id="L5" class="LineNr"> 5 </span><span class="Delimiter">}</span> <span id="L6" class="LineNr"> 6 </span> <span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction">print-vec3</span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _v: (addr vec3) <span class="Delimiter">{</span> -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L9" class="LineNr"> 9 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">"("</span> -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L11" class="LineNr"> 11 </span> <a href='../409print-float-hex.mu.html#L118'>print-float-hex</a> <a href='../405screen.mu.html#L9'>screen</a>, *tmp <span id="L12" class="LineNr"> 12 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">", "</span> <span id="L13" class="LineNr"> 13 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, y @@ -78,11 +82,11 @@ if ('onhashchange' in window) { <span id="L19" class="LineNr"> 19 </span><span class="Delimiter">}</span> <span id="L20" class="LineNr"> 20 </span> <span id="L21" class="LineNr"> 21 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-add-to</span> _v1: (addr vec3), _v2: (addr vec3) <span class="Delimiter">{</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> v1/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v1 -<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> v2/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v2 +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> v1/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v1 +<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> v2/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v2 <span id="L24" class="LineNr"> 24 </span> <span class="muComment"># v1.x += v2.x</span> -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> arg1/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v1, x -<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> arg2/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v2, x +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> arg1/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v1, x +<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> arg2/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v2, x <span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *arg1 <span id="L28" class="LineNr"> 28 </span> result <span class="Special"><-</span> add *arg2 <span id="L29" class="LineNr"> 29 </span> copy-to *arg1, result @@ -102,22 +106,22 @@ if ('onhashchange' in window) { <span id="L43" class="LineNr"> 43 </span> <span id="L44" class="LineNr"> 44 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-subtract-from</span> v1: (addr vec3), v2: (addr vec3) <span class="Delimiter">{</span> <span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> tmp-storage: vec3 -<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-storage +<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr vec3) <span class="Special"><-</span> address tmp-storage <span id="L47" class="LineNr"> 47 </span> copy-object v2, tmp <span id="L48" class="LineNr"> 48 </span> vec3-negate tmp <span id="L49" class="LineNr"> 49 </span> vec3-add-to v1, tmp <span id="L50" class="LineNr"> 50 </span><span class="Delimiter">}</span> <span id="L51" class="LineNr"> 51 </span> <span id="L52" class="LineNr"> 52 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-negate</span> v: (addr vec3) <span class="Delimiter">{</span> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> negative-one/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> negative-one/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> <span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> negative-one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert negative-one <span id="L55" class="LineNr"> 55 </span> vec3-scale-up v, negative-one-f <span id="L56" class="LineNr"> 56 </span><span class="Delimiter">}</span> <span id="L57" class="LineNr"> 57 </span> <span id="L58" class="LineNr"> 58 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-scale-up</span> _v: (addr vec3), f: float <span class="Delimiter">{</span> -<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> v/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> v/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L60" class="LineNr"> 60 </span> <span class="muComment"># v.x *= f</span> -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest <span id="L63" class="LineNr"> 63 </span> result <span class="Special"><-</span> multiply f <span id="L64" class="LineNr"> 64 </span> copy-to *dest, result @@ -134,9 +138,9 @@ if ('onhashchange' in window) { <span id="L75" class="LineNr"> 75 </span><span class="Delimiter">}</span> <span id="L76" class="LineNr"> 76 </span> <span id="L77" class="LineNr"> 77 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-scale-down</span> _v: (addr vec3), f: float <span class="Delimiter">{</span> -<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> v/<span class="Constant">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> v/<span class="muRegEdi">edi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L79" class="LineNr"> 79 </span> <span class="muComment"># v.x /= f</span> -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy *dest <span id="L82" class="LineNr"> 82 </span> result <span class="Special"><-</span> divide f <span id="L83" class="LineNr"> 83 </span> copy-to *dest, result @@ -168,9 +172,9 @@ if ('onhashchange' in window) { <span id="L109" class="LineNr">109 </span><span class="Delimiter">}</span> <span id="L110" class="LineNr">110 </span> <span id="L111" class="LineNr">111 </span><span class="PreProc">fn</span> <span class="muFunction">vec3-length-squared</span> _v: (addr vec3)<span class="PreProc"> -> </span>_/<span class="Constant">xmm0</span>: float <span class="Delimiter">{</span> -<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v +<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr vec3) <span class="Special"><-</span> copy _v <span id="L113" class="LineNr">113 </span> <span class="muComment"># result = v.x * v.x</span> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, x <span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> tmp/<span class="Constant">xmm1</span>: float <span class="Special"><-</span> copy *src <span id="L116" class="LineNr">116 </span> tmp <span class="Special"><-</span> multiply tmp <span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> result/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy tmp diff --git a/html/linux/rpn.mu.html b/html/linux/rpn.mu.html index ee6cee6d..e55dc8a3 100644 --- a/html/linux/rpn.mu.html +++ b/html/linux/rpn.mu.html @@ -7,18 +7,24 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdi { color: #87ffd7; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -84,9 +90,9 @@ if ('onhashchange' in window) { <span id="L26" class="LineNr"> 26 </span><span class="muComment">#</span> <span id="L27" class="LineNr"> 27 </span><span class="muComment"># Error handling is non-existent. This is just a prototype.</span> <span id="L28" class="LineNr"> 28 </span> -<span id="L29" class="LineNr"> 29 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L29'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L29" class="LineNr"> 29 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L29'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> in-storage: (stream byte <span class="Constant">0x100</span>) -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-storage +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-storage <span id="L32" class="LineNr"> 32 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"press ctrl-c or ctrl-d to exit\n"</span> <span id="L33" class="LineNr"> 33 </span> <span class="muComment"># read-eval-print loop</span> <span id="L34" class="LineNr"> 34 </span> <span class="Delimiter">{</span> @@ -95,11 +101,11 @@ if ('onhashchange' in window) { <span id="L37" class="LineNr"> 37 </span> <span class="muComment"># read line</span> <span id="L38" class="LineNr"> 38 </span> <a href='106stream.subx.html#L17'>clear-stream</a> in <span id="L39" class="LineNr"> 39 </span> <a href='305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> in -<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> in +<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='309stream.subx.html#L6'>stream-empty?</a> in <span id="L41" class="LineNr"> 41 </span> compare done?, <span class="Constant">0</span> <span id="L42" class="LineNr"> 42 </span> <span class="PreProc">break-if-!=</span> <span id="L43" class="LineNr"> 43 </span> <span class="muComment"># parse and eval</span> -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L59'>simplify</a> in +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L59'>simplify</a> in <span id="L45" class="LineNr"> 45 </span> <span class="muComment"># print</span> <span id="L46" class="LineNr"> 46 </span> <a href='405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>/screen, out <span id="L47" class="LineNr"> 47 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"\n"</span> @@ -114,94 +120,94 @@ if ('onhashchange' in window) { <span id="L56" class="LineNr"> 56 </span> <a href='203stack.subx.html#L338'>top</a>: int <span id="L57" class="LineNr"> 57 </span><span class="Delimiter">}</span> <span id="L58" class="LineNr"> 58 </span> -<span id="L59" class="LineNr"> 59 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L59'>simplify</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L59" class="LineNr"> 59 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L59'>simplify</a></span> in: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> word-storage: slice -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> word/<span class="Constant">ecx</span>: (addr slice) <span class="Special"><-</span> address word-storage +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> word/<span class="muRegEcx">ecx</span>: (addr slice) <span class="Special"><-</span> address word-storage <span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> stack-storage: <a href='rpn.mu.html#L54'>int-stack</a> -<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> stack/<span class="Constant">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> address stack-storage +<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> stack/<span class="muRegEsi">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> address stack-storage <span id="L64" class="LineNr"> 64 </span> <a href='rpn.mu.html#L113'>initialize-int-stack</a> stack, <span class="Constant">0x10</span> <span id="L65" class="LineNr"> 65 </span> $simplify:word-loop: <span class="Delimiter">{</span> <span id="L66" class="LineNr"> 66 </span> <a href='127next-word.subx.html#L11'>next-word</a> in, word -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L9'>slice-empty?</a> word +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L9'>slice-empty?</a> word <span id="L68" class="LineNr"> 68 </span> compare done?, <span class="Constant">0</span> <span id="L69" class="LineNr"> 69 </span> <span class="PreProc">break-if-!=</span> <span id="L70" class="LineNr"> 70 </span> <span class="muComment"># if word is an operator, perform it</span> <span id="L71" class="LineNr"> 71 </span> <span class="Delimiter">{</span> -<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> add?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"+"</span> +<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> add?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"+"</span> <span id="L73" class="LineNr"> 73 </span> compare add?, <span class="Constant">0</span> <span id="L74" class="LineNr"> 74 </span> <span class="PreProc">break-if-=</span> -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> _b/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> b/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _b -<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> _b/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> b/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _b +<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack <span id="L78" class="LineNr"> 78 </span> a <span class="Special"><-</span> add b <span id="L79" class="LineNr"> 79 </span> <a href='rpn.mu.html#L121'>push-int-stack</a> stack, a <span id="L80" class="LineNr"> 80 </span> <span class="PreProc">loop</span> $simplify:word-loop <span id="L81" class="LineNr"> 81 </span> <span class="Delimiter">}</span> <span id="L82" class="LineNr"> 82 </span> <span class="Delimiter">{</span> -<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> sub?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"-"</span> +<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> sub?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"-"</span> <span id="L84" class="LineNr"> 84 </span> compare sub?, <span class="Constant">0</span> <span id="L85" class="LineNr"> 85 </span> <span class="PreProc">break-if-=</span> -<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> _b/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> b/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _b -<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> _b/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> b/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _b +<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack <span id="L89" class="LineNr"> 89 </span> a <span class="Special"><-</span> subtract b <span id="L90" class="LineNr"> 90 </span> <a href='rpn.mu.html#L121'>push-int-stack</a> stack, a <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">loop</span> $simplify:word-loop <span id="L92" class="LineNr"> 92 </span> <span class="Delimiter">}</span> <span id="L93" class="LineNr"> 93 </span> <span class="Delimiter">{</span> -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> mul?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"*"</span> +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> mul?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='123slice.subx.html#L120'>slice-equal?</a> word, <span class="Constant">"*"</span> <span id="L95" class="LineNr"> 95 </span> compare mul?, <span class="Constant">0</span> <span id="L96" class="LineNr"> 96 </span> <span class="PreProc">break-if-=</span> -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> _b/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> b/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _b -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> _b/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> b/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _b +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack <span id="L100" class="LineNr">100 </span> a <span class="Special"><-</span> multiply b <span id="L101" class="LineNr">101 </span> <a href='rpn.mu.html#L121'>push-int-stack</a> stack, a <span id="L102" class="LineNr">102 </span> <span class="PreProc">loop</span> $simplify:word-loop <span id="L103" class="LineNr">103 </span> <span class="Delimiter">}</span> <span id="L104" class="LineNr">104 </span> <span class="muComment"># otherwise it's an int</span> -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> word +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='311decimal-int.subx.html#L4'>parse-decimal-int-from-slice</a> word <span id="L106" class="LineNr">106 </span> <a href='rpn.mu.html#L121'>push-int-stack</a> stack, n <span id="L107" class="LineNr">107 </span> <span class="PreProc">loop</span> <span id="L108" class="LineNr">108 </span> <span class="Delimiter">}</span> -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> result/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='rpn.mu.html#L133'>pop-int-stack</a> stack <span id="L110" class="LineNr">110 </span> <span class="PreProc">return</span> result <span id="L111" class="LineNr">111 </span><span class="Delimiter">}</span> <span id="L112" class="LineNr">112 </span> <span id="L113" class="LineNr">113 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L113'>initialize-int-stack</a></span> _self: (addr <a href='rpn.mu.html#L54'>int-stack</a>), n: int <span class="Delimiter">{</span> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self -<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> d/<span class="Constant">edi</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self +<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> d/<span class="muRegEdi">edi</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data <span id="L116" class="LineNr">116 </span> populate d, n -<span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> +<span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> <span id="L118" class="LineNr">118 </span> copy-to *top, <span class="Constant">0</span> <span id="L119" class="LineNr">119 </span><span class="Delimiter">}</span> <span id="L120" class="LineNr">120 </span> <span id="L121" class="LineNr">121 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L121'>push-int-stack</a></span> _self: (addr <a href='rpn.mu.html#L54'>int-stack</a>), _val: int <span class="Delimiter">{</span> -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self -<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> -<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data -<span id="L125" class="LineNr">125 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array int) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> index data, <a href='203stack.subx.html#L338'>top</a> -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _val +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self +<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> +<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data +<span id="L125" class="LineNr">125 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array int) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> index data, <a href='203stack.subx.html#L338'>top</a> +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _val <span id="L129" class="LineNr">129 </span> copy-to *dest-addr, val <span id="L130" class="LineNr">130 </span> add-to *top-addr, <span class="Constant">1</span> <span id="L131" class="LineNr">131 </span><span class="Delimiter">}</span> <span id="L132" class="LineNr">132 </span> -<span id="L133" class="LineNr">133 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L133'>pop-int-stack</a></span> _self: (addr <a href='rpn.mu.html#L54'>int-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> +<span id="L133" class="LineNr">133 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L133'>pop-int-stack</a></span> _self: (addr <a href='rpn.mu.html#L54'>int-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='rpn.mu.html#L54'>int-stack</a>) <span class="Special"><-</span> copy _self +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, <a href='203stack.subx.html#L338'>top</a> <span id="L136" class="LineNr">136 </span> <span class="Delimiter">{</span> <span id="L137" class="LineNr">137 </span> compare *top-addr, <span class="Constant">0</span> <span id="L138" class="LineNr">138 </span> <span class="PreProc">break-if-></span> <span id="L139" class="LineNr">139 </span> <span class="PreProc">return</span> <span class="Constant">0</span> <span id="L140" class="LineNr">140 </span> <span class="Delimiter">}</span> <span id="L141" class="LineNr">141 </span> subtract-from *top-addr, <span class="Constant">1</span> -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array int) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> index data, <a href='203stack.subx.html#L338'>top</a> -<span id="L146" class="LineNr">146 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *result-addr +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array int) <span class="Special"><-</span> <a href='131table.subx.html#L26'>get</a> self, data +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array int) <span class="Special"><-</span> <a href='120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <a href='203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> index data, <a href='203stack.subx.html#L338'>top</a> +<span id="L146" class="LineNr">146 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *result-addr <span id="L147" class="LineNr">147 </span> <span class="PreProc">return</span> val <span id="L148" class="LineNr">148 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/sigils.subx.html b/html/linux/sigils.subx.html index 25ea9012..5e25ba69 100644 --- a/html/linux/sigils.subx.html +++ b/html/linux/sigils.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } --> diff --git a/html/linux/stack_array.subx.html b/html/linux/stack_array.subx.html index cbadf326..52d86d56 100644 --- a/html/linux/stack_array.subx.html +++ b/html/linux/stack_array.subx.html @@ -7,17 +7,17 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } .subxS1Comment { color: #0000af; } .LineNr { } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .SpecialChar { color: #d70000; } .Constant { color: #008787; } .CommentedCode { color: #8a8a8a; } diff --git a/html/linux/subx-params.subx.html b/html/linux/subx-params.subx.html index de7998fe..135b923d 100644 --- a/html/linux/subx-params.subx.html +++ b/html/linux/subx-params.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxComment { color: #005faf; } diff --git a/html/linux/survey_baremetal.subx.html b/html/linux/survey_baremetal.subx.html index c35811d7..974c5d13 100644 --- a/html/linux/survey_baremetal.subx.html +++ b/html/linux/survey_baremetal.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } diff --git a/html/linux/survey_elf.subx.html b/html/linux/survey_elf.subx.html index d8add4b5..e694c706 100644 --- a/html/linux/survey_elf.subx.html +++ b/html/linux/survey_elf.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -22,7 +22,7 @@ a { color:inherit; } .Constant { color: #008787; } .subxTest { color: #5f8700; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .CommentedCode { color: #8a8a8a; } .subxFunction { color: #af5f00; text-decoration: underline; } .Folded { color: #080808; background-color: #949494; } diff --git a/html/linux/tests.subx.html b/html/linux/tests.subx.html index 16e9861f..5561608b 100644 --- a/html/linux/tests.subx.html +++ b/html/linux/tests.subx.html @@ -7,11 +7,11 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .subxH1Comment { color: #005faf; text-decoration: underline; } @@ -21,7 +21,7 @@ a { color:inherit; } .LineNr { } .Constant { color: #008787; } .SpecialChar { color: #d70000; } -.Normal { color: #000000; background-color: #a8a8a8; padding-bottom: 1px; } +.Normal { color: #000000; background-color: #eeeeee; padding-bottom: 1px; } .subxFunction { color: #af5f00; text-decoration: underline; } --> </style> diff --git a/html/linux/texture.mu.html b/html/linux/texture.mu.html index f3aa6013..67d70efa 100644 --- a/html/linux/texture.mu.html +++ b/html/linux/texture.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } .Delimiter { color: #c000c0; } -.CommentedCode { color: #8a8a8a; } -.Constant { color: #008787; } .muFunction { color: #af5f00; text-decoration: underline; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -65,27 +71,27 @@ if ('onhashchange' in window) { <span id="L6" class="LineNr"> 6 </span><span class="muComment"># $ ./translate texture.mu</span> <span id="L7" class="LineNr"> 7 </span><span class="muComment"># $ ./a.elf > a.ppm</span> <span id="L8" class="LineNr"> 8 </span> -<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='texture.mu.html#L9'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> +<span id="L9" class="LineNr"> 9 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='texture.mu.html#L9'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> <span id="L10" class="LineNr">10 </span><span class="CommentedCode">#? var width/esi: int <- copy 0x190 # 400</span> <span id="L11" class="LineNr">11 </span><span class="CommentedCode">#? var height/edi: int <- copy 0xe1 # 225; aspect ratio 16:9</span> -<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> width/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> -<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> height/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> +<span id="L12" class="LineNr">12 </span> <span class="PreProc">var</span> width/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> +<span id="L13" class="LineNr">13 </span> <span class="PreProc">var</span> height/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0xff</span> <span id="L14" class="LineNr">14 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"P3\n"</span> <span id="L15" class="LineNr">15 </span> <a href='405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>/screen, width <span id="L16" class="LineNr">16 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">" "</span> <span id="L17" class="LineNr">17 </span> <a href='405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>/screen, height <span id="L18" class="LineNr">18 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"\n"</span> <span id="L19" class="LineNr">19 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"255\n"</span> <span class="muComment"># color depth</span> -<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L20" class="LineNr">20 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L21" class="LineNr">21 </span> <span class="Delimiter">{</span> <span id="L22" class="LineNr">22 </span> compare row, height <span id="L23" class="LineNr">23 </span> <span class="PreProc">break-if->=</span> -<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L25" class="LineNr">25 </span> <span class="Delimiter">{</span> <span id="L26" class="LineNr">26 </span> compare col, width <span id="L27" class="LineNr">27 </span> <span class="PreProc">break-if->=</span> <span id="L28" class="LineNr">28 </span> <span class="muComment"># r</span> -<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy col +<span id="L29" class="LineNr">29 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy col <span id="L30" class="LineNr">30 </span> tmp <span class="Special"><-</span> multiply row <span id="L31" class="LineNr">31 </span> tmp <span class="Special"><-</span> and <span class="Constant">0x7f</span> <span id="L32" class="LineNr">32 </span> tmp <span class="Special"><-</span> add <span class="Constant">0x80</span> diff --git a/html/linux/tile/box.mu.html b/html/linux/tile/box.mu.html index a019d47b..312b33d1 100644 --- a/html/linux/tile/box.mu.html +++ b/html/linux/tile/box.mu.html @@ -7,17 +7,20 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } .LineNr { } .Constant { color: #008787; } .muComment { color: #005faf; } +.muRegEcx { color: #af875f; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } @@ -68,8 +71,8 @@ if ('onhashchange' in window) { <span id="L10" class="LineNr"> 10 </span><span class="Delimiter">}</span> <span id="L11" class="LineNr"> 11 </span> <span id="L12" class="LineNr"> 12 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='box.mu.html#L12'>draw-hatching</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row1: int, col1: int, row2: int, col2: int <span class="Delimiter">{</span> -<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy col1 -<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> r1/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy row1 +<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy col1 +<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> r1/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy row1 <span id="L15" class="LineNr"> 15 </span> r1 <span class="Special"><-</span> increment <span id="L16" class="LineNr"> 16 </span> c <span class="Special"><-</span> add <span class="Constant">2</span> <span id="L17" class="LineNr"> 17 </span> <span class="Delimiter">{</span> @@ -82,7 +85,7 @@ if ('onhashchange' in window) { <span id="L24" class="LineNr"> 24 </span><span class="Delimiter">}</span> <span id="L25" class="LineNr"> 25 </span> <span id="L26" class="LineNr"> 26 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='box.mu.html#L26'>draw-horizontal-line</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, col1: int, col2: int <span class="Delimiter">{</span> -<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> col/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy col1 +<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> col/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy col1 <span id="L28" class="LineNr"> 28 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col <span id="L29" class="LineNr"> 29 </span> <span class="Delimiter">{</span> <span id="L30" class="LineNr"> 30 </span> compare col, col2 @@ -94,7 +97,7 @@ if ('onhashchange' in window) { <span id="L36" class="LineNr"> 36 </span><span class="Delimiter">}</span> <span id="L37" class="LineNr"> 37 </span> <span id="L38" class="LineNr"> 38 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='box.mu.html#L38'>draw-vertical-line</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row1: int, row2: int, col: int <span class="Delimiter">{</span> -<span id="L39" class="LineNr"> 39 </span> <span class="PreProc">var</span> row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy row1 +<span id="L39" class="LineNr"> 39 </span> <span class="PreProc">var</span> row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy row1 <span id="L40" class="LineNr"> 40 </span> <span class="Delimiter">{</span> <span id="L41" class="LineNr"> 41 </span> compare row, row2 <span id="L42" class="LineNr"> 42 </span> <span class="PreProc">break-if->=</span> @@ -127,11 +130,11 @@ if ('onhashchange' in window) { <span id="L69" class="LineNr"> 69 </span> <span id="L70" class="LineNr"> 70 </span><span class="muComment"># erase parts of screen the slow way</span> <span id="L71" class="LineNr"> 71 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='box.mu.html#L71'>clear-rect</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row1: int, col1: int, row2: int, col2: int <span class="Delimiter">{</span> -<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy row1 +<span id="L72" class="LineNr"> 72 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy row1 <span id="L73" class="LineNr"> 73 </span> <span class="Delimiter">{</span> <span id="L74" class="LineNr"> 74 </span> compare i, row2 <span id="L75" class="LineNr"> 75 </span> <span class="PreProc">break-if-></span> -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> j/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy col1 +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> j/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy col1 <span id="L77" class="LineNr"> 77 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, i, j <span id="L78" class="LineNr"> 78 </span> <span class="Delimiter">{</span> <span id="L79" class="LineNr"> 79 </span> compare j, col2 @@ -146,13 +149,13 @@ if ('onhashchange' in window) { <span id="L88" class="LineNr"> 88 </span><span class="Delimiter">}</span> <span id="L89" class="LineNr"> 89 </span> <span id="L90" class="LineNr"> 90 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='box.mu.html#L90'>clear-rect2</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row1: int, col1: int, w: int, h: int <span class="Delimiter">{</span> -<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> curr-row/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy row1 +<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> curr-row/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy row1 <span id="L93" class="LineNr"> 93 </span> <span class="Delimiter">{</span> <span id="L94" class="LineNr"> 94 </span> compare i, w <span id="L95" class="LineNr"> 95 </span> <span class="PreProc">break-if->=</span> <span id="L96" class="LineNr"> 96 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-row, col1 -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> j/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> j/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L98" class="LineNr"> 98 </span> <span class="Delimiter">{</span> <span id="L99" class="LineNr"> 99 </span> compare j, h <span id="L100" class="LineNr">100 </span> <span class="PreProc">break-if->=</span> diff --git a/html/linux/tile/data.mu.html b/html/linux/tile/data.mu.html index 989fd6de..2962d0bb 100644 --- a/html/linux/tile/data.mu.html +++ b/html/linux/tile/data.mu.html @@ -7,20 +7,25 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdi { color: #87ffd7; } +.muRegEcx { color: #af875f; } .LineNr { } .Constant { color: #008787; } +.muRegEdx { color: #878700; } .muFunction { color: #af5f00; text-decoration: underline; } -.CommentedCode { color: #8a8a8a; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .Special { color: #ff6060; } +.CommentedCode { color: #8a8a8a; } .muComment { color: #005faf; } --> </style> @@ -144,173 +149,173 @@ if ('onhashchange' in window) { <span id="L85" class="LineNr"> 85 </span><span class="Delimiter">}</span> <span id="L86" class="LineNr"> 86 </span> <span id="L87" class="LineNr"> 87 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L87'>initialize-sandbox</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Delimiter">{</span> -<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data <span id="L90" class="LineNr"> 90 </span> <a href='../120allocate.subx.html#L66'>allocate</a> line-ah -<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah <span id="L92" class="LineNr"> 92 </span> <a href='data.mu.html#L102'>initialize-line</a> <a href='data.mu.html#L34'>line</a> -<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L95" class="LineNr"> 95 </span> <a href='../120allocate.subx.html#L66'>allocate</a> cursor-call-path-ah -<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> <span id="L98" class="LineNr"> 98 </span> copy-object word-ah, dest <span id="L99" class="LineNr"> 99 </span><span class="Delimiter">}</span> <span id="L100" class="LineNr">100 </span> <span id="L101" class="LineNr">101 </span><span class="muComment"># initialize line with a single empty word</span> <span id="L102" class="LineNr">102 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L102'>initialize-line</a></span> _line: (addr <a href='data.mu.html#L34'>line</a>) <span class="Delimiter">{</span> -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data <span id="L105" class="LineNr">105 </span> <a href='../120allocate.subx.html#L66'>allocate</a> word-ah -<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah +<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah <span id="L107" class="LineNr">107 </span> <a href='word.mu.html#L1'>initialize-word</a> <a href='data.mu.html#L42'>word</a> <span id="L108" class="LineNr">108 </span><span class="Delimiter">}</span> <span id="L109" class="LineNr">109 </span> <span id="L110" class="LineNr">110 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L110'>create-primitive-functions</a></span> _self: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> <span id="L111" class="LineNr">111 </span> <span class="muComment"># x 2* = x 2 *</span> -<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self +<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self <span id="L113" class="LineNr">113 </span> <a href='../120allocate.subx.html#L66'>allocate</a> self -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self -<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self +<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L117" class="LineNr">117 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"2*"</span> -<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L119" class="LineNr">119 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L121" class="LineNr">121 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"x"</span> -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L123" class="LineNr">123 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L125" class="LineNr">125 </span> <a href='data.mu.html#L102'>initialize-line</a> body -<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> curr-word-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data +<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> curr-word-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L127" class="LineNr">127 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x 2 *"</span>, curr-word-ah -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L129" class="LineNr">129 </span> copy-object curr-word-ah, cursor-word-ah <span id="L130" class="LineNr">130 </span> <span class="muComment"># x 1+ = x 1 +</span> -<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next +<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next <span id="L132" class="LineNr">132 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L136" class="LineNr">136 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"1+"</span> -<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L137" class="LineNr">137 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L138" class="LineNr">138 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L140" class="LineNr">140 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"x"</span> -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L142" class="LineNr">142 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L144" class="LineNr">144 </span> <a href='data.mu.html#L102'>initialize-line</a> body <span id="L145" class="LineNr">145 </span> curr-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L146" class="LineNr">146 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x 1 +"</span>, curr-word-ah -<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L148" class="LineNr">148 </span> copy-object curr-word-ah, cursor-word-ah <span id="L149" class="LineNr">149 </span> <span class="muComment"># x 2+ = x 1+ 1+</span> -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next <span id="L151" class="LineNr">151 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next -<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next -<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L152" class="LineNr">152 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next +<span id="L153" class="LineNr">153 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L155" class="LineNr">155 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"2+"</span> -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L157" class="LineNr">157 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L159" class="LineNr">159 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"x"</span> -<span id="L160" class="LineNr">160 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L160" class="LineNr">160 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L161" class="LineNr">161 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L162" class="LineNr">162 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L162" class="LineNr">162 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L163" class="LineNr">163 </span> <a href='data.mu.html#L102'>initialize-line</a> body <span id="L164" class="LineNr">164 </span> curr-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L165" class="LineNr">165 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x 1+ 1+"</span>, curr-word-ah -<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L167" class="LineNr">167 </span> copy-object curr-word-ah, cursor-word-ah <span id="L168" class="LineNr">168 </span> <span class="muComment"># x square = x x *</span> -<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next +<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next <span id="L170" class="LineNr">170 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next -<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next -<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next +<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L174" class="LineNr">174 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"square"</span> -<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L176" class="LineNr">176 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L178" class="LineNr">178 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"x"</span> -<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L180" class="LineNr">180 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L182" class="LineNr">182 </span> <a href='data.mu.html#L102'>initialize-line</a> body <span id="L183" class="LineNr">183 </span> curr-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L184" class="LineNr">184 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x x *"</span>, curr-word-ah -<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L186" class="LineNr">186 </span> copy-object curr-word-ah, cursor-word-ah <span id="L187" class="LineNr">187 </span> <span class="muComment"># x 1- = x 1 -</span> -<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next +<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next <span id="L189" class="LineNr">189 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next -<span id="L190" class="LineNr">190 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next -<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L192" class="LineNr">192 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L190" class="LineNr">190 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next +<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L192" class="LineNr">192 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L193" class="LineNr">193 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"1-"</span> -<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L195" class="LineNr">195 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L196" class="LineNr">196 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L196" class="LineNr">196 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L197" class="LineNr">197 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"x"</span> -<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L199" class="LineNr">199 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L201" class="LineNr">201 </span> <a href='data.mu.html#L102'>initialize-line</a> body <span id="L202" class="LineNr">202 </span> curr-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L203" class="LineNr">203 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x 1 -"</span>, curr-word-ah -<span id="L204" class="LineNr">204 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L204" class="LineNr">204 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L205" class="LineNr">205 </span> copy-object curr-word-ah, cursor-word-ah <span id="L206" class="LineNr">206 </span> <span class="muComment"># x y sub = x y -</span> -<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next +<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, next <span id="L208" class="LineNr">208 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next -<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next -<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next +<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name <span id="L212" class="LineNr">212 </span> <a href='data.mu.html#L287'>populate-text-with</a> name-ah, <span class="Constant">"sub"</span> <span id="L213" class="LineNr">213 </span> <span class="muComment"># critical lesson: args are stored in reverse order</span> -<span id="L214" class="LineNr">214 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L214" class="LineNr">214 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L215" class="LineNr">215 </span> <a href='../120allocate.subx.html#L66'>allocate</a> args-ah -<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah +<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *args-ah <span id="L217" class="LineNr">217 </span> <a href='word.mu.html#L11'>initialize-word-with</a> args, <span class="Constant">"y"</span> -<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> next-arg-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> args, next +<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> next-arg-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> args, next <span id="L219" class="LineNr">219 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next-arg-ah -<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> next-arg/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-arg-ah +<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> next-arg/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-arg-ah <span id="L221" class="LineNr">221 </span> <a href='word.mu.html#L11'>initialize-word-with</a> next-arg, <span class="Constant">"x"</span> -<span id="L222" class="LineNr">222 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L222" class="LineNr">222 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body <span id="L223" class="LineNr">223 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L225" class="LineNr">225 </span> <a href='data.mu.html#L102'>initialize-line</a> body <span id="L226" class="LineNr">226 </span> curr-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L227" class="LineNr">227 </span> <a href='word.mu.html#L547'>parse-words</a> <span class="Constant">"x y -"</span>, curr-word-ah -<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word <span id="L229" class="LineNr">229 </span> copy-object curr-word-ah, cursor-word-ah <span id="L230" class="LineNr">230 </span><span class="Delimiter">}</span> <span id="L231" class="LineNr">231 </span> <span id="L232" class="LineNr">232 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L232'>function-body</a></span> functions: (addr handle <a href='data.mu.html#L21'>function</a>), _word: (addr handle <a href='data.mu.html#L42'>word</a>), out: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Delimiter">{</span> <span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> function-name-storage: (handle array byte) -<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> function-name-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address function-name-storage -<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _word -<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah -<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> gap-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L42'>word</a>, scalar-data -<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> gap/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *gap-ah +<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> function-name-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address function-name-storage +<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _word +<span id="L236" class="LineNr">236 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah +<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> gap-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L42'>word</a>, scalar-data +<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> gap/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *gap-ah <span id="L239" class="LineNr">239 </span> <a href='gap-buffer.mu.html#L30'>gap-buffer-to-string</a> gap, function-name-ah -<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> _function-name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *function-name-ah -<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> function-name/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _function-name -<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy functions +<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> _function-name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *function-name-ah +<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> function-name/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _function-name +<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy functions <span id="L243" class="LineNr">243 </span> $function-body:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> -<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> _curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah -<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> curr/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _curr +<span id="L244" class="LineNr">244 </span> <span class="PreProc">var</span> _curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> curr/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _curr <span id="L246" class="LineNr">246 </span> compare curr, <span class="Constant">0</span> <span id="L247" class="LineNr">247 </span> <span class="PreProc">break-if-=</span> -<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> curr-name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, name -<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> curr-name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah -<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> curr-name, function-name +<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> curr-name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, name +<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> curr-name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah +<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> curr-name, function-name <span id="L251" class="LineNr">251 </span> compare found?, <span class="Constant">0</span>/false <span id="L252" class="LineNr">252 </span> <span class="Delimiter">{</span> <span id="L253" class="LineNr">253 </span> <span class="PreProc">break-if-=</span> -<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, body +<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, body <span id="L255" class="LineNr">255 </span> copy-object src, out <span id="L256" class="LineNr">256 </span> <span class="PreProc">break</span> $function-body:<span class="PreProc">loop</span> <span id="L257" class="LineNr">257 </span> <span class="Delimiter">}</span> @@ -319,21 +324,21 @@ if ('onhashchange' in window) { <span id="L260" class="LineNr">260 </span> <span class="Delimiter">}</span> <span id="L261" class="LineNr">261 </span><span class="Delimiter">}</span> <span id="L262" class="LineNr">262 </span> -<span id="L263" class="LineNr">263 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L263'>body-length</a></span> functions: (addr handle <a href='data.mu.html#L21'>function</a>), function-name: (addr handle <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L263" class="LineNr">263 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L263'>body-length</a></span> functions: (addr handle <a href='data.mu.html#L21'>function</a>), function-name: (addr handle <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> body-storage: (handle <a href='data.mu.html#L34'>line</a>) -<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address body-storage +<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address body-storage <span id="L266" class="LineNr">266 </span> <a href='data.mu.html#L232'>function-body</a> functions, function-name, body-ah -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah -<span id="L268" class="LineNr">268 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L272'>num-words-in-line</a> body +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L268" class="LineNr">268 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L272'>num-words-in-line</a> body <span id="L269" class="LineNr">269 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L270" class="LineNr">270 </span><span class="Delimiter">}</span> <span id="L271" class="LineNr">271 </span> -<span id="L272" class="LineNr">272 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L272'>num-words-in-line</a></span> _in: (addr <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _in -<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> in, data -<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L272" class="LineNr">272 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L272'>num-words-in-line</a></span> _in: (addr <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _in +<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> in, data +<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L276" class="LineNr">276 </span> <span class="Delimiter">{</span> -<span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L278" class="LineNr">278 </span> compare curr, <span class="Constant">0</span> <span id="L279" class="LineNr">279 </span> <span class="PreProc">break-if-=</span> <span id="L280" class="LineNr">280 </span> curr-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next @@ -344,19 +349,19 @@ if ('onhashchange' in window) { <span id="L285" class="LineNr">285 </span><span class="Delimiter">}</span> <span id="L286" class="LineNr">286 </span> <span id="L287" class="LineNr">287 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L287'>populate-text-with</a></span> _out: (addr handle array byte), _in: (addr array byte) <span class="Delimiter">{</span> -<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _in -<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length in -<span id="L290" class="LineNr">290 </span> <span class="PreProc">var</span> out/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> copy _out +<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _in +<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length in +<span id="L290" class="LineNr">290 </span> <span class="PreProc">var</span> out/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> copy _out <span id="L291" class="LineNr">291 </span> populate out, n -<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> _out-addr/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out -<span id="L293" class="LineNr">293 </span> <span class="PreProc">var</span> out-addr/<span class="Constant">edx</span>: (addr array byte) <span class="Special"><-</span> copy _out-addr -<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> _out-addr/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out +<span id="L293" class="LineNr">293 </span> <span class="PreProc">var</span> out-addr/<span class="muRegEdx">edx</span>: (addr array byte) <span class="Special"><-</span> copy _out-addr +<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L295" class="LineNr">295 </span> <span class="Delimiter">{</span> <span id="L296" class="LineNr">296 </span> compare i, n <span id="L297" class="LineNr">297 </span> <span class="PreProc">break-if->=</span> -<span id="L298" class="LineNr">298 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr byte) <span class="Special"><-</span> index in, i -<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> val/<span class="Constant">ecx</span>: byte <span class="Special"><-</span> copy-byte *src -<span id="L300" class="LineNr">300 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr byte) <span class="Special"><-</span> index out-addr, i +<span id="L298" class="LineNr">298 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr byte) <span class="Special"><-</span> index in, i +<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> val/<span class="muRegEcx">ecx</span>: byte <span class="Special"><-</span> copy-byte *src +<span id="L300" class="LineNr">300 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr byte) <span class="Special"><-</span> index out-addr, i <span id="L301" class="LineNr">301 </span> copy-byte-to *dest, val <span id="L302" class="LineNr">302 </span> i <span class="Special"><-</span> increment <span id="L303" class="LineNr">303 </span> <span class="PreProc">loop</span> @@ -364,34 +369,34 @@ if ('onhashchange' in window) { <span id="L305" class="LineNr">305 </span><span class="Delimiter">}</span> <span id="L306" class="LineNr">306 </span> <span id="L307" class="LineNr">307 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L307'>initialize-path-from-sandbox</a></span> _in: (addr <a href='data.mu.html#L5'>sandbox</a>), _out: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _in -<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data -<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah -<span id="L311" class="LineNr">311 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> out-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _out -<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah -<span id="L314" class="LineNr">314 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, <a href='data.mu.html#L42'>word</a> +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _in +<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L311" class="LineNr">311 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> out-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _out +<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L314" class="LineNr">314 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, <a href='data.mu.html#L42'>word</a> <span id="L315" class="LineNr">315 </span> copy-object src, dest <span id="L316" class="LineNr">316 </span><span class="Delimiter">}</span> <span id="L317" class="LineNr">317 </span> <span id="L318" class="LineNr">318 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L318'>initialize-path-from-line</a></span> _line: (addr <a href='data.mu.html#L34'>line</a>), _out: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line -<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L321" class="LineNr">321 </span> <span class="PreProc">var</span> out-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _out -<span id="L322" class="LineNr">322 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah -<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, <a href='data.mu.html#L42'>word</a> +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line +<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L321" class="LineNr">321 </span> <span class="PreProc">var</span> out-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _out +<span id="L322" class="LineNr">322 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, <a href='data.mu.html#L42'>word</a> <span id="L324" class="LineNr">324 </span> copy-object src, dest <span id="L325" class="LineNr">325 </span><span class="Delimiter">}</span> <span id="L326" class="LineNr">326 </span> -<span id="L327" class="LineNr">327 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L327'>find-in-call-paths</a></span> call-paths: (addr handle <a href='data.mu.html#L71'>call-path</a>), needle: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy call-paths +<span id="L327" class="LineNr">327 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L327'>find-in-call-paths</a></span> call-paths: (addr handle <a href='data.mu.html#L71'>call-path</a>), needle: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy call-paths <span id="L329" class="LineNr">329 </span> $find-in-call-path:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> -<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L331" class="LineNr">331 </span> compare curr, <span class="Constant">0</span> <span id="L332" class="LineNr">332 </span> <span class="PreProc">break-if-=</span> <span id="L333" class="LineNr">333 </span> <span class="Delimiter">{</span> -<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> curr-data/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data -<span id="L335" class="LineNr">335 </span> <span class="PreProc">var</span> match?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-data, needle +<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> curr-data/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data +<span id="L335" class="LineNr">335 </span> <span class="PreProc">var</span> match?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-data, needle <span id="L336" class="LineNr">336 </span> compare match?, <span class="Constant">0</span>/false <span id="L337" class="LineNr">337 </span> <span class="Delimiter">{</span> <span id="L338" class="LineNr">338 </span> <span class="PreProc">break-if-=</span> @@ -404,13 +409,13 @@ if ('onhashchange' in window) { <span id="L345" class="LineNr">345 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L346" class="LineNr">346 </span><span class="Delimiter">}</span> <span id="L347" class="LineNr">347 </span> -<span id="L348" class="LineNr">348 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L348'>call-path-element-match?</a></span> _x: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), _y: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> x-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x -<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> x-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah -<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> x/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy x-a -<span id="L352" class="LineNr">352 </span> <span class="PreProc">var</span> y-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _y -<span id="L353" class="LineNr">353 </span> <span class="PreProc">var</span> y-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *y-ah -<span id="L354" class="LineNr">354 </span> <span class="PreProc">var</span> y/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy y-a +<span id="L348" class="LineNr">348 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L348'>call-path-element-match?</a></span> _x: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), _y: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> x-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x +<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> x-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah +<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> x/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy x-a +<span id="L352" class="LineNr">352 </span> <span class="PreProc">var</span> y-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _y +<span id="L353" class="LineNr">353 </span> <span class="PreProc">var</span> y-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *y-ah +<span id="L354" class="LineNr">354 </span> <span class="PreProc">var</span> y/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy y-a <span id="L355" class="LineNr">355 </span> compare x, y <span id="L356" class="LineNr">356 </span> <span class="Delimiter">{</span> <span id="L357" class="LineNr">357 </span> <span class="PreProc">break-if-!=</span> @@ -427,12 +432,12 @@ if ('onhashchange' in window) { <span id="L368" class="LineNr">368 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L369" class="LineNr">369 </span> <span class="Delimiter">}</span> <span id="L370" class="LineNr">370 </span> <span class="muComment"># compare word addresses, not contents</span> -<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> x-data-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L42'>word</a> -<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> x-data-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-data-ah -<span id="L373" class="LineNr">373 </span> <span class="PreProc">var</span> x-data/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy x-data-a -<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> y-data-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> y, <a href='data.mu.html#L42'>word</a> -<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> y-data-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *y-data-ah -<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> y-data/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy y-data-a +<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> x-data-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L42'>word</a> +<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> x-data-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-data-ah +<span id="L373" class="LineNr">373 </span> <span class="PreProc">var</span> x-data/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy x-data-a +<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> y-data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> y, <a href='data.mu.html#L42'>word</a> +<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> y-data-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *y-data-ah +<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> y-data/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy y-data-a <span id="L377" class="LineNr">377 </span><span class="CommentedCode">#? print-string 0, "match? "</span> <span id="L378" class="LineNr">378 </span><span class="CommentedCode">#? print-int32-hex 0, x-data</span> <span id="L379" class="LineNr">379 </span><span class="CommentedCode">#? print-string 0, " vs "</span> @@ -443,63 +448,63 @@ if ('onhashchange' in window) { <span id="L384" class="LineNr">384 </span> <span class="PreProc">break-if-=</span> <span id="L385" class="LineNr">385 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L386" class="LineNr">386 </span> <span class="Delimiter">}</span> -<span id="L387" class="LineNr">387 </span> <span class="PreProc">var</span> x-next/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next -<span id="L388" class="LineNr">388 </span> <span class="PreProc">var</span> y-next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> y, next -<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> x-next, y-next +<span id="L387" class="LineNr">387 </span> <span class="PreProc">var</span> x-next/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next +<span id="L388" class="LineNr">388 </span> <span class="PreProc">var</span> y-next/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> y, next +<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> x-next, y-next <span id="L390" class="LineNr">390 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L391" class="LineNr">391 </span><span class="Delimiter">}</span> <span id="L392" class="LineNr">392 </span> <span id="L393" class="LineNr">393 </span><span class="muComment"># order is irrelevant</span> <span id="L394" class="LineNr">394 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L394'>insert-in-call-path</a></span> list: (addr handle <a href='data.mu.html#L71'>call-path</a>), new: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> <span id="L395" class="LineNr">395 </span> <span class="PreProc">var</span> new-path-storage: (handle <a href='data.mu.html#L71'>call-path</a>) -<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> new-path-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> address new-path-storage +<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> new-path-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> address new-path-storage <span id="L397" class="LineNr">397 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-path-ah -<span id="L398" class="LineNr">398 </span> <span class="PreProc">var</span> new-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-path-ah -<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> next/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-path, next +<span id="L398" class="LineNr">398 </span> <span class="PreProc">var</span> new-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-path-ah +<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> next/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-path, next <span id="L400" class="LineNr">400 </span> copy-object list, next -<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-path, data +<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-path, data <span id="L402" class="LineNr">402 </span> <a href='data.mu.html#L407'>deep-copy-call-path-element</a> new, dest <span id="L403" class="LineNr">403 </span> copy-object new-path-ah, list <span id="L404" class="LineNr">404 </span><span class="Delimiter">}</span> <span id="L405" class="LineNr">405 </span> <span id="L406" class="LineNr">406 </span><span class="muComment"># assumes dest is initially clear</span> <span id="L407" class="LineNr">407 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L407'>deep-copy-call-path-element</a></span> _src: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), _dest: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _src +<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _src <span id="L409" class="LineNr">409 </span> <span class="muComment"># if src is null, return</span> -<span id="L410" class="LineNr">410 </span> <span class="PreProc">var</span> _src-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src +<span id="L410" class="LineNr">410 </span> <span class="PreProc">var</span> _src-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src <span id="L411" class="LineNr">411 </span> compare _src-addr, <span class="Constant">0</span> <span id="L412" class="LineNr">412 </span> <span class="PreProc">break-if-=</span> <span id="L413" class="LineNr">413 </span> <span class="muComment"># allocate</span> -<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> src-addr/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _src-addr -<span id="L415" class="LineNr">415 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _dest +<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> src-addr/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _src-addr +<span id="L415" class="LineNr">415 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _dest <span id="L416" class="LineNr">416 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest <span id="L417" class="LineNr">417 </span> <span class="muComment"># copy data</span> -<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest +<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest <span id="L419" class="LineNr">419 </span> <span class="Delimiter">{</span> -<span id="L420" class="LineNr">420 </span> <span class="PreProc">var</span> dest-data-addr/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <a href='data.mu.html#L42'>word</a> -<span id="L421" class="LineNr">421 </span> <span class="PreProc">var</span> src-data-addr/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-addr, <a href='data.mu.html#L42'>word</a> +<span id="L420" class="LineNr">420 </span> <span class="PreProc">var</span> dest-data-addr/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <a href='data.mu.html#L42'>word</a> +<span id="L421" class="LineNr">421 </span> <span class="PreProc">var</span> src-data-addr/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-addr, <a href='data.mu.html#L42'>word</a> <span id="L422" class="LineNr">422 </span> copy-object src-data-addr, dest-data-addr <span id="L423" class="LineNr">423 </span> <span class="Delimiter">}</span> <span id="L424" class="LineNr">424 </span> <span class="muComment"># recurse</span> -<span id="L425" class="LineNr">425 </span> <span class="PreProc">var</span> src-next/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-addr, next -<span id="L426" class="LineNr">426 </span> <span class="PreProc">var</span> dest-next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, next +<span id="L425" class="LineNr">425 </span> <span class="PreProc">var</span> src-next/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-addr, next +<span id="L426" class="LineNr">426 </span> <span class="PreProc">var</span> dest-next/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, next <span id="L427" class="LineNr">427 </span> <a href='data.mu.html#L407'>deep-copy-call-path-element</a> src-next, dest-next <span id="L428" class="LineNr">428 </span><span class="Delimiter">}</span> <span id="L429" class="LineNr">429 </span> <span id="L430" class="LineNr">430 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L430'>delete-in-call-path</a></span> list: (addr handle <a href='data.mu.html#L71'>call-path</a>), needle: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L431" class="LineNr">431 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy list +<span id="L431" class="LineNr">431 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy list <span id="L432" class="LineNr">432 </span> $delete-in-call-path:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> -<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> _curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah -<span id="L434" class="LineNr">434 </span> <span class="PreProc">var</span> curr/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy _curr +<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> _curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L434" class="LineNr">434 </span> <span class="PreProc">var</span> curr/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy _curr <span id="L435" class="LineNr">435 </span> compare curr, <span class="Constant">0</span> <span id="L436" class="LineNr">436 </span> <span class="PreProc">break-if-=</span> <span id="L437" class="LineNr">437 </span> <span class="Delimiter">{</span> -<span id="L438" class="LineNr">438 </span> <span class="PreProc">var</span> curr-data/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data -<span id="L439" class="LineNr">439 </span> <span class="PreProc">var</span> match?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-data, needle +<span id="L438" class="LineNr">438 </span> <span class="PreProc">var</span> curr-data/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data +<span id="L439" class="LineNr">439 </span> <span class="PreProc">var</span> match?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-data, needle <span id="L440" class="LineNr">440 </span> compare match?, <span class="Constant">0</span>/false <span id="L441" class="LineNr">441 </span> <span class="Delimiter">{</span> <span id="L442" class="LineNr">442 </span> <span class="PreProc">break-if-=</span> -<span id="L443" class="LineNr">443 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next +<span id="L443" class="LineNr">443 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next <span id="L444" class="LineNr">444 </span> copy-object next-ah, curr-ah <span id="L445" class="LineNr">445 </span> <span class="PreProc">loop</span> $delete-in-call-path:<span class="PreProc">loop</span> <span id="L446" class="LineNr">446 </span> <span class="Delimiter">}</span> @@ -510,29 +515,29 @@ if ('onhashchange' in window) { <span id="L451" class="LineNr">451 </span><span class="Delimiter">}</span> <span id="L452" class="LineNr">452 </span> <span id="L453" class="LineNr">453 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L453'>increment-final-element</a></span> list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> final-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list -<span id="L455" class="LineNr">455 </span> <span class="PreProc">var</span> final/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah -<span id="L456" class="LineNr">456 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> -<span id="L457" class="LineNr">457 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah -<span id="L458" class="LineNr">458 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, next -<span id="L459" class="LineNr">459 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah +<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> final-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list +<span id="L455" class="LineNr">455 </span> <span class="PreProc">var</span> final/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah +<span id="L456" class="LineNr">456 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> +<span id="L457" class="LineNr">457 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L458" class="LineNr">458 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, next +<span id="L459" class="LineNr">459 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah <span id="L460" class="LineNr">460 </span> compare target, <span class="Constant">0</span> <span id="L461" class="LineNr">461 </span> <span class="PreProc">break-if-=</span> <span id="L462" class="LineNr">462 </span> copy-object new-ah, val-ah <span id="L463" class="LineNr">463 </span><span class="Delimiter">}</span> <span id="L464" class="LineNr">464 </span> <span id="L465" class="LineNr">465 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L465'>decrement-final-element</a></span> list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L466" class="LineNr">466 </span> <span class="PreProc">var</span> final-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list -<span id="L467" class="LineNr">467 </span> <span class="PreProc">var</span> final/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah -<span id="L468" class="LineNr">468 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> -<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L466" class="LineNr">466 </span> <span class="PreProc">var</span> final-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list +<span id="L467" class="LineNr">467 </span> <span class="PreProc">var</span> final/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah +<span id="L468" class="LineNr">468 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> +<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L470" class="LineNr">470 </span><span class="CommentedCode">#? print-string 0, "replacing "</span> <span id="L471" class="LineNr">471 </span><span class="CommentedCode">#? {</span> <span id="L472" class="LineNr">472 </span><span class="CommentedCode">#? var foo/eax: int <- copy val</span> <span id="L473" class="LineNr">473 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L474" class="LineNr">474 </span><span class="CommentedCode">#? }</span> -<span id="L475" class="LineNr">475 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, prev -<span id="L476" class="LineNr">476 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah +<span id="L475" class="LineNr">475 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, prev +<span id="L476" class="LineNr">476 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah <span id="L477" class="LineNr">477 </span> compare target, <span class="Constant">0</span> <span id="L478" class="LineNr">478 </span> <span class="PreProc">break-if-=</span> <span id="L479" class="LineNr">479 </span> <span class="muComment"># val = val->prev</span> @@ -546,12 +551,12 @@ if ('onhashchange' in window) { <span id="L487" class="LineNr">487 </span><span class="Delimiter">}</span> <span id="L488" class="LineNr">488 </span> <span id="L489" class="LineNr">489 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L489'>move-final-element-to-start-of-line</a></span> list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L490" class="LineNr">490 </span> <span class="PreProc">var</span> final-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list -<span id="L491" class="LineNr">491 </span> <span class="PreProc">var</span> final/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah -<span id="L492" class="LineNr">492 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> -<span id="L493" class="LineNr">493 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah -<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, prev -<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah +<span id="L490" class="LineNr">490 </span> <span class="PreProc">var</span> final-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list +<span id="L491" class="LineNr">491 </span> <span class="PreProc">var</span> final/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah +<span id="L492" class="LineNr">492 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> +<span id="L493" class="LineNr">493 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, prev +<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah <span id="L496" class="LineNr">496 </span> compare target, <span class="Constant">0</span> <span id="L497" class="LineNr">497 </span> <span class="PreProc">break-if-=</span> <span id="L498" class="LineNr">498 </span> copy-object new-ah, val-ah @@ -559,12 +564,12 @@ if ('onhashchange' in window) { <span id="L500" class="LineNr">500 </span><span class="Delimiter">}</span> <span id="L501" class="LineNr">501 </span> <span id="L502" class="LineNr">502 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L502'>move-final-element-to-end-of-line</a></span> list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L503" class="LineNr">503 </span> <span class="PreProc">var</span> final-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list -<span id="L504" class="LineNr">504 </span> <span class="PreProc">var</span> final/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah -<span id="L505" class="LineNr">505 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> -<span id="L506" class="LineNr">506 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah -<span id="L507" class="LineNr">507 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, next -<span id="L508" class="LineNr">508 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah +<span id="L503" class="LineNr">503 </span> <span class="PreProc">var</span> final-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy list +<span id="L504" class="LineNr">504 </span> <span class="PreProc">var</span> final/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-ah +<span id="L505" class="LineNr">505 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> final, <a href='data.mu.html#L42'>word</a> +<span id="L506" class="LineNr">506 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L507" class="LineNr">507 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, next +<span id="L508" class="LineNr">508 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-ah <span id="L509" class="LineNr">509 </span> compare target, <span class="Constant">0</span> <span id="L510" class="LineNr">510 </span> <span class="PreProc">break-if-=</span> <span id="L511" class="LineNr">511 </span> copy-object new-ah, val-ah @@ -573,31 +578,31 @@ if ('onhashchange' in window) { <span id="L514" class="LineNr">514 </span> <span id="L515" class="LineNr">515 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L515'>push-to-call-path-element</a></span> list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), new: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> <span id="L516" class="LineNr">516 </span> <span class="PreProc">var</span> new-element-storage: (handle <a href='data.mu.html#L77'>call-path-element</a>) -<span id="L517" class="LineNr">517 </span> <span class="PreProc">var</span> new-element-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> address new-element-storage +<span id="L517" class="LineNr">517 </span> <span class="PreProc">var</span> new-element-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> address new-element-storage <span id="L518" class="LineNr">518 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-element-ah -<span id="L519" class="LineNr">519 </span> <span class="PreProc">var</span> new-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-element-ah +<span id="L519" class="LineNr">519 </span> <span class="PreProc">var</span> new-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-element-ah <span id="L520" class="LineNr">520 </span> <span class="muComment"># save word</span> -<span id="L521" class="LineNr">521 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-element, <a href='data.mu.html#L42'>word</a> +<span id="L521" class="LineNr">521 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-element, <a href='data.mu.html#L42'>word</a> <span id="L522" class="LineNr">522 </span> copy-object new, dest <span id="L523" class="LineNr">523 </span> <span class="muComment"># save next</span> -<span id="L524" class="LineNr">524 </span> <span class="PreProc">var</span> dest2/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-element, next +<span id="L524" class="LineNr">524 </span> <span class="PreProc">var</span> dest2/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-element, next <span id="L525" class="LineNr">525 </span> copy-object list, dest2 <span id="L526" class="LineNr">526 </span> <span class="muComment"># return</span> <span id="L527" class="LineNr">527 </span> copy-object new-element-ah, list <span id="L528" class="LineNr">528 </span><span class="Delimiter">}</span> <span id="L529" class="LineNr">529 </span> <span id="L530" class="LineNr">530 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L530'>drop-from-call-path-element</a></span> _list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L531" class="LineNr">531 </span> <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _list -<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *list-ah -<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> list, next +<span id="L531" class="LineNr">531 </span> <span class="PreProc">var</span> list-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _list +<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> list/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *list-ah +<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> list, next <span id="L534" class="LineNr">534 </span> copy-object next, _list <span id="L535" class="LineNr">535 </span><span class="Delimiter">}</span> <span id="L536" class="LineNr">536 </span> <span id="L537" class="LineNr">537 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L537'>drop-nested-calls</a></span> _list: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L538" class="LineNr">538 </span> <span class="PreProc">var</span> list-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _list -<span id="L539" class="LineNr">539 </span> <span class="PreProc">var</span> list/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *list-ah -<span id="L540" class="LineNr">540 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> list, next -<span id="L541" class="LineNr">541 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L538" class="LineNr">538 </span> <span class="PreProc">var</span> list-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _list +<span id="L539" class="LineNr">539 </span> <span class="PreProc">var</span> list/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *list-ah +<span id="L540" class="LineNr">540 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> list, next +<span id="L541" class="LineNr">541 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L542" class="LineNr">542 </span> compare next, <span class="Constant">0</span> <span id="L543" class="LineNr">543 </span> <span class="PreProc">break-if-=</span> <span id="L544" class="LineNr">544 </span> copy-object next-ah, _list @@ -605,14 +610,14 @@ if ('onhashchange' in window) { <span id="L546" class="LineNr">546 </span><span class="Delimiter">}</span> <span id="L547" class="LineNr">547 </span> <span id="L548" class="LineNr">548 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L548'>dump-call-path-element</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Delimiter">{</span> -<span id="L549" class="LineNr">549 </span> <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x-ah -<span id="L550" class="LineNr">550 </span> <span class="PreProc">var</span> _x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah -<span id="L551" class="LineNr">551 </span> <span class="PreProc">var</span> x/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x -<span id="L552" class="LineNr">552 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L42'>word</a> -<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah +<span id="L549" class="LineNr">549 </span> <span class="PreProc">var</span> x-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x-ah +<span id="L550" class="LineNr">550 </span> <span class="PreProc">var</span> _x/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah +<span id="L551" class="LineNr">551 </span> <span class="PreProc">var</span> x/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x +<span id="L552" class="LineNr">552 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, <a href='data.mu.html#L42'>word</a> +<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah <span id="L554" class="LineNr">554 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L42'>word</a> -<span id="L555" class="LineNr">555 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next -<span id="L556" class="LineNr">556 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L555" class="LineNr">555 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next +<span id="L556" class="LineNr">556 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L557" class="LineNr">557 </span> compare next, <span class="Constant">0</span> <span id="L558" class="LineNr">558 </span> <span class="Delimiter">{</span> <span id="L559" class="LineNr">559 </span> <span class="PreProc">break-if-=</span> @@ -624,14 +629,14 @@ if ('onhashchange' in window) { <span id="L565" class="LineNr">565 </span><span class="Delimiter">}</span> <span id="L566" class="LineNr">566 </span> <span id="L567" class="LineNr">567 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L567'>dump-call-paths</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _x-ah: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Delimiter">{</span> -<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> x-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy _x-ah -<span id="L569" class="LineNr">569 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah +<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> x-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> copy _x-ah +<span id="L569" class="LineNr">569 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *x-ah <span id="L570" class="LineNr">570 </span> compare x, <span class="Constant">0</span> <span id="L571" class="LineNr">571 </span> <span class="PreProc">break-if-=</span> -<span id="L572" class="LineNr">572 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, data +<span id="L572" class="LineNr">572 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, data <span id="L573" class="LineNr">573 </span> <a href='data.mu.html#L548'>dump-call-path-element</a> <a href='../405screen.mu.html#L9'>screen</a>, src -<span id="L574" class="LineNr">574 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next -<span id="L575" class="LineNr">575 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L574" class="LineNr">574 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> x, next +<span id="L575" class="LineNr">575 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L576" class="LineNr">576 </span> compare next, <span class="Constant">0</span> <span id="L577" class="LineNr">577 </span> <span class="Delimiter">{</span> <span id="L578" class="LineNr">578 </span> <span class="PreProc">break-if-=</span> @@ -639,14 +644,14 @@ if ('onhashchange' in window) { <span id="L580" class="LineNr">580 </span> <span class="Delimiter">}</span> <span id="L581" class="LineNr">581 </span><span class="Delimiter">}</span> <span id="L582" class="LineNr">582 </span> -<span id="L583" class="LineNr">583 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L583'>function-width</a></span> _self: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L584" class="LineNr">584 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self -<span id="L585" class="LineNr">585 </span> <span class="PreProc">var</span> args/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, args -<span id="L586" class="LineNr">586 </span> <span class="PreProc">var</span> arg-width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L528'>word-list-length</a> args -<span id="L587" class="LineNr">587 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy arg-width +<span id="L583" class="LineNr">583 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L583'>function-width</a></span> _self: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L584" class="LineNr">584 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self +<span id="L585" class="LineNr">585 </span> <span class="PreProc">var</span> args/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, args +<span id="L586" class="LineNr">586 </span> <span class="PreProc">var</span> arg-width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L528'>word-list-length</a> args +<span id="L587" class="LineNr">587 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy arg-width <span id="L588" class="LineNr">588 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add <span class="Constant">4</span> <span class="muComment"># function-header-indent + body-indent</span> -<span id="L589" class="LineNr">589 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, body -<span id="L590" class="LineNr">590 </span> <span class="PreProc">var</span> <a href='data.mu.html#L601'>body-width</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L601'>body-width</a> body-ah +<span id="L589" class="LineNr">589 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, body +<span id="L590" class="LineNr">590 </span> <span class="PreProc">var</span> <a href='data.mu.html#L601'>body-width</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L601'>body-width</a> body-ah <span id="L591" class="LineNr">591 </span> <a href='data.mu.html#L601'>body-width</a> <span class="Special"><-</span> add <span class="Constant">1</span> <span class="muComment"># right margin</span> <span id="L592" class="LineNr">592 </span> <a href='data.mu.html#L601'>body-width</a> <span class="Special"><-</span> add <span class="Constant">2</span> <span class="muComment"># body-indent for "≡ "</span> <span id="L593" class="LineNr">593 </span> compare <a href='data.mu.html#L82'>result</a>, <a href='data.mu.html#L601'>body-width</a> @@ -657,16 +662,16 @@ if ('onhashchange' in window) { <span id="L598" class="LineNr">598 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L599" class="LineNr">599 </span><span class="Delimiter">}</span> <span id="L600" class="LineNr">600 </span> -<span id="L601" class="LineNr">601 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L601'>body-width</a></span> lines: (addr handle <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L602" class="LineNr">602 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy lines -<span id="L603" class="LineNr">603 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L601" class="LineNr">601 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L601'>body-width</a></span> lines: (addr handle <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L602" class="LineNr">602 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy lines +<span id="L603" class="LineNr">603 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L604" class="LineNr">604 </span> <span class="Delimiter">{</span> -<span id="L605" class="LineNr">605 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L605" class="LineNr">605 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L606" class="LineNr">606 </span> compare curr, <span class="Constant">0</span> <span id="L607" class="LineNr">607 </span> <span class="PreProc">break-if-=</span> <span id="L608" class="LineNr">608 </span> <span class="Delimiter">{</span> -<span id="L609" class="LineNr">609 </span> <span class="PreProc">var</span> words/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data -<span id="L610" class="LineNr">610 </span> <span class="PreProc">var</span> curr-len/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L528'>word-list-length</a> words +<span id="L609" class="LineNr">609 </span> <span class="PreProc">var</span> words/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, data +<span id="L610" class="LineNr">610 </span> <span class="PreProc">var</span> curr-len/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L528'>word-list-length</a> words <span id="L611" class="LineNr">611 </span> compare curr-len, <a href='data.mu.html#L82'>result</a> <span id="L612" class="LineNr">612 </span> <span class="PreProc">break-if-<=</span> <span id="L613" class="LineNr">613 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> copy curr-len @@ -677,19 +682,19 @@ if ('onhashchange' in window) { <span id="L618" class="LineNr">618 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L619" class="LineNr">619 </span><span class="Delimiter">}</span> <span id="L620" class="LineNr">620 </span> -<span id="L621" class="LineNr">621 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L621'>function-height</a></span> _self: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L622" class="LineNr">622 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self -<span id="L623" class="LineNr">623 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, body -<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L629'>line-list-length</a> body-ah +<span id="L621" class="LineNr">621 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L621'>function-height</a></span> _self: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L622" class="LineNr">622 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _self +<span id="L623" class="LineNr">623 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, body +<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L629'>line-list-length</a> body-ah <span id="L625" class="LineNr">625 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> increment <span class="muComment"># for function header</span> <span id="L626" class="LineNr">626 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L627" class="LineNr">627 </span><span class="Delimiter">}</span> <span id="L628" class="LineNr">628 </span> -<span id="L629" class="LineNr">629 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L629'>line-list-length</a></span> lines: (addr handle <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L630" class="LineNr">630 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy lines -<span id="L631" class="LineNr">631 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L629" class="LineNr">629 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='data.mu.html#L629'>line-list-length</a></span> lines: (addr handle <a href='data.mu.html#L34'>line</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L630" class="LineNr">630 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy lines +<span id="L631" class="LineNr">631 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L632" class="LineNr">632 </span> <span class="Delimiter">{</span> -<span id="L633" class="LineNr">633 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L633" class="LineNr">633 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L634" class="LineNr">634 </span> compare curr, <span class="Constant">0</span> <span id="L635" class="LineNr">635 </span> <span class="PreProc">break-if-=</span> <span id="L636" class="LineNr">636 </span> curr-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next diff --git a/html/linux/tile/environment.mu.html b/html/linux/tile/environment.mu.html index a599875e..a383d0c7 100644 --- a/html/linux/tile/environment.mu.html +++ b/html/linux/tile/environment.mu.html @@ -7,22 +7,28 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } -.muS2Comment { color: #8a8a8a; } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muS2Comment { color: #8a8a8a; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -88,40 +94,40 @@ if ('onhashchange' in window) { <span id="L28" class="LineNr"> 28 </span><span class="Delimiter">}</span> <span id="L29" class="LineNr"> 29 </span> <span id="L30" class="LineNr"> 30 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L30'>initialize-environment</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env <span id="L32" class="LineNr"> 32 </span> <span class="muComment"># initialize some predefined function definitions</span> -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> functions/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> functions/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions <span id="L34" class="LineNr"> 34 </span> <a href='data.mu.html#L110'>create-primitive-functions</a> functions <span id="L35" class="LineNr"> 35 </span> <span class="muComment"># initialize first sandbox</span> -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> sandbox-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, sandboxes +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> sandbox-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, sandboxes <span id="L37" class="LineNr"> 37 </span> <a href='../120allocate.subx.html#L66'>allocate</a> sandbox-ah -<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah +<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah <span id="L39" class="LineNr"> 39 </span> <a href='data.mu.html#L87'>initialize-sandbox</a> <a href='data.mu.html#L5'>sandbox</a> <span id="L40" class="LineNr"> 40 </span> <span class="muComment"># initialize cursor sandbox</span> -<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox +<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox <span id="L42" class="LineNr"> 42 </span> copy-object sandbox-ah, cursor-sandbox-ah <span id="L43" class="LineNr"> 43 </span> <span class="muComment"># initialize screen</span> -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> _screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen -<span id="L47" class="LineNr"> 47 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> _screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L47" class="LineNr"> 47 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L49" class="LineNr"> 49 </span> nrows, ncols <span class="Special"><-</span> <a href='../405screen.mu.html#L60'>screen-size</a> <a href='../405screen.mu.html#L9'>screen</a> -<span id="L50" class="LineNr"> 50 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows +<span id="L50" class="LineNr"> 50 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows <span id="L51" class="LineNr"> 51 </span> copy-to *dest, nrows <span id="L52" class="LineNr"> 52 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, ncols <span id="L53" class="LineNr"> 53 </span> copy-to *dest, ncols -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> repl-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy ncols +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> repl-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy ncols <span id="L55" class="LineNr"> 55 </span> repl-col <span class="Special"><-</span> shift-right <span class="Constant">1</span> <span id="L56" class="LineNr"> 56 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col <span id="L57" class="LineNr"> 57 </span> copy-to *dest, repl-col <span id="L58" class="LineNr"> 58 </span><span class="Delimiter">}</span> <span id="L59" class="LineNr"> 59 </span> <span id="L60" class="LineNr"> 60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L60'>initialize-environment-with-fake-screen</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), nrows: int, ncols: int <span class="Delimiter">{</span> -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> <span id="L63" class="LineNr"> 63 </span> <a href='../120allocate.subx.html#L66'>allocate</a> screen-ah -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L65" class="LineNr"> 65 </span> <a href='../405screen.mu.html#L30'>initialize-screen</a> screen-addr, nrows, ncols <span id="L66" class="LineNr"> 66 </span> <a href='environment.mu.html#L30'>initialize-environment</a> self <span id="L67" class="LineNr"> 67 </span><span class="Delimiter">}</span> @@ -131,9 +137,9 @@ if ('onhashchange' in window) { <span id="L71" class="LineNr"> 71 </span><span class="muComment">#############</span> <span id="L72" class="LineNr"> 72 </span> <span id="L73" class="LineNr"> 73 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L73'>process</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> fn-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> fn-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> fn-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> fn-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah <span id="L77" class="LineNr"> 77 </span> compare fn-name, <span class="Constant">0</span> <span id="L78" class="LineNr"> 78 </span> <span class="Delimiter">{</span> <span id="L79" class="LineNr"> 79 </span> <span class="PreProc">break-if-=</span> @@ -141,8 +147,8 @@ if ('onhashchange' in window) { <span id="L81" class="LineNr"> 81 </span> <a href='environment.mu.html#L105'>process-goto-dialog</a> self, key <span id="L82" class="LineNr"> 82 </span> <span class="PreProc">return</span> <span id="L83" class="LineNr"> 83 </span> <span class="Delimiter">}</span> -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> function-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *function-ah +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> function-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *function-ah <span id="L86" class="LineNr"> 86 </span> compare <a href='data.mu.html#L21'>function</a>, <span class="Constant">0</span> <span id="L87" class="LineNr"> 87 </span> <span class="Delimiter">{</span> <span id="L88" class="LineNr"> 88 </span> <span class="PreProc">break-if-=</span> @@ -150,8 +156,8 @@ if ('onhashchange' in window) { <span id="L90" class="LineNr"> 90 </span> <a href='environment.mu.html#L156'>process-function</a> self, <a href='data.mu.html#L21'>function</a>, key <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">return</span> <span id="L92" class="LineNr"> 92 </span> <span class="Delimiter">}</span> -<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> sandbox-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-sandbox -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah +<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> sandbox-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-sandbox +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah <span id="L95" class="LineNr"> 95 </span> compare <a href='data.mu.html#L5'>sandbox</a>, <span class="Constant">0</span> <span id="L96" class="LineNr"> 96 </span> <span class="Delimiter">{</span> <span id="L97" class="LineNr"> 97 </span> <span class="PreProc">break-if-=</span> @@ -163,8 +169,8 @@ if ('onhashchange' in window) { <span id="L103" class="LineNr"> 103 </span> <span id="L104" class="LineNr"> 104 </span><span class="muComment"># collect new name in partial-function-name, and move the cursor to function with that name</span> <span id="L105" class="LineNr"> 105 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L105'>process-goto-dialog</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L106" class="LineNr"> 106 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L107" class="LineNr"> 107 </span> <span class="PreProc">var</span> fn-name-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name +<span id="L106" class="LineNr"> 106 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L107" class="LineNr"> 107 </span> <span class="PreProc">var</span> fn-name-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name <span id="L108" class="LineNr"> 108 </span> <span class="muComment"># if 'esc' pressed, cancel goto</span> <span id="L109" class="LineNr"> 109 </span> compare key, <span class="Constant">0x1b</span>/esc <span id="L110" class="LineNr"> 110 </span> $process-goto-dialog:cancel: <span class="Delimiter">{</span> @@ -177,9 +183,9 @@ if ('onhashchange' in window) { <span id="L117" class="LineNr"> 117 </span> $process-goto-dialog:commit: <span class="Delimiter">{</span> <span id="L118" class="LineNr"> 118 </span> <span class="PreProc">break-if-!=</span> <span id="L119" class="LineNr"> 119 </span><span class="CommentedCode">#? print-string 0, "jump\n"</span> -<span id="L120" class="LineNr"> 120 </span> <span class="PreProc">var</span> fn-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah -<span id="L121" class="LineNr"> 121 </span> <span class="PreProc">var</span> functions/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions -<span id="L122" class="LineNr"> 122 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function +<span id="L120" class="LineNr"> 120 </span> <span class="PreProc">var</span> fn-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah +<span id="L121" class="LineNr"> 121 </span> <span class="PreProc">var</span> functions/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions +<span id="L122" class="LineNr"> 122 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function <span id="L123" class="LineNr"> 123 </span> <a href='environment.mu.html#L1846'>callee</a> functions, fn-name, dest <span id="L124" class="LineNr"> 124 </span> <span class="muComment"># we won't clear cursor-sandbox until we start supporting multiple sandboxes</span> <span id="L125" class="LineNr"> 125 </span> clear-object fn-name-ah @@ -191,22 +197,22 @@ if ('onhashchange' in window) { <span id="L131" class="LineNr"> 131 </span> $process-goto-dialog:backspace: <span class="Delimiter">{</span> <span id="L132" class="LineNr"> 132 </span> <span class="PreProc">break-if-!=</span> <span id="L133" class="LineNr"> 133 </span> <span class="muComment"># if not at start, delete grapheme before cursor</span> -<span id="L134" class="LineNr"> 134 </span> <span class="PreProc">var</span> fn-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah -<span id="L135" class="LineNr"> 135 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> fn-name +<span id="L134" class="LineNr"> 134 </span> <span class="PreProc">var</span> fn-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah +<span id="L135" class="LineNr"> 135 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> fn-name <span id="L136" class="LineNr"> 136 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L137" class="LineNr"> 137 </span> <span class="Delimiter">{</span> <span id="L138" class="LineNr"> 138 </span> <span class="PreProc">break-if-!=</span> -<span id="L139" class="LineNr"> 139 </span> <span class="PreProc">var</span> fn-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah +<span id="L139" class="LineNr"> 139 </span> <span class="PreProc">var</span> fn-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah <span id="L140" class="LineNr"> 140 </span> <a href='word.mu.html#L207'>delete-before-cursor</a> fn-name <span id="L141" class="LineNr"> 141 </span> <span class="Delimiter">}</span> <span id="L142" class="LineNr"> 142 </span> <span class="PreProc">return</span> <span id="L143" class="LineNr"> 143 </span> <span class="Delimiter">}</span> <span id="L144" class="LineNr"> 144 </span> <span class="muComment"># otherwise insert key within current word</span> -<span id="L145" class="LineNr"> 145 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key +<span id="L145" class="LineNr"> 145 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key <span id="L146" class="LineNr"> 146 </span> $process-goto-dialog:real-grapheme: <span class="Delimiter">{</span> <span id="L147" class="LineNr"> 147 </span> compare print?, <span class="Constant">0</span>/false <span id="L148" class="LineNr"> 148 </span> <span class="PreProc">break-if-=</span> -<span id="L149" class="LineNr"> 149 </span> <span class="PreProc">var</span> fn-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah +<span id="L149" class="LineNr"> 149 </span> <span class="PreProc">var</span> fn-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *fn-name-ah <span id="L150" class="LineNr"> 150 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> fn-name, key <span id="L151" class="LineNr"> 151 </span> <span class="PreProc">return</span> <span id="L152" class="LineNr"> 152 </span> <span class="Delimiter">}</span> @@ -214,23 +220,23 @@ if ('onhashchange' in window) { <span id="L154" class="LineNr"> 154 </span><span class="Delimiter">}</span> <span id="L155" class="LineNr"> 155 </span> <span id="L156" class="LineNr"> 156 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L156'>process-function</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), _function: (addr <a href='data.mu.html#L21'>function</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L157" class="LineNr"> 157 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L158" class="LineNr"> 158 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _function +<span id="L157" class="LineNr"> 157 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L158" class="LineNr"> 158 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _function <span id="L159" class="LineNr"> 159 </span> <a href='environment.mu.html#L162'>process-function-edit</a> self, <a href='data.mu.html#L21'>function</a>, key <span id="L160" class="LineNr"> 160 </span><span class="Delimiter">}</span> <span id="L161" class="LineNr"> 161 </span> <span id="L162" class="LineNr"> 162 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L162'>process-function-edit</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), _function: (addr <a href='data.mu.html#L21'>function</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L163" class="LineNr"> 163 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L164" class="LineNr"> 164 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _function -<span id="L165" class="LineNr"> 165 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, cursor-word -<span id="L166" class="LineNr"> 166 </span> <span class="PreProc">var</span> _cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah -<span id="L167" class="LineNr"> 167 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word +<span id="L163" class="LineNr"> 163 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L164" class="LineNr"> 164 </span> <span class="PreProc">var</span> <a href='data.mu.html#L21'>function</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _function +<span id="L165" class="LineNr"> 165 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEbx">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, cursor-word +<span id="L166" class="LineNr"> 166 </span> <span class="PreProc">var</span> _cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L167" class="LineNr"> 167 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word <span id="L168" class="LineNr"> 168 </span> compare key, <span class="Constant">0x445b1b</span>/left-arrow <span id="L169" class="LineNr"> 169 </span> $process-function-edit:key-left-arrow: <span class="Delimiter">{</span> <span id="L170" class="LineNr"> 170 </span> <span class="PreProc">break-if-!=</span> <span id="L171" class="LineNr"> 171 </span><span class="CommentedCode">#? print-string 0, "left-arrow\n"</span> <span id="L172" class="LineNr"> 172 </span> <span class="muComment"># if not at start, move left within current word</span> -<span id="L173" class="LineNr"> 173 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L173" class="LineNr"> 173 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L174" class="LineNr"> 174 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L175" class="LineNr"> 175 </span> <span class="Delimiter">{</span> <span id="L176" class="LineNr"> 176 </span> <span class="PreProc">break-if-!=</span> @@ -239,8 +245,8 @@ if ('onhashchange' in window) { <span id="L179" class="LineNr"> 179 </span> <span class="PreProc">return</span> <span id="L180" class="LineNr"> 180 </span> <span class="Delimiter">}</span> <span id="L181" class="LineNr"> 181 </span> <span class="muComment"># otherwise move to end of previous word</span> -<span id="L182" class="LineNr"> 182 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L183" class="LineNr"> 183 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L182" class="LineNr"> 182 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L183" class="LineNr"> 183 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L184" class="LineNr"> 184 </span> <span class="Delimiter">{</span> <span id="L185" class="LineNr"> 185 </span> compare prev-word, <span class="Constant">0</span> <span id="L186" class="LineNr"> 186 </span> <span class="PreProc">break-if-=</span> @@ -254,7 +260,7 @@ if ('onhashchange' in window) { <span id="L194" class="LineNr"> 194 </span> $process-function-edit:key-right-arrow: <span class="Delimiter">{</span> <span id="L195" class="LineNr"> 195 </span> <span class="PreProc">break-if-!=</span> <span id="L196" class="LineNr"> 196 </span> <span class="muComment"># if not at end, move right within current word</span> -<span id="L197" class="LineNr"> 197 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L197" class="LineNr"> 197 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L198" class="LineNr"> 198 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L199" class="LineNr"> 199 </span> <span class="Delimiter">{</span> <span id="L200" class="LineNr"> 200 </span> <span class="PreProc">break-if-!=</span> @@ -262,8 +268,8 @@ if ('onhashchange' in window) { <span id="L202" class="LineNr"> 202 </span> <span class="PreProc">return</span> <span id="L203" class="LineNr"> 203 </span> <span class="Delimiter">}</span> <span id="L204" class="LineNr"> 204 </span> <span class="muComment"># otherwise, move to the next word</span> -<span id="L205" class="LineNr"> 205 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L206" class="LineNr"> 206 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L205" class="LineNr"> 205 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L206" class="LineNr"> 206 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L207" class="LineNr"> 207 </span> <span class="Delimiter">{</span> <span id="L208" class="LineNr"> 208 </span> compare <a href='../127next-word.subx.html#L11'>next-word</a>, <span class="Constant">0</span> <span id="L209" class="LineNr"> 209 </span> <span class="PreProc">break-if-=</span> @@ -277,8 +283,8 @@ if ('onhashchange' in window) { <span id="L217" class="LineNr"> 217 </span> $process-function-edit:prev-word: <span class="Delimiter">{</span> <span id="L218" class="LineNr"> 218 </span> <span class="PreProc">break-if-!=</span> <span id="L219" class="LineNr"> 219 </span> <span class="muComment"># jump to previous word if possible</span> -<span id="L220" class="LineNr"> 220 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L221" class="LineNr"> 221 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L220" class="LineNr"> 220 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L221" class="LineNr"> 221 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L222" class="LineNr"> 222 </span> <span class="Delimiter">{</span> <span id="L223" class="LineNr"> 223 </span> compare prev-word, <span class="Constant">0</span> <span id="L224" class="LineNr"> 224 </span> <span class="PreProc">break-if-=</span> @@ -291,8 +297,8 @@ if ('onhashchange' in window) { <span id="L231" class="LineNr"> 231 </span> $process-function-edit:<a href='../127next-word.subx.html#L11'>next-word</a>: <span class="Delimiter">{</span> <span id="L232" class="LineNr"> 232 </span> <span class="PreProc">break-if-!=</span> <span id="L233" class="LineNr"> 233 </span> <span class="muComment"># jump to previous word if possible</span> -<span id="L234" class="LineNr"> 234 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L235" class="LineNr"> 235 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L234" class="LineNr"> 234 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L235" class="LineNr"> 235 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L236" class="LineNr"> 236 </span> <span class="Delimiter">{</span> <span id="L237" class="LineNr"> 237 </span> compare <a href='../127next-word.subx.html#L11'>next-word</a>, <span class="Constant">0</span> <span id="L238" class="LineNr"> 238 </span> <span class="PreProc">break-if-=</span> @@ -306,11 +312,11 @@ if ('onhashchange' in window) { <span id="L246" class="LineNr"> 246 </span> $process-function-edit:start-of-line: <span class="Delimiter">{</span> <span id="L247" class="LineNr"> 247 </span> <span class="PreProc">break-if-!=</span> <span id="L248" class="LineNr"> 248 </span> <span class="muComment"># move cursor to start of first word</span> -<span id="L249" class="LineNr"> 249 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, body -<span id="L250" class="LineNr"> 250 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah -<span id="L251" class="LineNr"> 251 </span> <span class="PreProc">var</span> body-contents-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data +<span id="L249" class="LineNr"> 249 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, body +<span id="L250" class="LineNr"> 250 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L251" class="LineNr"> 251 </span> <span class="PreProc">var</span> body-contents-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L252" class="LineNr"> 252 </span> copy-object body-contents-ah, cursor-word-ah -<span id="L253" class="LineNr"> 253 </span> <span class="PreProc">var</span> body-contents/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-contents-ah +<span id="L253" class="LineNr"> 253 </span> <span class="PreProc">var</span> body-contents/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-contents-ah <span id="L254" class="LineNr"> 254 </span> <a href='word.mu.html#L185'>cursor-to-start</a> body-contents <span id="L255" class="LineNr"> 255 </span> <span class="PreProc">return</span> <span id="L256" class="LineNr"> 256 </span> <span class="Delimiter">}</span> @@ -318,12 +324,12 @@ if ('onhashchange' in window) { <span id="L258" class="LineNr"> 258 </span> $process-function-edit:end-of-line: <span class="Delimiter">{</span> <span id="L259" class="LineNr"> 259 </span> <span class="PreProc">break-if-!=</span> <span id="L260" class="LineNr"> 260 </span> <span class="muComment"># move cursor to end of final word</span> -<span id="L261" class="LineNr"> 261 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, body -<span id="L262" class="LineNr"> 262 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah -<span id="L263" class="LineNr"> 263 </span> <span class="PreProc">var</span> body-contents-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data +<span id="L261" class="LineNr"> 261 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L21'>function</a>, body +<span id="L262" class="LineNr"> 262 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L263" class="LineNr"> 263 </span> <span class="PreProc">var</span> body-contents-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L264" class="LineNr"> 264 </span> copy-object body-contents-ah, cursor-word-ah <span id="L265" class="LineNr"> 265 </span> <a href='word.mu.html#L114'>final-word</a> cursor-word-ah, cursor-word-ah -<span id="L266" class="LineNr"> 266 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L266" class="LineNr"> 266 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L267" class="LineNr"> 267 </span> <a href='word.mu.html#L192'>cursor-to-end</a> cursor-word <span id="L268" class="LineNr"> 268 </span> <span class="PreProc">return</span> <span id="L269" class="LineNr"> 269 </span> <span class="Delimiter">}</span> @@ -332,9 +338,9 @@ if ('onhashchange' in window) { <span id="L272" class="LineNr"> 272 </span> $process-function-edit:goto-function: <span class="Delimiter">{</span> <span id="L273" class="LineNr"> 273 </span> <span class="PreProc">break-if-!=</span> <span id="L274" class="LineNr"> 274 </span> <span class="muComment"># initialize dialog to name function to jump to</span> -<span id="L275" class="LineNr"> 275 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name +<span id="L275" class="LineNr"> 275 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name <span id="L276" class="LineNr"> 276 </span> <a href='../120allocate.subx.html#L66'>allocate</a> partial-function-name-ah -<span id="L277" class="LineNr"> 277 </span> <span class="PreProc">var</span> partial-function-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah +<span id="L277" class="LineNr"> 277 </span> <span class="PreProc">var</span> partial-function-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah <span id="L278" class="LineNr"> 278 </span> <a href='word.mu.html#L1'>initialize-word</a> partial-function-name <span id="L279" class="LineNr"> 279 </span> <span class="PreProc">return</span> <span id="L280" class="LineNr"> 280 </span> <span class="Delimiter">}</span> @@ -342,7 +348,7 @@ if ('onhashchange' in window) { <span id="L282" class="LineNr"> 282 </span> compare key, <span class="Constant">9</span>/tab <span id="L283" class="LineNr"> 283 </span> $process-function-edit:goto-sandbox: <span class="Delimiter">{</span> <span id="L284" class="LineNr"> 284 </span> <span class="PreProc">break-if-!=</span> -<span id="L285" class="LineNr"> 285 </span> <span class="PreProc">var</span> function-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function +<span id="L285" class="LineNr"> 285 </span> <span class="PreProc">var</span> function-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, cursor-function <span id="L286" class="LineNr"> 286 </span> clear-object function-ah <span id="L287" class="LineNr"> 287 </span> <span class="PreProc">return</span> <span id="L288" class="LineNr"> 288 </span> <span class="Delimiter">}</span> @@ -351,7 +357,7 @@ if ('onhashchange' in window) { <span id="L291" class="LineNr"> 291 </span> $process-function-edit:backspace: <span class="Delimiter">{</span> <span id="L292" class="LineNr"> 292 </span> <span class="PreProc">break-if-!=</span> <span id="L293" class="LineNr"> 293 </span> <span class="muComment"># if not at start of some word, delete grapheme before cursor within current word</span> -<span id="L294" class="LineNr"> 294 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L294" class="LineNr"> 294 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L295" class="LineNr"> 295 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L296" class="LineNr"> 296 </span> <span class="Delimiter">{</span> <span id="L297" class="LineNr"> 297 </span> <span class="PreProc">break-if-!=</span> @@ -359,8 +365,8 @@ if ('onhashchange' in window) { <span id="L299" class="LineNr"> 299 </span> <span class="PreProc">return</span> <span id="L300" class="LineNr"> 300 </span> <span class="Delimiter">}</span> <span id="L301" class="LineNr"> 301 </span> <span class="muComment"># otherwise delete current word and move to end of prev word</span> -<span id="L302" class="LineNr"> 302 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L303" class="LineNr"> 303 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L302" class="LineNr"> 302 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L303" class="LineNr"> 303 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L304" class="LineNr"> 304 </span> <span class="Delimiter">{</span> <span id="L305" class="LineNr"> 305 </span> compare prev-word, <span class="Constant">0</span> <span id="L306" class="LineNr"> 306 </span> <span class="PreProc">break-if-=</span> @@ -376,22 +382,22 @@ if ('onhashchange' in window) { <span id="L316" class="LineNr"> 316 </span><span class="CommentedCode">#? print-string 0, "space\n"</span> <span id="L317" class="LineNr"> 317 </span> <span class="muComment"># if cursor is at start of word, insert word before</span> <span id="L318" class="LineNr"> 318 </span> <span class="Delimiter">{</span> -<span id="L319" class="LineNr"> 319 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L319" class="LineNr"> 319 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L320" class="LineNr"> 320 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L321" class="LineNr"> 321 </span> <span class="PreProc">break-if-=</span> -<span id="L322" class="LineNr"> 322 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L322" class="LineNr"> 322 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev <span id="L323" class="LineNr"> 323 </span> <a href='word.mu.html#L356'>append-word</a> prev-word-ah -<span id="L324" class="LineNr"> 324 </span> <span class="PreProc">var</span> new-prev-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L324" class="LineNr"> 324 </span> <span class="PreProc">var</span> new-prev-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev <span id="L325" class="LineNr"> 325 </span> copy-object new-prev-word-ah, cursor-word-ah <span id="L326" class="LineNr"> 326 </span> <span class="PreProc">return</span> <span id="L327" class="LineNr"> 327 </span> <span class="Delimiter">}</span> <span id="L328" class="LineNr"> 328 </span> <span class="muComment"># if start of word is quote and grapheme before cursor is not, just insert it as usual</span> <span id="L329" class="LineNr"> 329 </span> <span class="muComment"># TODO: support string escaping</span> <span id="L330" class="LineNr"> 330 </span> <span class="Delimiter">{</span> -<span id="L331" class="LineNr"> 331 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word +<span id="L331" class="LineNr"> 331 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word <span id="L332" class="LineNr"> 332 </span> compare <a href='word.mu.html#L132'>first-grapheme</a>, <span class="Constant">0x22</span>/double-quote <span id="L333" class="LineNr"> 333 </span> <span class="PreProc">break-if-!=</span> -<span id="L334" class="LineNr"> 334 </span> <span class="PreProc">var</span> final-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word +<span id="L334" class="LineNr"> 334 </span> <span class="PreProc">var</span> final-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word <span id="L335" class="LineNr"> 335 </span> compare final-grapheme, <span class="Constant">0x22</span>/double-quote <span id="L336" class="LineNr"> 336 </span> <span class="PreProc">break-if-=</span> <span id="L337" class="LineNr"> 337 </span> <span class="PreProc">break</span> $process-function-edit:space @@ -399,10 +405,10 @@ if ('onhashchange' in window) { <span id="L339" class="LineNr"> 339 </span> <span class="muComment"># if start of word is '[' and grapheme before cursor is not ']', just insert it as usual</span> <span id="L340" class="LineNr"> 340 </span> <span class="muComment"># TODO: support nested arrays</span> <span id="L341" class="LineNr"> 341 </span> <span class="Delimiter">{</span> -<span id="L342" class="LineNr"> 342 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word +<span id="L342" class="LineNr"> 342 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word <span id="L343" class="LineNr"> 343 </span> compare <a href='word.mu.html#L132'>first-grapheme</a>, <span class="Constant">0x5b</span>/[ <span id="L344" class="LineNr"> 344 </span> <span class="PreProc">break-if-!=</span> -<span id="L345" class="LineNr"> 345 </span> <span class="PreProc">var</span> final-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word +<span id="L345" class="LineNr"> 345 </span> <span class="PreProc">var</span> final-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word <span id="L346" class="LineNr"> 346 </span> compare final-grapheme, <span class="Constant">0x5d</span>/] <span id="L347" class="LineNr"> 347 </span> <span class="PreProc">break-if-=</span> <span id="L348" class="LineNr"> 348 </span> <span class="PreProc">break</span> $process-function-edit:space @@ -410,10 +416,10 @@ if ('onhashchange' in window) { <span id="L350" class="LineNr"> 350 </span> <span class="muComment"># otherwise insert word after and move cursor to it for the next key</span> <span id="L351" class="LineNr"> 351 </span> <span class="muComment"># (but we'll continue to track the current cursor-word for the rest of this function)</span> <span id="L352" class="LineNr"> 352 </span> <a href='word.mu.html#L356'>append-word</a> cursor-word-ah -<span id="L353" class="LineNr"> 353 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L353" class="LineNr"> 353 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next <span id="L354" class="LineNr"> 354 </span> copy-object next-word-ah, cursor-word-ah <span id="L355" class="LineNr"> 355 </span> <span class="muComment"># if cursor is at end of word, that's all</span> -<span id="L356" class="LineNr"> 356 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L356" class="LineNr"> 356 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L357" class="LineNr"> 357 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L358" class="LineNr"> 358 </span> <span class="Delimiter">{</span> <span id="L359" class="LineNr"> 359 </span> <span class="PreProc">break-if-=</span> @@ -421,14 +427,14 @@ if ('onhashchange' in window) { <span id="L361" class="LineNr"> 361 </span> <span class="Delimiter">}</span> <span id="L362" class="LineNr"> 362 </span> <span class="muComment"># otherwise we're in the middle of a word</span> <span id="L363" class="LineNr"> 363 </span> <span class="muComment"># move everything after cursor to the (just created) next word</span> -<span id="L364" class="LineNr"> 364 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L365" class="LineNr"> 365 </span> <span class="PreProc">var</span> _next-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah -<span id="L366" class="LineNr"> 366 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next-word +<span id="L364" class="LineNr"> 364 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L365" class="LineNr"> 365 </span> <span class="PreProc">var</span> _next-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L366" class="LineNr"> 366 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next-word <span id="L367" class="LineNr"> 367 </span> <span class="Delimiter">{</span> -<span id="L368" class="LineNr"> 368 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L368" class="LineNr"> 368 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L369" class="LineNr"> 369 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L370" class="LineNr"> 370 </span> <span class="PreProc">break-if-!=</span> -<span id="L371" class="LineNr"> 371 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L214'>pop-after-cursor</a> cursor-word +<span id="L371" class="LineNr"> 371 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L214'>pop-after-cursor</a> cursor-word <span id="L372" class="LineNr"> 372 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> <a href='../127next-word.subx.html#L11'>next-word</a>, g <span id="L373" class="LineNr"> 373 </span> <span class="PreProc">loop</span> <span id="L374" class="LineNr"> 374 </span> <span class="Delimiter">}</span> @@ -436,8 +442,8 @@ if ('onhashchange' in window) { <span id="L376" class="LineNr"> 376 </span> <span class="PreProc">return</span> <span id="L377" class="LineNr"> 377 </span> <span class="Delimiter">}</span> <span id="L378" class="LineNr"> 378 </span> <span class="muComment"># otherwise insert key within current word</span> -<span id="L379" class="LineNr"> 379 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy key -<span id="L380" class="LineNr"> 380 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key +<span id="L379" class="LineNr"> 379 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy key +<span id="L380" class="LineNr"> 380 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key <span id="L381" class="LineNr"> 381 </span> $process-function-edit:real-grapheme: <span class="Delimiter">{</span> <span id="L382" class="LineNr"> 382 </span> compare print?, <span class="Constant">0</span>/false <span id="L383" class="LineNr"> 383 </span> <span class="PreProc">break-if-=</span> @@ -448,10 +454,10 @@ if ('onhashchange' in window) { <span id="L388" class="LineNr"> 388 </span><span class="Delimiter">}</span> <span id="L389" class="LineNr"> 389 </span> <span id="L390" class="LineNr"> 390 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L390'>process-sandbox</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L391" class="LineNr"> 391 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L392" class="LineNr"> 392 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L393" class="LineNr"> 393 </span> <span class="PreProc">var</span> rename-word-mode-ah?/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word -<span id="L394" class="LineNr"> 394 </span> <span class="PreProc">var</span> rename-word-mode?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *rename-word-mode-ah? +<span id="L391" class="LineNr"> 391 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L392" class="LineNr"> 392 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L393" class="LineNr"> 393 </span> <span class="PreProc">var</span> rename-word-mode-ah?/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word +<span id="L394" class="LineNr"> 394 </span> <span class="PreProc">var</span> rename-word-mode?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *rename-word-mode-ah? <span id="L395" class="LineNr"> 395 </span> compare rename-word-mode?, <span class="Constant">0</span> <span id="L396" class="LineNr"> 396 </span> <span class="Delimiter">{</span> <span id="L397" class="LineNr"> 397 </span> <span class="PreProc">break-if-=</span> @@ -459,13 +465,13 @@ if ('onhashchange' in window) { <span id="L399" class="LineNr"> 399 </span> <a href='environment.mu.html#L855'>process-sandbox-rename</a> <a href='data.mu.html#L5'>sandbox</a>, key <span id="L400" class="LineNr"> 400 </span> <span class="PreProc">return</span> <span id="L401" class="LineNr"> 401 </span> <span class="Delimiter">}</span> -<span id="L402" class="LineNr"> 402 </span> <span class="PreProc">var</span> define-function-mode-ah?/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function -<span id="L403" class="LineNr"> 403 </span> <span class="PreProc">var</span> define-function-mode?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *define-function-mode-ah? +<span id="L402" class="LineNr"> 402 </span> <span class="PreProc">var</span> define-function-mode-ah?/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function +<span id="L403" class="LineNr"> 403 </span> <span class="PreProc">var</span> define-function-mode?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *define-function-mode-ah? <span id="L404" class="LineNr"> 404 </span> compare define-function-mode?, <span class="Constant">0</span> <span id="L405" class="LineNr"> 405 </span> <span class="Delimiter">{</span> <span id="L406" class="LineNr"> 406 </span> <span class="PreProc">break-if-=</span> <span id="L407" class="LineNr"> 407 </span><span class="CommentedCode">#? print-string 0, "processing function definition\n"</span> -<span id="L408" class="LineNr"> 408 </span> <span class="PreProc">var</span> functions/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions +<span id="L408" class="LineNr"> 408 </span> <span class="PreProc">var</span> functions/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions <span id="L409" class="LineNr"> 409 </span> <a href='environment.mu.html#L971'>process-sandbox-define</a> <a href='data.mu.html#L5'>sandbox</a>, functions, key <span id="L410" class="LineNr"> 410 </span> <span class="PreProc">return</span> <span id="L411" class="LineNr"> 411 </span> <span class="Delimiter">}</span> @@ -474,19 +480,19 @@ if ('onhashchange' in window) { <span id="L414" class="LineNr"> 414 </span><span class="Delimiter">}</span> <span id="L415" class="LineNr"> 415 </span> <span id="L416" class="LineNr"> 416 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L416'>process-sandbox-edit</a></span> _self: (addr <a href='environment.mu.html#L16'>environment</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L417" class="LineNr"> 417 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L418" class="LineNr"> 418 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L419" class="LineNr"> 419 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L420" class="LineNr"> 420 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L421" class="LineNr"> 421 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L422" class="LineNr"> 422 </span> <span class="PreProc">var</span> _cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah -<span id="L423" class="LineNr"> 423 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word +<span id="L417" class="LineNr"> 417 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L418" class="LineNr"> 418 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L419" class="LineNr"> 419 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L420" class="LineNr"> 420 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L421" class="LineNr"> 421 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEbx">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L422" class="LineNr"> 422 </span> <span class="PreProc">var</span> _cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L423" class="LineNr"> 423 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word <span id="L424" class="LineNr"> 424 </span> compare key, <span class="Constant">0x445b1b</span>/left-arrow <span id="L425" class="LineNr"> 425 </span> $process-sandbox-edit:key-left-arrow: <span class="Delimiter">{</span> <span id="L426" class="LineNr"> 426 </span> <span class="PreProc">break-if-!=</span> <span id="L427" class="LineNr"> 427 </span><span class="CommentedCode">#? print-string 0, "left-arrow\n"</span> <span id="L428" class="LineNr"> 428 </span> <span class="muComment"># if not at start, move left within current word</span> -<span id="L429" class="LineNr"> 429 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L429" class="LineNr"> 429 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L430" class="LineNr"> 430 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L431" class="LineNr"> 431 </span> <span class="Delimiter">{</span> <span id="L432" class="LineNr"> 432 </span> <span class="PreProc">break-if-!=</span> @@ -496,59 +502,59 @@ if ('onhashchange' in window) { <span id="L436" class="LineNr"> 436 </span> <span class="Delimiter">}</span> <span id="L437" class="LineNr"> 437 </span> <span class="muComment"># if current word is expanded, move to the rightmost word in its body</span> <span id="L438" class="LineNr"> 438 </span> <span class="Delimiter">{</span> -<span id="L439" class="LineNr"> 439 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L440" class="LineNr"> 440 </span> <span class="PreProc">var</span> expanded-words/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words -<span id="L441" class="LineNr"> 441 </span> <span class="PreProc">var</span> curr-word-is-expanded?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path +<span id="L439" class="LineNr"> 439 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L440" class="LineNr"> 440 </span> <span class="PreProc">var</span> expanded-words/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words +<span id="L441" class="LineNr"> 441 </span> <span class="PreProc">var</span> curr-word-is-expanded?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path <span id="L442" class="LineNr"> 442 </span> compare curr-word-is-expanded?, <span class="Constant">0</span>/false <span id="L443" class="LineNr"> 443 </span> <span class="PreProc">break-if-=</span> <span id="L444" class="LineNr"> 444 </span> <span class="muComment"># update cursor-call-path</span> <span id="L445" class="LineNr"> 445 </span><span class="CommentedCode">#? print-string 0, "curr word is expanded\n"</span> -<span id="L446" class="LineNr"> 446 </span> <span class="PreProc">var</span> self/<span class="Constant">ecx</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self -<span id="L447" class="LineNr"> 447 </span> <span class="PreProc">var</span> functions/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions +<span id="L446" class="LineNr"> 446 </span> <span class="PreProc">var</span> self/<span class="muRegEcx">ecx</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _self +<span id="L447" class="LineNr"> 447 </span> <span class="PreProc">var</span> functions/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions <span id="L448" class="LineNr"> 448 </span> <span class="PreProc">var</span> body: (handle <a href='data.mu.html#L34'>line</a>) -<span id="L449" class="LineNr"> 449 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address body +<span id="L449" class="LineNr"> 449 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address body <span id="L450" class="LineNr"> 450 </span> <a href='data.mu.html#L232'>function-body</a> functions, cursor-word-ah, body-ah -<span id="L451" class="LineNr"> 451 </span> <span class="PreProc">var</span> body-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah -<span id="L452" class="LineNr"> 452 </span> <span class="PreProc">var</span> first-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body-addr, data +<span id="L451" class="LineNr"> 451 </span> <span class="PreProc">var</span> body-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L452" class="LineNr"> 452 </span> <span class="PreProc">var</span> first-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body-addr, data <span id="L453" class="LineNr"> 453 </span> <span class="PreProc">var</span> final-word-h: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L454" class="LineNr"> 454 </span> <span class="PreProc">var</span> final-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address final-word-h +<span id="L454" class="LineNr"> 454 </span> <span class="PreProc">var</span> final-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address final-word-h <span id="L455" class="LineNr"> 455 </span> <a href='word.mu.html#L114'>final-word</a> first-word-ah, final-word-ah <span id="L456" class="LineNr"> 456 </span> <a href='data.mu.html#L515'>push-to-call-path-element</a> cursor-call-path, final-word-ah <span id="L457" class="LineNr"> 457 </span> <span class="muComment"># move cursor to end of word</span> -<span id="L458" class="LineNr"> 458 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L459" class="LineNr"> 459 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L460" class="LineNr"> 460 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L461" class="LineNr"> 461 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L458" class="LineNr"> 458 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L459" class="LineNr"> 459 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L460" class="LineNr"> 460 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L461" class="LineNr"> 461 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L462" class="LineNr"> 462 </span> <a href='word.mu.html#L192'>cursor-to-end</a> cursor-word <span id="L463" class="LineNr"> 463 </span> <span class="PreProc">return</span> <span id="L464" class="LineNr"> 464 </span> <span class="Delimiter">}</span> <span id="L465" class="LineNr"> 465 </span> <span class="muComment"># if at first word, look for a caller to jump to</span> <span id="L466" class="LineNr"> 466 </span> $process-sandbox-edit:key-left-arrow-first-word: <span class="Delimiter">{</span> -<span id="L467" class="LineNr"> 467 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L468" class="LineNr"> 468 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L467" class="LineNr"> 467 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L468" class="LineNr"> 468 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L469" class="LineNr"> 469 </span> compare prev-word, <span class="Constant">0</span> <span id="L470" class="LineNr"> 470 </span> <span class="PreProc">break-if-!=</span> <span id="L471" class="LineNr"> 471 </span> $process-sandbox-edit:key-left-arrow-first-word-and-caller: <span class="Delimiter">{</span> <span id="L472" class="LineNr"> 472 </span><span class="CommentedCode">#? print-string 0, "return\n"</span> <span id="L473" class="LineNr"> 473 </span> <span class="Delimiter">{</span> -<span id="L474" class="LineNr"> 474 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L475" class="LineNr"> 475 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L476" class="LineNr"> 476 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next -<span id="L477" class="LineNr"> 477 </span> <span class="PreProc">var</span> next-cursor-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah +<span id="L474" class="LineNr"> 474 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L475" class="LineNr"> 475 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L476" class="LineNr"> 476 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next +<span id="L477" class="LineNr"> 477 </span> <span class="PreProc">var</span> next-cursor-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah <span id="L478" class="LineNr"> 478 </span> compare next-cursor-element, <span class="Constant">0</span> <span id="L479" class="LineNr"> 479 </span> <span class="PreProc">break-if-=</span> $process-sandbox-edit:key-left-arrow-first-word-and-caller <span id="L480" class="LineNr"> 480 </span> copy-object next-cursor-element-ah, cursor-call-path-ah <span id="L481" class="LineNr"> 481 </span> <span class="Delimiter">}</span> -<span id="L482" class="LineNr"> 482 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L483" class="LineNr"> 483 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L484" class="LineNr"> 484 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L485" class="LineNr"> 485 </span> <span class="PreProc">var</span> _cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L482" class="LineNr"> 482 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L483" class="LineNr"> 483 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L484" class="LineNr"> 484 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L485" class="LineNr"> 485 </span> <span class="PreProc">var</span> _cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L486" class="LineNr"> 486 </span> cursor-word <span class="Special"><-</span> copy _cursor-word <span id="L487" class="LineNr"> 487 </span> <span class="Delimiter">}</span> <span id="L488" class="LineNr"> 488 </span> <span class="Delimiter">}</span> <span id="L489" class="LineNr"> 489 </span> <span class="muComment"># then move to end of previous word</span> -<span id="L490" class="LineNr"> 490 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L491" class="LineNr"> 491 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L490" class="LineNr"> 490 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L491" class="LineNr"> 491 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L492" class="LineNr"> 492 </span> <span class="Delimiter">{</span> <span id="L493" class="LineNr"> 493 </span> compare prev-word, <span class="Constant">0</span> <span id="L494" class="LineNr"> 494 </span> <span class="PreProc">break-if-=</span> @@ -564,7 +570,7 @@ if ('onhashchange' in window) { <span id="L504" class="LineNr"> 504 </span><span class="CommentedCode">#? print-word 0, cursor-word</span> <span id="L505" class="LineNr"> 505 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L506" class="LineNr"> 506 </span><span class="CommentedCode">#? }</span> -<span id="L507" class="LineNr"> 507 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L507" class="LineNr"> 507 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L508" class="LineNr"> 508 </span> <a href='data.mu.html#L465'>decrement-final-element</a> cursor-call-path <span id="L509" class="LineNr"> 509 </span><span class="CommentedCode">#? {</span> <span id="L510" class="LineNr"> 510 </span><span class="CommentedCode">#? var cursor-call-path-ah/eax: (addr handle call-path-element) <- get sandbox, cursor-call-path</span> @@ -583,7 +589,7 @@ if ('onhashchange' in window) { <span id="L523" class="LineNr"> 523 </span> $process-sandbox-edit:key-right-arrow: <span class="Delimiter">{</span> <span id="L524" class="LineNr"> 524 </span> <span class="PreProc">break-if-!=</span> <span id="L525" class="LineNr"> 525 </span> <span class="muComment"># if not at end, move right within current word</span> -<span id="L526" class="LineNr"> 526 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L526" class="LineNr"> 526 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L527" class="LineNr"> 527 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L528" class="LineNr"> 528 </span> <span class="Delimiter">{</span> <span id="L529" class="LineNr"> 529 </span> <span class="PreProc">break-if-!=</span> @@ -593,54 +599,54 @@ if ('onhashchange' in window) { <span id="L533" class="LineNr"> 533 </span> <span class="Delimiter">}</span> <span id="L534" class="LineNr"> 534 </span> <span class="muComment"># if at final word, look for a caller to jump to</span> <span id="L535" class="LineNr"> 535 </span> <span class="Delimiter">{</span> -<span id="L536" class="LineNr"> 536 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L537" class="LineNr"> 537 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L536" class="LineNr"> 536 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L537" class="LineNr"> 537 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L538" class="LineNr"> 538 </span> compare <a href='../127next-word.subx.html#L11'>next-word</a>, <span class="Constant">0</span> <span id="L539" class="LineNr"> 539 </span> <span class="PreProc">break-if-!=</span> -<span id="L540" class="LineNr"> 540 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L541" class="LineNr"> 541 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L542" class="LineNr"> 542 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next -<span id="L543" class="LineNr"> 543 </span> <span class="PreProc">var</span> next-cursor-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah +<span id="L540" class="LineNr"> 540 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L541" class="LineNr"> 541 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L542" class="LineNr"> 542 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next +<span id="L543" class="LineNr"> 543 </span> <span class="PreProc">var</span> next-cursor-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah <span id="L544" class="LineNr"> 544 </span> compare next-cursor-element, <span class="Constant">0</span> <span id="L545" class="LineNr"> 545 </span> <span class="PreProc">break-if-=</span> <span id="L546" class="LineNr"> 546 </span> copy-object next-cursor-element-ah, cursor-call-path-ah <span id="L547" class="LineNr"> 547 </span> <span class="PreProc">return</span> <span id="L548" class="LineNr"> 548 </span> <span class="Delimiter">}</span> <span id="L549" class="LineNr"> 549 </span> <span class="muComment"># otherwise, move to the next word</span> -<span id="L550" class="LineNr"> 550 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L551" class="LineNr"> 551 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L550" class="LineNr"> 550 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L551" class="LineNr"> 551 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L552" class="LineNr"> 552 </span> <span class="Delimiter">{</span> <span id="L553" class="LineNr"> 553 </span> compare <a href='../127next-word.subx.html#L11'>next-word</a>, <span class="Constant">0</span> <span id="L554" class="LineNr"> 554 </span> <span class="PreProc">break-if-=</span> <span id="L555" class="LineNr"> 555 </span><span class="CommentedCode">#? print-string 0, "b\n"</span> <span id="L556" class="LineNr"> 556 </span> <a href='word.mu.html#L185'>cursor-to-start</a> <a href='../127next-word.subx.html#L11'>next-word</a> <span id="L557" class="LineNr"> 557 </span> <span class="muS2Comment"># . . cursor-word now out of date</span> -<span id="L558" class="LineNr"> 558 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L558" class="LineNr"> 558 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L559" class="LineNr"> 559 </span> <a href='data.mu.html#L453'>increment-final-element</a> cursor-call-path <span id="L560" class="LineNr"> 560 </span> <span class="muComment"># Is the new cursor word expanded? If so, it's a function call. Add a</span> <span id="L561" class="LineNr"> 561 </span> <span class="muComment"># new level to the cursor-call-path for the call's body.</span> <span id="L562" class="LineNr"> 562 </span> $process-sandbox-edit:key-right-arrow-next-word-is-call-expanded: <span class="Delimiter">{</span> <span id="L563" class="LineNr"> 563 </span><span class="CommentedCode">#? print-string 0, "c\n"</span> <span id="L564" class="LineNr"> 564 </span> <span class="Delimiter">{</span> -<span id="L565" class="LineNr"> 565 </span> <span class="PreProc">var</span> expanded-words/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words -<span id="L566" class="LineNr"> 566 </span> <span class="PreProc">var</span> curr-word-is-expanded?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path +<span id="L565" class="LineNr"> 565 </span> <span class="PreProc">var</span> expanded-words/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words +<span id="L566" class="LineNr"> 566 </span> <span class="PreProc">var</span> curr-word-is-expanded?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path <span id="L567" class="LineNr"> 567 </span> compare curr-word-is-expanded?, <span class="Constant">0</span>/false <span id="L568" class="LineNr"> 568 </span> <span class="PreProc">break-if-=</span> $process-sandbox-edit:key-right-arrow-next-word-is-call-expanded <span id="L569" class="LineNr"> 569 </span> <span class="Delimiter">}</span> <span id="L570" class="LineNr"> 570 </span> <span class="PreProc">var</span> callee-h: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L571" class="LineNr"> 571 </span> <span class="PreProc">var</span> callee-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h -<span id="L572" class="LineNr"> 572 </span> <span class="PreProc">var</span> functions/<span class="Constant">ebx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions +<span id="L571" class="LineNr"> 571 </span> <span class="PreProc">var</span> callee-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h +<span id="L572" class="LineNr"> 572 </span> <span class="PreProc">var</span> functions/<span class="muRegEbx">ebx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, functions <span id="L573" class="LineNr"> 573 </span> <a href='environment.mu.html#L1846'>callee</a> functions, <a href='../127next-word.subx.html#L11'>next-word</a>, callee-ah -<span id="L574" class="LineNr"> 574 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah -<span id="L575" class="LineNr"> 575 </span> <span class="PreProc">var</span> callee-body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body -<span id="L576" class="LineNr"> 576 </span> <span class="PreProc">var</span> callee-body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-body-ah -<span id="L577" class="LineNr"> 577 </span> <span class="PreProc">var</span> callee-body-first-word/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> callee-body, data +<span id="L574" class="LineNr"> 574 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah +<span id="L575" class="LineNr"> 575 </span> <span class="PreProc">var</span> callee-body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body +<span id="L576" class="LineNr"> 576 </span> <span class="PreProc">var</span> callee-body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-body-ah +<span id="L577" class="LineNr"> 577 </span> <span class="PreProc">var</span> callee-body-first-word/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> callee-body, data <span id="L578" class="LineNr"> 578 </span> <a href='data.mu.html#L515'>push-to-call-path-element</a> cursor-call-path, callee-body-first-word <span id="L579" class="LineNr"> 579 </span> <span class="muComment"># position cursor at left</span> -<span id="L580" class="LineNr"> 580 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L581" class="LineNr"> 581 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L582" class="LineNr"> 582 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L583" class="LineNr"> 583 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L580" class="LineNr"> 580 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L581" class="LineNr"> 581 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L582" class="LineNr"> 582 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L583" class="LineNr"> 583 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L584" class="LineNr"> 584 </span> <a href='word.mu.html#L185'>cursor-to-start</a> cursor-word <span id="L585" class="LineNr"> 585 </span><span class="CommentedCode">#? print-string 0, "d\n"</span> <span id="L586" class="LineNr"> 586 </span> <span class="PreProc">return</span> @@ -667,29 +673,29 @@ if ('onhashchange' in window) { <span id="L607" class="LineNr"> 607 </span> $process-sandbox-edit:prev-word: <span class="Delimiter">{</span> <span id="L608" class="LineNr"> 608 </span> <span class="PreProc">break-if-!=</span> <span id="L609" class="LineNr"> 609 </span> <span class="muComment"># jump to previous word at same level</span> -<span id="L610" class="LineNr"> 610 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L611" class="LineNr"> 611 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L610" class="LineNr"> 610 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L611" class="LineNr"> 611 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L612" class="LineNr"> 612 </span> <span class="Delimiter">{</span> <span id="L613" class="LineNr"> 613 </span> compare prev-word, <span class="Constant">0</span> <span id="L614" class="LineNr"> 614 </span> <span class="PreProc">break-if-=</span> <span id="L615" class="LineNr"> 615 </span> <a href='word.mu.html#L192'>cursor-to-end</a> prev-word -<span id="L616" class="LineNr"> 616 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L616" class="LineNr"> 616 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L617" class="LineNr"> 617 </span> <a href='data.mu.html#L465'>decrement-final-element</a> cursor-call-path <span id="L618" class="LineNr"> 618 </span> <span class="PreProc">return</span> <span id="L619" class="LineNr"> 619 </span> <span class="Delimiter">}</span> <span id="L620" class="LineNr"> 620 </span> <span class="muComment"># if previous word doesn't exist, try to bump up one level</span> <span id="L621" class="LineNr"> 621 </span> <span class="Delimiter">{</span> -<span id="L622" class="LineNr"> 622 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L623" class="LineNr"> 623 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L624" class="LineNr"> 624 </span> <span class="PreProc">var</span> caller-cursor-element-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next -<span id="L625" class="LineNr"> 625 </span> <span class="PreProc">var</span> caller-cursor-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-cursor-element-ah +<span id="L622" class="LineNr"> 622 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L623" class="LineNr"> 623 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L624" class="LineNr"> 624 </span> <span class="PreProc">var</span> caller-cursor-element-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next +<span id="L625" class="LineNr"> 625 </span> <span class="PreProc">var</span> caller-cursor-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-cursor-element-ah <span id="L626" class="LineNr"> 626 </span> compare caller-cursor-element, <span class="Constant">0</span> <span id="L627" class="LineNr"> 627 </span> <span class="PreProc">break-if-=</span> <span id="L628" class="LineNr"> 628 </span> <span class="muComment"># check if previous word exists in caller</span> -<span id="L629" class="LineNr"> 629 </span> <span class="PreProc">var</span> caller-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-cursor-element, <a href='data.mu.html#L42'>word</a> -<span id="L630" class="LineNr"> 630 </span> <span class="PreProc">var</span> caller-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-word-ah -<span id="L631" class="LineNr"> 631 </span> <span class="PreProc">var</span> word-before-caller-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-word, prev -<span id="L632" class="LineNr"> 632 </span> <span class="PreProc">var</span> word-before-caller/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-before-caller-ah +<span id="L629" class="LineNr"> 629 </span> <span class="PreProc">var</span> caller-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-cursor-element, <a href='data.mu.html#L42'>word</a> +<span id="L630" class="LineNr"> 630 </span> <span class="PreProc">var</span> caller-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-word-ah +<span id="L631" class="LineNr"> 631 </span> <span class="PreProc">var</span> word-before-caller-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-word, prev +<span id="L632" class="LineNr"> 632 </span> <span class="PreProc">var</span> word-before-caller/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-before-caller-ah <span id="L633" class="LineNr"> 633 </span> compare word-before-caller, <span class="Constant">0</span> <span id="L634" class="LineNr"> 634 </span> <span class="PreProc">break-if-=</span> <span id="L635" class="LineNr"> 635 </span> <span class="muComment"># if so jump to it</span> @@ -703,23 +709,23 @@ if ('onhashchange' in window) { <span id="L643" class="LineNr"> 643 </span> <span class="PreProc">break-if-!=</span> <span id="L644" class="LineNr"> 644 </span><span class="CommentedCode">#? print-string 0, "AA\n"</span> <span id="L645" class="LineNr"> 645 </span> <span class="muComment"># jump to previous word at same level</span> -<span id="L646" class="LineNr"> 646 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L647" class="LineNr"> 647 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L646" class="LineNr"> 646 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L647" class="LineNr"> 647 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L648" class="LineNr"> 648 </span> <span class="Delimiter">{</span> <span id="L649" class="LineNr"> 649 </span> compare <a href='../127next-word.subx.html#L11'>next-word</a>, <span class="Constant">0</span> <span id="L650" class="LineNr"> 650 </span> <span class="PreProc">break-if-=</span> <span id="L651" class="LineNr"> 651 </span><span class="CommentedCode">#? print-string 0, "BB\n"</span> <span id="L652" class="LineNr"> 652 </span> <a href='word.mu.html#L192'>cursor-to-end</a> <a href='../127next-word.subx.html#L11'>next-word</a> -<span id="L653" class="LineNr"> 653 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L653" class="LineNr"> 653 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L654" class="LineNr"> 654 </span> <a href='data.mu.html#L453'>increment-final-element</a> cursor-call-path <span id="L655" class="LineNr"> 655 </span> <span class="PreProc">return</span> <span id="L656" class="LineNr"> 656 </span> <span class="Delimiter">}</span> <span id="L657" class="LineNr"> 657 </span> <span class="muComment"># if next word doesn't exist, try to bump up one level</span> <span id="L658" class="LineNr"> 658 </span><span class="CommentedCode">#? print-string 0, "CC\n"</span> -<span id="L659" class="LineNr"> 659 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L660" class="LineNr"> 660 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L661" class="LineNr"> 661 </span> <span class="PreProc">var</span> caller-cursor-element-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next -<span id="L662" class="LineNr"> 662 </span> <span class="PreProc">var</span> caller-cursor-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-cursor-element-ah +<span id="L659" class="LineNr"> 659 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L660" class="LineNr"> 660 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L661" class="LineNr"> 661 </span> <span class="PreProc">var</span> caller-cursor-element-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next +<span id="L662" class="LineNr"> 662 </span> <span class="PreProc">var</span> caller-cursor-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *caller-cursor-element-ah <span id="L663" class="LineNr"> 663 </span> compare caller-cursor-element, <span class="Constant">0</span> <span id="L664" class="LineNr"> 664 </span> <span class="PreProc">break-if-=</span> <span id="L665" class="LineNr"> 665 </span><span class="CommentedCode">#? print-string 0, "DD\n"</span> @@ -730,9 +736,9 @@ if ('onhashchange' in window) { <span id="L670" class="LineNr"> 670 </span> $process-sandbox-edit:goto-function: <span class="Delimiter">{</span> <span id="L671" class="LineNr"> 671 </span> <span class="PreProc">break-if-!=</span> <span id="L672" class="LineNr"> 672 </span> <span class="muComment"># initialize dialog to name function to jump to</span> -<span id="L673" class="LineNr"> 673 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name +<span id="L673" class="LineNr"> 673 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, partial-function-name <span id="L674" class="LineNr"> 674 </span> <a href='../120allocate.subx.html#L66'>allocate</a> partial-function-name-ah -<span id="L675" class="LineNr"> 675 </span> <span class="PreProc">var</span> partial-function-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah +<span id="L675" class="LineNr"> 675 </span> <span class="PreProc">var</span> partial-function-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah <span id="L676" class="LineNr"> 676 </span> <a href='word.mu.html#L1'>initialize-word</a> partial-function-name <span id="L677" class="LineNr"> 677 </span> <span class="PreProc">return</span> <span id="L678" class="LineNr"> 678 </span> <span class="Delimiter">}</span> @@ -741,13 +747,13 @@ if ('onhashchange' in window) { <span id="L681" class="LineNr"> 681 </span> $process-sandbox-edit:start-of-line: <span class="Delimiter">{</span> <span id="L682" class="LineNr"> 682 </span> <span class="PreProc">break-if-!=</span> <span id="L683" class="LineNr"> 683 </span> <span class="muComment"># move cursor up past all calls and to start of line</span> -<span id="L684" class="LineNr"> 684 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L684" class="LineNr"> 684 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L685" class="LineNr"> 685 </span> <a href='data.mu.html#L537'>drop-nested-calls</a> cursor-call-path-ah <span id="L686" class="LineNr"> 686 </span> <a href='data.mu.html#L489'>move-final-element-to-start-of-line</a> cursor-call-path-ah <span id="L687" class="LineNr"> 687 </span> <span class="muComment"># move cursor to start of word</span> -<span id="L688" class="LineNr"> 688 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L689" class="LineNr"> 689 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L690" class="LineNr"> 690 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L688" class="LineNr"> 688 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L689" class="LineNr"> 689 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L690" class="LineNr"> 690 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L691" class="LineNr"> 691 </span> <a href='word.mu.html#L185'>cursor-to-start</a> cursor-word <span id="L692" class="LineNr"> 692 </span> <span class="muComment"># this works as long as the first word isn't expanded</span> <span id="L693" class="LineNr"> 693 </span> <span class="muComment"># but we don't expect to see zero-arg functions first-up</span> @@ -757,13 +763,13 @@ if ('onhashchange' in window) { <span id="L697" class="LineNr"> 697 </span> $process-sandbox-edit:end-of-line: <span class="Delimiter">{</span> <span id="L698" class="LineNr"> 698 </span> <span class="PreProc">break-if-!=</span> <span id="L699" class="LineNr"> 699 </span> <span class="muComment"># move cursor up past all calls and to start of line</span> -<span id="L700" class="LineNr"> 700 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L700" class="LineNr"> 700 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L701" class="LineNr"> 701 </span> <a href='data.mu.html#L537'>drop-nested-calls</a> cursor-call-path-ah <span id="L702" class="LineNr"> 702 </span> <a href='data.mu.html#L502'>move-final-element-to-end-of-line</a> cursor-call-path-ah <span id="L703" class="LineNr"> 703 </span> <span class="muComment"># move cursor to end of word</span> -<span id="L704" class="LineNr"> 704 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L705" class="LineNr"> 705 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L706" class="LineNr"> 706 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L704" class="LineNr"> 704 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L705" class="LineNr"> 705 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L706" class="LineNr"> 706 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L707" class="LineNr"> 707 </span> <a href='word.mu.html#L192'>cursor-to-end</a> cursor-word <span id="L708" class="LineNr"> 708 </span> <span class="muComment"># this works because expanded words lie to the right of their bodies</span> <span id="L709" class="LineNr"> 709 </span> <span class="muComment"># so the final word is always guaranteed to be at the top-level</span> @@ -777,10 +783,10 @@ if ('onhashchange' in window) { <span id="L717" class="LineNr"> 717 </span> <span class="PreProc">return</span> <span id="L718" class="LineNr"> 718 </span> <span class="Delimiter">}</span> <span id="L719" class="LineNr"> 719 </span> <span class="muComment"># if cursor is within a call, disable editing hotkeys below</span> -<span id="L720" class="LineNr"> 720 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L721" class="LineNr"> 721 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L722" class="LineNr"> 722 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next -<span id="L723" class="LineNr"> 723 </span> <span class="PreProc">var</span> next-cursor-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah +<span id="L720" class="LineNr"> 720 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L721" class="LineNr"> 721 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L722" class="LineNr"> 722 </span> <span class="PreProc">var</span> next-cursor-element-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, next +<span id="L723" class="LineNr"> 723 </span> <span class="PreProc">var</span> next-cursor-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-cursor-element-ah <span id="L724" class="LineNr"> 724 </span> compare next-cursor-element, <span class="Constant">0</span> <span id="L725" class="LineNr"> 725 </span> <span class="Delimiter">{</span> <span id="L726" class="LineNr"> 726 </span> <span class="PreProc">break-if-=</span> @@ -791,7 +797,7 @@ if ('onhashchange' in window) { <span id="L731" class="LineNr"> 731 </span> $process-sandbox-edit:backspace: <span class="Delimiter">{</span> <span id="L732" class="LineNr"> 732 </span> <span class="PreProc">break-if-!=</span> <span id="L733" class="LineNr"> 733 </span> <span class="muComment"># if not at start of some word, delete grapheme before cursor within current word</span> -<span id="L734" class="LineNr"> 734 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L734" class="LineNr"> 734 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L735" class="LineNr"> 735 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L736" class="LineNr"> 736 </span> <span class="Delimiter">{</span> <span id="L737" class="LineNr"> 737 </span> <span class="PreProc">break-if-!=</span> @@ -799,14 +805,14 @@ if ('onhashchange' in window) { <span id="L739" class="LineNr"> 739 </span> <span class="PreProc">return</span> <span id="L740" class="LineNr"> 740 </span> <span class="Delimiter">}</span> <span id="L741" class="LineNr"> 741 </span> <span class="muComment"># otherwise delete current word and move to end of prev word</span> -<span id="L742" class="LineNr"> 742 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev -<span id="L743" class="LineNr"> 743 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L742" class="LineNr"> 742 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L743" class="LineNr"> 743 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L744" class="LineNr"> 744 </span> <span class="Delimiter">{</span> <span id="L745" class="LineNr"> 745 </span> compare prev-word, <span class="Constant">0</span> <span id="L746" class="LineNr"> 746 </span> <span class="PreProc">break-if-=</span> <span id="L747" class="LineNr"> 747 </span> <a href='word.mu.html#L192'>cursor-to-end</a> prev-word <span id="L748" class="LineNr"> 748 </span> <a href='word.mu.html#L222'>delete-next</a> prev-word -<span id="L749" class="LineNr"> 749 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L749" class="LineNr"> 749 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L750" class="LineNr"> 750 </span> <a href='data.mu.html#L465'>decrement-final-element</a> cursor-call-path <span id="L751" class="LineNr"> 751 </span> <span class="Delimiter">}</span> <span id="L752" class="LineNr"> 752 </span> <span class="PreProc">return</span> @@ -817,22 +823,22 @@ if ('onhashchange' in window) { <span id="L757" class="LineNr"> 757 </span><span class="CommentedCode">#? print-string 0, "space\n"</span> <span id="L758" class="LineNr"> 758 </span> <span class="muComment"># if cursor is at start of word, insert word before</span> <span id="L759" class="LineNr"> 759 </span> <span class="Delimiter">{</span> -<span id="L760" class="LineNr"> 760 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word +<span id="L760" class="LineNr"> 760 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> cursor-word <span id="L761" class="LineNr"> 761 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L762" class="LineNr"> 762 </span> <span class="PreProc">break-if-=</span> -<span id="L763" class="LineNr"> 763 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev +<span id="L763" class="LineNr"> 763 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, prev <span id="L764" class="LineNr"> 764 </span> <a href='word.mu.html#L356'>append-word</a> prev-word-ah -<span id="L765" class="LineNr"> 765 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L765" class="LineNr"> 765 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L766" class="LineNr"> 766 </span> <a href='data.mu.html#L465'>decrement-final-element</a> cursor-call-path <span id="L767" class="LineNr"> 767 </span> <span class="PreProc">return</span> <span id="L768" class="LineNr"> 768 </span> <span class="Delimiter">}</span> <span id="L769" class="LineNr"> 769 </span> <span class="muComment"># if start of word is quote and grapheme before cursor is not, just insert it as usual</span> <span id="L770" class="LineNr"> 770 </span> <span class="muComment"># TODO: support string escaping</span> <span id="L771" class="LineNr"> 771 </span> <span class="Delimiter">{</span> -<span id="L772" class="LineNr"> 772 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word +<span id="L772" class="LineNr"> 772 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word <span id="L773" class="LineNr"> 773 </span> compare <a href='word.mu.html#L132'>first-grapheme</a>, <span class="Constant">0x22</span>/double-quote <span id="L774" class="LineNr"> 774 </span> <span class="PreProc">break-if-!=</span> -<span id="L775" class="LineNr"> 775 </span> <span class="PreProc">var</span> final-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word +<span id="L775" class="LineNr"> 775 </span> <span class="PreProc">var</span> final-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word <span id="L776" class="LineNr"> 776 </span> compare final-grapheme, <span class="Constant">0x22</span>/double-quote <span id="L777" class="LineNr"> 777 </span> <span class="PreProc">break-if-=</span> <span id="L778" class="LineNr"> 778 </span> <span class="PreProc">break</span> $process-sandbox-edit:space @@ -840,10 +846,10 @@ if ('onhashchange' in window) { <span id="L780" class="LineNr"> 780 </span> <span class="muComment"># if start of word is '[' and grapheme before cursor is not ']', just insert it as usual</span> <span id="L781" class="LineNr"> 781 </span> <span class="muComment"># TODO: support nested arrays</span> <span id="L782" class="LineNr"> 782 </span> <span class="Delimiter">{</span> -<span id="L783" class="LineNr"> 783 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word +<span id="L783" class="LineNr"> 783 </span> <span class="PreProc">var</span> <a href='word.mu.html#L132'>first-grapheme</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L132'>first-grapheme</a> cursor-word <span id="L784" class="LineNr"> 784 </span> compare <a href='word.mu.html#L132'>first-grapheme</a>, <span class="Constant">0x5b</span>/[ <span id="L785" class="LineNr"> 785 </span> <span class="PreProc">break-if-!=</span> -<span id="L786" class="LineNr"> 786 </span> <span class="PreProc">var</span> final-grapheme/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word +<span id="L786" class="LineNr"> 786 </span> <span class="PreProc">var</span> final-grapheme/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L140'>grapheme-before-cursor</a> cursor-word <span id="L787" class="LineNr"> 787 </span> compare final-grapheme, <span class="Constant">0x5d</span>/] <span id="L788" class="LineNr"> 788 </span> <span class="PreProc">break-if-=</span> <span id="L789" class="LineNr"> 789 </span> <span class="PreProc">break</span> $process-sandbox-edit:space @@ -851,10 +857,10 @@ if ('onhashchange' in window) { <span id="L791" class="LineNr"> 791 </span> <span class="muComment"># otherwise insert word after and move cursor to it for the next key</span> <span id="L792" class="LineNr"> 792 </span> <span class="muComment"># (but we'll continue to track the current cursor-word for the rest of this function)</span> <span id="L793" class="LineNr"> 793 </span> <a href='word.mu.html#L356'>append-word</a> cursor-word-ah -<span id="L794" class="LineNr"> 794 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L794" class="LineNr"> 794 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L795" class="LineNr"> 795 </span> <a href='data.mu.html#L453'>increment-final-element</a> cursor-call-path <span id="L796" class="LineNr"> 796 </span> <span class="muComment"># if cursor is at end of word, that's all</span> -<span id="L797" class="LineNr"> 797 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L797" class="LineNr"> 797 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L798" class="LineNr"> 798 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L799" class="LineNr"> 799 </span> <span class="Delimiter">{</span> <span id="L800" class="LineNr"> 800 </span> <span class="PreProc">break-if-=</span> @@ -862,14 +868,14 @@ if ('onhashchange' in window) { <span id="L802" class="LineNr"> 802 </span> <span class="Delimiter">}</span> <span id="L803" class="LineNr"> 803 </span> <span class="muComment"># otherwise we're in the middle of a word</span> <span id="L804" class="LineNr"> 804 </span> <span class="muComment"># move everything after cursor to the (just created) next word</span> -<span id="L805" class="LineNr"> 805 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next -<span id="L806" class="LineNr"> 806 </span> <span class="PreProc">var</span> _next-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah -<span id="L807" class="LineNr"> 807 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next-word +<span id="L805" class="LineNr"> 805 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next +<span id="L806" class="LineNr"> 806 </span> <span class="PreProc">var</span> _next-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L807" class="LineNr"> 807 </span> <span class="PreProc">var</span> <a href='../127next-word.subx.html#L11'>next-word</a>/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next-word <span id="L808" class="LineNr"> 808 </span> <span class="Delimiter">{</span> -<span id="L809" class="LineNr"> 809 </span> <span class="PreProc">var</span> at-end?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word +<span id="L809" class="LineNr"> 809 </span> <span class="PreProc">var</span> at-end?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L163'>cursor-at-end?</a> cursor-word <span id="L810" class="LineNr"> 810 </span> compare at-end?, <span class="Constant">0</span>/false <span id="L811" class="LineNr"> 811 </span> <span class="PreProc">break-if-!=</span> -<span id="L812" class="LineNr"> 812 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L214'>pop-after-cursor</a> cursor-word +<span id="L812" class="LineNr"> 812 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='word.mu.html#L214'>pop-after-cursor</a> cursor-word <span id="L813" class="LineNr"> 813 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> <a href='../127next-word.subx.html#L11'>next-word</a>, g <span id="L814" class="LineNr"> 814 </span> <span class="PreProc">loop</span> <span id="L815" class="LineNr"> 815 </span> <span class="Delimiter">}</span> @@ -881,9 +887,9 @@ if ('onhashchange' in window) { <span id="L821" class="LineNr"> 821 </span> <span class="PreProc">break-if-!=</span> <span id="L822" class="LineNr"> 822 </span> <span class="muComment"># TODO: ensure current word is not a function</span> <span id="L823" class="LineNr"> 823 </span> <span class="muComment"># rename word at cursor</span> -<span id="L824" class="LineNr"> 824 </span> <span class="PreProc">var</span> new-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word +<span id="L824" class="LineNr"> 824 </span> <span class="PreProc">var</span> new-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word <span id="L825" class="LineNr"> 825 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-name-ah -<span id="L826" class="LineNr"> 826 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L826" class="LineNr"> 826 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L827" class="LineNr"> 827 </span> <a href='word.mu.html#L1'>initialize-word</a> new-name <span id="L828" class="LineNr"> 828 </span> <span class="PreProc">return</span> <span id="L829" class="LineNr"> 829 </span> <span class="Delimiter">}</span> @@ -891,15 +897,15 @@ if ('onhashchange' in window) { <span id="L831" class="LineNr"> 831 </span> $process:define-function: <span class="Delimiter">{</span> <span id="L832" class="LineNr"> 832 </span> <span class="PreProc">break-if-!=</span> <span id="L833" class="LineNr"> 833 </span> <span class="muComment"># define function out of line at cursor</span> -<span id="L834" class="LineNr"> 834 </span> <span class="PreProc">var</span> new-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function +<span id="L834" class="LineNr"> 834 </span> <span class="PreProc">var</span> new-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function <span id="L835" class="LineNr"> 835 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-name-ah -<span id="L836" class="LineNr"> 836 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L836" class="LineNr"> 836 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L837" class="LineNr"> 837 </span> <a href='word.mu.html#L1'>initialize-word</a> new-name <span id="L838" class="LineNr"> 838 </span> <span class="PreProc">return</span> <span id="L839" class="LineNr"> 839 </span> <span class="Delimiter">}</span> <span id="L840" class="LineNr"> 840 </span> <span class="muComment"># otherwise insert key within current word</span> -<span id="L841" class="LineNr"> 841 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: grapheme <span class="Special"><-</span> copy key -<span id="L842" class="LineNr"> 842 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key +<span id="L841" class="LineNr"> 841 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: grapheme <span class="Special"><-</span> copy key +<span id="L842" class="LineNr"> 842 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key <span id="L843" class="LineNr"> 843 </span> $process-sandbox-edit:real-grapheme: <span class="Delimiter">{</span> <span id="L844" class="LineNr"> 844 </span> compare print?, <span class="Constant">0</span>/false <span id="L845" class="LineNr"> 845 </span> <span class="PreProc">break-if-=</span> @@ -913,8 +919,8 @@ if ('onhashchange' in window) { <span id="L853" class="LineNr"> 853 </span><span class="muComment"># at cursor to it</span> <span id="L854" class="LineNr"> 854 </span><span class="muComment"># Precondition: cursor-call-path is a singleton (not within a call)</span> <span id="L855" class="LineNr"> 855 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L855'>process-sandbox-rename</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L856" class="LineNr"> 856 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L857" class="LineNr"> 857 </span> <span class="PreProc">var</span> new-name-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word +<span id="L856" class="LineNr"> 856 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L857" class="LineNr"> 857 </span> <span class="PreProc">var</span> new-name-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word <span id="L858" class="LineNr"> 858 </span> <span class="muComment"># if 'esc' pressed, cancel rename</span> <span id="L859" class="LineNr"> 859 </span> compare key, <span class="Constant">0x1b</span>/esc <span id="L860" class="LineNr"> 860 </span> $process-sandbox-rename:cancel: <span class="Delimiter">{</span> @@ -929,16 +935,16 @@ if ('onhashchange' in window) { <span id="L869" class="LineNr"> 869 </span><span class="CommentedCode">#? print-string 0, "rename\n"</span> <span id="L870" class="LineNr"> 870 </span> <span class="muComment"># new line</span> <span id="L871" class="LineNr"> 871 </span> <span class="PreProc">var</span> new-line-h: (handle <a href='data.mu.html#L34'>line</a>) -<span id="L872" class="LineNr"> 872 </span> <span class="PreProc">var</span> new-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address new-line-h +<span id="L872" class="LineNr"> 872 </span> <span class="PreProc">var</span> new-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address new-line-h <span id="L873" class="LineNr"> 873 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-line-ah -<span id="L874" class="LineNr"> 874 </span> <span class="PreProc">var</span> new-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-line-ah +<span id="L874" class="LineNr"> 874 </span> <span class="PreProc">var</span> new-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-line-ah <span id="L875" class="LineNr"> 875 </span> <a href='data.mu.html#L102'>initialize-line</a> new-line -<span id="L876" class="LineNr"> 876 </span> <span class="PreProc">var</span> new-line-word-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-line, data +<span id="L876" class="LineNr"> 876 </span> <span class="PreProc">var</span> new-line-word-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-line, data <span id="L877" class="LineNr"> 877 </span> <span class="Delimiter">{</span> <span id="L878" class="LineNr"> 878 </span> <span class="muComment"># move word at cursor to new line</span> -<span id="L879" class="LineNr"> 879 </span> <span class="PreProc">var</span> cursor-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L880" class="LineNr"> 880 </span> <span class="PreProc">var</span> cursor/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-ah -<span id="L881" class="LineNr"> 881 </span> <span class="PreProc">var</span> word-at-cursor-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor, <a href='data.mu.html#L42'>word</a> +<span id="L879" class="LineNr"> 879 </span> <span class="PreProc">var</span> cursor-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L880" class="LineNr"> 880 </span> <span class="PreProc">var</span> cursor/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-ah +<span id="L881" class="LineNr"> 881 </span> <span class="PreProc">var</span> word-at-cursor-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor, <a href='data.mu.html#L42'>word</a> <span id="L882" class="LineNr"> 882 </span><span class="CommentedCode">#? print-string 0, "cursor before at word "</span> <span id="L883" class="LineNr"> 883 </span><span class="CommentedCode">#? {</span> <span id="L884" class="LineNr"> 884 </span><span class="CommentedCode">#? var cursor-word/eax: (addr word) <- lookup *word-at-cursor-ah</span> @@ -969,15 +975,15 @@ if ('onhashchange' in window) { <span id="L909" class="LineNr"> 909 </span> <span class="Delimiter">}</span> <span id="L910" class="LineNr"> 910 </span> <span class="muComment"># prepend '=' to name</span> <span id="L911" class="LineNr"> 911 </span> <span class="Delimiter">{</span> -<span id="L912" class="LineNr"> 912 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L912" class="LineNr"> 912 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L913" class="LineNr"> 913 </span> <a href='word.mu.html#L185'>cursor-to-start</a> new-name <span id="L914" class="LineNr"> 914 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> new-name, <span class="Constant">0x3d</span>/= <span id="L915" class="LineNr"> 915 </span> <span class="Delimiter">}</span> <span id="L916" class="LineNr"> 916 </span> <span class="muComment"># append name to new line</span> <span id="L917" class="LineNr"> 917 </span> <a href='word.mu.html#L459'>chain-words</a> new-line-word-ah, new-name-ah <span id="L918" class="LineNr"> 918 </span> <span class="muComment"># new-line->next = sandbox->data</span> -<span id="L919" class="LineNr"> 919 </span> <span class="PreProc">var</span> new-line-next/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-line, next -<span id="L920" class="LineNr"> 920 </span> <span class="PreProc">var</span> sandbox-slot/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L919" class="LineNr"> 919 </span> <span class="PreProc">var</span> new-line-next/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-line, next +<span id="L920" class="LineNr"> 920 </span> <span class="PreProc">var</span> sandbox-slot/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data <span id="L921" class="LineNr"> 921 </span> copy-object sandbox-slot, new-line-next <span id="L922" class="LineNr"> 922 </span> <span class="muComment"># sandbox->data = new-line</span> <span id="L923" class="LineNr"> 923 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> new-line-h, sandbox-slot @@ -1002,22 +1008,22 @@ if ('onhashchange' in window) { <span id="L942" class="LineNr"> 942 </span> $process-sandbox-rename:backspace: <span class="Delimiter">{</span> <span id="L943" class="LineNr"> 943 </span> <span class="PreProc">break-if-!=</span> <span id="L944" class="LineNr"> 944 </span> <span class="muComment"># if not at start, delete grapheme before cursor</span> -<span id="L945" class="LineNr"> 945 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah -<span id="L946" class="LineNr"> 946 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> new-name +<span id="L945" class="LineNr"> 945 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L946" class="LineNr"> 946 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> new-name <span id="L947" class="LineNr"> 947 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L948" class="LineNr"> 948 </span> <span class="Delimiter">{</span> <span id="L949" class="LineNr"> 949 </span> <span class="PreProc">break-if-!=</span> -<span id="L950" class="LineNr"> 950 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L950" class="LineNr"> 950 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L951" class="LineNr"> 951 </span> <a href='word.mu.html#L207'>delete-before-cursor</a> new-name <span id="L952" class="LineNr"> 952 </span> <span class="Delimiter">}</span> <span id="L953" class="LineNr"> 953 </span> <span class="PreProc">return</span> <span id="L954" class="LineNr"> 954 </span> <span class="Delimiter">}</span> <span id="L955" class="LineNr"> 955 </span> <span class="muComment"># otherwise insert key within current word</span> -<span id="L956" class="LineNr"> 956 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key +<span id="L956" class="LineNr"> 956 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key <span id="L957" class="LineNr"> 957 </span> $process-sandbox-rename:real-grapheme: <span class="Delimiter">{</span> <span id="L958" class="LineNr"> 958 </span> compare print?, <span class="Constant">0</span>/false <span id="L959" class="LineNr"> 959 </span> <span class="PreProc">break-if-=</span> -<span id="L960" class="LineNr"> 960 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L960" class="LineNr"> 960 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L961" class="LineNr"> 961 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> new-name, key <span id="L962" class="LineNr"> 962 </span> <span class="PreProc">return</span> <span id="L963" class="LineNr"> 963 </span> <span class="Delimiter">}</span> @@ -1029,8 +1035,8 @@ if ('onhashchange' in window) { <span id="L969" class="LineNr"> 969 </span><span class="muComment"># with a call to the appropriate function.</span> <span id="L970" class="LineNr"> 970 </span><span class="muComment"># Precondition: cursor-call-path is a singleton (not within a call)</span> <span id="L971" class="LineNr"> 971 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L971'>process-sandbox-define</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), key: grapheme <span class="Delimiter">{</span> -<span id="L972" class="LineNr"> 972 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L973" class="LineNr"> 973 </span> <span class="PreProc">var</span> new-name-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function +<span id="L972" class="LineNr"> 972 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L973" class="LineNr"> 973 </span> <span class="PreProc">var</span> new-name-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function <span id="L974" class="LineNr"> 974 </span> <span class="muComment"># if 'esc' pressed, cancel define</span> <span id="L975" class="LineNr"> 975 </span> compare key, <span class="Constant">0x1b</span>/esc <span id="L976" class="LineNr"> 976 </span> $process-sandbox-define:cancel: <span class="Delimiter">{</span> @@ -1045,32 +1051,32 @@ if ('onhashchange' in window) { <span id="L985" class="LineNr"> 985 </span><span class="CommentedCode">#? print-string 0, "define\n"</span> <span id="L986" class="LineNr"> 986 </span> <span class="muComment"># create new function</span> <span id="L987" class="LineNr"> 987 </span> <span class="PreProc">var</span> new-function: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L988" class="LineNr"> 988 </span> <span class="PreProc">var</span> new-function-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address new-function +<span id="L988" class="LineNr"> 988 </span> <span class="PreProc">var</span> new-function-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address new-function <span id="L989" class="LineNr"> 989 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-function-ah -<span id="L990" class="LineNr"> 990 </span> <span class="PreProc">var</span> _new-function/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-function-ah -<span id="L991" class="LineNr"> 991 </span> <span class="PreProc">var</span> new-function/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _new-function -<span id="L992" class="LineNr"> 992 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, next +<span id="L990" class="LineNr"> 990 </span> <span class="PreProc">var</span> _new-function/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-function-ah +<span id="L991" class="LineNr"> 991 </span> <span class="PreProc">var</span> new-function/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _new-function +<span id="L992" class="LineNr"> 992 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, next <span id="L993" class="LineNr"> 993 </span> copy-object functions, dest <span id="L994" class="LineNr"> 994 </span> copy-object new-function-ah, functions <span id="L995" class="LineNr"> 995 </span> <span class="muComment"># set function name to new-name</span> -<span id="L996" class="LineNr"> 996 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah -<span id="L997" class="LineNr"> 997 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, name +<span id="L996" class="LineNr"> 996 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L997" class="LineNr"> 997 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, name <span id="L998" class="LineNr"> 998 </span> <a href='word.mu.html#L480'>word-to-string</a> new-name, dest <span id="L999" class="LineNr"> 999 </span> <span class="muComment"># move final line to body</span> -<span id="L1000" class="LineNr">1000 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, body +<span id="L1000" class="LineNr">1000 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, body <span id="L1001" class="LineNr">1001 </span> <a href='../120allocate.subx.html#L66'>allocate</a> body-ah -<span id="L1002" class="LineNr">1002 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah -<span id="L1003" class="LineNr">1003 </span> <span class="PreProc">var</span> body-contents/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data +<span id="L1002" class="LineNr">1002 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L1003" class="LineNr">1003 </span> <span class="PreProc">var</span> body-contents/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> body, data <span id="L1004" class="LineNr">1004 </span> <span class="PreProc">var</span> final-line-storage: (handle <a href='data.mu.html#L34'>line</a>) -<span id="L1005" class="LineNr">1005 </span> <span class="PreProc">var</span> final-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address final-line-storage +<span id="L1005" class="LineNr">1005 </span> <span class="PreProc">var</span> final-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address final-line-storage <span id="L1006" class="LineNr">1006 </span> <a href='environment.mu.html#L1526'>final-line</a> <a href='data.mu.html#L5'>sandbox</a>, final-line-ah -<span id="L1007" class="LineNr">1007 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah -<span id="L1008" class="LineNr">1008 </span> <span class="PreProc">var</span> final-line-contents/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, data +<span id="L1007" class="LineNr">1007 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah +<span id="L1008" class="LineNr">1008 </span> <span class="PreProc">var</span> final-line-contents/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, data <span id="L1009" class="LineNr">1009 </span> copy-object final-line-contents, body-contents -<span id="L1010" class="LineNr">1010 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, cursor-word +<span id="L1010" class="LineNr">1010 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-function, cursor-word <span id="L1011" class="LineNr">1011 </span> copy-object final-line-contents, cursor-word-ah <span id="L1012" class="LineNr">1012 </span> <span class="Delimiter">{</span> -<span id="L1013" class="LineNr">1013 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L1013" class="LineNr">1013 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L1014" class="LineNr">1014 </span> <a href='word.mu.html#L185'>cursor-to-start</a> cursor-word <span id="L1015" class="LineNr">1015 </span> <span class="Delimiter">}</span> <span id="L1016" class="LineNr">1016 </span> <span class="muComment">#</span> @@ -1083,8 +1089,8 @@ if ('onhashchange' in window) { <span id="L1023" class="LineNr">1023 </span> <span class="PreProc">var</span> empty-word: (handle <a href='data.mu.html#L42'>word</a>) <span id="L1024" class="LineNr">1024 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> empty-word, new-name-ah <span id="L1025" class="LineNr">1025 </span> <span class="muComment"># update cursor</span> -<span id="L1026" class="LineNr">1026 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> final-line-storage -<span id="L1027" class="LineNr">1027 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1026" class="LineNr">1026 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> final-line-storage +<span id="L1027" class="LineNr">1027 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L1028" class="LineNr">1028 </span> <a href='../120allocate.subx.html#L66'>allocate</a> cursor-call-path-ah <span class="muComment"># leak</span> <span id="L1029" class="LineNr">1029 </span> <a href='data.mu.html#L318'>initialize-path-from-line</a> <a href='environment.mu.html#L1526'>final-line</a>, cursor-call-path-ah <span id="L1030" class="LineNr">1030 </span> <span class="PreProc">return</span> @@ -1094,22 +1100,22 @@ if ('onhashchange' in window) { <span id="L1034" class="LineNr">1034 </span> $process-sandbox-define:backspace: <span class="Delimiter">{</span> <span id="L1035" class="LineNr">1035 </span> <span class="PreProc">break-if-!=</span> <span id="L1036" class="LineNr">1036 </span> <span class="muComment"># if not at start, delete grapheme before cursor</span> -<span id="L1037" class="LineNr">1037 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah -<span id="L1038" class="LineNr">1038 </span> <span class="PreProc">var</span> at-start?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> new-name +<span id="L1037" class="LineNr">1037 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L1038" class="LineNr">1038 </span> <span class="PreProc">var</span> at-start?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L155'>cursor-at-start?</a> new-name <span id="L1039" class="LineNr">1039 </span> compare at-start?, <span class="Constant">0</span>/false <span id="L1040" class="LineNr">1040 </span> <span class="Delimiter">{</span> <span id="L1041" class="LineNr">1041 </span> <span class="PreProc">break-if-!=</span> -<span id="L1042" class="LineNr">1042 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L1042" class="LineNr">1042 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L1043" class="LineNr">1043 </span> <a href='word.mu.html#L207'>delete-before-cursor</a> new-name <span id="L1044" class="LineNr">1044 </span> <span class="Delimiter">}</span> <span id="L1045" class="LineNr">1045 </span> <span class="PreProc">return</span> <span id="L1046" class="LineNr">1046 </span> <span class="Delimiter">}</span> <span id="L1047" class="LineNr">1047 </span> <span class="muComment"># otherwise insert key within current word</span> -<span id="L1048" class="LineNr">1048 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key +<span id="L1048" class="LineNr">1048 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L2147'>real-grapheme?</a> key <span id="L1049" class="LineNr">1049 </span> $process-sandbox-define:real-grapheme: <span class="Delimiter">{</span> <span id="L1050" class="LineNr">1050 </span> compare print?, <span class="Constant">0</span>/false <span id="L1051" class="LineNr">1051 </span> <span class="PreProc">break-if-=</span> -<span id="L1052" class="LineNr">1052 </span> <span class="PreProc">var</span> new-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah +<span id="L1052" class="LineNr">1052 </span> <span class="PreProc">var</span> new-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *new-name-ah <span id="L1053" class="LineNr">1053 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> new-name, key <span id="L1054" class="LineNr">1054 </span> <span class="PreProc">return</span> <span id="L1055" class="LineNr">1055 </span> <span class="Delimiter">}</span> @@ -1121,54 +1127,54 @@ if ('onhashchange' in window) { <span id="L1061" class="LineNr">1061 </span><span class="muComment"># Assumes function body is a single line for now.</span> <span id="L1062" class="LineNr">1062 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1062'>copy-unbound-words-to-args</a></span> _functions: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> <span id="L1063" class="LineNr">1063 </span> <span class="muComment"># target</span> -<span id="L1064" class="LineNr">1064 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _functions -<span id="L1065" class="LineNr">1065 </span> <span class="PreProc">var</span> _target/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah -<span id="L1066" class="LineNr">1066 </span> <span class="PreProc">var</span> target/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _target -<span id="L1067" class="LineNr">1067 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, args +<span id="L1064" class="LineNr">1064 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _functions +<span id="L1065" class="LineNr">1065 </span> <span class="PreProc">var</span> _target/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L1066" class="LineNr">1066 </span> <span class="PreProc">var</span> target/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _target +<span id="L1067" class="LineNr">1067 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, args <span id="L1068" class="LineNr">1068 </span> <span class="muComment"># next</span> -<span id="L1069" class="LineNr">1069 </span> <span class="PreProc">var</span> functions-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, next +<span id="L1069" class="LineNr">1069 </span> <span class="PreProc">var</span> functions-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, next <span id="L1070" class="LineNr">1070 </span> <span class="muComment"># src</span> -<span id="L1071" class="LineNr">1071 </span> <span class="PreProc">var</span> line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, body -<span id="L1072" class="LineNr">1072 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah -<span id="L1073" class="LineNr">1073 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L1074" class="LineNr">1074 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L1071" class="LineNr">1071 </span> <span class="PreProc">var</span> line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, body +<span id="L1072" class="LineNr">1072 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L1073" class="LineNr">1073 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L1074" class="LineNr">1074 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L1075" class="LineNr">1075 </span> <span class="Delimiter">{</span> <span id="L1076" class="LineNr">1076 </span> compare curr, <span class="Constant">0</span> <span id="L1077" class="LineNr">1077 </span> <span class="PreProc">break-if-=</span> <span id="L1078" class="LineNr">1078 </span> $copy-unbound-words-to-args:loop-iter: <span class="Delimiter">{</span> <span id="L1079" class="LineNr">1079 </span> <span class="muComment"># is it a number?</span> <span id="L1080" class="LineNr">1080 </span> <span class="Delimiter">{</span> -<span id="L1081" class="LineNr">1081 </span> <span class="PreProc">var</span> int?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L487'>word-is-decimal-integer?</a> curr +<span id="L1081" class="LineNr">1081 </span> <span class="PreProc">var</span> int?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L487'>word-is-decimal-integer?</a> curr <span id="L1082" class="LineNr">1082 </span> compare int?, <span class="Constant">0</span>/false <span id="L1083" class="LineNr">1083 </span> <span class="PreProc">break-if-!=</span> $copy-unbound-words-to-args:loop-iter <span id="L1084" class="LineNr">1084 </span> <span class="Delimiter">}</span> <span id="L1085" class="LineNr">1085 </span> <span class="muComment"># is it a pre-existing function?</span> -<span id="L1086" class="LineNr">1086 </span> <span class="PreProc">var</span> bound?/<span class="Constant">ebx</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L1106'>bound-function?</a> curr, functions-ah +<span id="L1086" class="LineNr">1086 </span> <span class="PreProc">var</span> bound?/<span class="muRegEbx">ebx</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L1106'>bound-function?</a> curr, functions-ah <span id="L1087" class="LineNr">1087 </span> compare bound?, <span class="Constant">0</span>/false <span id="L1088" class="LineNr">1088 </span> <span class="PreProc">break-if-!=</span> <span id="L1089" class="LineNr">1089 </span> <span class="muComment"># is it already bound as an arg?</span> -<span id="L1090" class="LineNr">1090 </span> <span class="PreProc">var</span> dup?/<span class="Constant">ebx</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L1200'>arg-exists?</a> _functions, curr <span class="muComment"># _functions = target-ah</span> +<span id="L1090" class="LineNr">1090 </span> <span class="PreProc">var</span> dup?/<span class="muRegEbx">ebx</span>: boolean <span class="Special"><-</span> <a href='environment.mu.html#L1200'>arg-exists?</a> _functions, curr <span class="muComment"># _functions = target-ah</span> <span id="L1091" class="LineNr">1091 </span> compare dup?, <span class="Constant">0</span>/false <span id="L1092" class="LineNr">1092 </span> <span class="PreProc">break-if-!=</span> $copy-unbound-words-to-args:loop-iter <span id="L1093" class="LineNr">1093 </span> <span class="muComment"># push copy of curr before dest-ah</span> <span id="L1094" class="LineNr">1094 </span> <span class="PreProc">var</span> rest-h: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L1095" class="LineNr">1095 </span> <span class="PreProc">var</span> rest-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address rest-h +<span id="L1095" class="LineNr">1095 </span> <span class="PreProc">var</span> rest-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address rest-h <span id="L1096" class="LineNr">1096 </span> copy-object dest-ah, rest-ah <span id="L1097" class="LineNr">1097 </span> <a href='word.mu.html#L343'>copy-word</a> curr, dest-ah <span id="L1098" class="LineNr">1098 </span> <a href='word.mu.html#L459'>chain-words</a> dest-ah, rest-ah <span id="L1099" class="LineNr">1099 </span> <span class="Delimiter">}</span> -<span id="L1100" class="LineNr">1100 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next +<span id="L1100" class="LineNr">1100 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next <span id="L1101" class="LineNr">1101 </span> curr <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L1102" class="LineNr">1102 </span> <span class="PreProc">loop</span> <span id="L1103" class="LineNr">1103 </span> <span class="Delimiter">}</span> <span id="L1104" class="LineNr">1104 </span><span class="Delimiter">}</span> <span id="L1105" class="LineNr">1105 </span> -<span id="L1106" class="LineNr">1106 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1106'>bound-function?</a></span> w: (addr <a href='data.mu.html#L42'>word</a>), functions-ah: (addr handle <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: boolean <span class="Delimiter">{</span> -<span id="L1107" class="LineNr">1107 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ebx</span>: boolean <span class="Special"><-</span> copy <span class="Constant">1</span>/true +<span id="L1106" class="LineNr">1106 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1106'>bound-function?</a></span> w: (addr <a href='data.mu.html#L42'>word</a>), functions-ah: (addr handle <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: boolean <span class="Delimiter">{</span> +<span id="L1107" class="LineNr">1107 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEbx">ebx</span>: boolean <span class="Special"><-</span> copy <span class="Constant">1</span>/true <span id="L1108" class="LineNr">1108 </span> <span class="Delimiter">{</span> <span id="L1109" class="LineNr">1109 </span> <span class="muComment">## numbers</span> <span id="L1110" class="LineNr">1110 </span> <span class="muComment"># if w == "+" return true</span> -<span id="L1111" class="LineNr">1111 </span> <span class="PreProc">var</span> subresult/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> w, <span class="Constant">"+"</span> +<span id="L1111" class="LineNr">1111 </span> <span class="PreProc">var</span> subresult/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> w, <span class="Constant">"+"</span> <span id="L1112" class="LineNr">1112 </span> compare subresult, <span class="Constant">0</span>/false <span id="L1113" class="LineNr">1113 </span> <span class="PreProc">break-if-!=</span> <span id="L1114" class="LineNr">1114 </span> <span class="muComment"># if w == "-" return true</span> @@ -1249,61 +1255,61 @@ if ('onhashchange' in window) { <span id="L1189" class="LineNr">1189 </span> <span class="PreProc">break-if-!=</span> <span id="L1190" class="LineNr">1190 </span> <span class="muComment"># return w in functions</span> <span id="L1191" class="LineNr">1191 </span> <span class="PreProc">var</span> out-h: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L1192" class="LineNr">1192 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address out-h +<span id="L1192" class="LineNr">1192 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address out-h <span id="L1193" class="LineNr">1193 </span> <a href='environment.mu.html#L1846'>callee</a> functions-ah, w, out -<span id="L1194" class="LineNr">1194 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out +<span id="L1194" class="LineNr">1194 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out <span id="L1195" class="LineNr">1195 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> copy found? <span id="L1196" class="LineNr">1196 </span> <span class="Delimiter">}</span> <span id="L1197" class="LineNr">1197 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L1198" class="LineNr">1198 </span><span class="Delimiter">}</span> <span id="L1199" class="LineNr">1199 </span> -<span id="L1200" class="LineNr">1200 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1200'>arg-exists?</a></span> _f-ah: (addr handle <a href='data.mu.html#L21'>function</a>), arg: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: boolean <span class="Delimiter">{</span> -<span id="L1201" class="LineNr">1201 </span> <span class="PreProc">var</span> f-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f-ah -<span id="L1202" class="LineNr">1202 </span> <span class="PreProc">var</span> f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah -<span id="L1203" class="LineNr">1203 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args -<span id="L1204" class="LineNr">1204 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ebx</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L496'>word-exists?</a> args-ah, arg +<span id="L1200" class="LineNr">1200 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1200'>arg-exists?</a></span> _f-ah: (addr handle <a href='data.mu.html#L21'>function</a>), arg: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: boolean <span class="Delimiter">{</span> +<span id="L1201" class="LineNr">1201 </span> <span class="PreProc">var</span> f-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f-ah +<span id="L1202" class="LineNr">1202 </span> <span class="PreProc">var</span> f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah +<span id="L1203" class="LineNr">1203 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L1204" class="LineNr">1204 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEbx">ebx</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L496'>word-exists?</a> args-ah, arg <span id="L1205" class="LineNr">1205 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L1206" class="LineNr">1206 </span><span class="Delimiter">}</span> <span id="L1207" class="LineNr">1207 </span> <span id="L1208" class="LineNr">1208 </span><span class="muComment"># construct a call to `f` with copies of exactly its args</span> <span id="L1209" class="LineNr">1209 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1209'>construct-call</a></span> _f-ah: (addr handle <a href='data.mu.html#L21'>function</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L1210" class="LineNr">1210 </span> <span class="PreProc">var</span> f-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f-ah -<span id="L1211" class="LineNr">1211 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah -<span id="L1212" class="LineNr">1212 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L1210" class="LineNr">1210 </span> <span class="PreProc">var</span> f-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f-ah +<span id="L1211" class="LineNr">1211 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah +<span id="L1212" class="LineNr">1212 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f <span id="L1213" class="LineNr">1213 </span> <span class="muComment"># append args in reverse</span> -<span id="L1214" class="LineNr">1214 </span> <span class="PreProc">var</span> args-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args -<span id="L1215" class="LineNr">1215 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L1214" class="LineNr">1214 </span> <span class="PreProc">var</span> args-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L1215" class="LineNr">1215 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L1216" class="LineNr">1216 </span> <a href='word.mu.html#L277'>copy-words-in-reverse</a> args-ah, dest-ah <span id="L1217" class="LineNr">1217 </span> <span class="muComment"># append name</span> -<span id="L1218" class="LineNr">1218 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name -<span id="L1219" class="LineNr">1219 </span> <span class="PreProc">var</span> name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *name-ah +<span id="L1218" class="LineNr">1218 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L1219" class="LineNr">1219 </span> <span class="PreProc">var</span> name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *name-ah <span id="L1220" class="LineNr">1220 </span> <a href='word.mu.html#L319'>append-word-at-end-with</a> dest-ah, name <span id="L1221" class="LineNr">1221 </span><span class="Delimiter">}</span> <span id="L1222" class="LineNr">1222 </span> <span id="L1223" class="LineNr">1223 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1223'>word-index</a></span> _words: (addr handle <a href='data.mu.html#L42'>word</a>), _n: int, out: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L1224" class="LineNr">1224 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy _n +<span id="L1224" class="LineNr">1224 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy _n <span id="L1225" class="LineNr">1225 </span> <span class="Delimiter">{</span> <span id="L1226" class="LineNr">1226 </span> compare n, <span class="Constant">0</span> <span id="L1227" class="LineNr">1227 </span> <span class="PreProc">break-if-!=</span> <span id="L1228" class="LineNr">1228 </span> copy-object _words, out <span id="L1229" class="LineNr">1229 </span> <span class="PreProc">return</span> <span id="L1230" class="LineNr">1230 </span> <span class="Delimiter">}</span> -<span id="L1231" class="LineNr">1231 </span> <span class="PreProc">var</span> words-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _words -<span id="L1232" class="LineNr">1232 </span> <span class="PreProc">var</span> words/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *words-ah -<span id="L1233" class="LineNr">1233 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> words, next +<span id="L1231" class="LineNr">1231 </span> <span class="PreProc">var</span> words-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _words +<span id="L1232" class="LineNr">1232 </span> <span class="PreProc">var</span> words/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *words-ah +<span id="L1233" class="LineNr">1233 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> words, next <span id="L1234" class="LineNr">1234 </span> n <span class="Special"><-</span> decrement <span id="L1235" class="LineNr">1235 </span> <a href='environment.mu.html#L1223'>word-index</a> next, n, out <span id="L1236" class="LineNr">1236 </span><span class="Delimiter">}</span> <span id="L1237" class="LineNr">1237 </span> <span id="L1238" class="LineNr">1238 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1238'>toggle-cursor-word</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Delimiter">{</span> -<span id="L1239" class="LineNr">1239 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1240" class="LineNr">1240 </span> <span class="PreProc">var</span> expanded-words/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words -<span id="L1241" class="LineNr">1241 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1239" class="LineNr">1239 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1240" class="LineNr">1240 </span> <span class="PreProc">var</span> expanded-words/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words +<span id="L1241" class="LineNr">1241 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L1242" class="LineNr">1242 </span><span class="CommentedCode">#? print-string 0, "cursor call path: "</span> <span id="L1243" class="LineNr">1243 </span><span class="CommentedCode">#? dump-call-path-element 0, cursor-call-path</span> <span id="L1244" class="LineNr">1244 </span><span class="CommentedCode">#? print-string 0, "expanded words:\n"</span> <span id="L1245" class="LineNr">1245 </span><span class="CommentedCode">#? dump-call-paths 0, expanded-words</span> -<span id="L1246" class="LineNr">1246 </span> <span class="PreProc">var</span> already-expanded?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path +<span id="L1246" class="LineNr">1246 </span> <span class="PreProc">var</span> already-expanded?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, cursor-call-path <span id="L1247" class="LineNr">1247 </span> compare already-expanded?, <span class="Constant">0</span>/false <span id="L1248" class="LineNr">1248 </span> <span class="Delimiter">{</span> <span id="L1249" class="LineNr">1249 </span> <span class="PreProc">break-if-!=</span> @@ -1322,30 +1328,30 @@ if ('onhashchange' in window) { <span id="L1262" class="LineNr">1262 </span><span class="Delimiter">}</span> <span id="L1263" class="LineNr">1263 </span> <span id="L1264" class="LineNr">1264 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1264'>append-line</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Delimiter">{</span> -<span id="L1265" class="LineNr">1265 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1266" class="LineNr">1266 </span> <span class="PreProc">var</span> line-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L1265" class="LineNr">1265 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1266" class="LineNr">1266 </span> <span class="PreProc">var</span> line-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data <span id="L1267" class="LineNr">1267 </span> <span class="Delimiter">{</span> -<span id="L1268" class="LineNr">1268 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah -<span id="L1269" class="LineNr">1269 </span> <span class="PreProc">var</span> next-line-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next -<span id="L1270" class="LineNr">1270 </span> <span class="PreProc">var</span> next-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah +<span id="L1268" class="LineNr">1268 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L1269" class="LineNr">1269 </span> <span class="PreProc">var</span> next-line-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next +<span id="L1270" class="LineNr">1270 </span> <span class="PreProc">var</span> next-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah <span id="L1271" class="LineNr">1271 </span> compare next-line, <span class="Constant">0</span> <span id="L1272" class="LineNr">1272 </span> <span class="PreProc">break-if-=</span> <span id="L1273" class="LineNr">1273 </span> line-ah <span class="Special"><-</span> copy next-line-ah <span id="L1274" class="LineNr">1274 </span> <span class="PreProc">loop</span> <span id="L1275" class="LineNr">1275 </span> <span class="Delimiter">}</span> -<span id="L1276" class="LineNr">1276 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah -<span id="L1277" class="LineNr">1277 </span> <span class="PreProc">var</span> final-line-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next +<span id="L1276" class="LineNr">1276 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L1277" class="LineNr">1277 </span> <span class="PreProc">var</span> final-line-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next <span id="L1278" class="LineNr">1278 </span> <a href='../120allocate.subx.html#L66'>allocate</a> final-line-ah -<span id="L1279" class="LineNr">1279 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah +<span id="L1279" class="LineNr">1279 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah <span id="L1280" class="LineNr">1280 </span> <a href='data.mu.html#L102'>initialize-line</a> <a href='environment.mu.html#L1526'>final-line</a> -<span id="L1281" class="LineNr">1281 </span> <span class="PreProc">var</span> final-prev/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, prev +<span id="L1281" class="LineNr">1281 </span> <span class="PreProc">var</span> final-prev/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, prev <span id="L1282" class="LineNr">1282 </span> copy-object line-ah, final-prev <span id="L1283" class="LineNr">1283 </span> <span class="muComment"># clear cursor</span> -<span id="L1284" class="LineNr">1284 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah -<span id="L1285" class="LineNr">1285 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, data -<span id="L1286" class="LineNr">1286 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L1287" class="LineNr">1287 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L1288" class="LineNr">1288 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L1284" class="LineNr">1284 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah +<span id="L1285" class="LineNr">1285 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1526'>final-line</a>, data +<span id="L1286" class="LineNr">1286 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1287" class="LineNr">1287 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L1288" class="LineNr">1288 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> <span id="L1289" class="LineNr">1289 </span> copy-object word-ah, dest <span id="L1290" class="LineNr">1290 </span><span class="Delimiter">}</span> <span id="L1291" class="LineNr">1291 </span> @@ -1354,40 +1360,40 @@ if ('onhashchange' in window) { <span id="L1294" class="LineNr">1294 </span><span class="muComment">#############</span> <span id="L1295" class="LineNr">1295 </span> <span id="L1296" class="LineNr">1296 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1296'>evaluate-environment</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>), stack: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Delimiter">{</span> -<span id="L1297" class="LineNr">1297 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1297" class="LineNr">1297 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env <span id="L1298" class="LineNr">1298 </span> <span class="muComment"># functions</span> -<span id="L1299" class="LineNr">1299 </span> <span class="PreProc">var</span> functions/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions +<span id="L1299" class="LineNr">1299 </span> <span class="PreProc">var</span> functions/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions <span id="L1300" class="LineNr">1300 </span> <span class="muComment"># line</span> -<span id="L1301" class="LineNr">1301 </span> <span class="PreProc">var</span> sandbox-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, sandboxes -<span id="L1302" class="LineNr">1302 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah -<span id="L1303" class="LineNr">1303 </span> <span class="PreProc">var</span> line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data -<span id="L1304" class="LineNr">1304 </span> <span class="PreProc">var</span> _line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah -<span id="L1305" class="LineNr">1305 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line +<span id="L1301" class="LineNr">1301 </span> <span class="PreProc">var</span> sandbox-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, sandboxes +<span id="L1302" class="LineNr">1302 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *sandbox-ah +<span id="L1303" class="LineNr">1303 </span> <span class="PreProc">var</span> line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L1304" class="LineNr">1304 </span> <span class="PreProc">var</span> _line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *line-ah +<span id="L1305" class="LineNr">1305 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line <span id="L1306" class="LineNr">1306 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, <span class="Constant">0</span>, <a href='data.mu.html#L34'>line</a>, <span class="Constant">0</span>, stack <span id="L1307" class="LineNr">1307 </span><span class="Delimiter">}</span> <span id="L1308" class="LineNr">1308 </span> <span id="L1309" class="LineNr">1309 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1309'>render</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> <span id="L1310" class="LineNr">1310 </span><span class="CommentedCode">#? print-string 0, "== render\n"</span> -<span id="L1311" class="LineNr">1311 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1311" class="LineNr">1311 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env <span id="L1312" class="LineNr">1312 </span> <a href='environment.mu.html#L2013'>clear-canvas</a> env <span id="L1313" class="LineNr">1313 </span> <span class="muComment"># menu</span> <span id="L1314" class="LineNr">1314 </span> <a href='environment.mu.html#L1342'>render-menu</a> env <span id="L1315" class="LineNr">1315 </span> <span class="muComment"># screen</span> -<span id="L1316" class="LineNr">1316 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L1317" class="LineNr">1317 </span> <span class="PreProc">var</span> _screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L1318" class="LineNr">1318 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L1316" class="LineNr">1316 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L1317" class="LineNr">1317 </span> <span class="PreProc">var</span> _screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L1318" class="LineNr">1318 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen <span id="L1319" class="LineNr">1319 </span> <span class="muComment"># functions</span> -<span id="L1320" class="LineNr">1320 </span> <span class="PreProc">var</span> sep-col/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col -<span id="L1321" class="LineNr">1321 </span> <span class="PreProc">var</span> functions/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions +<span id="L1320" class="LineNr">1320 </span> <span class="PreProc">var</span> sep-col/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col +<span id="L1321" class="LineNr">1321 </span> <span class="PreProc">var</span> functions/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions <span id="L1322" class="LineNr">1322 </span> <a href='environment.mu.html#L2078'>render-functions</a> <a href='../405screen.mu.html#L9'>screen</a>, *sep-col, env <span id="L1323" class="LineNr">1323 </span> <span class="muComment"># sandbox</span> -<span id="L1324" class="LineNr">1324 </span> <span class="PreProc">var</span> repl-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *sep-col +<span id="L1324" class="LineNr">1324 </span> <span class="PreProc">var</span> repl-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *sep-col <span id="L1325" class="LineNr">1325 </span> repl-col <span class="Special"><-</span> add <span class="Constant">2</span>/repl-margin-left -<span id="L1326" class="LineNr">1326 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox -<span id="L1327" class="LineNr">1327 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah +<span id="L1326" class="LineNr">1326 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox +<span id="L1327" class="LineNr">1327 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah <span id="L1328" class="LineNr">1328 </span> <span class="muComment"># bindings</span> <span id="L1329" class="LineNr">1329 </span> <span class="PreProc">var</span> bindings-storage: <a href='data.mu.html#L59'>table</a> -<span id="L1330" class="LineNr">1330 </span> <span class="PreProc">var</span> bindings/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings-storage +<span id="L1330" class="LineNr">1330 </span> <span class="PreProc">var</span> bindings/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings-storage <span id="L1331" class="LineNr">1331 </span> <a href='table.mu.html#L1'>initialize-table</a> bindings, <span class="Constant">0x10</span> <span id="L1332" class="LineNr">1332 </span><span class="CommentedCode">#? print-string 0, "render-sandbox {\n"</span> <span id="L1333" class="LineNr">1333 </span> <a href='environment.mu.html#L1448'>render-sandbox</a> <a href='../405screen.mu.html#L9'>screen</a>, functions, bindings, cursor-sandbox, <span class="Constant">3</span>, repl-col @@ -1400,17 +1406,17 @@ if ('onhashchange' in window) { <span id="L1340" class="LineNr">1340 </span> <span id="L1341" class="LineNr">1341 </span><span class="muComment"># draw a wordstar-style cheatsheet of shortcuts on the bottom line of the screen</span> <span id="L1342" class="LineNr">1342 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1342'>render-menu</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L1343" class="LineNr">1343 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L1344" class="LineNr">1344 </span> <span class="PreProc">var</span> cursor-function-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-function -<span id="L1345" class="LineNr">1345 </span> <span class="PreProc">var</span> cursor-function/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-function-ah +<span id="L1343" class="LineNr">1343 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1344" class="LineNr">1344 </span> <span class="PreProc">var</span> cursor-function-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-function +<span id="L1345" class="LineNr">1345 </span> <span class="PreProc">var</span> cursor-function/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-function-ah <span id="L1346" class="LineNr">1346 </span> <span class="Delimiter">{</span> <span id="L1347" class="LineNr">1347 </span> compare cursor-function, <span class="Constant">0</span> <span id="L1348" class="LineNr">1348 </span> <span class="PreProc">break-if-=</span> <span id="L1349" class="LineNr">1349 </span> <a href='environment.mu.html#L1927'>render-function-menu</a> env <span id="L1350" class="LineNr">1350 </span> <span class="PreProc">return</span> <span id="L1351" class="LineNr">1351 </span> <span class="Delimiter">}</span> -<span id="L1352" class="LineNr">1352 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox -<span id="L1353" class="LineNr">1353 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah +<span id="L1352" class="LineNr">1352 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox +<span id="L1353" class="LineNr">1353 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah <span id="L1354" class="LineNr">1354 </span> <span class="Delimiter">{</span> <span id="L1355" class="LineNr">1355 </span> compare cursor-sandbox, <span class="Constant">0</span> <span id="L1356" class="LineNr">1356 </span> <span class="PreProc">break-if-=</span> @@ -1422,70 +1428,70 @@ if ('onhashchange' in window) { <span id="L1362" class="LineNr">1362 </span><span class="muComment"># HACK: areas currently responsible for positioning their dialogs' cursors. So</span> <span id="L1363" class="LineNr">1363 </span><span class="muComment"># we just do nothing here if a dialog is up.</span> <span id="L1364" class="LineNr">1364 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1364'>position-cursor</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L1365" class="LineNr">1365 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L1366" class="LineNr">1366 </span> <span class="PreProc">var</span> goto-function-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name -<span id="L1367" class="LineNr">1367 </span> <span class="PreProc">var</span> goto-function/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *goto-function-ah +<span id="L1365" class="LineNr">1365 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1366" class="LineNr">1366 </span> <span class="PreProc">var</span> goto-function-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name +<span id="L1367" class="LineNr">1367 </span> <span class="PreProc">var</span> goto-function/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *goto-function-ah <span id="L1368" class="LineNr">1368 </span> <span class="Delimiter">{</span> <span id="L1369" class="LineNr">1369 </span> compare goto-function, <span class="Constant">0</span> <span id="L1370" class="LineNr">1370 </span> <span class="PreProc">break-if-=</span> <span id="L1371" class="LineNr">1371 </span> <span class="PreProc">return</span> <span id="L1372" class="LineNr">1372 </span> <span class="Delimiter">}</span> -<span id="L1373" class="LineNr">1373 </span> <span class="PreProc">var</span> cursor-function-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-function -<span id="L1374" class="LineNr">1374 </span> <span class="PreProc">var</span> cursor-function/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-function-ah +<span id="L1373" class="LineNr">1373 </span> <span class="PreProc">var</span> cursor-function-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-function +<span id="L1374" class="LineNr">1374 </span> <span class="PreProc">var</span> cursor-function/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-function-ah <span id="L1375" class="LineNr">1375 </span> <span class="Delimiter">{</span> <span id="L1376" class="LineNr">1376 </span> compare cursor-function, <span class="Constant">0</span> <span id="L1377" class="LineNr">1377 </span> <span class="PreProc">break-if-=</span> -<span id="L1378" class="LineNr">1378 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-function, cursor-row -<span id="L1379" class="LineNr">1379 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-function, cursor-col +<span id="L1378" class="LineNr">1378 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-function, cursor-row +<span id="L1379" class="LineNr">1379 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-function, cursor-col <span id="L1380" class="LineNr">1380 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *cursor-row, *cursor-col <span id="L1381" class="LineNr">1381 </span> <span class="PreProc">return</span> <span id="L1382" class="LineNr">1382 </span> <span class="Delimiter">}</span> -<span id="L1383" class="LineNr">1383 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox -<span id="L1384" class="LineNr">1384 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah +<span id="L1383" class="LineNr">1383 </span> <span class="PreProc">var</span> cursor-sandbox-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, cursor-sandbox +<span id="L1384" class="LineNr">1384 </span> <span class="PreProc">var</span> cursor-sandbox/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-sandbox-ah <span id="L1385" class="LineNr">1385 </span> <span class="Delimiter">{</span> <span id="L1386" class="LineNr">1386 </span> compare cursor-sandbox, <span class="Constant">0</span> <span id="L1387" class="LineNr">1387 </span> <span class="PreProc">break-if-=</span> <span id="L1388" class="LineNr">1388 </span> <span class="muComment"># if in a dialog, return</span> <span id="L1389" class="LineNr">1389 </span> <span class="Delimiter">{</span> -<span id="L1390" class="LineNr">1390 </span> <span class="PreProc">var</span> partial-word-rename-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, partial-name-for-cursor-word -<span id="L1391" class="LineNr">1391 </span> <span class="PreProc">var</span> partial-word-rename/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-word-rename-ah +<span id="L1390" class="LineNr">1390 </span> <span class="PreProc">var</span> partial-word-rename-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, partial-name-for-cursor-word +<span id="L1391" class="LineNr">1391 </span> <span class="PreProc">var</span> partial-word-rename/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-word-rename-ah <span id="L1392" class="LineNr">1392 </span> compare partial-word-rename, <span class="Constant">0</span> <span id="L1393" class="LineNr">1393 </span> <span class="PreProc">break-if-=</span> <span id="L1394" class="LineNr">1394 </span> <span class="PreProc">return</span> <span id="L1395" class="LineNr">1395 </span> <span class="Delimiter">}</span> <span id="L1396" class="LineNr">1396 </span> <span class="Delimiter">{</span> -<span id="L1397" class="LineNr">1397 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, partial-name-for-function -<span id="L1398" class="LineNr">1398 </span> <span class="PreProc">var</span> partial-function-name/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah +<span id="L1397" class="LineNr">1397 </span> <span class="PreProc">var</span> partial-function-name-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, partial-name-for-function +<span id="L1398" class="LineNr">1398 </span> <span class="PreProc">var</span> partial-function-name/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *partial-function-name-ah <span id="L1399" class="LineNr">1399 </span> compare partial-function-name, <span class="Constant">0</span> <span id="L1400" class="LineNr">1400 </span> <span class="PreProc">break-if-=</span> <span id="L1401" class="LineNr">1401 </span> <span class="PreProc">return</span> <span id="L1402" class="LineNr">1402 </span> <span class="Delimiter">}</span> -<span id="L1403" class="LineNr">1403 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, cursor-row -<span id="L1404" class="LineNr">1404 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, cursor-col +<span id="L1403" class="LineNr">1403 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, cursor-row +<span id="L1404" class="LineNr">1404 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-sandbox, cursor-col <span id="L1405" class="LineNr">1405 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *cursor-row, *cursor-col <span id="L1406" class="LineNr">1406 </span> <span class="Delimiter">}</span> <span id="L1407" class="LineNr">1407 </span><span class="Delimiter">}</span> <span id="L1408" class="LineNr">1408 </span> <span id="L1409" class="LineNr">1409 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1409'>render-goto-dialog</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L1410" class="LineNr">1410 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L1411" class="LineNr">1411 </span> <span class="PreProc">var</span> goto-function-mode-ah?/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name -<span id="L1412" class="LineNr">1412 </span> <span class="PreProc">var</span> goto-function-mode?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *goto-function-mode-ah? +<span id="L1410" class="LineNr">1410 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1411" class="LineNr">1411 </span> <span class="PreProc">var</span> goto-function-mode-ah?/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name +<span id="L1412" class="LineNr">1412 </span> <span class="PreProc">var</span> goto-function-mode?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *goto-function-mode-ah? <span id="L1413" class="LineNr">1413 </span> compare goto-function-mode?, <span class="Constant">0</span>/false <span id="L1414" class="LineNr">1414 </span> <span class="PreProc">break-if-=</span> <span id="L1415" class="LineNr">1415 </span> <span class="muComment"># clear a space for the dialog</span> -<span id="L1416" class="LineNr">1416 </span> <span class="PreProc">var</span> top-row/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">3</span> -<span id="L1417" class="LineNr">1417 </span> <span class="PreProc">var</span> bottom-row/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> -<span id="L1418" class="LineNr">1418 </span> <span class="PreProc">var</span> sep-col/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col -<span id="L1419" class="LineNr">1419 </span> <span class="PreProc">var</span> left-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *sep-col +<span id="L1416" class="LineNr">1416 </span> <span class="PreProc">var</span> top-row/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">3</span> +<span id="L1417" class="LineNr">1417 </span> <span class="PreProc">var</span> bottom-row/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">9</span> +<span id="L1418" class="LineNr">1418 </span> <span class="PreProc">var</span> sep-col/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col +<span id="L1419" class="LineNr">1419 </span> <span class="PreProc">var</span> left-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *sep-col <span id="L1420" class="LineNr">1420 </span> left-col <span class="Special"><-</span> subtract <span class="Constant">0x10</span> -<span id="L1421" class="LineNr">1421 </span> <span class="PreProc">var</span> right-col/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *sep-col +<span id="L1421" class="LineNr">1421 </span> <span class="PreProc">var</span> right-col/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *sep-col <span id="L1422" class="LineNr">1422 </span> right-col <span class="Special"><-</span> add <span class="Constant">0x10</span> <span id="L1423" class="LineNr">1423 </span> <a href='box.mu.html#L71'>clear-rect</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1424" class="LineNr">1424 </span> <a href='box.mu.html#L1'>draw-box</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1425" class="LineNr">1425 </span> <span class="muComment"># render a little menu for the dialog</span> -<span id="L1426" class="LineNr">1426 </span> <span class="PreProc">var</span> menu-row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy bottom-row +<span id="L1426" class="LineNr">1426 </span> <span class="PreProc">var</span> menu-row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy bottom-row <span id="L1427" class="LineNr">1427 </span> menu-row <span class="Special"><-</span> decrement -<span id="L1428" class="LineNr">1428 </span> <span class="PreProc">var</span> menu-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1428" class="LineNr">1428 </span> <span class="PreProc">var</span> menu-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy left-col <span id="L1429" class="LineNr">1429 </span> menu-col <span class="Special"><-</span> add <span class="Constant">2</span> <span id="L1430" class="LineNr">1430 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, menu-row, menu-col <span id="L1431" class="LineNr">1431 </span> <a href='../405screen.mu.html#L569'>start-reverse-video</a> <a href='../405screen.mu.html#L9'>screen</a> @@ -1497,25 +1503,25 @@ if ('onhashchange' in window) { <span id="L1437" class="LineNr">1437 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L1438" class="LineNr">1438 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" jump "</span> <span id="L1439" class="LineNr">1439 </span> <span class="muComment"># draw the word, positioned appropriately around the cursor</span> -<span id="L1440" class="LineNr">1440 </span> <span class="PreProc">var</span> start-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1440" class="LineNr">1440 </span> <span class="PreProc">var</span> start-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy left-col <span id="L1441" class="LineNr">1441 </span> start-col <span class="Special"><-</span> increment <span id="L1442" class="LineNr">1442 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">6</span>, start-col <span class="muComment"># cursor-row</span> -<span id="L1443" class="LineNr">1443 </span> <span class="PreProc">var</span> word-ah?/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name -<span id="L1444" class="LineNr">1444 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? +<span id="L1443" class="LineNr">1443 </span> <span class="PreProc">var</span> word-ah?/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, partial-function-name +<span id="L1444" class="LineNr">1444 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? <span id="L1445" class="LineNr">1445 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L42'>word</a> <span id="L1446" class="LineNr">1446 </span><span class="Delimiter">}</span> <span id="L1447" class="LineNr">1447 </span> <span id="L1448" class="LineNr">1448 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1448'>render-sandbox</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), top-row: int, left-col: int <span class="Delimiter">{</span> -<span id="L1449" class="LineNr">1449 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1449" class="LineNr">1449 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox <span id="L1450" class="LineNr">1450 </span> <span class="muComment"># line</span> -<span id="L1451" class="LineNr">1451 </span> <span class="PreProc">var</span> curr-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data -<span id="L1452" class="LineNr">1452 </span> <span class="PreProc">var</span> _curr-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-line-ah -<span id="L1453" class="LineNr">1453 </span> <span class="PreProc">var</span> curr-line/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _curr-line +<span id="L1451" class="LineNr">1451 </span> <span class="PreProc">var</span> curr-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L1452" class="LineNr">1452 </span> <span class="PreProc">var</span> _curr-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-line-ah +<span id="L1453" class="LineNr">1453 </span> <span class="PreProc">var</span> curr-line/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _curr-line <span id="L1454" class="LineNr">1454 </span> <span class="muComment">#</span> -<span id="L1455" class="LineNr">1455 </span> <span class="PreProc">var</span> curr-row/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy top-row +<span id="L1455" class="LineNr">1455 </span> <span class="PreProc">var</span> curr-row/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy top-row <span id="L1456" class="LineNr">1456 </span> <span class="muComment"># cursor row, col</span> <span id="L1457" class="LineNr">1457 </span> <span class="PreProc">var</span> cursor-row-addr: (addr int) -<span id="L1458" class="LineNr">1458 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row +<span id="L1458" class="LineNr">1458 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row <span id="L1459" class="LineNr">1459 </span> copy-to cursor-row-addr, tmp <span id="L1460" class="LineNr">1460 </span> <span class="PreProc">var</span> cursor-col-addr: (addr int) <span id="L1461" class="LineNr">1461 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col @@ -1523,15 +1529,15 @@ if ('onhashchange' in window) { <span id="L1463" class="LineNr">1463 </span> <span class="muComment"># render all but final line without stack</span> <span id="L1464" class="LineNr">1464 </span><span class="CommentedCode">#? print-string 0, "render all but final line\n"</span> <span id="L1465" class="LineNr">1465 </span> <span class="Delimiter">{</span> -<span id="L1466" class="LineNr">1466 </span> <span class="PreProc">var</span> next-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-line, next -<span id="L1467" class="LineNr">1467 </span> <span class="PreProc">var</span> next-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah +<span id="L1466" class="LineNr">1466 </span> <span class="PreProc">var</span> next-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-line, next +<span id="L1467" class="LineNr">1467 </span> <span class="PreProc">var</span> next-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah <span id="L1468" class="LineNr">1468 </span> compare next-line, <span class="Constant">0</span> <span id="L1469" class="LineNr">1469 </span> <span class="PreProc">break-if-=</span> <span id="L1470" class="LineNr">1470 </span> <span class="Delimiter">{</span> -<span id="L1471" class="LineNr">1471 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L1472" class="LineNr">1472 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L1473" class="LineNr">1473 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L1474" class="LineNr">1474 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L1471" class="LineNr">1471 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1472" class="LineNr">1472 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L1473" class="LineNr">1473 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L1474" class="LineNr">1474 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L1475" class="LineNr">1475 </span> <span class="muComment"># it's enough to pass in the first word of the path, because if the path isn't a singleton the word is guaranteed to be unique</span> <span id="L1476" class="LineNr">1476 </span> <a href='environment.mu.html#L1634'>render-line-without-stack</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-line, curr-row, left-col, cursor-word, cursor-row-addr, cursor-col-addr <span id="L1477" class="LineNr">1477 </span> <span class="Delimiter">}</span> @@ -1547,49 +1553,49 @@ if ('onhashchange' in window) { <span id="L1487" class="LineNr">1487 </span><span class="Delimiter">}</span> <span id="L1488" class="LineNr">1488 </span> <span id="L1489" class="LineNr">1489 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1489'>render-final-line-with-stack</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), top-row: int, left-col: int, cursor-row-addr: (addr int), cursor-col-addr: (addr int) <span class="Delimiter">{</span> -<span id="L1490" class="LineNr">1490 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1490" class="LineNr">1490 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox <span id="L1491" class="LineNr">1491 </span> <span class="muComment"># expanded-words</span> -<span id="L1492" class="LineNr">1492 </span> <span class="PreProc">var</span> expanded-words/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words +<span id="L1492" class="LineNr">1492 </span> <span class="PreProc">var</span> expanded-words/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L71'>call-path</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, expanded-words <span id="L1493" class="LineNr">1493 </span> <span class="muComment"># cursor-word</span> -<span id="L1494" class="LineNr">1494 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L1495" class="LineNr">1495 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah -<span id="L1496" class="LineNr">1496 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> -<span id="L1497" class="LineNr">1497 </span> <span class="PreProc">var</span> _cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah -<span id="L1498" class="LineNr">1498 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word +<span id="L1494" class="LineNr">1494 </span> <span class="PreProc">var</span> cursor-call-path-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1495" class="LineNr">1495 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-call-path-ah +<span id="L1496" class="LineNr">1496 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-call-path, <a href='data.mu.html#L42'>word</a> +<span id="L1497" class="LineNr">1497 </span> <span class="PreProc">var</span> _cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L1498" class="LineNr">1498 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word <span id="L1499" class="LineNr">1499 </span><span class="CommentedCode">#? print-string 0, "word at cursor: "</span> <span id="L1500" class="LineNr">1500 </span><span class="CommentedCode">#? print-word 0, cursor-word</span> <span id="L1501" class="LineNr">1501 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L1502" class="LineNr">1502 </span> <span class="muComment"># cursor-call-path</span> <span id="L1503" class="LineNr">1503 </span> <span class="PreProc">var</span> cursor-call-path: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span id="L1504" class="LineNr">1504 </span> <span class="Delimiter">{</span> -<span id="L1505" class="LineNr">1505 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1505" class="LineNr">1505 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path <span id="L1506" class="LineNr">1506 </span> copy-to cursor-call-path, src <span id="L1507" class="LineNr">1507 </span> <span class="Delimiter">}</span> <span id="L1508" class="LineNr">1508 </span> <span class="muComment"># first line</span> -<span id="L1509" class="LineNr">1509 </span> <span class="PreProc">var</span> first-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data -<span id="L1510" class="LineNr">1510 </span> <span class="PreProc">var</span> _first-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-line-ah -<span id="L1511" class="LineNr">1511 </span> <span class="PreProc">var</span> first-line/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _first-line +<span id="L1509" class="LineNr">1509 </span> <span class="PreProc">var</span> first-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L1510" class="LineNr">1510 </span> <span class="PreProc">var</span> _first-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-line-ah +<span id="L1511" class="LineNr">1511 </span> <span class="PreProc">var</span> first-line/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _first-line <span id="L1512" class="LineNr">1512 </span> <span class="muComment"># final line</span> <span id="L1513" class="LineNr">1513 </span> <span class="PreProc">var</span> final-line-storage: (handle <a href='data.mu.html#L34'>line</a>) -<span id="L1514" class="LineNr">1514 </span> <span class="PreProc">var</span> final-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address final-line-storage +<span id="L1514" class="LineNr">1514 </span> <span class="PreProc">var</span> final-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address final-line-storage <span id="L1515" class="LineNr">1515 </span> <a href='environment.mu.html#L1526'>final-line</a> <a href='data.mu.html#L5'>sandbox</a>, final-line-ah -<span id="L1516" class="LineNr">1516 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah +<span id="L1516" class="LineNr">1516 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1526'>final-line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *final-line-ah <span id="L1517" class="LineNr">1517 </span> <span class="muComment"># curr-path</span> <span id="L1518" class="LineNr">1518 </span> <span class="PreProc">var</span> curr-path-storage: (handle <a href='data.mu.html#L77'>call-path-element</a>) -<span id="L1519" class="LineNr">1519 </span> <span class="PreProc">var</span> curr-path/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> address curr-path-storage +<span id="L1519" class="LineNr">1519 </span> <span class="PreProc">var</span> curr-path/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> address curr-path-storage <span id="L1520" class="LineNr">1520 </span> <a href='../120allocate.subx.html#L66'>allocate</a> curr-path <span class="muComment"># leak</span> <span id="L1521" class="LineNr">1521 </span> <a href='data.mu.html#L318'>initialize-path-from-line</a> <a href='environment.mu.html#L1526'>final-line</a>, curr-path <span id="L1522" class="LineNr">1522 </span> <span class="muComment">#</span> -<span id="L1523" class="LineNr">1523 </span> <span class="PreProc">var</span> dummy/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L1720'>render-line</a> <a href='../405screen.mu.html#L9'>screen</a>, functions, bindings, first-line, <a href='environment.mu.html#L1526'>final-line</a>, expanded-words, top-row, left-col, curr-path, cursor-word, cursor-call-path, cursor-row-addr, cursor-col-addr +<span id="L1523" class="LineNr">1523 </span> <span class="PreProc">var</span> dummy/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L1720'>render-line</a> <a href='../405screen.mu.html#L9'>screen</a>, functions, bindings, first-line, <a href='environment.mu.html#L1526'>final-line</a>, expanded-words, top-row, left-col, curr-path, cursor-word, cursor-call-path, cursor-row-addr, cursor-col-addr <span id="L1524" class="LineNr">1524 </span><span class="Delimiter">}</span> <span id="L1525" class="LineNr">1525 </span> <span id="L1526" class="LineNr">1526 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1526'>final-line</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>), out: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Delimiter">{</span> -<span id="L1527" class="LineNr">1527 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1528" class="LineNr">1528 </span> <span class="PreProc">var</span> curr-line-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data +<span id="L1527" class="LineNr">1527 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1528" class="LineNr">1528 </span> <span class="PreProc">var</span> curr-line-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, data <span id="L1529" class="LineNr">1529 </span> <span class="Delimiter">{</span> -<span id="L1530" class="LineNr">1530 </span> <span class="PreProc">var</span> curr-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-line-ah -<span id="L1531" class="LineNr">1531 </span> <span class="PreProc">var</span> next-line-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-line, next -<span id="L1532" class="LineNr">1532 </span> <span class="PreProc">var</span> next-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah +<span id="L1530" class="LineNr">1530 </span> <span class="PreProc">var</span> curr-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-line-ah +<span id="L1531" class="LineNr">1531 </span> <span class="PreProc">var</span> next-line-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-line, next +<span id="L1532" class="LineNr">1532 </span> <span class="PreProc">var</span> next-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah <span id="L1533" class="LineNr">1533 </span> compare next-line, <span class="Constant">0</span> <span id="L1534" class="LineNr">1534 </span> <span class="PreProc">break-if-=</span> <span id="L1535" class="LineNr">1535 </span> curr-line-ah <span class="Special"><-</span> copy next-line-ah @@ -1599,28 +1605,28 @@ if ('onhashchange' in window) { <span id="L1539" class="LineNr">1539 </span><span class="Delimiter">}</span> <span id="L1540" class="LineNr">1540 </span> <span id="L1541" class="LineNr">1541 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1541'>render-rename-dialog</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Delimiter">{</span> -<span id="L1542" class="LineNr">1542 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1543" class="LineNr">1543 </span> <span class="PreProc">var</span> rename-word-mode-ah?/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word -<span id="L1544" class="LineNr">1544 </span> <span class="PreProc">var</span> rename-word-mode?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *rename-word-mode-ah? +<span id="L1542" class="LineNr">1542 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1543" class="LineNr">1543 </span> <span class="PreProc">var</span> rename-word-mode-ah?/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word +<span id="L1544" class="LineNr">1544 </span> <span class="PreProc">var</span> rename-word-mode?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *rename-word-mode-ah? <span id="L1545" class="LineNr">1545 </span> compare rename-word-mode?, <span class="Constant">0</span>/false <span id="L1546" class="LineNr">1546 </span> <span class="PreProc">break-if-=</span> <span id="L1547" class="LineNr">1547 </span> <span class="muComment"># clear a space for the dialog</span> -<span id="L1548" class="LineNr">1548 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row -<span id="L1549" class="LineNr">1549 </span> <span class="PreProc">var</span> top-row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *cursor-row +<span id="L1548" class="LineNr">1548 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row +<span id="L1549" class="LineNr">1549 </span> <span class="PreProc">var</span> top-row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *cursor-row <span id="L1550" class="LineNr">1550 </span> top-row <span class="Special"><-</span> subtract <span class="Constant">3</span> -<span id="L1551" class="LineNr">1551 </span> <span class="PreProc">var</span> bottom-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *cursor-row +<span id="L1551" class="LineNr">1551 </span> <span class="PreProc">var</span> bottom-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *cursor-row <span id="L1552" class="LineNr">1552 </span> bottom-row <span class="Special"><-</span> add <span class="Constant">3</span> -<span id="L1553" class="LineNr">1553 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col -<span id="L1554" class="LineNr">1554 </span> <span class="PreProc">var</span> left-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1553" class="LineNr">1553 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col +<span id="L1554" class="LineNr">1554 </span> <span class="PreProc">var</span> left-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *cursor-col <span id="L1555" class="LineNr">1555 </span> left-col <span class="Special"><-</span> subtract <span class="Constant">0x10</span> -<span id="L1556" class="LineNr">1556 </span> <span class="PreProc">var</span> right-col/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1556" class="LineNr">1556 </span> <span class="PreProc">var</span> right-col/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *cursor-col <span id="L1557" class="LineNr">1557 </span> right-col <span class="Special"><-</span> add <span class="Constant">0x10</span> <span id="L1558" class="LineNr">1558 </span> <a href='box.mu.html#L71'>clear-rect</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1559" class="LineNr">1559 </span> <a href='box.mu.html#L1'>draw-box</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1560" class="LineNr">1560 </span> <span class="muComment"># render a little menu for the dialog</span> -<span id="L1561" class="LineNr">1561 </span> <span class="PreProc">var</span> menu-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bottom-row +<span id="L1561" class="LineNr">1561 </span> <span class="PreProc">var</span> menu-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bottom-row <span id="L1562" class="LineNr">1562 </span> menu-row <span class="Special"><-</span> decrement -<span id="L1563" class="LineNr">1563 </span> <span class="PreProc">var</span> menu-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1563" class="LineNr">1563 </span> <span class="PreProc">var</span> menu-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy left-col <span id="L1564" class="LineNr">1564 </span> menu-col <span class="Special"><-</span> add <span class="Constant">2</span> <span id="L1565" class="LineNr">1565 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, menu-row, menu-col <span id="L1566" class="LineNr">1566 </span> <a href='../405screen.mu.html#L569'>start-reverse-video</a> <a href='../405screen.mu.html#L9'>screen</a> @@ -1632,41 +1638,41 @@ if ('onhashchange' in window) { <span id="L1572" class="LineNr">1572 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L1573" class="LineNr">1573 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" rename "</span> <span id="L1574" class="LineNr">1574 </span> <span class="muComment"># draw the word, positioned appropriately around the cursor</span> -<span id="L1575" class="LineNr">1575 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col -<span id="L1576" class="LineNr">1576 </span> <span class="PreProc">var</span> start-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *cursor-col -<span id="L1577" class="LineNr">1577 </span> <span class="PreProc">var</span> word-ah?/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word -<span id="L1578" class="LineNr">1578 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? -<span id="L1579" class="LineNr">1579 </span> <span class="PreProc">var</span> <a href='word.mu.html#L199'>cursor-index</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> <a href='data.mu.html#L42'>word</a> +<span id="L1575" class="LineNr">1575 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col +<span id="L1576" class="LineNr">1576 </span> <span class="PreProc">var</span> start-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1577" class="LineNr">1577 </span> <span class="PreProc">var</span> word-ah?/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-cursor-word +<span id="L1578" class="LineNr">1578 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? +<span id="L1579" class="LineNr">1579 </span> <span class="PreProc">var</span> <a href='word.mu.html#L199'>cursor-index</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> <a href='data.mu.html#L42'>word</a> <span id="L1580" class="LineNr">1580 </span> start-col <span class="Special"><-</span> subtract <a href='word.mu.html#L199'>cursor-index</a> -<span id="L1581" class="LineNr">1581 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row +<span id="L1581" class="LineNr">1581 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row <span id="L1582" class="LineNr">1582 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *cursor-row, start-col -<span id="L1583" class="LineNr">1583 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? +<span id="L1583" class="LineNr">1583 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? <span id="L1584" class="LineNr">1584 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L42'>word</a> <span id="L1585" class="LineNr">1585 </span><span class="Delimiter">}</span> <span id="L1586" class="LineNr">1586 </span> <span id="L1587" class="LineNr">1587 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1587'>render-define-dialog</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Delimiter">{</span> -<span id="L1588" class="LineNr">1588 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1589" class="LineNr">1589 </span> <span class="PreProc">var</span> define-function-mode-ah?/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function -<span id="L1590" class="LineNr">1590 </span> <span class="PreProc">var</span> define-function-mode?/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *define-function-mode-ah? +<span id="L1588" class="LineNr">1588 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1589" class="LineNr">1589 </span> <span class="PreProc">var</span> define-function-mode-ah?/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function +<span id="L1590" class="LineNr">1590 </span> <span class="PreProc">var</span> define-function-mode?/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *define-function-mode-ah? <span id="L1591" class="LineNr">1591 </span> compare define-function-mode?, <span class="Constant">0</span>/false <span id="L1592" class="LineNr">1592 </span> <span class="PreProc">break-if-=</span> <span id="L1593" class="LineNr">1593 </span> <span class="muComment"># clear a space for the dialog</span> -<span id="L1594" class="LineNr">1594 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row -<span id="L1595" class="LineNr">1595 </span> <span class="PreProc">var</span> top-row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *cursor-row +<span id="L1594" class="LineNr">1594 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row +<span id="L1595" class="LineNr">1595 </span> <span class="PreProc">var</span> top-row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *cursor-row <span id="L1596" class="LineNr">1596 </span> top-row <span class="Special"><-</span> subtract <span class="Constant">3</span> -<span id="L1597" class="LineNr">1597 </span> <span class="PreProc">var</span> bottom-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *cursor-row +<span id="L1597" class="LineNr">1597 </span> <span class="PreProc">var</span> bottom-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *cursor-row <span id="L1598" class="LineNr">1598 </span> bottom-row <span class="Special"><-</span> add <span class="Constant">3</span> -<span id="L1599" class="LineNr">1599 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col -<span id="L1600" class="LineNr">1600 </span> <span class="PreProc">var</span> left-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1599" class="LineNr">1599 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col +<span id="L1600" class="LineNr">1600 </span> <span class="PreProc">var</span> left-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *cursor-col <span id="L1601" class="LineNr">1601 </span> left-col <span class="Special"><-</span> subtract <span class="Constant">0x10</span> -<span id="L1602" class="LineNr">1602 </span> <span class="PreProc">var</span> right-col/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1602" class="LineNr">1602 </span> <span class="PreProc">var</span> right-col/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *cursor-col <span id="L1603" class="LineNr">1603 </span> right-col <span class="Special"><-</span> add <span class="Constant">0x10</span> <span id="L1604" class="LineNr">1604 </span> <a href='box.mu.html#L71'>clear-rect</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1605" class="LineNr">1605 </span> <a href='box.mu.html#L1'>draw-box</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col, bottom-row, right-col <span id="L1606" class="LineNr">1606 </span> <span class="muComment"># render a little menu for the dialog</span> -<span id="L1607" class="LineNr">1607 </span> <span class="PreProc">var</span> menu-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bottom-row +<span id="L1607" class="LineNr">1607 </span> <span class="PreProc">var</span> menu-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bottom-row <span id="L1608" class="LineNr">1608 </span> menu-row <span class="Special"><-</span> decrement -<span id="L1609" class="LineNr">1609 </span> <span class="PreProc">var</span> menu-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1609" class="LineNr">1609 </span> <span class="PreProc">var</span> menu-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy left-col <span id="L1610" class="LineNr">1610 </span> menu-col <span class="Special"><-</span> add <span class="Constant">2</span> <span id="L1611" class="LineNr">1611 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, menu-row, menu-col <span id="L1612" class="LineNr">1612 </span> <a href='../405screen.mu.html#L569'>start-reverse-video</a> <a href='../405screen.mu.html#L9'>screen</a> @@ -1678,28 +1684,28 @@ if ('onhashchange' in window) { <span id="L1618" class="LineNr">1618 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L1619" class="LineNr">1619 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" define "</span> <span id="L1620" class="LineNr">1620 </span> <span class="muComment"># draw the word, positioned appropriately around the cursor</span> -<span id="L1621" class="LineNr">1621 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col -<span id="L1622" class="LineNr">1622 </span> <span class="PreProc">var</span> start-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *cursor-col -<span id="L1623" class="LineNr">1623 </span> <span class="PreProc">var</span> word-ah?/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function -<span id="L1624" class="LineNr">1624 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? -<span id="L1625" class="LineNr">1625 </span> <span class="PreProc">var</span> <a href='word.mu.html#L199'>cursor-index</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> <a href='data.mu.html#L42'>word</a> +<span id="L1621" class="LineNr">1621 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-col +<span id="L1622" class="LineNr">1622 </span> <span class="PreProc">var</span> start-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *cursor-col +<span id="L1623" class="LineNr">1623 </span> <span class="PreProc">var</span> word-ah?/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, partial-name-for-function +<span id="L1624" class="LineNr">1624 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? +<span id="L1625" class="LineNr">1625 </span> <span class="PreProc">var</span> <a href='word.mu.html#L199'>cursor-index</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> <a href='data.mu.html#L42'>word</a> <span id="L1626" class="LineNr">1626 </span> start-col <span class="Special"><-</span> subtract <a href='word.mu.html#L199'>cursor-index</a> -<span id="L1627" class="LineNr">1627 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row +<span id="L1627" class="LineNr">1627 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-row <span id="L1628" class="LineNr">1628 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *cursor-row, start-col -<span id="L1629" class="LineNr">1629 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? +<span id="L1629" class="LineNr">1629 </span> <span class="PreProc">var</span> <a href='data.mu.html#L42'>word</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah? <span id="L1630" class="LineNr">1630 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, <a href='data.mu.html#L42'>word</a> <span id="L1631" class="LineNr">1631 </span><span class="Delimiter">}</span> <span id="L1632" class="LineNr">1632 </span> <span id="L1633" class="LineNr">1633 </span><span class="muComment"># Render just the words in 'line'.</span> <span id="L1634" class="LineNr">1634 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1634'>render-line-without-stack</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _line: (addr <a href='data.mu.html#L34'>line</a>), curr-row: int, left-col: int, cursor-word: (addr <a href='data.mu.html#L42'>word</a>), cursor-row-addr: (addr int), cursor-col-addr: (addr int) <span class="Delimiter">{</span> <span id="L1635" class="LineNr">1635 </span> <span class="muComment"># curr-word</span> -<span id="L1636" class="LineNr">1636 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line -<span id="L1637" class="LineNr">1637 </span> <span class="PreProc">var</span> first-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L1638" class="LineNr">1638 </span> <span class="PreProc">var</span> _curr-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-word-ah -<span id="L1639" class="LineNr">1639 </span> <span class="PreProc">var</span> curr-word/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _curr-word +<span id="L1636" class="LineNr">1636 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line +<span id="L1637" class="LineNr">1637 </span> <span class="PreProc">var</span> first-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L1638" class="LineNr">1638 </span> <span class="PreProc">var</span> _curr-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-word-ah +<span id="L1639" class="LineNr">1639 </span> <span class="PreProc">var</span> curr-word/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _curr-word <span id="L1640" class="LineNr">1640 </span> <span class="muComment">#</span> <span id="L1641" class="LineNr">1641 </span> <span class="muComment"># loop-carried dependency</span> -<span id="L1642" class="LineNr">1642 </span> <span class="PreProc">var</span> curr-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1642" class="LineNr">1642 </span> <span class="PreProc">var</span> curr-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy left-col <span id="L1643" class="LineNr">1643 </span> <span class="muComment">#</span> <span id="L1644" class="LineNr">1644 </span> <span class="Delimiter">{</span> <span id="L1645" class="LineNr">1645 </span> compare curr-word, <span class="Constant">0</span> @@ -1710,11 +1716,11 @@ if ('onhashchange' in window) { <span id="L1650" class="LineNr">1650 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L1651" class="LineNr">1651 </span><span class="CommentedCode">#? }</span> <span id="L1652" class="LineNr">1652 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L1653" class="LineNr">1653 </span> <span class="PreProc">var</span> old-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy curr-col +<span id="L1653" class="LineNr">1653 </span> <span class="PreProc">var</span> old-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy curr-col <span id="L1654" class="LineNr">1654 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-row, curr-col <span id="L1655" class="LineNr">1655 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-word <span id="L1656" class="LineNr">1656 </span> <span class="Delimiter">{</span> -<span id="L1657" class="LineNr">1657 </span> <span class="PreProc">var</span> max-width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr-word +<span id="L1657" class="LineNr">1657 </span> <span class="PreProc">var</span> max-width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr-word <span id="L1658" class="LineNr">1658 </span> curr-col <span class="Special"><-</span> add max-width <span id="L1659" class="LineNr">1659 </span> curr-col <span class="Special"><-</span> add <span class="Constant">1</span>/margin-right <span id="L1660" class="LineNr">1660 </span> <span class="Delimiter">}</span> @@ -1735,35 +1741,35 @@ if ('onhashchange' in window) { <span id="L1675" class="LineNr">1675 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L1676" class="LineNr">1676 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L1677" class="LineNr">1677 </span><span class="CommentedCode">#? }</span> -<span id="L1678" class="LineNr">1678 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> copy cursor-row-addr -<span id="L1679" class="LineNr">1679 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy curr-row +<span id="L1678" class="LineNr">1678 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> copy cursor-row-addr +<span id="L1679" class="LineNr">1679 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy curr-row <span id="L1680" class="LineNr">1680 </span> copy-to *dest, src <span id="L1681" class="LineNr">1681 </span> dest <span class="Special"><-</span> copy cursor-col-addr <span id="L1682" class="LineNr">1682 </span> copy-to *dest, old-col -<span id="L1683" class="LineNr">1683 </span> <span class="PreProc">var</span> cursor-index-in-word/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> curr-word +<span id="L1683" class="LineNr">1683 </span> <span class="PreProc">var</span> cursor-index-in-word/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> curr-word <span id="L1684" class="LineNr">1684 </span> add-to *dest, cursor-index-in-word <span id="L1685" class="LineNr">1685 </span> <span class="Delimiter">}</span> <span id="L1686" class="LineNr">1686 </span> <span class="muComment"># loop update</span> -<span id="L1687" class="LineNr">1687 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next -<span id="L1688" class="LineNr">1688 </span> <span class="PreProc">var</span> _curr-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah +<span id="L1687" class="LineNr">1687 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next +<span id="L1688" class="LineNr">1688 </span> <span class="PreProc">var</span> _curr-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L1689" class="LineNr">1689 </span> curr-word <span class="Special"><-</span> copy _curr-word <span id="L1690" class="LineNr">1690 </span> <span class="PreProc">loop</span> <span id="L1691" class="LineNr">1691 </span> <span class="Delimiter">}</span> <span id="L1692" class="LineNr">1692 </span><span class="Delimiter">}</span> <span id="L1693" class="LineNr">1693 </span> -<span id="L1694" class="LineNr">1694 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1694'>call-depth-at-cursor</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L1695" class="LineNr">1695 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox -<span id="L1696" class="LineNr">1696 </span> <span class="PreProc">var</span> cursor-call-path/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path -<span id="L1697" class="LineNr">1697 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L1702'>call-path-element-length</a> cursor-call-path +<span id="L1694" class="LineNr">1694 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1694'>call-depth-at-cursor</a></span> _sandbox: (addr <a href='data.mu.html#L5'>sandbox</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L1695" class="LineNr">1695 </span> <span class="PreProc">var</span> <a href='data.mu.html#L5'>sandbox</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L5'>sandbox</a>) <span class="Special"><-</span> copy _sandbox +<span id="L1696" class="LineNr">1696 </span> <span class="PreProc">var</span> cursor-call-path/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L5'>sandbox</a>, cursor-call-path +<span id="L1697" class="LineNr">1697 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L1702'>call-path-element-length</a> cursor-call-path <span id="L1698" class="LineNr">1698 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add <span class="Constant">2</span> <span class="muComment"># input-row - 1</span> <span id="L1699" class="LineNr">1699 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L1700" class="LineNr">1700 </span><span class="Delimiter">}</span> <span id="L1701" class="LineNr">1701 </span> -<span id="L1702" class="LineNr">1702 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1702'>call-path-element-length</a></span> _x: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L1703" class="LineNr">1703 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x -<span id="L1704" class="LineNr">1704 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L1702" class="LineNr">1702 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1702'>call-path-element-length</a></span> _x: (addr handle <a href='data.mu.html#L77'>call-path-element</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L1703" class="LineNr">1703 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> copy _x +<span id="L1704" class="LineNr">1704 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L1705" class="LineNr">1705 </span> <span class="Delimiter">{</span> -<span id="L1706" class="LineNr">1706 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L1706" class="LineNr">1706 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L77'>call-path-element</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L1707" class="LineNr">1707 </span> compare curr, <span class="Constant">0</span> <span id="L1708" class="LineNr">1708 </span> <span class="PreProc">break-if-=</span> <span id="L1709" class="LineNr">1709 </span> curr-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next @@ -1777,16 +1783,16 @@ if ('onhashchange' in window) { <span id="L1717" class="LineNr">1717 </span><span class="muComment"># Also render any expanded function calls using recursive calls.</span> <span id="L1718" class="LineNr">1718 </span><span class="muComment">#</span> <span id="L1719" class="LineNr">1719 </span><span class="muComment"># Along the way, compute the column the cursor should be positioned at (cursor-col-addr).</span> -<span id="L1720" class="LineNr">1720 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1720'>render-line</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), first-line: (addr <a href='data.mu.html#L34'>line</a>), _line: (addr <a href='data.mu.html#L34'>line</a>), expanded-words: (addr handle <a href='data.mu.html#L71'>call-path</a>), top-row: int, left-col: int, curr-path: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), cursor-word: (addr <a href='data.mu.html#L42'>word</a>), cursor-call-path: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), cursor-row-addr: (addr int), cursor-col-addr: (addr int)<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> +<span id="L1720" class="LineNr">1720 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1720'>render-line</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), first-line: (addr <a href='data.mu.html#L34'>line</a>), _line: (addr <a href='data.mu.html#L34'>line</a>), expanded-words: (addr handle <a href='data.mu.html#L71'>call-path</a>), top-row: int, left-col: int, curr-path: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), cursor-word: (addr <a href='data.mu.html#L42'>word</a>), cursor-call-path: (addr handle <a href='data.mu.html#L77'>call-path-element</a>), cursor-row-addr: (addr int), cursor-col-addr: (addr int)<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> <span id="L1721" class="LineNr">1721 </span><span class="CommentedCode">#? print-string 0, "render-line\n"</span> <span id="L1722" class="LineNr">1722 </span><span class="CommentedCode">#? dump-table bindings</span> <span id="L1723" class="LineNr">1723 </span> <span class="muComment"># curr-word</span> -<span id="L1724" class="LineNr">1724 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line -<span id="L1725" class="LineNr">1725 </span> <span class="PreProc">var</span> first-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L1726" class="LineNr">1726 </span> <span class="PreProc">var</span> curr-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-word-ah +<span id="L1724" class="LineNr">1724 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy _line +<span id="L1725" class="LineNr">1725 </span> <span class="PreProc">var</span> first-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L1726" class="LineNr">1726 </span> <span class="PreProc">var</span> curr-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *first-word-ah <span id="L1727" class="LineNr">1727 </span> <span class="muComment">#</span> <span id="L1728" class="LineNr">1728 </span> <span class="muComment"># loop-carried dependency</span> -<span id="L1729" class="LineNr">1729 </span> <span class="PreProc">var</span> curr-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1729" class="LineNr">1729 </span> <span class="PreProc">var</span> curr-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy left-col <span id="L1730" class="LineNr">1730 </span> <span class="muComment">#</span> <span id="L1731" class="LineNr">1731 </span> <span class="Delimiter">{</span> <span id="L1732" class="LineNr">1732 </span> compare curr-word, <span class="Constant">0</span> @@ -1798,18 +1804,18 @@ if ('onhashchange' in window) { <span id="L1738" class="LineNr">1738 </span> $render-line:subsidiary: <span class="Delimiter">{</span> <span id="L1739" class="LineNr">1739 </span> <span class="Delimiter">{</span> <span id="L1740" class="LineNr">1740 </span><span class="CommentedCode">#? print-string 0, "check sub\n"</span> -<span id="L1741" class="LineNr">1741 </span> <span class="PreProc">var</span> display-subsidiary-stack?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, curr-path +<span id="L1741" class="LineNr">1741 </span> <span class="PreProc">var</span> display-subsidiary-stack?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L327'>find-in-call-paths</a> expanded-words, curr-path <span id="L1742" class="LineNr">1742 </span> compare display-subsidiary-stack?, <span class="Constant">0</span>/false <span id="L1743" class="LineNr">1743 </span> <span class="PreProc">break-if-=</span> $render-line:subsidiary <span id="L1744" class="LineNr">1744 </span> <span class="Delimiter">}</span> <span id="L1745" class="LineNr">1745 </span><span class="CommentedCode">#? print-string 0, "render subsidiary stack\n"</span> <span id="L1746" class="LineNr">1746 </span> <span class="muComment"># does function exist?</span> -<span id="L1747" class="LineNr">1747 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L1747" class="LineNr">1747 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L1748" class="LineNr">1748 </span> <span class="Delimiter">{</span> <span id="L1749" class="LineNr">1749 </span> <span class="PreProc">var</span> callee-h: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L1750" class="LineNr">1750 </span> <span class="PreProc">var</span> callee-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h +<span id="L1750" class="LineNr">1750 </span> <span class="PreProc">var</span> callee-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h <span id="L1751" class="LineNr">1751 </span> <a href='environment.mu.html#L1846'>callee</a> functions, curr-word, callee-ah -<span id="L1752" class="LineNr">1752 </span> <span class="PreProc">var</span> _callee/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah +<span id="L1752" class="LineNr">1752 </span> <span class="PreProc">var</span> _callee/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah <span id="L1753" class="LineNr">1753 </span> <a href='environment.mu.html#L1846'>callee</a> <span class="Special"><-</span> copy _callee <span id="L1754" class="LineNr">1754 </span> compare <a href='environment.mu.html#L1846'>callee</a>, <span class="Constant">0</span> <span id="L1755" class="LineNr">1755 </span> <span class="PreProc">break-if-=</span> $render-line:subsidiary @@ -1818,34 +1824,34 @@ if ('onhashchange' in window) { <span id="L1758" class="LineNr">1758 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">8</span>, <span class="Constant">7</span> <span id="L1759" class="LineNr">1759 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-word <span id="L1760" class="LineNr">1760 </span> <span class="Delimiter">{</span> -<span id="L1761" class="LineNr">1761 </span> <span class="PreProc">var</span> word-len/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr-word +<span id="L1761" class="LineNr">1761 </span> <span class="PreProc">var</span> word-len/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr-word <span id="L1762" class="LineNr">1762 </span> curr-col <span class="Special"><-</span> add word-len <span id="L1763" class="LineNr">1763 </span> curr-col <span class="Special"><-</span> add <span class="Constant">2</span> <span id="L1764" class="LineNr">1764 </span> increment top-row <span id="L1765" class="LineNr">1765 </span> <span class="Delimiter">}</span> <span id="L1766" class="LineNr">1766 </span> <span class="muComment"># obtain stack at call site</span> <span id="L1767" class="LineNr">1767 </span> <span class="PreProc">var</span> stack-storage: <a href='value-stack.mu.html#L3'>value-stack</a> -<span id="L1768" class="LineNr">1768 </span> <span class="PreProc">var</span> stack/<span class="Constant">edx</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage +<span id="L1768" class="LineNr">1768 </span> <span class="PreProc">var</span> stack/<span class="muRegEdx">edx</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage <span id="L1769" class="LineNr">1769 </span> <a href='value-stack.mu.html#L8'>initialize-value-stack</a> stack, <span class="Constant">0x10</span> <span id="L1770" class="LineNr">1770 </span> <span class="Delimiter">{</span> -<span id="L1771" class="LineNr">1771 </span> <span class="PreProc">var</span> prev-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, prev -<span id="L1772" class="LineNr">1772 </span> <span class="PreProc">var</span> prev-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah +<span id="L1771" class="LineNr">1771 </span> <span class="PreProc">var</span> prev-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, prev +<span id="L1772" class="LineNr">1772 </span> <span class="PreProc">var</span> prev-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-word-ah <span id="L1773" class="LineNr">1773 </span> compare prev-word, <span class="Constant">0</span> <span id="L1774" class="LineNr">1774 </span> <span class="PreProc">break-if-=</span> <span id="L1775" class="LineNr">1775 </span> <span class="PreProc">var</span> bindings2-storage: <a href='data.mu.html#L59'>table</a> -<span id="L1776" class="LineNr">1776 </span> <span class="PreProc">var</span> bindings2/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage +<span id="L1776" class="LineNr">1776 </span> <span class="PreProc">var</span> bindings2/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage <span id="L1777" class="LineNr">1777 </span> <a href='table.mu.html#L7'>deep-copy-table</a> bindings, bindings2 <span id="L1778" class="LineNr">1778 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, bindings2, first-line, prev-word, stack <span id="L1779" class="LineNr">1779 </span> <span class="Delimiter">}</span> <span id="L1780" class="LineNr">1780 </span> <span class="muComment"># construct new bindings</span> <span id="L1781" class="LineNr">1781 </span> <span class="PreProc">var</span> callee-bindings-storage: <a href='data.mu.html#L59'>table</a> -<span id="L1782" class="LineNr">1782 </span> <span class="PreProc">var</span> callee-bindings/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address callee-bindings-storage +<span id="L1782" class="LineNr">1782 </span> <span class="PreProc">var</span> callee-bindings/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address callee-bindings-storage <span id="L1783" class="LineNr">1783 </span> <a href='table.mu.html#L1'>initialize-table</a> callee-bindings, <span class="Constant">0x10</span> <span id="L1784" class="LineNr">1784 </span> <a href='rpn.mu.html#L828'>bind-args</a> <a href='environment.mu.html#L1846'>callee</a>, stack, callee-bindings <span id="L1785" class="LineNr">1785 </span> <span class="muComment"># obtain body</span> -<span id="L1786" class="LineNr">1786 </span> <span class="PreProc">var</span> callee-body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body -<span id="L1787" class="LineNr">1787 </span> <span class="PreProc">var</span> callee-body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-body-ah -<span id="L1788" class="LineNr">1788 </span> <span class="PreProc">var</span> callee-body-first-word/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> callee-body, data +<span id="L1786" class="LineNr">1786 </span> <span class="PreProc">var</span> callee-body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body +<span id="L1787" class="LineNr">1787 </span> <span class="PreProc">var</span> callee-body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-body-ah +<span id="L1788" class="LineNr">1788 </span> <span class="PreProc">var</span> callee-body-first-word/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> callee-body, data <span id="L1789" class="LineNr">1789 </span> <span class="muComment"># - render subsidiary stack</span> <span id="L1790" class="LineNr">1790 </span> <a href='data.mu.html#L515'>push-to-call-path-element</a> curr-path, callee-body-first-word <span class="muComment"># leak</span> <span id="L1791" class="LineNr">1791 </span><span class="CommentedCode">#? print-string 0, "subsidiary {\n"</span> @@ -1862,9 +1868,9 @@ if ('onhashchange' in window) { <span id="L1802" class="LineNr">1802 </span> decrement top-row <span id="L1803" class="LineNr">1803 </span> <span class="Delimiter">}</span> <span id="L1804" class="LineNr">1804 </span> <span class="muComment"># render main column</span> -<span id="L1805" class="LineNr">1805 </span> <span class="PreProc">var</span> old-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy curr-col +<span id="L1805" class="LineNr">1805 </span> <span class="PreProc">var</span> old-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy curr-col <span id="L1806" class="LineNr">1806 </span> <span class="PreProc">var</span> bindings2-storage: <a href='data.mu.html#L59'>table</a> -<span id="L1807" class="LineNr">1807 </span> <span class="PreProc">var</span> bindings2/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage +<span id="L1807" class="LineNr">1807 </span> <span class="PreProc">var</span> bindings2/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage <span id="L1808" class="LineNr">1808 </span><span class="CommentedCode">#? print-string 0, "deep-copy {\n"</span> <span id="L1809" class="LineNr">1809 </span> <a href='table.mu.html#L7'>deep-copy-table</a> bindings, bindings2 <span id="L1810" class="LineNr">1810 </span><span class="CommentedCode">#? print-string 0, "}\n"</span> @@ -1874,23 +1880,23 @@ if ('onhashchange' in window) { <span id="L1814" class="LineNr">1814 </span> <span class="muComment"># cache cursor column if necessary</span> <span id="L1815" class="LineNr">1815 </span> $render-line:cache-cursor-column: <span class="Delimiter">{</span> <span id="L1816" class="LineNr">1816 </span> <span class="Delimiter">{</span> -<span id="L1817" class="LineNr">1817 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-path, cursor-call-path +<span id="L1817" class="LineNr">1817 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='data.mu.html#L348'>call-path-element-match?</a> curr-path, cursor-call-path <span id="L1818" class="LineNr">1818 </span> compare found?, <span class="Constant">0</span>/false <span id="L1819" class="LineNr">1819 </span> <span class="PreProc">break-if-=</span> $render-line:cache-cursor-column <span id="L1820" class="LineNr">1820 </span> <span class="Delimiter">}</span> -<span id="L1821" class="LineNr">1821 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr int) <span class="Special"><-</span> copy cursor-row-addr +<span id="L1821" class="LineNr">1821 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr int) <span class="Special"><-</span> copy cursor-row-addr <span id="L1822" class="LineNr">1822 </span> <span class="Delimiter">{</span> -<span id="L1823" class="LineNr">1823 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy top-row +<span id="L1823" class="LineNr">1823 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy top-row <span id="L1824" class="LineNr">1824 </span> copy-to *dest, src <span id="L1825" class="LineNr">1825 </span> <span class="Delimiter">}</span> <span id="L1826" class="LineNr">1826 </span> dest <span class="Special"><-</span> copy cursor-col-addr <span id="L1827" class="LineNr">1827 </span> copy-to *dest, old-col -<span id="L1828" class="LineNr">1828 </span> <span class="PreProc">var</span> cursor-index-in-word/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> curr-word +<span id="L1828" class="LineNr">1828 </span> <span class="PreProc">var</span> cursor-index-in-word/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L199'>cursor-index</a> curr-word <span id="L1829" class="LineNr">1829 </span> add-to *dest, cursor-index-in-word <span id="L1830" class="LineNr">1830 </span> <span class="Delimiter">}</span> <span id="L1831" class="LineNr">1831 </span> <span class="muComment"># loop update</span> <span id="L1832" class="LineNr">1832 </span><span class="CommentedCode">#? print-string 0, "next word\n"</span> -<span id="L1833" class="LineNr">1833 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next +<span id="L1833" class="LineNr">1833 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next <span id="L1834" class="LineNr">1834 </span> curr-word <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L1835" class="LineNr">1835 </span><span class="CommentedCode">#? {</span> <span id="L1836" class="LineNr">1836 </span><span class="CommentedCode">#? var foo/eax: int <- copy curr-word</span> @@ -1905,7 +1911,7 @@ if ('onhashchange' in window) { <span id="L1845" class="LineNr">1845 </span> <span id="L1846" class="LineNr">1846 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1846'>callee</a></span> functions: (addr handle <a href='data.mu.html#L21'>function</a>), <a href='data.mu.html#L42'>word</a>: (addr <a href='data.mu.html#L42'>word</a>), out: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> <span id="L1847" class="LineNr">1847 </span> <span class="PreProc">var</span> stream-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L1848" class="LineNr">1848 </span> <span class="PreProc">var</span> stream/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage +<span id="L1848" class="LineNr">1848 </span> <span class="PreProc">var</span> stream/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage <span id="L1849" class="LineNr">1849 </span> <a href='word.mu.html#L473'>emit-word</a> <a href='data.mu.html#L42'>word</a>, stream <span id="L1850" class="LineNr">1850 </span> <a href='rpn.mu.html#L774'>find-function</a> functions, stream, out <span id="L1851" class="LineNr">1851 </span><span class="Delimiter">}</span> @@ -1915,46 +1921,46 @@ if ('onhashchange' in window) { <span id="L1855" class="LineNr">1855 </span><span class="muComment"># - starting somewhere below at left-col: the stack result from interpreting first-world to final-word (inclusive)</span> <span id="L1856" class="LineNr">1856 </span><span class="muComment">#</span> <span id="L1857" class="LineNr">1857 </span><span class="muComment"># Return the farthest column written.</span> -<span id="L1858" class="LineNr">1858 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1858'>render-column</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), first-line: (addr <a href='data.mu.html#L34'>line</a>), <a href='data.mu.html#L34'>line</a>: (addr <a href='data.mu.html#L34'>line</a>), <a href='word.mu.html#L114'>final-word</a>: (addr <a href='data.mu.html#L42'>word</a>), top-row: int, left-col: int<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> +<span id="L1858" class="LineNr">1858 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1858'>render-column</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), first-line: (addr <a href='data.mu.html#L34'>line</a>), <a href='data.mu.html#L34'>line</a>: (addr <a href='data.mu.html#L34'>line</a>), <a href='word.mu.html#L114'>final-word</a>: (addr <a href='data.mu.html#L42'>word</a>), top-row: int, left-col: int<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> <span id="L1859" class="LineNr">1859 </span><span class="CommentedCode">#? print-string 0, "render-column\n"</span> <span id="L1860" class="LineNr">1860 </span><span class="CommentedCode">#? dump-table bindings</span> -<span id="L1861" class="LineNr">1861 </span> <span class="PreProc">var</span> max-width/<span class="Constant">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L1861" class="LineNr">1861 </span> <span class="PreProc">var</span> max-width/<span class="muRegEsi">esi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L1862" class="LineNr">1862 </span> <span class="Delimiter">{</span> <span id="L1863" class="LineNr">1863 </span> <span class="muComment"># compute stack</span> <span id="L1864" class="LineNr">1864 </span> <span class="PreProc">var</span> stack: <a href='value-stack.mu.html#L3'>value-stack</a> -<span id="L1865" class="LineNr">1865 </span> <span class="PreProc">var</span> stack-addr/<span class="Constant">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack +<span id="L1865" class="LineNr">1865 </span> <span class="PreProc">var</span> stack-addr/<span class="muRegEdi">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack <span id="L1866" class="LineNr">1866 </span> <a href='value-stack.mu.html#L8'>initialize-value-stack</a> stack-addr, <span class="Constant">0x10</span>/max-words <span id="L1867" class="LineNr">1867 </span> <span class="muComment"># copy bindings</span> <span id="L1868" class="LineNr">1868 </span> <span class="PreProc">var</span> bindings2-storage: <a href='data.mu.html#L59'>table</a> -<span id="L1869" class="LineNr">1869 </span> <span class="PreProc">var</span> bindings2/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage +<span id="L1869" class="LineNr">1869 </span> <span class="PreProc">var</span> bindings2/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address bindings2-storage <span id="L1870" class="LineNr">1870 </span><span class="CommentedCode">#? print-string 0, "deep copy table {\n"</span> <span id="L1871" class="LineNr">1871 </span> <a href='table.mu.html#L7'>deep-copy-table</a> bindings, bindings2 <span id="L1872" class="LineNr">1872 </span><span class="CommentedCode">#? print-string 0, "}\n"</span> <span id="L1873" class="LineNr">1873 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, bindings2, first-line, <a href='word.mu.html#L114'>final-word</a>, stack-addr <span id="L1874" class="LineNr">1874 </span> <span class="muComment"># indent stack</span> -<span id="L1875" class="LineNr">1875 </span> <span class="PreProc">var</span> indented-col/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1875" class="LineNr">1875 </span> <span class="PreProc">var</span> indented-col/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy left-col <span id="L1876" class="LineNr">1876 </span> indented-col <span class="Special"><-</span> add <span class="Constant">1</span>/margin-right <span id="L1877" class="LineNr">1877 </span> <span class="muComment"># render stack</span> -<span id="L1878" class="LineNr">1878 </span> <span class="PreProc">var</span> curr-row/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy top-row +<span id="L1878" class="LineNr">1878 </span> <span class="PreProc">var</span> curr-row/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy top-row <span id="L1879" class="LineNr">1879 </span> curr-row <span class="Special"><-</span> add <span class="Constant">2</span>/stack-margin-top <span id="L1880" class="LineNr">1880 </span> <span class="Delimiter">{</span> -<span id="L1881" class="LineNr">1881 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack-addr, <a href='../203stack.subx.html#L338'>top</a> +<span id="L1881" class="LineNr">1881 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack-addr, <a href='../203stack.subx.html#L338'>top</a> <span id="L1882" class="LineNr">1882 </span> compare *top-addr, <span class="Constant">0</span> <span id="L1883" class="LineNr">1883 </span> <span class="PreProc">break-if-<=</span> <span id="L1884" class="LineNr">1884 </span> decrement *top-addr -<span id="L1885" class="LineNr">1885 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack-addr, data -<span id="L1886" class="LineNr">1886 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L1887" class="LineNr">1887 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L1888" class="LineNr">1888 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L1889" class="LineNr">1889 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L1885" class="LineNr">1885 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack-addr, data +<span id="L1886" class="LineNr">1886 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L1887" class="LineNr">1887 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L1888" class="LineNr">1888 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEcx">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L1889" class="LineNr">1889 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L1890" class="LineNr">1890 </span> <a href='value.mu.html#L1'>render-value-at</a> <a href='../405screen.mu.html#L9'>screen</a>, curr-row, indented-col, val, <span class="Constant">1</span>/top-level=true <span id="L1891" class="LineNr">1891 </span> <span class="Delimiter">{</span> -<span id="L1892" class="LineNr">1892 </span> <span class="PreProc">var</span> width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> val, <span class="Constant">1</span> +<span id="L1892" class="LineNr">1892 </span> <span class="PreProc">var</span> width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> val, <span class="Constant">1</span> <span id="L1893" class="LineNr">1893 </span> compare width, max-width <span id="L1894" class="LineNr">1894 </span> <span class="PreProc">break-if-<=</span> <span id="L1895" class="LineNr">1895 </span> max-width <span class="Special"><-</span> copy width <span id="L1896" class="LineNr">1896 </span> <span class="Delimiter">}</span> -<span id="L1897" class="LineNr">1897 </span> <span class="PreProc">var</span> height/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L314'>value-height</a> val +<span id="L1897" class="LineNr">1897 </span> <span class="PreProc">var</span> height/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L314'>value-height</a> val <span id="L1898" class="LineNr">1898 </span> curr-row <span class="Special"><-</span> add height <span id="L1899" class="LineNr">1899 </span> <span class="PreProc">loop</span> <span id="L1900" class="LineNr">1900 </span> <span class="Delimiter">}</span> @@ -1967,14 +1973,14 @@ if ('onhashchange' in window) { <span id="L1907" class="LineNr">1907 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, top-row, left-col <span id="L1908" class="LineNr">1908 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, <a href='word.mu.html#L114'>final-word</a> <span id="L1909" class="LineNr">1909 </span> <span class="Delimiter">{</span> -<span id="L1910" class="LineNr">1910 </span> <span class="PreProc">var</span> width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> <a href='word.mu.html#L114'>final-word</a> +<span id="L1910" class="LineNr">1910 </span> <span class="PreProc">var</span> width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> <a href='word.mu.html#L114'>final-word</a> <span id="L1911" class="LineNr">1911 </span> compare width, max-width <span id="L1912" class="LineNr">1912 </span> <span class="PreProc">break-if-<=</span> <span id="L1913" class="LineNr">1913 </span> max-width <span class="Special"><-</span> copy width <span id="L1914" class="LineNr">1914 </span> <span class="Delimiter">}</span> <span id="L1915" class="LineNr">1915 </span> <span id="L1916" class="LineNr">1916 </span> <span class="muComment"># post-process right-col</span> -<span id="L1917" class="LineNr">1917 </span> <span class="PreProc">var</span> right-col/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy left-col +<span id="L1917" class="LineNr">1917 </span> <span class="PreProc">var</span> right-col/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy left-col <span id="L1918" class="LineNr">1918 </span> right-col <span class="Special"><-</span> add max-width <span id="L1919" class="LineNr">1919 </span> right-col <span class="Special"><-</span> add <span class="Constant">1</span>/margin-right <span id="L1920" class="LineNr">1920 </span><span class="CommentedCode">#? print-int32-decimal 0, left-col</span> @@ -1985,11 +1991,11 @@ if ('onhashchange' in window) { <span id="L1925" class="LineNr">1925 </span><span class="Delimiter">}</span> <span id="L1926" class="LineNr">1926 </span> <span id="L1927" class="LineNr">1927 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1927'>render-function-menu</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L1928" class="LineNr">1928 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L1929" class="LineNr">1929 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L1930" class="LineNr">1930 </span> <span class="PreProc">var</span> _screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L1931" class="LineNr">1931 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen -<span id="L1932" class="LineNr">1932 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows +<span id="L1928" class="LineNr">1928 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1929" class="LineNr">1929 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L1930" class="LineNr">1930 </span> <span class="PreProc">var</span> _screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L1931" class="LineNr">1931 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L1932" class="LineNr">1932 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows <span id="L1933" class="LineNr">1933 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *nrows, <span class="Constant">0</span> <span id="L1934" class="LineNr">1934 </span> <a href='../405screen.mu.html#L569'>start-reverse-video</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L1935" class="LineNr">1935 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" ctrl-q "</span> @@ -2022,11 +2028,11 @@ if ('onhashchange' in window) { <span id="L1962" class="LineNr">1962 </span><span class="Delimiter">}</span> <span id="L1963" class="LineNr">1963 </span> <span id="L1964" class="LineNr">1964 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L1964'>render-sandbox-menu</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L1965" class="LineNr">1965 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L1966" class="LineNr">1966 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L1967" class="LineNr">1967 </span> <span class="PreProc">var</span> _screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L1968" class="LineNr">1968 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen -<span id="L1969" class="LineNr">1969 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows +<span id="L1965" class="LineNr">1965 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L1966" class="LineNr">1966 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L1967" class="LineNr">1967 </span> <span class="PreProc">var</span> _screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L1968" class="LineNr">1968 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L1969" class="LineNr">1969 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows <span id="L1970" class="LineNr">1970 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, *nrows, <span class="Constant">0</span> <span id="L1971" class="LineNr">1971 </span> <a href='../405screen.mu.html#L569'>start-reverse-video</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L1972" class="LineNr">1972 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" ctrl-q "</span> @@ -2071,25 +2077,25 @@ if ('onhashchange' in window) { <span id="L2011" class="LineNr">2011 </span><span class="Delimiter">}</span> <span id="L2012" class="LineNr">2012 </span> <span id="L2013" class="LineNr">2013 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2013'>clear-canvas</a></span> _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L2014" class="LineNr">2014 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L2015" class="LineNr">2015 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L2016" class="LineNr">2016 </span> <span class="PreProc">var</span> _screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L2017" class="LineNr">2017 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen +<span id="L2014" class="LineNr">2014 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L2015" class="LineNr">2015 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L2016" class="LineNr">2016 </span> <span class="PreProc">var</span> _screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L2017" class="LineNr">2017 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen <span id="L2018" class="LineNr">2018 </span> <a href='../405screen.mu.html#L78'>clear-screen</a> <a href='../405screen.mu.html#L9'>screen</a> -<span id="L2019" class="LineNr">2019 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows -<span id="L2020" class="LineNr">2020 </span> <span class="PreProc">var</span> sep-col/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col +<span id="L2019" class="LineNr">2019 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, nrows +<span id="L2020" class="LineNr">2020 </span> <span class="PreProc">var</span> sep-col/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, code-separator-col <span id="L2021" class="LineNr">2021 </span> <span class="muComment"># divider</span> <span id="L2022" class="LineNr">2022 </span> <a href='box.mu.html#L38'>draw-vertical-line</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">1</span>, *nrows, *sep-col <span id="L2023" class="LineNr">2023 </span> <span class="muComment"># primitives</span> -<span id="L2024" class="LineNr">2024 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L2028'>render-primitives</a> <a href='../405screen.mu.html#L9'>screen</a>, *nrows, *sep-col +<span id="L2024" class="LineNr">2024 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='environment.mu.html#L2028'>render-primitives</a> <a href='../405screen.mu.html#L9'>screen</a>, *nrows, *sep-col <span id="L2025" class="LineNr">2025 </span><span class="Delimiter">}</span> <span id="L2026" class="LineNr">2026 </span> <span id="L2027" class="LineNr">2027 </span><span class="muComment"># return value: top-most row written to</span> -<span id="L2028" class="LineNr">2028 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2028'>render-primitives</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), bottom-margin-row: int, right-col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L2028" class="LineNr">2028 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2028'>render-primitives</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), bottom-margin-row: int, right-col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> <span id="L2029" class="LineNr">2029 </span> <span class="muComment"># render primitives from the bottom of the screen upward</span> -<span id="L2030" class="LineNr">2030 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy bottom-margin-row +<span id="L2030" class="LineNr">2030 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy bottom-margin-row <span id="L2031" class="LineNr">2031 </span> row <span class="Special"><-</span> subtract <span class="Constant">1</span> -<span id="L2032" class="LineNr">2032 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L2032" class="LineNr">2032 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L2033" class="LineNr">2033 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col <span id="L2034" class="LineNr">2034 </span> row, col <span class="Special"><-</span> <a href='environment.mu.html#L2051'>render-primitive-group</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col, right-col, <span class="Constant">"numbers: "</span>, <span class="Constant">"+ - * / sqrt "</span> <span id="L2035" class="LineNr">2035 </span> row, col <span class="Special"><-</span> <a href='environment.mu.html#L2051'>render-primitive-group</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col, right-col, <span class="Constant">"arrays: "</span>, <span class="Constant">"len "</span> @@ -2108,18 +2114,18 @@ if ('onhashchange' in window) { <span id="L2048" class="LineNr">2048 </span><span class="muComment"># start at row, col and print the given strings</span> <span id="L2049" class="LineNr">2049 </span><span class="muComment"># move up one row if there isn't enough room before right-col</span> <span id="L2050" class="LineNr">2050 </span><span class="muComment"># return row, col printed until</span> -<span id="L2051" class="LineNr">2051 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2051'>render-primitive-group</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _row: int, _col: int, right-col: int, _heading: (addr array byte), _contents: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int, _/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> -<span id="L2052" class="LineNr">2052 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy _row -<span id="L2053" class="LineNr">2053 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _col +<span id="L2051" class="LineNr">2051 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2051'>render-primitive-group</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _row: int, _col: int, right-col: int, _heading: (addr array byte), _contents: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int, _/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> +<span id="L2052" class="LineNr">2052 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy _row +<span id="L2053" class="LineNr">2053 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _col <span id="L2054" class="LineNr">2054 </span> <span class="muComment"># decrement row if necessary</span> -<span id="L2055" class="LineNr">2055 </span> <span class="PreProc">var</span> new-col/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy col -<span id="L2056" class="LineNr">2056 </span> <span class="PreProc">var</span> heading/<span class="Constant">esi</span>: (addr array byte) <span class="Special"><-</span> copy _heading -<span id="L2057" class="LineNr">2057 </span> <span class="PreProc">var</span> len1/<span class="Constant">eax</span>: int <span class="Special"><-</span> length heading +<span id="L2055" class="LineNr">2055 </span> <span class="PreProc">var</span> new-col/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy col +<span id="L2056" class="LineNr">2056 </span> <span class="PreProc">var</span> heading/<span class="muRegEsi">esi</span>: (addr array byte) <span class="Special"><-</span> copy _heading +<span id="L2057" class="LineNr">2057 </span> <span class="PreProc">var</span> len1/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length heading <span id="L2058" class="LineNr">2058 </span> new-col <span class="Special"><-</span> add len1 -<span id="L2059" class="LineNr">2059 </span> <span class="PreProc">var</span> contents/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _contents -<span id="L2060" class="LineNr">2060 </span> <span class="PreProc">var</span> len2/<span class="Constant">eax</span>: int <span class="Special"><-</span> length contents +<span id="L2059" class="LineNr">2059 </span> <span class="PreProc">var</span> contents/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _contents +<span id="L2060" class="LineNr">2060 </span> <span class="PreProc">var</span> len2/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length contents <span id="L2061" class="LineNr">2061 </span> new-col <span class="Special"><-</span> add len2 -<span id="L2062" class="LineNr">2062 </span> <span class="PreProc">var</span> bound/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy right-col +<span id="L2062" class="LineNr">2062 </span> <span class="PreProc">var</span> bound/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy right-col <span id="L2063" class="LineNr">2063 </span> bound <span class="Special"><-</span> decrement <span id="L2064" class="LineNr">2064 </span> <span class="Delimiter">{</span> <span id="L2065" class="LineNr">2065 </span> compare new-col, bound @@ -2136,12 +2142,12 @@ if ('onhashchange' in window) { <span id="L2076" class="LineNr">2076 </span><span class="Delimiter">}</span> <span id="L2077" class="LineNr">2077 </span> <span id="L2078" class="LineNr">2078 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2078'>render-functions</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), right-col: int, _env: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Delimiter">{</span> -<span id="L2079" class="LineNr">2079 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L2080" class="LineNr">2080 </span> <span class="PreProc">var</span> dummy-col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy right-col -<span id="L2081" class="LineNr">2081 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env -<span id="L2082" class="LineNr">2082 </span> <span class="PreProc">var</span> functions/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions +<span id="L2079" class="LineNr">2079 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L2080" class="LineNr">2080 </span> <span class="PreProc">var</span> dummy-col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy right-col +<span id="L2081" class="LineNr">2081 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> copy _env +<span id="L2082" class="LineNr">2082 </span> <span class="PreProc">var</span> functions/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> env, functions <span id="L2083" class="LineNr">2083 </span> <span class="Delimiter">{</span> -<span id="L2084" class="LineNr">2084 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *functions +<span id="L2084" class="LineNr">2084 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *functions <span id="L2085" class="LineNr">2085 </span> compare curr, <span class="Constant">0</span> <span id="L2086" class="LineNr">2086 </span> <span class="PreProc">break-if-=</span> <span id="L2087" class="LineNr">2087 </span> row, dummy-col <span class="Special"><-</span> <a href='environment.mu.html#L2096'>render-function-right-aligned</a> <a href='../405screen.mu.html#L9'>screen</a>, row, right-col, curr @@ -2153,14 +2159,14 @@ if ('onhashchange' in window) { <span id="L2093" class="LineNr">2093 </span> <span id="L2094" class="LineNr">2094 </span><span class="muComment"># print function starting at row, right-aligned before right-col</span> <span id="L2095" class="LineNr">2095 </span><span class="muComment"># return row, col printed until</span> -<span id="L2096" class="LineNr">2096 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2096'>render-function-right-aligned</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, right-col: int, f: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int, _/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> -<span id="L2097" class="LineNr">2097 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy right-col +<span id="L2096" class="LineNr">2096 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2096'>render-function-right-aligned</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, right-col: int, f: (addr <a href='data.mu.html#L21'>function</a>)<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int, _/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> +<span id="L2097" class="LineNr">2097 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy right-col <span id="L2098" class="LineNr">2098 </span> col <span class="Special"><-</span> subtract <span class="Constant">1</span>/function-right-margin -<span id="L2099" class="LineNr">2099 </span> <span class="PreProc">var</span> col2/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy col -<span id="L2100" class="LineNr">2100 </span> <span class="PreProc">var</span> width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L583'>function-width</a> f +<span id="L2099" class="LineNr">2099 </span> <span class="PreProc">var</span> col2/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy col +<span id="L2100" class="LineNr">2100 </span> <span class="PreProc">var</span> width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L583'>function-width</a> f <span id="L2101" class="LineNr">2101 </span> col <span class="Special"><-</span> subtract width -<span id="L2102" class="LineNr">2102 </span> <span class="PreProc">var</span> new-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy row -<span id="L2103" class="LineNr">2103 </span> <span class="PreProc">var</span> height/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L621'>function-height</a> f +<span id="L2102" class="LineNr">2102 </span> <span class="PreProc">var</span> new-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy row +<span id="L2103" class="LineNr">2103 </span> <span class="PreProc">var</span> height/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='data.mu.html#L621'>function-height</a> f <span id="L2104" class="LineNr">2104 </span> new-row <span class="Special"><-</span> add height <span id="L2105" class="LineNr">2105 </span> new-row <span class="Special"><-</span> decrement <span id="L2106" class="LineNr">2106 </span> col <span class="Special"><-</span> subtract <span class="Constant">1</span>/function-left-padding @@ -2179,12 +2185,12 @@ if ('onhashchange' in window) { <span id="L2119" class="LineNr">2119 </span><span class="muComment"># render function starting at row, col</span> <span id="L2120" class="LineNr">2120 </span><span class="muComment"># only single-line functions supported for now</span> <span id="L2121" class="LineNr">2121 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2121'>render-function</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, col: int, _f: (addr <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> -<span id="L2122" class="LineNr">2122 </span> <span class="PreProc">var</span> f/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f -<span id="L2123" class="LineNr">2123 </span> <span class="PreProc">var</span> args/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args +<span id="L2122" class="LineNr">2122 </span> <span class="PreProc">var</span> f/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L2123" class="LineNr">2123 </span> <span class="PreProc">var</span> args/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, args <span id="L2124" class="LineNr">2124 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col <span id="L2125" class="LineNr">2125 </span> <a href='word.mu.html#L245'>print-words-in-reverse</a> <a href='../405screen.mu.html#L9'>screen</a>, args -<span id="L2126" class="LineNr">2126 </span> <span class="PreProc">var</span> name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name -<span id="L2127" class="LineNr">2127 </span> <span class="PreProc">var</span> name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *name-ah +<span id="L2126" class="LineNr">2126 </span> <span class="PreProc">var</span> name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L2127" class="LineNr">2127 </span> <span class="PreProc">var</span> name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *name-ah <span id="L2128" class="LineNr">2128 </span> <a href='../405screen.mu.html#L541'>start-bold</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L2129" class="LineNr">2129 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, name <span id="L2130" class="LineNr">2130 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> @@ -2194,17 +2200,17 @@ if ('onhashchange' in window) { <span id="L2134" class="LineNr">2134 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col <span id="L2135" class="LineNr">2135 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">"≡ "</span> <span id="L2136" class="LineNr">2136 </span> add-to col, <span class="Constant">2</span> -<span id="L2137" class="LineNr">2137 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-row -<span id="L2138" class="LineNr">2138 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-col -<span id="L2139" class="LineNr">2139 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word -<span id="L2140" class="LineNr">2140 </span> <span class="PreProc">var</span> _cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah -<span id="L2141" class="LineNr">2141 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word -<span id="L2142" class="LineNr">2142 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body -<span id="L2143" class="LineNr">2143 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L2137" class="LineNr">2137 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-row +<span id="L2138" class="LineNr">2138 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-col +<span id="L2139" class="LineNr">2139 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, cursor-word +<span id="L2140" class="LineNr">2140 </span> <span class="PreProc">var</span> _cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L2141" class="LineNr">2141 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _cursor-word +<span id="L2142" class="LineNr">2142 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, body +<span id="L2143" class="LineNr">2143 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L2144" class="LineNr">2144 </span> <a href='environment.mu.html#L1634'>render-line-without-stack</a> <a href='../405screen.mu.html#L9'>screen</a>, body, row, col, cursor-word, cursor-row, cursor-col <span id="L2145" class="LineNr">2145 </span><span class="Delimiter">}</span> <span id="L2146" class="LineNr">2146 </span> -<span id="L2147" class="LineNr">2147 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2147'>real-grapheme?</a></span> g: grapheme<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L2147" class="LineNr">2147 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='environment.mu.html#L2147'>real-grapheme?</a></span> g: grapheme<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> <span id="L2148" class="LineNr">2148 </span> <span class="muComment"># if g == newline return true</span> <span id="L2149" class="LineNr">2149 </span> compare g, <span class="Constant">0xa</span> <span id="L2150" class="LineNr">2150 </span> <span class="Delimiter">{</span> diff --git a/html/linux/tile/float-stack.mu.html b/html/linux/tile/float-stack.mu.html index cf15bf90..366ca4ed 100644 --- a/html/linux/tile/float-stack.mu.html +++ b/html/linux/tile/float-stack.mu.html @@ -7,16 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } +.muRegEax { color: #875f00; } .LineNr { } +.muRegEdx { color: #878700; } .Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } @@ -61,34 +66,34 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span><span class="Delimiter">}</span> <span id="L5" class="LineNr"> 5 </span> <span id="L6" class="LineNr"> 6 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L6'>initialize-float-stack</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>), n: int <span class="Delimiter">{</span> -<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> d/<span class="Constant">edi</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> d/<span class="muRegEdi">edi</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data <span id="L9" class="LineNr"> 9 </span> populate d, n -<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L10" class="LineNr">10 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L11" class="LineNr">11 </span> copy-to *top, <span class="Constant">0</span> <span id="L12" class="LineNr">12 </span><span class="Delimiter">}</span> <span id="L13" class="LineNr">13 </span> <span id="L14" class="LineNr">14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L14'>clear-float-stack</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Delimiter">{</span> -<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L15" class="LineNr">15 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L16" class="LineNr">16 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L17" class="LineNr">17 </span> copy-to *top, <span class="Constant">0</span> <span id="L18" class="LineNr">18 </span><span class="Delimiter">}</span> <span id="L19" class="LineNr">19 </span> <span id="L20" class="LineNr">20 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L20'>push-float-stack</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>), _val: float <span class="Delimiter">{</span> -<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L23" class="LineNr">23 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array float) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L21" class="LineNr">21 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L22" class="LineNr">22 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L23" class="LineNr">23 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L24" class="LineNr">24 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array float) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L25" class="LineNr">25 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> <span id="L27" class="LineNr">27 </span> <span class="PreProc">var</span> val/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy _val <span id="L28" class="LineNr">28 </span> copy-to *dest-addr, val <span id="L29" class="LineNr">29 </span> add-to *top-addr, <span class="Constant">1</span> <span id="L30" class="LineNr">30 </span><span class="Delimiter">}</span> <span id="L31" class="LineNr">31 </span> <span id="L32" class="LineNr">32 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L32'>pop-float-stack</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">xmm0</span>: float <span class="Delimiter">{</span> -<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L33" class="LineNr">33 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L34" class="LineNr">34 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L35" class="LineNr">35 </span> <span class="Delimiter">{</span> <span id="L36" class="LineNr">36 </span> compare *top-addr, <span class="Constant">0</span> <span id="L37" class="LineNr">37 </span> <span class="PreProc">break-if-></span> @@ -96,16 +101,16 @@ if ('onhashchange' in window) { <span id="L39" class="LineNr">39 </span> <span class="PreProc">return</span> zero <span id="L40" class="LineNr">40 </span> <span class="Delimiter">}</span> <span id="L41" class="LineNr">41 </span> subtract-from *top-addr, <span class="Constant">1</span> -<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L43" class="LineNr">43 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array float) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L44" class="LineNr">44 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L45" class="LineNr">45 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L42" class="LineNr">42 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L43" class="LineNr">43 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array float) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L44" class="LineNr">44 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L45" class="LineNr">45 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> <span id="L46" class="LineNr">46 </span> <span class="PreProc">return</span> *result-addr <span id="L47" class="LineNr">47 </span><span class="Delimiter">}</span> <span id="L48" class="LineNr">48 </span> -<span id="L49" class="LineNr">49 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L49'>float-stack-empty?</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L50" class="LineNr">50 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L49" class="LineNr">49 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L49'>float-stack-empty?</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L50" class="LineNr">50 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L51" class="LineNr">51 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L52" class="LineNr">52 </span> compare *top-addr, <span class="Constant">0</span> <span id="L53" class="LineNr">53 </span> <span class="Delimiter">{</span> <span id="L54" class="LineNr">54 </span> <span class="PreProc">break-if-!=</span> @@ -114,9 +119,9 @@ if ('onhashchange' in window) { <span id="L57" class="LineNr">57 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L58" class="LineNr">58 </span><span class="Delimiter">}</span> <span id="L59" class="LineNr">59 </span> -<span id="L60" class="LineNr">60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L60'>float-stack-length</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L61" class="LineNr">61 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self -<span id="L62" class="LineNr">62 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L60" class="LineNr">60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='float-stack.mu.html#L60'>float-stack-length</a></span> _self: (addr <a href='float-stack.mu.html#L1'>float-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L61" class="LineNr">61 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='float-stack.mu.html#L1'>float-stack</a>) <span class="Special"><-</span> copy _self +<span id="L62" class="LineNr">62 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L63" class="LineNr">63 </span> <span class="PreProc">return</span> *top-addr <span id="L64" class="LineNr">64 </span><span class="Delimiter">}</span> </pre> diff --git a/html/linux/tile/gap-buffer.mu.html b/html/linux/tile/gap-buffer.mu.html index 110c861f..bc50457f 100644 --- a/html/linux/tile/gap-buffer.mu.html +++ b/html/linux/tile/gap-buffer.mu.html @@ -7,17 +7,22 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdx { color: #878700; } +.muRegEcx { color: #af875f; } .LineNr { } -.Constant { color: #008787; } +.muRegEdi { color: #87ffd7; } .muComment { color: #005faf; } +.Constant { color: #008787; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } @@ -63,10 +68,10 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span><span class="Delimiter">}</span> <span id="L5" class="LineNr"> 5 </span> <span id="L6" class="LineNr"> 6 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> -<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left <span id="L9" class="LineNr"> 9 </span> <a href='grapheme-stack.mu.html#L6'>initialize-grapheme-stack</a> left, <span class="Constant">0x10</span>/max-word-size -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L11" class="LineNr"> 11 </span> <a href='grapheme-stack.mu.html#L6'>initialize-grapheme-stack</a> right, <span class="Constant">0x10</span>/max-word-size <span id="L12" class="LineNr"> 12 </span><span class="Delimiter">}</span> <span id="L13" class="LineNr"> 13 </span> @@ -74,13 +79,13 @@ if ('onhashchange' in window) { <span id="L15" class="LineNr"> 15 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L15'>initialize-gap-buffer-with</a></span> self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), s: (addr array byte) <span class="Delimiter">{</span> <span id="L16" class="LineNr"> 16 </span> <a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a> self <span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> stream-storage: (stream byte <span class="Constant">0x10</span>/max-word-size) -<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> stream/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage +<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> stream/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage <span id="L19" class="LineNr"> 19 </span> <a href='../108write.subx.html#L24'>write</a> stream, s <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> -<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> stream +<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> stream <span id="L22" class="LineNr"> 22 </span> compare done?, <span class="Constant">0</span>/false <span id="L23" class="LineNr"> 23 </span> <span class="PreProc">break-if-!=</span> -<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> stream +<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> stream <span id="L25" class="LineNr"> 25 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> self, g <span id="L26" class="LineNr"> 26 </span> <span class="PreProc">loop</span> <span id="L27" class="LineNr"> 27 </span> <span class="Delimiter">}</span> @@ -88,32 +93,32 @@ if ('onhashchange' in window) { <span id="L29" class="LineNr"> 29 </span> <span id="L30" class="LineNr"> 30 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L30'>gap-buffer-to-string</a></span> self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), out: (addr handle array byte) <span class="Delimiter">{</span> <span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> s-storage: (stream byte <span class="Constant">0x100</span>) -<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> s/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage +<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> s/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s-storage <span id="L33" class="LineNr"> 33 </span> <a href='gap-buffer.mu.html#L37'>emit-gap-buffer</a> self, s <span id="L34" class="LineNr"> 34 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> s, out <span id="L35" class="LineNr"> 35 </span><span class="Delimiter">}</span> <span id="L36" class="LineNr"> 36 </span> <span id="L37" class="LineNr"> 37 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L37'>emit-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), out: (addr stream byte) <span class="Delimiter">{</span> -<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self <span id="L39" class="LineNr"> 39 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> out -<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left <span id="L41" class="LineNr"> 41 </span> <a href='gap-buffer.mu.html#L47'>emit-stack-from-bottom</a> left, out -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L43" class="LineNr"> 43 </span> <a href='gap-buffer.mu.html#L65'>emit-stack-from-top</a> right, out <span id="L44" class="LineNr"> 44 </span><span class="Delimiter">}</span> <span id="L45" class="LineNr"> 45 </span> <span id="L46" class="LineNr"> 46 </span><span class="muComment"># dump stack from bottom to top</span> <span id="L47" class="LineNr"> 47 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L47'>emit-stack-from-bottom</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), out: (addr stream byte) <span class="Delimiter">{</span> -<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L49" class="LineNr"> 49 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L50" class="LineNr"> 50 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L51" class="LineNr"> 51 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L48" class="LineNr"> 48 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L49" class="LineNr"> 49 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L50" class="LineNr"> 50 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L51" class="LineNr"> 51 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L54" class="LineNr"> 54 </span> <span class="Delimiter">{</span> <span id="L55" class="LineNr"> 55 </span> compare i, *top-addr <span id="L56" class="LineNr"> 56 </span> <span class="PreProc">break-if->=</span> -<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L58" class="LineNr"> 58 </span> <a href='../403unicode.mu.html#L372'>write-grapheme</a> out, *g <span id="L59" class="LineNr"> 59 </span> i <span class="Special"><-</span> increment <span id="L60" class="LineNr"> 60 </span> <span class="PreProc">loop</span> @@ -122,17 +127,17 @@ if ('onhashchange' in window) { <span id="L63" class="LineNr"> 63 </span> <span id="L64" class="LineNr"> 64 </span><span class="muComment"># dump stack from top to bottom</span> <span id="L65" class="LineNr"> 65 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L65'>emit-stack-from-top</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), out: (addr stream byte) <span class="Delimiter">{</span> -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L70" class="LineNr"> 70 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L72" class="LineNr"> 72 </span> i <span class="Special"><-</span> decrement <span id="L73" class="LineNr"> 73 </span> <span class="Delimiter">{</span> <span id="L74" class="LineNr"> 74 </span> compare i, <span class="Constant">0</span> <span id="L75" class="LineNr"> 75 </span> <span class="PreProc">break-if-<</span> -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L77" class="LineNr"> 77 </span> <a href='../403unicode.mu.html#L372'>write-grapheme</a> out, *g <span id="L78" class="LineNr"> 78 </span> i <span class="Special"><-</span> decrement <span id="L79" class="LineNr"> 79 </span> <span class="PreProc">loop</span> @@ -140,34 +145,34 @@ if ('onhashchange' in window) { <span id="L81" class="LineNr"> 81 </span><span class="Delimiter">}</span> <span id="L82" class="LineNr"> 82 </span> <span id="L83" class="LineNr"> 83 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L83'>render-gap-buffer</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _gap: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> gap/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _gap -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, left +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> gap/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _gap +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, left <span id="L86" class="LineNr"> 86 </span> <a href='grapheme-stack.mu.html#L78'>render-stack-from-bottom</a> left, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, right +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, right <span id="L88" class="LineNr"> 88 </span> <a href='grapheme-stack.mu.html#L97'>render-stack-from-top</a> right, <a href='../405screen.mu.html#L9'>screen</a> <span id="L89" class="LineNr"> 89 </span><span class="Delimiter">}</span> <span id="L90" class="LineNr"> 90 </span> -<span id="L91" class="LineNr"> 91 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L91'>gap-buffer-length</a></span> _gap: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> gap/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _gap -<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, left -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> -<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> left-length/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *tmp -<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> right/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, right +<span id="L91" class="LineNr"> 91 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L91'>gap-buffer-length</a></span> _gap: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> gap/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _gap +<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, left +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> +<span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> left-length/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *tmp +<span id="L96" class="LineNr"> 96 </span> <span class="PreProc">var</span> right/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> gap, right <span id="L97" class="LineNr"> 97 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> right, <a href='../203stack.subx.html#L338'>top</a> -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *tmp +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *tmp <span id="L99" class="LineNr"> 99 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add left-length <span id="L100" class="LineNr">100 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L101" class="LineNr">101 </span><span class="Delimiter">}</span> <span id="L102" class="LineNr">102 </span> <span id="L103" class="LineNr">103 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), g: grapheme <span class="Delimiter">{</span> -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left <span id="L106" class="LineNr">106 </span> <a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a> left, g <span id="L107" class="LineNr">107 </span><span class="Delimiter">}</span> <span id="L108" class="LineNr">108 </span> <span id="L109" class="LineNr">109 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L109'>gap-to-start</a></span> self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> <span id="L110" class="LineNr">110 </span> <span class="Delimiter">{</span> -<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> self +<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> self <span id="L112" class="LineNr">112 </span> compare curr, <span class="Constant">-1</span> <span id="L113" class="LineNr">113 </span> <span class="PreProc">loop-if-!=</span> <span id="L114" class="LineNr">114 </span> <span class="Delimiter">}</span> @@ -175,103 +180,103 @@ if ('onhashchange' in window) { <span id="L116" class="LineNr">116 </span> <span id="L117" class="LineNr">117 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L117'>gap-to-end</a></span> self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> <span id="L118" class="LineNr">118 </span> <span class="Delimiter">{</span> -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L139'>gap-right</a> self +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L139'>gap-right</a> self <span id="L120" class="LineNr">120 </span> compare curr, <span class="Constant">-1</span> <span id="L121" class="LineNr">121 </span> <span class="PreProc">loop-if-!=</span> <span id="L122" class="LineNr">122 </span> <span class="Delimiter">}</span> <span id="L123" class="LineNr">123 </span><span class="Delimiter">}</span> <span id="L124" class="LineNr">124 </span> -<span id="L125" class="LineNr">125 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L125'>gap-at-start?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> left +<span id="L125" class="LineNr">125 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L125'>gap-at-start?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> left <span id="L129" class="LineNr">129 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L130" class="LineNr">130 </span><span class="Delimiter">}</span> <span id="L131" class="LineNr">131 </span> -<span id="L132" class="LineNr">132 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L132'>gap-at-end?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> right +<span id="L132" class="LineNr">132 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L132'>gap-at-end?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> right <span id="L136" class="LineNr">136 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L137" class="LineNr">137 </span><span class="Delimiter">}</span> <span id="L138" class="LineNr">138 </span> -<span id="L139" class="LineNr">139 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L139'>gap-right</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> right/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L139" class="LineNr">139 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L139'>gap-right</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> right/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L143" class="LineNr">143 </span> g <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> right <span id="L144" class="LineNr">144 </span> compare g, <span class="Constant">-1</span> <span id="L145" class="LineNr">145 </span> <span class="Delimiter">{</span> <span id="L146" class="LineNr">146 </span> <span class="PreProc">break-if-=</span> -<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> left/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> left/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left <span id="L148" class="LineNr">148 </span> <a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a> left, g <span id="L149" class="LineNr">149 </span> <span class="Delimiter">}</span> <span id="L150" class="LineNr">150 </span> <span class="PreProc">return</span> g <span id="L151" class="LineNr">151 </span><span class="Delimiter">}</span> <span id="L152" class="LineNr">152 </span> -<span id="L153" class="LineNr">153 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L153'>gap-left</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L155" class="LineNr">155 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L153" class="LineNr">153 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L153'>gap-left</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L155" class="LineNr">155 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L156" class="LineNr">156 </span> <span class="Delimiter">{</span> -<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> left/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> left/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left <span id="L158" class="LineNr">158 </span> g <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> left <span id="L159" class="LineNr">159 </span> <span class="Delimiter">}</span> <span id="L160" class="LineNr">160 </span> compare g, <span class="Constant">-1</span> <span id="L161" class="LineNr">161 </span> <span class="Delimiter">{</span> <span id="L162" class="LineNr">162 </span> <span class="PreProc">break-if-=</span> -<span id="L163" class="LineNr">163 </span> <span class="PreProc">var</span> right/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L163" class="LineNr">163 </span> <span class="PreProc">var</span> right/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L164" class="LineNr">164 </span> <a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a> right, g <span id="L165" class="LineNr">165 </span> <span class="Delimiter">}</span> <span id="L166" class="LineNr">166 </span> <span class="PreProc">return</span> g <span id="L167" class="LineNr">167 </span><span class="Delimiter">}</span> <span id="L168" class="LineNr">168 </span> -<span id="L169" class="LineNr">169 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L169'>gap-index</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L169" class="LineNr">169 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L169'>gap-index</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L174" class="LineNr">174 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L175" class="LineNr">175 </span><span class="Delimiter">}</span> <span id="L176" class="LineNr">176 </span> -<span id="L177" class="LineNr">177 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L177'>first-grapheme-in-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L177" class="LineNr">177 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L177'>first-grapheme-in-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self <span id="L179" class="LineNr">179 </span> <span class="muComment"># try to read from left</span> -<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> +<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> <span id="L182" class="LineNr">182 </span> compare *top-addr, <span class="Constant">0</span> <span id="L183" class="LineNr">183 </span> <span class="Delimiter">{</span> <span id="L184" class="LineNr">184 </span> <span class="PreProc">break-if-<=</span> -<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, data -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L187" class="LineNr">187 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <span class="Constant">0</span> +<span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, data +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L187" class="LineNr">187 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <span class="Constant">0</span> <span id="L188" class="LineNr">188 </span> <span class="PreProc">return</span> *result-addr <span id="L189" class="LineNr">189 </span> <span class="Delimiter">}</span> <span id="L190" class="LineNr">190 </span> <span class="muComment"># try to read from right</span> -<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L192" class="LineNr">192 </span> top-addr <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> right, <a href='../203stack.subx.html#L338'>top</a> <span id="L193" class="LineNr">193 </span> compare *top-addr, <span class="Constant">0</span> <span id="L194" class="LineNr">194 </span> <span class="Delimiter">{</span> <span id="L195" class="LineNr">195 </span> <span class="PreProc">break-if-<=</span> -<span id="L196" class="LineNr">196 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> right, data -<span id="L197" class="LineNr">197 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L196" class="LineNr">196 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> right, data +<span id="L197" class="LineNr">197 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L199" class="LineNr">199 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> <span id="L201" class="LineNr">201 </span> <span class="PreProc">return</span> *result-addr <span id="L202" class="LineNr">202 </span> <span class="Delimiter">}</span> <span id="L203" class="LineNr">203 </span> <span class="muComment"># give up</span> <span id="L204" class="LineNr">204 </span> <span class="PreProc">return</span> <span class="Constant">-1</span> <span id="L205" class="LineNr">205 </span><span class="Delimiter">}</span> <span id="L206" class="LineNr">206 </span> -<span id="L207" class="LineNr">207 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L207'>grapheme-before-cursor-in-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L207" class="LineNr">207 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L207'>grapheme-before-cursor-in-gap-buffer</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self <span id="L209" class="LineNr">209 </span> <span class="muComment"># try to read from left</span> -<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> left/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> +<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> left/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> left, <a href='../203stack.subx.html#L338'>top</a> <span id="L212" class="LineNr">212 </span> compare *top-addr, <span class="Constant">0</span> <span id="L213" class="LineNr">213 </span> <span class="Delimiter">{</span> <span id="L214" class="LineNr">214 </span> <span class="PreProc">break-if-<=</span> -<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> left +<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> left <span id="L216" class="LineNr">216 </span> <a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a> left, <a href='data.mu.html#L82'>result</a> <span id="L217" class="LineNr">217 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L218" class="LineNr">218 </span> <span class="Delimiter">}</span> @@ -280,36 +285,36 @@ if ('onhashchange' in window) { <span id="L221" class="LineNr">221 </span><span class="Delimiter">}</span> <span id="L222" class="LineNr">222 </span> <span id="L223" class="LineNr">223 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L223'>delete-before-gap</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> -<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> left/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> left +<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> left/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> left <span id="L227" class="LineNr">227 </span><span class="Delimiter">}</span> <span id="L228" class="LineNr">228 </span> -<span id="L229" class="LineNr">229 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L229'>pop-after-gap</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> right/<span class="Constant">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right -<span id="L232" class="LineNr">232 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> right +<span id="L229" class="LineNr">229 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L229'>pop-after-gap</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> right/<span class="muRegEax">eax</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L232" class="LineNr">232 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> right <span id="L233" class="LineNr">233 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L234" class="LineNr">234 </span><span class="Delimiter">}</span> <span id="L235" class="LineNr">235 </span> -<span id="L236" class="LineNr">236 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L236" class="LineNr">236 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self <span id="L238" class="LineNr">238 </span> <span class="muComment"># complication: graphemes may be multiple bytes</span> <span id="L239" class="LineNr">239 </span> <span class="muComment"># so don't rely on length</span> <span id="L240" class="LineNr">240 </span> <span class="muComment"># instead turn the expected result into a stream and arrange to read from it in order</span> <span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> stream-storage: (stream byte <span class="Constant">0x10</span>/max-word-size) -<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> expected-stream/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage +<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> expected-stream/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address stream-storage <span id="L243" class="LineNr">243 </span> <a href='../108write.subx.html#L24'>write</a> expected-stream, s <span id="L244" class="LineNr">244 </span> <span class="muComment"># compare left</span> -<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> left/<span class="Constant">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L117'>prefix-match?</a> left, expected-stream +<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> left/<span class="muRegEdx">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L117'>prefix-match?</a> left, expected-stream <span id="L247" class="LineNr">247 </span> compare <a href='data.mu.html#L82'>result</a>, <span class="Constant">0</span>/false <span id="L248" class="LineNr">248 </span> <span class="Delimiter">{</span> <span id="L249" class="LineNr">249 </span> <span class="PreProc">break-if-!=</span> <span id="L250" class="LineNr">250 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L251" class="LineNr">251 </span> <span class="Delimiter">}</span> <span id="L252" class="LineNr">252 </span> <span class="muComment"># compare right</span> -<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> right/<span class="Constant">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right +<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> right/<span class="muRegEdx">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, right <span id="L254" class="LineNr">254 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L145'>suffix-match?</a> right, expected-stream <span id="L255" class="LineNr">255 </span> compare <a href='data.mu.html#L82'>result</a>, <span class="Constant">0</span>/false <span id="L256" class="LineNr">256 </span> <span class="Delimiter">{</span> @@ -323,64 +328,64 @@ if ('onhashchange' in window) { <span id="L264" class="LineNr">264 </span> <span id="L265" class="LineNr">265 </span><span class="PreProc">fn</span> <span class="muTest"><a href='gap-buffer.mu.html#L265'>test-gap-buffer-equal-from-end?</a></span> <span class="Delimiter">{</span> <span id="L266" class="LineNr">266 </span> <span class="PreProc">var</span> _g: <a href='gap-buffer.mu.html#L1'>gap-buffer</a> -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> g/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> g/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g <span id="L268" class="LineNr">268 </span> <a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a> g <span id="L269" class="LineNr">269 </span> <span class="muComment">#</span> -<span id="L270" class="LineNr">270 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L270" class="LineNr">270 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L271" class="LineNr">271 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L272" class="LineNr">272 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L273" class="LineNr">273 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L274" class="LineNr">274 </span> <span class="muComment"># gap is at end (right is empty)</span> -<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> _result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> -<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _result +<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> _result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> +<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _result <span id="L277" class="LineNr">277 </span> <a href='../102test.subx.html#L23'>check-ints-equal</a> <a href='data.mu.html#L82'>result</a>, <span class="Constant">1</span>, <span class="Constant">"F - test-gap-buffer-equal-from-end?"</span> <span id="L278" class="LineNr">278 </span><span class="Delimiter">}</span> <span id="L279" class="LineNr">279 </span> <span id="L280" class="LineNr">280 </span><span class="PreProc">fn</span> <span class="muTest"><a href='gap-buffer.mu.html#L280'>test-gap-buffer-equal-from-middle?</a></span> <span class="Delimiter">{</span> <span id="L281" class="LineNr">281 </span> <span class="PreProc">var</span> _g: <a href='gap-buffer.mu.html#L1'>gap-buffer</a> -<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> g/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g +<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> g/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g <span id="L283" class="LineNr">283 </span> <a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a> g <span id="L284" class="LineNr">284 </span> <span class="muComment">#</span> -<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L286" class="LineNr">286 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L287" class="LineNr">287 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L288" class="LineNr">288 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c -<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g +<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g <span id="L290" class="LineNr">290 </span> <span class="muComment"># gap is in the middle</span> -<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> _result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> -<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _result +<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> _result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> +<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _result <span id="L293" class="LineNr">293 </span> <a href='../102test.subx.html#L23'>check-ints-equal</a> <a href='data.mu.html#L82'>result</a>, <span class="Constant">1</span>, <span class="Constant">"F - test-gap-buffer-equal-from-middle?"</span> <span id="L294" class="LineNr">294 </span><span class="Delimiter">}</span> <span id="L295" class="LineNr">295 </span> <span id="L296" class="LineNr">296 </span><span class="PreProc">fn</span> <span class="muTest"><a href='gap-buffer.mu.html#L296'>test-gap-buffer-equal-from-start?</a></span> <span class="Delimiter">{</span> <span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> _g: <a href='gap-buffer.mu.html#L1'>gap-buffer</a> -<span id="L298" class="LineNr">298 </span> <span class="PreProc">var</span> g/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g +<span id="L298" class="LineNr">298 </span> <span class="PreProc">var</span> g/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> address _g <span id="L299" class="LineNr">299 </span> <a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a> g <span id="L300" class="LineNr">300 </span> <span class="muComment">#</span> -<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a +<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x61</span>/a <span id="L302" class="LineNr">302 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L303" class="LineNr">303 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c <span id="L304" class="LineNr">304 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> g, c -<span id="L305" class="LineNr">305 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g +<span id="L305" class="LineNr">305 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g <span id="L306" class="LineNr">306 </span> dummy <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g <span id="L307" class="LineNr">307 </span> dummy <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> g <span id="L308" class="LineNr">308 </span> <span class="muComment"># gap is at the start</span> -<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> _result/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> -<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _result +<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> _result/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> g, <span class="Constant">"aaa"</span> +<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _result <span id="L311" class="LineNr">311 </span> <a href='../102test.subx.html#L23'>check-ints-equal</a> <a href='data.mu.html#L82'>result</a>, <span class="Constant">1</span>, <span class="Constant">"F - test-gap-buffer-equal-from-start?"</span> <span id="L312" class="LineNr">312 </span><span class="Delimiter">}</span> <span id="L313" class="LineNr">313 </span> <span id="L314" class="LineNr">314 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L314'>copy-gap-buffer</a></span> _src-ah: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>), _dest-ah: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Delimiter">{</span> <span id="L315" class="LineNr">315 </span> <span class="muComment"># obtain src-a, dest-a</span> -<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _src-ah -<span id="L317" class="LineNr">317 </span> <span class="PreProc">var</span> _src-a/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> src-a/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _src-a -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _dest-ah -<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> _dest-a/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L321" class="LineNr">321 </span> <span class="PreProc">var</span> dest-a/<span class="Constant">edi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _dest-a +<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _src-ah +<span id="L317" class="LineNr">317 </span> <span class="PreProc">var</span> _src-a/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> src-a/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _src-a +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> _dest-a/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L321" class="LineNr">321 </span> <span class="PreProc">var</span> dest-a/<span class="muRegEdi">edi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _dest-a <span id="L322" class="LineNr">322 </span> <span class="muComment"># copy left grapheme-stack</span> -<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, left -<span id="L324" class="LineNr">324 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-a, left +<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, left +<span id="L324" class="LineNr">324 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-a, left <span id="L325" class="LineNr">325 </span> <a href='grapheme-stack.mu.html#L59'>copy-grapheme-stack</a> src, dest <span id="L326" class="LineNr">326 </span> <span class="muComment"># copy right grapheme-stack</span> <span id="L327" class="LineNr">327 </span> src <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, right @@ -388,10 +393,10 @@ if ('onhashchange' in window) { <span id="L329" class="LineNr">329 </span> <a href='grapheme-stack.mu.html#L59'>copy-grapheme-stack</a> src, dest <span id="L330" class="LineNr">330 </span><span class="Delimiter">}</span> <span id="L331" class="LineNr">331 </span> -<span id="L332" class="LineNr">332 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L332'>gap-buffer-is-decimal-integer?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L333" class="LineNr">333 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self -<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> curr/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left -<span id="L335" class="LineNr">335 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L172'>grapheme-stack-is-decimal-integer?</a> curr +<span id="L332" class="LineNr">332 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='gap-buffer.mu.html#L332'>gap-buffer-is-decimal-integer?</a></span> _self: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L333" class="LineNr">333 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> copy _self +<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> curr/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, left +<span id="L335" class="LineNr">335 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L172'>grapheme-stack-is-decimal-integer?</a> curr <span id="L336" class="LineNr">336 </span> <span class="Delimiter">{</span> <span id="L337" class="LineNr">337 </span> compare <a href='data.mu.html#L82'>result</a>, <span class="Constant">0</span>/false <span id="L338" class="LineNr">338 </span> <span class="PreProc">break-if-=</span> diff --git a/html/linux/tile/grapheme-stack.mu.html b/html/linux/tile/grapheme-stack.mu.html index bc813cb6..0fd7ba87 100644 --- a/html/linux/tile/grapheme-stack.mu.html +++ b/html/linux/tile/grapheme-stack.mu.html @@ -7,19 +7,25 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } +.muRegEax { color: #875f00; } .LineNr { } +.muRegEbx { color: #8787af; } +.muRegEdx { color: #878700; } .Constant { color: #008787; } -.muComment { color: #005faf; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.muComment { color: #005faf; } .Special { color: #ff6060; } --> </style> @@ -62,22 +68,22 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span><span class="Delimiter">}</span> <span id="L5" class="LineNr"> 5 </span> <span id="L6" class="LineNr"> 6 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L6'>initialize-grapheme-stack</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), n: int <span class="Delimiter">{</span> -<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> d/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L7" class="LineNr"> 7 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> d/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data <span id="L9" class="LineNr"> 9 </span> populate d, n -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L11" class="LineNr"> 11 </span> copy-to *top, <span class="Constant">0</span> <span id="L12" class="LineNr"> 12 </span><span class="Delimiter">}</span> <span id="L13" class="LineNr"> 13 </span> <span id="L14" class="LineNr"> 14 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L14'>clear-grapheme-stack</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Delimiter">{</span> -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L17" class="LineNr"> 17 </span> copy-to *top, <span class="Constant">0</span> <span id="L18" class="LineNr"> 18 </span><span class="Delimiter">}</span> <span id="L19" class="LineNr"> 19 </span> -<span id="L20" class="LineNr"> 20 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L20" class="LineNr"> 20 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L23" class="LineNr"> 23 </span> compare *top, <span class="Constant">0</span> <span id="L24" class="LineNr"> 24 </span> <span class="Delimiter">{</span> <span id="L25" class="LineNr"> 25 </span> <span class="PreProc">break-if-!=</span> @@ -87,44 +93,44 @@ if ('onhashchange' in window) { <span id="L29" class="LineNr"> 29 </span><span class="Delimiter">}</span> <span id="L30" class="LineNr"> 30 </span> <span id="L31" class="LineNr"> 31 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), _val: grapheme <span class="Delimiter">{</span> -<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> copy _val +<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> copy _val <span id="L39" class="LineNr"> 39 </span> copy-to *dest-addr, val <span id="L40" class="LineNr"> 40 </span> add-to *top-addr, <span class="Constant">1</span> <span id="L41" class="LineNr"> 41 </span><span class="Delimiter">}</span> <span id="L42" class="LineNr"> 42 </span> -<span id="L43" class="LineNr"> 43 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L43" class="LineNr"> 43 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L46" class="LineNr"> 46 </span> <span class="Delimiter">{</span> <span id="L47" class="LineNr"> 47 </span> compare *top-addr, <span class="Constant">0</span> <span id="L48" class="LineNr"> 48 </span> <span class="PreProc">break-if-></span> <span id="L49" class="LineNr"> 49 </span> <span class="PreProc">return</span> <span class="Constant">-1</span> <span id="L50" class="LineNr"> 50 </span> <span class="Delimiter">}</span> <span id="L51" class="LineNr"> 51 </span> subtract-from *top-addr, <span class="Constant">1</span> -<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> index data, <a href='../203stack.subx.html#L338'>top</a> <span id="L56" class="LineNr"> 56 </span> <span class="PreProc">return</span> *result-addr <span id="L57" class="LineNr"> 57 </span><span class="Delimiter">}</span> <span id="L58" class="LineNr"> 58 </span> <span id="L59" class="LineNr"> 59 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L59'>copy-grapheme-stack</a></span> _src: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), dest: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Delimiter">{</span> -<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _src -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, data -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, <a href='../203stack.subx.html#L338'>top</a> -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _src +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, data +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, <a href='../203stack.subx.html#L338'>top</a> +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L66" class="LineNr"> 66 </span> <span class="Delimiter">{</span> <span id="L67" class="LineNr"> 67 </span> compare i, *top-addr <span id="L68" class="LineNr"> 68 </span> <span class="PreProc">break-if->=</span> -<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L70" class="LineNr"> 70 </span> <a href='grapheme-stack.mu.html#L31'>push-grapheme-stack</a> dest, *g <span id="L71" class="LineNr"> 71 </span> i <span class="Special"><-</span> increment <span id="L72" class="LineNr"> 72 </span> <span class="PreProc">loop</span> @@ -134,16 +140,16 @@ if ('onhashchange' in window) { <span id="L76" class="LineNr"> 76 </span><span class="muComment"># dump stack to screen from bottom to top</span> <span id="L77" class="LineNr"> 77 </span><span class="muComment"># don't move the cursor or anything</span> <span id="L78" class="LineNr"> 78 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L78'>render-stack-from-bottom</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Delimiter">{</span> -<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L85" class="LineNr"> 85 </span> <span class="Delimiter">{</span> <span id="L86" class="LineNr"> 86 </span> compare i, *top-addr <span id="L87" class="LineNr"> 87 </span> <span class="PreProc">break-if->=</span> -<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L89" class="LineNr"> 89 </span> <a href='../405screen.mu.html#L214'>print-grapheme</a> <a href='../405screen.mu.html#L9'>screen</a>, *g <span id="L90" class="LineNr"> 90 </span> i <span class="Special"><-</span> increment <span id="L91" class="LineNr"> 91 </span> <span class="PreProc">loop</span> @@ -153,17 +159,17 @@ if ('onhashchange' in window) { <span id="L95" class="LineNr"> 95 </span><span class="muComment"># dump stack to screen from top to bottom</span> <span id="L96" class="LineNr"> 96 </span><span class="muComment"># don't move the cursor or anything</span> <span id="L97" class="LineNr"> 97 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L97'>render-stack-from-top</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Delimiter">{</span> -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L104" class="LineNr">104 </span> i <span class="Special"><-</span> decrement <span id="L105" class="LineNr">105 </span> <span class="Delimiter">{</span> <span id="L106" class="LineNr">106 </span> compare i, <span class="Constant">0</span> <span id="L107" class="LineNr">107 </span> <span class="PreProc">break-if-<</span> -<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L109" class="LineNr">109 </span> <a href='../405screen.mu.html#L214'>print-grapheme</a> <a href='../405screen.mu.html#L9'>screen</a>, *g <span id="L110" class="LineNr">110 </span> i <span class="Special"><-</span> decrement <span id="L111" class="LineNr">111 </span> <span class="PreProc">loop</span> @@ -172,20 +178,20 @@ if ('onhashchange' in window) { <span id="L114" class="LineNr">114 </span> <span id="L115" class="LineNr">115 </span><span class="muComment"># compare from bottom</span> <span id="L116" class="LineNr">116 </span><span class="muComment"># beware: modifies 'stream', which must be disposed of after a false result</span> -<span id="L117" class="LineNr">117 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L117'>prefix-match?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L117" class="LineNr">117 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L117'>prefix-match?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L124" class="LineNr">124 </span> <span class="Delimiter">{</span> <span id="L125" class="LineNr">125 </span> compare i, *top-addr <span id="L126" class="LineNr">126 </span> <span class="PreProc">break-if->=</span> <span id="L127" class="LineNr">127 </span> <span class="muComment"># if curr != expected, return false</span> <span id="L128" class="LineNr">128 </span> <span class="Delimiter">{</span> -<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i -<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> expected/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s +<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s <span id="L131" class="LineNr">131 </span> <span class="Delimiter">{</span> <span id="L132" class="LineNr">132 </span> compare expected, *curr-a <span id="L133" class="LineNr">133 </span> <span class="PreProc">break-if-=</span> @@ -200,20 +206,20 @@ if ('onhashchange' in window) { <span id="L142" class="LineNr">142 </span> <span id="L143" class="LineNr">143 </span><span class="muComment"># compare from bottom</span> <span id="L144" class="LineNr">144 </span><span class="muComment"># beware: modifies 'stream', which must be disposed of after a false result</span> -<span id="L145" class="LineNr">145 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L145'>suffix-match?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L146" class="LineNr">146 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L148" class="LineNr">148 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L145" class="LineNr">145 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L145'>suffix-match?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>), s: (addr stream byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L146" class="LineNr">146 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L147" class="LineNr">147 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L148" class="LineNr">148 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L152" class="LineNr">152 </span> i <span class="Special"><-</span> decrement <span id="L153" class="LineNr">153 </span> <span class="Delimiter">{</span> <span id="L154" class="LineNr">154 </span> compare i, <span class="Constant">0</span> <span id="L155" class="LineNr">155 </span> <span class="PreProc">break-if-<</span> <span id="L156" class="LineNr">156 </span> <span class="Delimiter">{</span> -<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i -<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> expected/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s +<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> expected/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s <span id="L159" class="LineNr">159 </span> <span class="muComment"># if curr != expected, return false</span> <span id="L160" class="LineNr">160 </span> <span class="Delimiter">{</span> <span id="L161" class="LineNr">161 </span> compare expected, *curr-a @@ -227,18 +233,18 @@ if ('onhashchange' in window) { <span id="L169" class="LineNr">169 </span> <span class="PreProc">return</span> <span class="Constant">1</span> <span class="muComment"># true</span> <span id="L170" class="LineNr">170 </span><span class="Delimiter">}</span> <span id="L171" class="LineNr">171 </span> -<span id="L172" class="LineNr">172 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L172'>grapheme-stack-is-decimal-integer?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self -<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> data/<span class="Constant">edx</span>: (addr array grapheme) <span class="Special"><-</span> copy _data -<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> copy <span class="Constant">1</span>/true +<span id="L172" class="LineNr">172 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='grapheme-stack.mu.html#L172'>grapheme-stack-is-decimal-integer?</a></span> _self: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> copy _self +<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> data/<span class="muRegEdx">edx</span>: (addr array grapheme) <span class="Special"><-</span> copy _data +<span id="L177" class="LineNr">177 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> copy <span class="Constant">1</span>/true <span id="L180" class="LineNr">180 </span> $grapheme-stack-is-integer?:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L181" class="LineNr">181 </span> compare i, *top-addr <span id="L182" class="LineNr">182 </span> <span class="PreProc">break-if->=</span> -<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i +<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index data, i <span id="L184" class="LineNr">184 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> <a href='../126write-int-decimal.subx.html#L306'>decimal-digit?</a> *g <span id="L185" class="LineNr">185 </span> compare <a href='data.mu.html#L82'>result</a>, <span class="Constant">0</span>/false <span id="L186" class="LineNr">186 </span> <span class="PreProc">break-if-=</span> diff --git a/html/linux/tile/main.mu.html b/html/linux/tile/main.mu.html index 3b92856b..ce9981b1 100644 --- a/html/linux/tile/main.mu.html +++ b/html/linux/tile/main.mu.html @@ -7,18 +7,23 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEdi { color: #87ffd7; } +.muRegEcx { color: #af875f; } .LineNr { } -.Delimiter { color: #c000c0; } -.muComment { color: #005faf; } .Constant { color: #008787; } +.muComment { color: #005faf; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } --> @@ -56,15 +61,15 @@ if ('onhashchange' in window) { <body onload='JumpToLine();'> <a href='https://github.com/akkartik/mu/blob/main/linux/tile/main.mu'>https://github.com/akkartik/mu/blob/main/linux/tile/main.mu</a> <pre id='vimCodeElement'> -<span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='main.mu.html#L1'>main</a></span> args-on-stack: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> args/<span class="Constant">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy args-on-stack -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length args +<span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='main.mu.html#L1'>main</a></span> args-on-stack: (addr array addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> args/<span class="muRegEax">eax</span>: (addr array addr array byte) <span class="Special"><-</span> copy args-on-stack +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length args <span id="L4" class="LineNr"> 4 </span> compare len, <span class="Constant">2</span> <span id="L5" class="LineNr"> 5 </span> <span class="Delimiter">{</span> <span id="L6" class="LineNr"> 6 </span> <span class="PreProc">break-if-!=</span> <span id="L7" class="LineNr"> 7 </span> <span class="muComment"># if single arg is 'test', run tests</span> -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> tmp/<span class="Constant">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> *tmp, <span class="Constant">"test"</span> +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> tmp/<span class="muRegEcx">ecx</span>: (addr addr array byte) <span class="Special"><-</span> index args, <span class="Constant">1</span> +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> tmp2/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> *tmp, <span class="Constant">"test"</span> <span id="L10" class="LineNr"> 10 </span> compare tmp2, <span class="Constant">0</span>/false <span id="L11" class="LineNr"> 11 </span> <span class="Delimiter">{</span> <span id="L12" class="LineNr"> 12 </span> <span class="PreProc">break-if-=</span> @@ -108,11 +113,11 @@ if ('onhashchange' in window) { <span id="L50" class="LineNr"> 50 </span> <a href='../304screen.subx.html#L6'>enable-screen-grid-mode</a> <span id="L51" class="LineNr"> 51 </span> <a href='../305keyboard.subx.html#L6'>enable-keyboard-immediate-mode</a> <span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> env-storage: <a href='environment.mu.html#L16'>environment</a> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage <span id="L54" class="LineNr"> 54 </span> <a href='environment.mu.html#L30'>initialize-environment</a> env <span id="L55" class="LineNr"> 55 </span> <span class="Delimiter">{</span> <span id="L56" class="LineNr"> 56 </span> <a href='environment.mu.html#L1309'>render</a> env -<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> key/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> +<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> key/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> <span id="L58" class="LineNr"> 58 </span> compare key, <span class="Constant">0x11</span>/ctrl-q <span id="L59" class="LineNr"> 59 </span> <span class="PreProc">break-if-=</span> <span id="L60" class="LineNr"> 60 </span> <a href='environment.mu.html#L73'>process</a> env, key @@ -124,20 +129,20 @@ if ('onhashchange' in window) { <span id="L66" class="LineNr"> 66 </span> <span id="L67" class="LineNr"> 67 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='main.mu.html#L67'>test</a></span> <span class="Delimiter">{</span> <span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> env-storage: <a href='environment.mu.html#L16'>environment</a> -<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage +<span id="L69" class="LineNr"> 69 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage <span id="L70" class="LineNr"> 70 </span> <a href='environment.mu.html#L60'>initialize-environment-with-fake-screen</a> env, <span class="Constant">0x20</span>, <span class="Constant">0xa0</span> <span id="L71" class="LineNr"> 71 </span> <a href='environment.mu.html#L1309'>render</a> env <span id="L72" class="LineNr"> 72 </span><span class="Delimiter">}</span> <span id="L73" class="LineNr"> 73 </span> <span id="L74" class="LineNr"> 74 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='main.mu.html#L74'>process-all</a></span> env: (addr <a href='environment.mu.html#L16'>environment</a>), cmds: (addr array byte) <span class="Delimiter">{</span> <span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> cmds-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> cmds-stream-a/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address cmds-stream +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> cmds-stream-a/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address cmds-stream <span id="L77" class="LineNr"> 77 </span> <a href='../108write.subx.html#L24'>write</a> cmds-stream-a, cmds <span id="L78" class="LineNr"> 78 </span> <span class="Delimiter">{</span> -<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> cmds-stream-a +<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> cmds-stream-a <span id="L80" class="LineNr"> 80 </span> compare done?, <span class="Constant">0</span>/false <span id="L81" class="LineNr"> 81 </span> <span class="PreProc">break-if-!=</span> -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> cmds-stream-a +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> cmds-stream-a <span id="L83" class="LineNr"> 83 </span> <a href='environment.mu.html#L73'>process</a> env, g <span id="L84" class="LineNr"> 84 </span> <span class="PreProc">loop</span> <span id="L85" class="LineNr"> 85 </span> <span class="Delimiter">}</span> @@ -149,31 +154,31 @@ if ('onhashchange' in window) { <span id="L91" class="LineNr"> 91 </span> <a href='../304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"> "</span> <span id="L92" class="LineNr"> 92 </span> <span class="muComment"># read</span> <span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> line-storage: (stream byte <span class="Constant">0x100</span>) -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address line-storage <span id="L95" class="LineNr"> 95 </span> <a href='../106stream.subx.html#L17'>clear-stream</a> <a href='data.mu.html#L34'>line</a> <span id="L96" class="LineNr"> 96 </span> <a href='../305keyboard.subx.html#L158'>read-line-from-real-keyboard</a> <a href='data.mu.html#L34'>line</a> -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> <a href='data.mu.html#L34'>line</a> +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> <a href='data.mu.html#L34'>line</a> <span id="L98" class="LineNr"> 98 </span> compare done?, <span class="Constant">0</span>/false <span id="L99" class="LineNr"> 99 </span> <span class="PreProc">break-if-!=</span> <span id="L100" class="LineNr">100 </span> <span class="muComment"># parse</span> <span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> env-storage: <a href='environment.mu.html#L16'>environment</a> -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> env/<span class="Constant">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> env/<span class="muRegEsi">esi</span>: (addr <a href='environment.mu.html#L16'>environment</a>) <span class="Special"><-</span> address env-storage <span id="L103" class="LineNr">103 </span> <a href='environment.mu.html#L30'>initialize-environment</a> env <span id="L104" class="LineNr">104 </span> <span class="Delimiter">{</span> -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> <a href='data.mu.html#L34'>line</a> +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> <a href='data.mu.html#L34'>line</a> <span id="L106" class="LineNr">106 </span> compare done?, <span class="Constant">0</span>/false <span id="L107" class="LineNr">107 </span> <span class="PreProc">break-if-!=</span> -<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> <a href='data.mu.html#L34'>line</a> +<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> <a href='data.mu.html#L34'>line</a> <span id="L109" class="LineNr">109 </span> <a href='environment.mu.html#L73'>process</a> env, g <span id="L110" class="LineNr">110 </span> <span class="PreProc">loop</span> <span id="L111" class="LineNr">111 </span> <span class="Delimiter">}</span> <span id="L112" class="LineNr">112 </span> <span class="muComment"># eval</span> <span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> stack-storage: <a href='value-stack.mu.html#L3'>value-stack</a> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> stack/<span class="Constant">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> stack/<span class="muRegEdi">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage <span id="L115" class="LineNr">115 </span> <a href='value-stack.mu.html#L8'>initialize-value-stack</a> stack, <span class="Constant">0x10</span> <span id="L116" class="LineNr">116 </span> <a href='environment.mu.html#L1296'>evaluate-environment</a> env, stack <span id="L117" class="LineNr">117 </span> <span class="muComment"># print</span> -<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> empty?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='value-stack.mu.html#L108'>value-stack-empty?</a> stack +<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> empty?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='value-stack.mu.html#L108'>value-stack-empty?</a> stack <span id="L119" class="LineNr">119 </span> <span class="Delimiter">{</span> <span id="L120" class="LineNr">120 </span> compare empty?, <span class="Constant">0</span>/false <span id="L121" class="LineNr">121 </span> <span class="PreProc">break-if-!=</span> @@ -181,7 +186,7 @@ if ('onhashchange' in window) { <span id="L123" class="LineNr">123 </span> <a href='../412print-float-decimal.mu.html#L151'>print-float-decimal-approximate</a> <span class="Constant">0</span>, <a href='data.mu.html#L82'>result</a>, <span class="Constant">3</span> <span id="L124" class="LineNr">124 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L125" class="LineNr">125 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"width: "</span> -<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> width/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../412print-float-decimal.mu.html#L510'>float-size</a> <a href='data.mu.html#L82'>result</a>, <span class="Constant">3</span> +<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> width/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../412print-float-decimal.mu.html#L510'>float-size</a> <a href='data.mu.html#L82'>result</a>, <span class="Constant">3</span> <span id="L127" class="LineNr">127 </span> <a href='../405screen.mu.html#L484'>print-int32-decimal</a> <span class="Constant">0</span>, width <span id="L128" class="LineNr">128 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L129" class="LineNr">129 </span> <span class="Delimiter">}</span> diff --git a/html/linux/tile/rpn.mu.html b/html/linux/tile/rpn.mu.html index 5ed618a4..be2e48ec 100644 --- a/html/linux/tile/rpn.mu.html +++ b/html/linux/tile/rpn.mu.html @@ -7,22 +7,28 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } +.Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } -.muComment { color: #005faf; } -.Delimiter { color: #c000c0; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } -.Special { color: #ff6060; } +.muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -59,11 +65,11 @@ if ('onhashchange' in window) { <a href='https://github.com/akkartik/mu/blob/main/linux/tile/rpn.mu'>https://github.com/akkartik/mu/blob/main/linux/tile/rpn.mu</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L1'>evaluate</a></span> functions: (addr handle <a href='data.mu.html#L21'>function</a>), bindings: (addr <a href='data.mu.html#L59'>table</a>), scratch: (addr <a href='data.mu.html#L34'>line</a>), end: (addr <a href='data.mu.html#L42'>word</a>), out: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Delimiter">{</span> -<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy scratch -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah +<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy scratch +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, data +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *word-ah <span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> curr-stream-storage: (stream byte <span class="Constant">0x10</span>) -<span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> curr-stream/<span class="Constant">edi</span>: (addr stream byte) <span class="Special"><-</span> address curr-stream-storage +<span id="L6" class="LineNr"> 6 </span> <span class="PreProc">var</span> curr-stream/<span class="muRegEdi">edi</span>: (addr stream byte) <span class="Special"><-</span> address curr-stream-storage <span id="L7" class="LineNr"> 7 </span> <a href='value-stack.mu.html#L16'>clear-value-stack</a> out <span id="L8" class="LineNr"> 8 </span> $evaluate:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L9" class="LineNr"> 9 </span> <span class="muComment"># precondition (should never hit)</span> @@ -78,7 +84,7 @@ if ('onhashchange' in window) { <span id="L18" class="LineNr"> 18 </span> <span class="muComment">### if curr-stream is an operator, perform it</span> <span id="L19" class="LineNr"> 19 </span> <span class="muComment">## numbers</span> <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> -<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> add?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"+"</span> +<span id="L21" class="LineNr"> 21 </span> <span class="PreProc">var</span> add?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"+"</span> <span id="L22" class="LineNr"> 22 </span> compare add?, <span class="Constant">0</span> <span id="L23" class="LineNr"> 23 </span> <span class="PreProc">break-if-=</span> <span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> _b/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out @@ -89,7 +95,7 @@ if ('onhashchange' in window) { <span id="L29" class="LineNr"> 29 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L30" class="LineNr"> 30 </span> <span class="Delimiter">}</span> <span id="L31" class="LineNr"> 31 </span> <span class="Delimiter">{</span> -<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> sub?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"-"</span> +<span id="L32" class="LineNr"> 32 </span> <span class="PreProc">var</span> sub?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"-"</span> <span id="L33" class="LineNr"> 33 </span> compare sub?, <span class="Constant">0</span> <span id="L34" class="LineNr"> 34 </span> <span class="PreProc">break-if-=</span> <span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> _b/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out @@ -100,7 +106,7 @@ if ('onhashchange' in window) { <span id="L40" class="LineNr"> 40 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L41" class="LineNr"> 41 </span> <span class="Delimiter">}</span> <span id="L42" class="LineNr"> 42 </span> <span class="Delimiter">{</span> -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> mul?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"*"</span> +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> mul?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"*"</span> <span id="L44" class="LineNr"> 44 </span> compare mul?, <span class="Constant">0</span> <span id="L45" class="LineNr"> 45 </span> <span class="PreProc">break-if-=</span> <span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> _b/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out @@ -111,7 +117,7 @@ if ('onhashchange' in window) { <span id="L51" class="LineNr"> 51 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L52" class="LineNr"> 52 </span> <span class="Delimiter">}</span> <span id="L53" class="LineNr"> 53 </span> <span class="Delimiter">{</span> -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> div?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"/"</span> +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> div?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"/"</span> <span id="L55" class="LineNr"> 55 </span> compare div?, <span class="Constant">0</span> <span id="L56" class="LineNr"> 56 </span> <span class="PreProc">break-if-=</span> <span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> _b/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out @@ -122,7 +128,7 @@ if ('onhashchange' in window) { <span id="L62" class="LineNr"> 62 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L63" class="LineNr"> 63 </span> <span class="Delimiter">}</span> <span id="L64" class="LineNr"> 64 </span> <span class="Delimiter">{</span> -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> sqrt?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"sqrt"</span> +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> sqrt?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"sqrt"</span> <span id="L66" class="LineNr"> 66 </span> compare sqrt?, <span class="Constant">0</span> <span id="L67" class="LineNr"> 67 </span> <span class="PreProc">break-if-=</span> <span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> a/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out @@ -132,38 +138,38 @@ if ('onhashchange' in window) { <span id="L72" class="LineNr"> 72 </span> <span class="Delimiter">}</span> <span id="L73" class="LineNr"> 73 </span> <span class="muComment">## strings/arrays</span> <span id="L74" class="LineNr"> 74 </span> <span class="Delimiter">{</span> -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> len?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"len"</span> +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> len?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"len"</span> <span id="L76" class="LineNr"> 76 </span> compare len?, <span class="Constant">0</span> <span id="L77" class="LineNr"> 77 </span> <span class="PreProc">break-if-=</span> <span id="L78" class="LineNr"> 78 </span><span class="CommentedCode">#? print-string 0, "is len\n"</span> <span id="L79" class="LineNr"> 79 </span> <span class="muComment"># pop target-val from out</span> -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L82" class="LineNr"> 82 </span> compare *top-addr, <span class="Constant">0</span> <span id="L83" class="LineNr"> 83 </span> <span class="PreProc">break-if-<=</span> <span id="L84" class="LineNr"> 84 </span><span class="CommentedCode">#? print-string 0, "stack has stuff\n"</span> -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L88" class="LineNr"> 88 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L91" class="LineNr"> 91 </span> <span class="muComment"># check target-val is a string or array</span> -<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> target-type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> target-type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L93" class="LineNr"> 93 </span> compare *target-type-addr, <span class="Constant">1</span>/string <span id="L94" class="LineNr"> 94 </span> <span class="Delimiter">{</span> <span id="L95" class="LineNr"> 95 </span> <span class="PreProc">break-if-!=</span> <span id="L96" class="LineNr"> 96 </span> <span class="muComment"># compute length</span> -<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data -<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ebx</span>: int <span class="Special"><-</span> length src +<span id="L97" class="LineNr"> 97 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L98" class="LineNr"> 98 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> length src <span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> result-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert <a href='data.mu.html#L82'>result</a> <span id="L101" class="LineNr">101 </span> <span class="muComment"># save result into target-val</span> -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L103" class="LineNr">103 </span> copy-to *type-addr, <span class="Constant">0</span>/int -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> target-string-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> target-string-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data <span id="L105" class="LineNr">105 </span> clear-object target-string-ah -<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, number-data +<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, number-data <span id="L107" class="LineNr">107 </span> copy-to *target, result-f <span id="L108" class="LineNr">108 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L109" class="LineNr">109 </span> <span class="Delimiter">}</span> @@ -171,302 +177,302 @@ if ('onhashchange' in window) { <span id="L111" class="LineNr">111 </span> <span class="Delimiter">{</span> <span id="L112" class="LineNr">112 </span> <span class="PreProc">break-if-!=</span> <span id="L113" class="LineNr">113 </span> <span class="muComment"># compute length</span> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data -<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ebx</span>: int <span class="Special"><-</span> length src +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data +<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> length src <span id="L117" class="LineNr">117 </span> <span class="PreProc">var</span> result-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert <a href='data.mu.html#L82'>result</a> <span id="L118" class="LineNr">118 </span> <span class="muComment"># save result into target-val</span> -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L120" class="LineNr">120 </span> copy-to *type-addr, <span class="Constant">0</span>/int -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> target-array-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> target-array-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data <span id="L122" class="LineNr">122 </span> clear-object target-array-ah -<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, number-data +<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, number-data <span id="L124" class="LineNr">124 </span> copy-to *target, result-f <span id="L125" class="LineNr">125 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L126" class="LineNr">126 </span> <span class="Delimiter">}</span> <span id="L127" class="LineNr">127 </span> <span class="Delimiter">}</span> <span id="L128" class="LineNr">128 </span> <span class="muComment">## files</span> <span id="L129" class="LineNr">129 </span> <span class="Delimiter">{</span> -<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> open?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"open"</span> +<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> open?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"open"</span> <span id="L131" class="LineNr">131 </span> compare open?, <span class="Constant">0</span> <span id="L132" class="LineNr">132 </span> <span class="PreProc">break-if-=</span> <span id="L133" class="LineNr">133 </span> <span class="muComment"># pop target-val from out</span> -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L136" class="LineNr">136 </span> compare *top-addr, <span class="Constant">0</span> <span id="L137" class="LineNr">137 </span> <span class="PreProc">break-if-<=</span> -<span id="L138" class="LineNr">138 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L138" class="LineNr">138 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L141" class="LineNr">141 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L144" class="LineNr">144 </span> <span class="muComment"># check target-val is a string</span> -<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> target-type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L145" class="LineNr">145 </span> <span class="PreProc">var</span> target-type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L146" class="LineNr">146 </span> compare *target-type-addr, <span class="Constant">1</span>/string <span id="L147" class="LineNr">147 </span> <span class="PreProc">break-if-!=</span> <span id="L148" class="LineNr">148 </span> <span class="muComment"># open target-val as a filename and save the handle in target-val</span> -<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> result-ah/<span class="Constant">ecx</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> result-ah/<span class="muRegEcx">ecx</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data <span id="L152" class="LineNr">152 </span> <a href='../306files.subx.html#L9'>open</a> src, <span class="Constant">0</span>, result-ah <span class="muComment"># write? = false</span> <span id="L153" class="LineNr">153 </span> <span class="muComment"># save result into target-val</span> -<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L154" class="LineNr">154 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L155" class="LineNr">155 </span> copy-to *type-addr, <span class="Constant">3</span>/file -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> target-string-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data -<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> filename-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, filename +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> target-string-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> filename-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, filename <span id="L158" class="LineNr">158 </span> copy-object target-string-ah, filename-ah <span id="L159" class="LineNr">159 </span> clear-object target-string-ah <span id="L160" class="LineNr">160 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L161" class="LineNr">161 </span> <span class="Delimiter">}</span> <span id="L162" class="LineNr">162 </span> <span class="Delimiter">{</span> -<span id="L163" class="LineNr">163 </span> <span class="PreProc">var</span> read?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"read"</span> +<span id="L163" class="LineNr">163 </span> <span class="PreProc">var</span> read?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"read"</span> <span id="L164" class="LineNr">164 </span> compare read?, <span class="Constant">0</span> <span id="L165" class="LineNr">165 </span> <span class="PreProc">break-if-=</span> <span id="L166" class="LineNr">166 </span> <span class="muComment"># pop target-val from out</span> -<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L169" class="LineNr">169 </span> compare *top-addr, <span class="Constant">0</span> <span id="L170" class="LineNr">170 </span> <span class="PreProc">break-if-<=</span> -<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L171" class="LineNr">171 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L174" class="LineNr">174 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L177" class="LineNr">177 </span> <span class="muComment"># check target-val is a file</span> -<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> target-type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L178" class="LineNr">178 </span> <span class="PreProc">var</span> target-type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L179" class="LineNr">179 </span> compare *target-type-addr, <span class="Constant">3</span>/file <span id="L180" class="LineNr">180 </span> <span class="PreProc">break-if-!=</span> <span id="L181" class="LineNr">181 </span> <span class="muComment"># read a line from the file and save in target-val</span> <span id="L182" class="LineNr">182 </span> <span class="muComment"># read target-val as a filename and save the handle in target-val</span> -<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data -<span id="L184" class="LineNr">184 </span> <span class="PreProc">var</span> file/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah +<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L184" class="LineNr">184 </span> <span class="PreProc">var</span> file/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah <span id="L185" class="LineNr">185 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L187" class="LineNr">187 </span> <a href='../122read-line.subx.html#L9'>read-line-buffered</a> file, s-addr -<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data <span id="L189" class="LineNr">189 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> s-addr, target <span id="L190" class="LineNr">190 </span> <span class="muComment"># save result into target-val</span> -<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L191" class="LineNr">191 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L192" class="LineNr">192 </span> copy-to *type-addr, <span class="Constant">1</span>/string -<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> target-file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> target-file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data <span id="L194" class="LineNr">194 </span> clear-object target-file-ah <span id="L195" class="LineNr">195 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L196" class="LineNr">196 </span> <span class="Delimiter">}</span> <span id="L197" class="LineNr">197 </span> <span class="Delimiter">{</span> -<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> slurp?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"slurp"</span> +<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> slurp?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"slurp"</span> <span id="L199" class="LineNr">199 </span> compare slurp?, <span class="Constant">0</span> <span id="L200" class="LineNr">200 </span> <span class="PreProc">break-if-=</span> <span id="L201" class="LineNr">201 </span> <span class="muComment"># pop target-val from out</span> -<span id="L202" class="LineNr">202 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L203" class="LineNr">203 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L202" class="LineNr">202 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L203" class="LineNr">203 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L204" class="LineNr">204 </span> compare *top-addr, <span class="Constant">0</span> <span id="L205" class="LineNr">205 </span> <span class="PreProc">break-if-<=</span> -<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L206" class="LineNr">206 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L209" class="LineNr">209 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L211" class="LineNr">211 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L212" class="LineNr">212 </span> <span class="muComment"># check target-val is a file</span> -<span id="L213" class="LineNr">213 </span> <span class="PreProc">var</span> target-type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L213" class="LineNr">213 </span> <span class="PreProc">var</span> target-type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L214" class="LineNr">214 </span> compare *target-type-addr, <span class="Constant">3</span>/file <span id="L215" class="LineNr">215 </span> <span class="PreProc">break-if-!=</span> <span id="L216" class="LineNr">216 </span> <span class="muComment"># slurp all contents from file and save in target-val</span> <span id="L217" class="LineNr">217 </span> <span class="muComment"># read target-val as a filename and save the handle in target-val</span> -<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data -<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> file/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah +<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> file/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah <span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L221" class="LineNr">221 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L221" class="LineNr">221 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L222" class="LineNr">222 </span> <a href='../132slurp.subx.html#L8'>slurp</a> file, s-addr -<span id="L223" class="LineNr">223 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L223" class="LineNr">223 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data <span id="L224" class="LineNr">224 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> s-addr, target <span id="L225" class="LineNr">225 </span> <span class="muComment"># save result into target-val</span> -<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L226" class="LineNr">226 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L227" class="LineNr">227 </span> copy-to *type-addr, <span class="Constant">1</span>/string -<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> target-file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> target-file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data <span id="L229" class="LineNr">229 </span> clear-object target-file-ah <span id="L230" class="LineNr">230 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L231" class="LineNr">231 </span> <span class="Delimiter">}</span> <span id="L232" class="LineNr">232 </span> <span class="Delimiter">{</span> -<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> lines?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"lines"</span> +<span id="L233" class="LineNr">233 </span> <span class="PreProc">var</span> lines?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"lines"</span> <span id="L234" class="LineNr">234 </span> compare lines?, <span class="Constant">0</span> <span id="L235" class="LineNr">235 </span> <span class="PreProc">break-if-=</span> <span id="L236" class="LineNr">236 </span> <span class="muComment"># pop target-val from out</span> -<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L237" class="LineNr">237 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L239" class="LineNr">239 </span> compare *top-addr, <span class="Constant">0</span> <span id="L240" class="LineNr">240 </span> <span class="PreProc">break-if-<=</span> -<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L243" class="LineNr">243 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L242" class="LineNr">242 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L243" class="LineNr">243 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L244" class="LineNr">244 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L245" class="LineNr">245 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L247" class="LineNr">247 </span> <span class="muComment"># check target-val is a file</span> -<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> target-type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> target-type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L249" class="LineNr">249 </span> compare *target-type-addr, <span class="Constant">3</span>/file <span id="L250" class="LineNr">250 </span> <span class="PreProc">break-if-!=</span> <span id="L251" class="LineNr">251 </span> <span class="muComment"># read all lines from file and save as an array of strings in target-val</span> <span id="L252" class="LineNr">252 </span> <span class="muComment"># read target-val as a filename and save the handle in target-val</span> -<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data -<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> file/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah +<span id="L253" class="LineNr">253 </span> <span class="PreProc">var</span> file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> file/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *file-ah <span id="L255" class="LineNr">255 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L256" class="LineNr">256 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEcx">ecx</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L257" class="LineNr">257 </span> <a href='../132slurp.subx.html#L8'>slurp</a> file, s-addr -<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> tmp-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> tmp-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data <span id="L259" class="LineNr">259 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> s-addr, tmp-ah -<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *tmp-ah +<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *tmp-ah <span id="L261" class="LineNr">261 </span><span class="CommentedCode">#? enable-screen-type-mode</span> <span id="L262" class="LineNr">262 </span><span class="CommentedCode">#? print-string 0, tmp</span> <span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> h: (handle array (handle array byte)) <span id="L264" class="LineNr">264 </span> <span class="Delimiter">{</span> -<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> ah/<span class="Constant">edx</span>: (addr handle array (handle array byte)) <span class="Special"><-</span> address h +<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> ah/<span class="muRegEdx">edx</span>: (addr handle array (handle array byte)) <span class="Special"><-</span> address h <span id="L266" class="LineNr">266 </span> <a href='../411string.mu.html#L88'>split-string</a> tmp, <span class="Constant">0xa</span>, ah <span id="L267" class="LineNr">267 </span> <span class="Delimiter">}</span> -<span id="L268" class="LineNr">268 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data +<span id="L268" class="LineNr">268 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, array-data <span id="L269" class="LineNr">269 </span> <a href='value-stack.mu.html#L125'>save-lines</a> h, target <span id="L270" class="LineNr">270 </span> <span class="muComment"># save result into target-val</span> -<span id="L271" class="LineNr">271 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L271" class="LineNr">271 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L272" class="LineNr">272 </span> copy-to *type-addr, <span class="Constant">2</span>/array -<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> target-file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data +<span id="L273" class="LineNr">273 </span> <span class="PreProc">var</span> target-file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, file-data <span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> empty-file: (handle buffered-file) <span id="L275" class="LineNr">275 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> empty-file, target-file-ah -<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> target-text-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data +<span id="L276" class="LineNr">276 </span> <span class="PreProc">var</span> target-text-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, text-data <span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> empty-text: (handle array byte) <span id="L278" class="LineNr">278 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> empty-text, target-text-ah <span id="L279" class="LineNr">279 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L280" class="LineNr">280 </span> <span class="Delimiter">}</span> <span id="L281" class="LineNr">281 </span> <span class="muComment">## screens</span> <span id="L282" class="LineNr">282 </span> <span class="Delimiter">{</span> -<span id="L283" class="LineNr">283 </span> <span class="PreProc">var</span> fake-screen?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"fake-screen"</span> +<span id="L283" class="LineNr">283 </span> <span class="PreProc">var</span> fake-screen?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"fake-screen"</span> <span id="L284" class="LineNr">284 </span> compare fake-screen?, <span class="Constant">0</span> <span id="L285" class="LineNr">285 </span> <span class="PreProc">break-if-=</span> -<span id="L286" class="LineNr">286 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L287" class="LineNr">287 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L286" class="LineNr">286 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L287" class="LineNr">287 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L288" class="LineNr">288 </span> compare *top-addr, <span class="Constant">0</span> <span id="L289" class="LineNr">289 </span> <span class="PreProc">break-if-<=</span> <span id="L290" class="LineNr">290 </span> <span class="muComment"># pop width and height from out</span> <span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> nrows-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> nrows/<span class="Constant">edx</span>: int <span class="Special"><-</span> convert nrows-f +<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> nrows/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> convert nrows-f <span id="L293" class="LineNr">293 </span> <span class="PreProc">var</span> ncols-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ebx</span>: int <span class="Special"><-</span> convert ncols-f +<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> ncols/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> convert ncols-f <span id="L295" class="LineNr">295 </span> <span class="muComment"># define a new screen with those dimensions</span> <span id="L296" class="LineNr">296 </span> <span class="PreProc">var</span> screen-h: (handle <a href='../405screen.mu.html#L9'>screen</a>) -<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-h +<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> address screen-h <span id="L298" class="LineNr">298 </span> <a href='../120allocate.subx.html#L66'>allocate</a> screen-ah -<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> screen-h +<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> screen-h <span id="L300" class="LineNr">300 </span> <a href='../405screen.mu.html#L30'>initialize-screen</a> <a href='../405screen.mu.html#L9'>screen</a>, nrows, ncols <span id="L301" class="LineNr">301 </span> <span class="muComment"># push screen to stack</span> -<span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L305" class="LineNr">305 </span> increment *top-addr -<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L309" class="LineNr">309 </span> copy-to *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen -<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data <span id="L311" class="LineNr">311 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> screen-h, dest <span id="L312" class="LineNr">312 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L313" class="LineNr">313 </span> <span class="Delimiter">}</span> <span id="L314" class="LineNr">314 </span> <span class="Delimiter">{</span> -<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> print?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"print"</span> +<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> print?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"print"</span> <span id="L316" class="LineNr">316 </span> compare print?, <span class="Constant">0</span> <span id="L317" class="LineNr">317 </span> <span class="PreProc">break-if-=</span> -<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L320" class="LineNr">320 </span> compare *top-addr, <span class="Constant">0</span> <span id="L321" class="LineNr">321 </span> <span class="PreProc">break-if-<=</span> <span id="L322" class="LineNr">322 </span> <span class="muComment"># pop string from out</span> -<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L323" class="LineNr">323 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L324" class="LineNr">324 </span> compare *top-addr, <span class="Constant">0</span> <span id="L325" class="LineNr">325 </span> <span class="PreProc">break-if-<=</span> <span id="L326" class="LineNr">326 </span> decrement *top-addr -<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L329" class="LineNr">329 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L331" class="LineNr">331 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L332" class="LineNr">332 </span> <span class="PreProc">var</span> s/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L328" class="LineNr">328 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L329" class="LineNr">329 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L331" class="LineNr">331 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L332" class="LineNr">332 </span> <span class="PreProc">var</span> s/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L333" class="LineNr">333 </span> <span class="muComment"># select target screen from top of out (but don't pop it)</span> <span id="L334" class="LineNr">334 </span> compare *top-addr, <span class="Constant">0</span> <span id="L335" class="LineNr">335 </span> <span class="PreProc">break-if-<=</span> -<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L337" class="LineNr">337 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L338" class="LineNr">338 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L339" class="LineNr">339 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L338" class="LineNr">338 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L339" class="LineNr">339 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L341" class="LineNr">341 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L342" class="LineNr">342 </span> <span class="PreProc">break-if-!=</span> <span id="L343" class="LineNr">343 </span> <span class="muComment"># print string to target screen</span> -<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L345" class="LineNr">345 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> r/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, cursor-row -<span id="L347" class="LineNr">347 </span> <span class="PreProc">var</span> c/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, cursor-col +<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L345" class="LineNr">345 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> r/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, cursor-row +<span id="L347" class="LineNr">347 </span> <span class="PreProc">var</span> c/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, cursor-col <span id="L348" class="LineNr">348 </span> <a href='value.mu.html#L1'>render-value-at</a> dest, *r, *c, s, <span class="Constant">0</span> <span id="L349" class="LineNr">349 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L350" class="LineNr">350 </span> <span class="Delimiter">}</span> <span id="L351" class="LineNr">351 </span> <span class="Delimiter">{</span> -<span id="L352" class="LineNr">352 </span> <span class="PreProc">var</span> move?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"move"</span> +<span id="L352" class="LineNr">352 </span> <span class="PreProc">var</span> move?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"move"</span> <span id="L353" class="LineNr">353 </span> compare move?, <span class="Constant">0</span> <span id="L354" class="LineNr">354 </span> <span class="PreProc">break-if-=</span> -<span id="L355" class="LineNr">355 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L355" class="LineNr">355 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out <span id="L356" class="LineNr">356 </span> <span class="muComment"># pop args</span> <span id="L357" class="LineNr">357 </span> <span class="PreProc">var</span> r-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> r/<span class="Constant">ecx</span>: int <span class="Special"><-</span> convert r-f +<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> r/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> convert r-f <span id="L359" class="LineNr">359 </span> <span class="PreProc">var</span> c-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> c/<span class="Constant">edx</span>: int <span class="Special"><-</span> convert c-f +<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> c/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> convert c-f <span id="L361" class="LineNr">361 </span> <span class="muComment"># select screen from top of out (but don't pop it)</span> -<span id="L362" class="LineNr">362 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L362" class="LineNr">362 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L363" class="LineNr">363 </span> compare *top-addr, <span class="Constant">0</span> <span id="L364" class="LineNr">364 </span> <span class="PreProc">break-if-<=</span> -<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L365" class="LineNr">365 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L369" class="LineNr">369 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> target-offset/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset -<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> target-offset/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset +<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L373" class="LineNr">373 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L374" class="LineNr">374 </span> <span class="PreProc">break-if-!=</span> -<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah <span id="L377" class="LineNr">377 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> target, r, c <span id="L378" class="LineNr">378 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L379" class="LineNr">379 </span> <span class="Delimiter">}</span> <span id="L380" class="LineNr">380 </span> <span class="Delimiter">{</span> -<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> up?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"up"</span> +<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> up?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"up"</span> <span id="L382" class="LineNr">382 </span> compare up?, <span class="Constant">0</span> <span id="L383" class="LineNr">383 </span> <span class="PreProc">break-if-=</span> -<span id="L384" class="LineNr">384 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L385" class="LineNr">385 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L384" class="LineNr">384 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L385" class="LineNr">385 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L386" class="LineNr">386 </span> compare *top-addr, <span class="Constant">0</span> <span id="L387" class="LineNr">387 </span> <span class="PreProc">break-if-<=</span> <span id="L388" class="LineNr">388 </span> <span class="muComment"># pop args</span> <span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> d-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> d/<span class="Constant">ecx</span>: int <span class="Special"><-</span> convert d-f +<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> d/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> convert d-f <span id="L391" class="LineNr">391 </span> <span class="muComment"># select screen from top of out (but don't pop it)</span> <span id="L392" class="LineNr">392 </span> compare *top-addr, <span class="Constant">0</span> <span id="L393" class="LineNr">393 </span> <span class="PreProc">break-if-<=</span> -<span id="L394" class="LineNr">394 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L395" class="LineNr">395 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L394" class="LineNr">394 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L395" class="LineNr">395 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L398" class="LineNr">398 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> target-offset/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L400" class="LineNr">400 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset -<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> target-offset/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L400" class="LineNr">400 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset +<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L402" class="LineNr">402 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L403" class="LineNr">403 </span> <span class="PreProc">break-if-!=</span> -<span id="L404" class="LineNr">404 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L405" class="LineNr">405 </span> <span class="PreProc">var</span> _target/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah -<span id="L406" class="LineNr">406 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target -<span id="L407" class="LineNr">407 </span> <span class="PreProc">var</span> r/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row -<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col -<span id="L409" class="LineNr">409 </span> <span class="PreProc">var</span> col/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *c +<span id="L404" class="LineNr">404 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L405" class="LineNr">405 </span> <span class="PreProc">var</span> _target/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L406" class="LineNr">406 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target +<span id="L407" class="LineNr">407 </span> <span class="PreProc">var</span> r/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row +<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col +<span id="L409" class="LineNr">409 </span> <span class="PreProc">var</span> col/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *c <span id="L410" class="LineNr">410 </span> <span class="Delimiter">{</span> <span id="L411" class="LineNr">411 </span> compare d, <span class="Constant">0</span> <span id="L412" class="LineNr">412 </span> <span class="PreProc">break-if-<=</span> @@ -481,37 +487,37 @@ if ('onhashchange' in window) { <span id="L421" class="LineNr">421 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L422" class="LineNr">422 </span> <span class="Delimiter">}</span> <span id="L423" class="LineNr">423 </span> <span class="Delimiter">{</span> -<span id="L424" class="LineNr">424 </span> <span class="PreProc">var</span> down?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"down"</span> +<span id="L424" class="LineNr">424 </span> <span class="PreProc">var</span> down?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"down"</span> <span id="L425" class="LineNr">425 </span> compare down?, <span class="Constant">0</span> <span id="L426" class="LineNr">426 </span> <span class="PreProc">break-if-=</span> -<span id="L427" class="LineNr">427 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L428" class="LineNr">428 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L427" class="LineNr">427 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L428" class="LineNr">428 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L429" class="LineNr">429 </span> compare *top-addr, <span class="Constant">0</span> <span id="L430" class="LineNr">430 </span> <span class="PreProc">break-if-<=</span> <span id="L431" class="LineNr">431 </span> <span class="muComment"># pop args</span> <span id="L432" class="LineNr">432 </span> <span class="PreProc">var</span> d-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> d/<span class="Constant">ecx</span>: int <span class="Special"><-</span> convert d-f +<span id="L433" class="LineNr">433 </span> <span class="PreProc">var</span> d/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> convert d-f <span id="L434" class="LineNr">434 </span> <span class="muComment"># select screen from top of out (but don't pop it)</span> <span id="L435" class="LineNr">435 </span> compare *top-addr, <span class="Constant">0</span> <span id="L436" class="LineNr">436 </span> <span class="PreProc">break-if-<=</span> -<span id="L437" class="LineNr">437 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L438" class="LineNr">438 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L439" class="LineNr">439 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L440" class="LineNr">440 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L437" class="LineNr">437 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L438" class="LineNr">438 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L439" class="LineNr">439 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L440" class="LineNr">440 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L441" class="LineNr">441 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L442" class="LineNr">442 </span> <span class="PreProc">var</span> target-offset/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L443" class="LineNr">443 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset -<span id="L444" class="LineNr">444 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L442" class="LineNr">442 </span> <span class="PreProc">var</span> target-offset/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L443" class="LineNr">443 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset +<span id="L444" class="LineNr">444 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L445" class="LineNr">445 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L446" class="LineNr">446 </span> <span class="PreProc">break-if-!=</span> -<span id="L447" class="LineNr">447 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L448" class="LineNr">448 </span> <span class="PreProc">var</span> _target/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah -<span id="L449" class="LineNr">449 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target -<span id="L450" class="LineNr">450 </span> <span class="PreProc">var</span> bound-a/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, num-rows -<span id="L451" class="LineNr">451 </span> <span class="PreProc">var</span> bound/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *bound-a -<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> r/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row -<span id="L453" class="LineNr">453 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col -<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> col/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *c +<span id="L447" class="LineNr">447 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L448" class="LineNr">448 </span> <span class="PreProc">var</span> _target/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L449" class="LineNr">449 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target +<span id="L450" class="LineNr">450 </span> <span class="PreProc">var</span> bound-a/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, num-rows +<span id="L451" class="LineNr">451 </span> <span class="PreProc">var</span> bound/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *bound-a +<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> r/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row +<span id="L453" class="LineNr">453 </span> <span class="PreProc">var</span> c/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col +<span id="L454" class="LineNr">454 </span> <span class="PreProc">var</span> col/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *c <span id="L455" class="LineNr">455 </span> <span class="Delimiter">{</span> <span id="L456" class="LineNr">456 </span> compare d, <span class="Constant">0</span> <span id="L457" class="LineNr">457 </span> <span class="PreProc">break-if-<=</span> @@ -526,35 +532,35 @@ if ('onhashchange' in window) { <span id="L466" class="LineNr">466 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L467" class="LineNr">467 </span> <span class="Delimiter">}</span> <span id="L468" class="LineNr">468 </span> <span class="Delimiter">{</span> -<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> left?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"left"</span> +<span id="L469" class="LineNr">469 </span> <span class="PreProc">var</span> left?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"left"</span> <span id="L470" class="LineNr">470 </span> compare left?, <span class="Constant">0</span> <span id="L471" class="LineNr">471 </span> <span class="PreProc">break-if-=</span> -<span id="L472" class="LineNr">472 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L473" class="LineNr">473 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L472" class="LineNr">472 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L473" class="LineNr">473 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L474" class="LineNr">474 </span> compare *top-addr, <span class="Constant">0</span> <span id="L475" class="LineNr">475 </span> <span class="PreProc">break-if-<=</span> <span id="L476" class="LineNr">476 </span> <span class="muComment"># pop args</span> <span id="L477" class="LineNr">477 </span> <span class="PreProc">var</span> d-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L478" class="LineNr">478 </span> <span class="PreProc">var</span> d/<span class="Constant">ecx</span>: int <span class="Special"><-</span> convert d-f +<span id="L478" class="LineNr">478 </span> <span class="PreProc">var</span> d/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> convert d-f <span id="L479" class="LineNr">479 </span> <span class="muComment"># select screen from top of out (but don't pop it)</span> <span id="L480" class="LineNr">480 </span> compare *top-addr, <span class="Constant">0</span> <span id="L481" class="LineNr">481 </span> <span class="PreProc">break-if-<=</span> -<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L484" class="LineNr">484 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L485" class="LineNr">485 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L484" class="LineNr">484 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L485" class="LineNr">485 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L486" class="LineNr">486 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L487" class="LineNr">487 </span> <span class="PreProc">var</span> target-offset/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L488" class="LineNr">488 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset -<span id="L489" class="LineNr">489 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L487" class="LineNr">487 </span> <span class="PreProc">var</span> target-offset/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L488" class="LineNr">488 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset +<span id="L489" class="LineNr">489 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L490" class="LineNr">490 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L491" class="LineNr">491 </span> <span class="PreProc">break-if-!=</span> -<span id="L492" class="LineNr">492 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L493" class="LineNr">493 </span> <span class="PreProc">var</span> _target/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah -<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target -<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> c/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col -<span id="L496" class="LineNr">496 </span> <span class="PreProc">var</span> r/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row -<span id="L497" class="LineNr">497 </span> <span class="PreProc">var</span> row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *r +<span id="L492" class="LineNr">492 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L493" class="LineNr">493 </span> <span class="PreProc">var</span> _target/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L494" class="LineNr">494 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target +<span id="L495" class="LineNr">495 </span> <span class="PreProc">var</span> c/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col +<span id="L496" class="LineNr">496 </span> <span class="PreProc">var</span> r/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row +<span id="L497" class="LineNr">497 </span> <span class="PreProc">var</span> row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *r <span id="L498" class="LineNr">498 </span> <span class="Delimiter">{</span> <span id="L499" class="LineNr">499 </span> compare d, <span class="Constant">0</span> <span id="L500" class="LineNr">500 </span> <span class="PreProc">break-if-<=</span> @@ -570,37 +576,37 @@ if ('onhashchange' in window) { <span id="L510" class="LineNr">510 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L511" class="LineNr">511 </span> <span class="Delimiter">}</span> <span id="L512" class="LineNr">512 </span> <span class="Delimiter">{</span> -<span id="L513" class="LineNr">513 </span> <span class="PreProc">var</span> right?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"right"</span> +<span id="L513" class="LineNr">513 </span> <span class="PreProc">var</span> right?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"right"</span> <span id="L514" class="LineNr">514 </span> compare right?, <span class="Constant">0</span> <span id="L515" class="LineNr">515 </span> <span class="PreProc">break-if-=</span> -<span id="L516" class="LineNr">516 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L517" class="LineNr">517 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L516" class="LineNr">516 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L517" class="LineNr">517 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L518" class="LineNr">518 </span> compare *top-addr, <span class="Constant">0</span> <span id="L519" class="LineNr">519 </span> <span class="PreProc">break-if-<=</span> <span id="L520" class="LineNr">520 </span> <span class="muComment"># pop args</span> <span id="L521" class="LineNr">521 </span> <span class="PreProc">var</span> _d/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> out2 -<span id="L522" class="LineNr">522 </span> <span class="PreProc">var</span> d/<span class="Constant">ecx</span>: int <span class="Special"><-</span> convert _d +<span id="L522" class="LineNr">522 </span> <span class="PreProc">var</span> d/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> convert _d <span id="L523" class="LineNr">523 </span> <span class="muComment"># select screen from top of out (but don't pop it)</span> <span id="L524" class="LineNr">524 </span> compare *top-addr, <span class="Constant">0</span> <span id="L525" class="LineNr">525 </span> <span class="PreProc">break-if-<=</span> -<span id="L526" class="LineNr">526 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L527" class="LineNr">527 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L528" class="LineNr">528 </span> <span class="PreProc">var</span> data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data -<span id="L529" class="LineNr">529 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L526" class="LineNr">526 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L527" class="LineNr">527 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L528" class="LineNr">528 </span> <span class="PreProc">var</span> data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _data +<span id="L529" class="LineNr">529 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *top-addr <span id="L530" class="LineNr">530 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L531" class="LineNr">531 </span> <span class="PreProc">var</span> target-offset/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset -<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> +<span id="L531" class="LineNr">531 </span> <span class="PreProc">var</span> target-offset/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, target-offset +<span id="L533" class="LineNr">533 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, <span class="PreProc">type</span> <span id="L534" class="LineNr">534 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L535" class="LineNr">535 </span> <span class="PreProc">break-if-!=</span> -<span id="L536" class="LineNr">536 </span> <span class="PreProc">var</span> target-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data -<span id="L537" class="LineNr">537 </span> <span class="PreProc">var</span> _target/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah -<span id="L538" class="LineNr">538 </span> <span class="PreProc">var</span> target/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target -<span id="L539" class="LineNr">539 </span> <span class="PreProc">var</span> bound-a/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, num-rows -<span id="L540" class="LineNr">540 </span> <span class="PreProc">var</span> bound/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *bound-a -<span id="L541" class="LineNr">541 </span> <span class="PreProc">var</span> c/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col -<span id="L542" class="LineNr">542 </span> <span class="PreProc">var</span> r/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row -<span id="L543" class="LineNr">543 </span> <span class="PreProc">var</span> row/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *r +<span id="L536" class="LineNr">536 </span> <span class="PreProc">var</span> target-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-val, screen-data +<span id="L537" class="LineNr">537 </span> <span class="PreProc">var</span> _target/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target-ah +<span id="L538" class="LineNr">538 </span> <span class="PreProc">var</span> target/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target +<span id="L539" class="LineNr">539 </span> <span class="PreProc">var</span> bound-a/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, num-rows +<span id="L540" class="LineNr">540 </span> <span class="PreProc">var</span> bound/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *bound-a +<span id="L541" class="LineNr">541 </span> <span class="PreProc">var</span> c/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col +<span id="L542" class="LineNr">542 </span> <span class="PreProc">var</span> r/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row +<span id="L543" class="LineNr">543 </span> <span class="PreProc">var</span> row/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *r <span id="L544" class="LineNr">544 </span> <span class="Delimiter">{</span> <span id="L545" class="LineNr">545 </span> compare d, <span class="Constant">0</span> <span id="L546" class="LineNr">546 </span> <span class="PreProc">break-if-<=</span> @@ -616,52 +622,52 @@ if ('onhashchange' in window) { <span id="L556" class="LineNr">556 </span> <span class="Delimiter">}</span> <span id="L557" class="LineNr">557 </span> <span class="muComment">## HACKS: we're trying to avoid turning this into Forth</span> <span id="L558" class="LineNr">558 </span> <span class="Delimiter">{</span> -<span id="L559" class="LineNr">559 </span> <span class="PreProc">var</span> dup?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"dup"</span> +<span id="L559" class="LineNr">559 </span> <span class="PreProc">var</span> dup?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"dup"</span> <span id="L560" class="LineNr">560 </span> compare dup?, <span class="Constant">0</span> <span id="L561" class="LineNr">561 </span> <span class="PreProc">break-if-=</span> <span id="L562" class="LineNr">562 </span> <span class="muComment"># read src-val from out</span> -<span id="L563" class="LineNr">563 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L564" class="LineNr">564 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L563" class="LineNr">563 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L564" class="LineNr">564 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L565" class="LineNr">565 </span> compare *top-addr, <span class="Constant">0</span> <span id="L566" class="LineNr">566 </span> <span class="PreProc">break-if-<=</span> -<span id="L567" class="LineNr">567 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L569" class="LineNr">569 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L567" class="LineNr">567 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L569" class="LineNr">569 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L570" class="LineNr">570 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L571" class="LineNr">571 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L572" class="LineNr">572 </span> <span class="PreProc">var</span> src-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset +<span id="L571" class="LineNr">571 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L572" class="LineNr">572 </span> <span class="PreProc">var</span> src-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset <span id="L573" class="LineNr">573 </span> <span class="muComment"># push a copy of it</span> <span id="L574" class="LineNr">574 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> increment -<span id="L575" class="LineNr">575 </span> <span class="PreProc">var</span> offset/<span class="Constant">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L576" class="LineNr">576 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset +<span id="L575" class="LineNr">575 </span> <span class="PreProc">var</span> offset/<span class="muRegEbx">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L576" class="LineNr">576 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset <span id="L577" class="LineNr">577 </span> copy-object src-val, target-val <span id="L578" class="LineNr">578 </span> <span class="muComment"># commit</span> -<span id="L579" class="LineNr">579 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L579" class="LineNr">579 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L580" class="LineNr">580 </span> increment *top-addr <span id="L581" class="LineNr">581 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L582" class="LineNr">582 </span> <span class="Delimiter">}</span> <span id="L583" class="LineNr">583 </span> <span class="Delimiter">{</span> -<span id="L584" class="LineNr">584 </span> <span class="PreProc">var</span> swap?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"swap"</span> +<span id="L584" class="LineNr">584 </span> <span class="PreProc">var</span> swap?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> curr-stream, <span class="Constant">"swap"</span> <span id="L585" class="LineNr">585 </span> compare swap?, <span class="Constant">0</span> <span id="L586" class="LineNr">586 </span> <span class="PreProc">break-if-=</span> <span id="L587" class="LineNr">587 </span> <span class="muComment"># read top-val from out</span> -<span id="L588" class="LineNr">588 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L589" class="LineNr">589 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L588" class="LineNr">588 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L589" class="LineNr">589 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L590" class="LineNr">590 </span> compare *top-addr, <span class="Constant">0</span> <span id="L591" class="LineNr">591 </span> <span class="PreProc">break-if-<=</span> -<span id="L592" class="LineNr">592 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L593" class="LineNr">593 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L594" class="LineNr">594 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L592" class="LineNr">592 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L593" class="LineNr">593 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L594" class="LineNr">594 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L595" class="LineNr">595 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L596" class="LineNr">596 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L597" class="LineNr">597 </span> <span class="PreProc">var</span> top-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset +<span id="L596" class="LineNr">596 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L597" class="LineNr">597 </span> <span class="PreProc">var</span> top-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset <span id="L598" class="LineNr">598 </span> <span class="muComment"># read next val from out</span> <span id="L599" class="LineNr">599 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L600" class="LineNr">600 </span> <span class="PreProc">var</span> offset/<span class="Constant">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L601" class="LineNr">601 </span> <span class="PreProc">var</span> pen-top-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset +<span id="L600" class="LineNr">600 </span> <span class="PreProc">var</span> offset/<span class="muRegEbx">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L601" class="LineNr">601 </span> <span class="PreProc">var</span> pen-top-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, offset <span id="L602" class="LineNr">602 </span> <span class="muComment"># swap</span> <span id="L603" class="LineNr">603 </span> <span class="PreProc">var</span> tmp: <a href='data.mu.html#L49'>value</a> -<span id="L604" class="LineNr">604 </span> <span class="PreProc">var</span> tmp-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address tmp +<span id="L604" class="LineNr">604 </span> <span class="PreProc">var</span> tmp-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address tmp <span id="L605" class="LineNr">605 </span> copy-object top-val, tmp-a <span id="L606" class="LineNr">606 </span> copy-object pen-top-val, top-val <span id="L607" class="LineNr">607 </span> copy-object tmp-a, pen-top-val @@ -669,26 +675,26 @@ if ('onhashchange' in window) { <span id="L609" class="LineNr">609 </span> <span class="Delimiter">}</span> <span id="L610" class="LineNr">610 </span> <span class="muComment">### if curr-stream defines a binding, save top of stack to bindings</span> <span id="L611" class="LineNr">611 </span> <span class="Delimiter">{</span> -<span id="L612" class="LineNr">612 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> curr-stream +<span id="L612" class="LineNr">612 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> curr-stream <span id="L613" class="LineNr">613 </span> compare done?, <span class="Constant">0</span>/false <span id="L614" class="LineNr">614 </span> <span class="PreProc">break-if-!=</span> -<span id="L615" class="LineNr">615 </span> <span class="PreProc">var</span> new-byte/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> curr-stream +<span id="L615" class="LineNr">615 </span> <span class="PreProc">var</span> new-byte/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../112read-byte.subx.html#L273'>read-byte</a> curr-stream <span id="L616" class="LineNr">616 </span> compare new-byte, <span class="Constant">0x3d</span>/= <span id="L617" class="LineNr">617 </span> <span class="PreProc">break-if-!=</span> <span id="L618" class="LineNr">618 </span> <span class="muComment"># pop target-val from out</span> -<span id="L619" class="LineNr">619 </span> <span class="PreProc">var</span> out2/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out -<span id="L620" class="LineNr">620 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> +<span id="L619" class="LineNr">619 </span> <span class="PreProc">var</span> out2/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy out +<span id="L620" class="LineNr">620 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, <a href='../203stack.subx.html#L338'>top</a> <span id="L621" class="LineNr">621 </span> compare *top-addr, <span class="Constant">0</span> <span id="L622" class="LineNr">622 </span> <span class="PreProc">break-if-<=</span> -<span id="L623" class="LineNr">623 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data -<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L625" class="LineNr">625 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L623" class="LineNr">623 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out2, data +<span id="L624" class="LineNr">624 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L625" class="LineNr">625 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L626" class="LineNr">626 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L627" class="LineNr">627 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L628" class="LineNr">628 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L627" class="LineNr">627 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L628" class="LineNr">628 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L629" class="LineNr">629 </span> <span class="muComment"># create binding from curr-stream to target-val</span> <span id="L630" class="LineNr">630 </span> <span class="PreProc">var</span> key-h: (handle array byte) -<span id="L631" class="LineNr">631 </span> <span class="PreProc">var</span> key/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address key-h +<span id="L631" class="LineNr">631 </span> <span class="PreProc">var</span> key/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address key-h <span id="L632" class="LineNr">632 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> curr-stream, key <span id="L633" class="LineNr">633 </span> <a href='table.mu.html#L52'>bind-in-table</a> bindings, key, target-val <span id="L634" class="LineNr">634 </span> <span class="PreProc">break</span> $evaluate:process-word @@ -697,9 +703,9 @@ if ('onhashchange' in window) { <span id="L637" class="LineNr">637 </span> <span class="muComment">### if curr-stream is a known function name, call it appropriately</span> <span id="L638" class="LineNr">638 </span> <span class="Delimiter">{</span> <span id="L639" class="LineNr">639 </span> <span class="PreProc">var</span> callee-h: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L640" class="LineNr">640 </span> <span class="PreProc">var</span> callee-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h +<span id="L640" class="LineNr">640 </span> <span class="PreProc">var</span> callee-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address callee-h <span id="L641" class="LineNr">641 </span> <a href='rpn.mu.html#L774'>find-function</a> functions, curr-stream, callee-ah -<span id="L642" class="LineNr">642 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah +<span id="L642" class="LineNr">642 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *callee-ah <span id="L643" class="LineNr">643 </span> compare <a href='environment.mu.html#L1846'>callee</a>, <span class="Constant">0</span> <span id="L644" class="LineNr">644 </span> <span class="PreProc">break-if-=</span> <span id="L645" class="LineNr">645 </span> <a href='rpn.mu.html#L795'>perform-call</a> <a href='environment.mu.html#L1846'>callee</a>, out, functions @@ -710,13 +716,13 @@ if ('onhashchange' in window) { <span id="L650" class="LineNr">650 </span> compare bindings, <span class="Constant">0</span> <span id="L651" class="LineNr">651 </span> <span class="PreProc">break-if-=</span> <span id="L652" class="LineNr">652 </span> <span class="PreProc">var</span> tmp: (handle array byte) -<span id="L653" class="LineNr">653 </span> <span class="PreProc">var</span> curr-string-ah/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> address tmp +<span id="L653" class="LineNr">653 </span> <span class="PreProc">var</span> curr-string-ah/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> address tmp <span id="L654" class="LineNr">654 </span> <a href='../310copy-bytes.subx.html#L60'>stream-to-array</a> curr-stream, curr-string-ah <span class="muComment"># unfortunate leak</span> -<span id="L655" class="LineNr">655 </span> <span class="PreProc">var</span> curr-string/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-string-ah +<span id="L655" class="LineNr">655 </span> <span class="PreProc">var</span> curr-string/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-string-ah <span id="L656" class="LineNr">656 </span> <span class="PreProc">var</span> val-storage: (handle <a href='data.mu.html#L49'>value</a>) -<span id="L657" class="LineNr">657 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address val-storage +<span id="L657" class="LineNr">657 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address val-storage <span id="L658" class="LineNr">658 </span> <a href='table.mu.html#L108'>lookup-binding</a> bindings, curr-string, val-ah -<span id="L659" class="LineNr">659 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L659" class="LineNr">659 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L660" class="LineNr">660 </span> compare val, <span class="Constant">0</span> <span id="L661" class="LineNr">661 </span> <span class="PreProc">break-if-=</span> <span id="L662" class="LineNr">662 </span> <a href='value-stack.mu.html#L76'>push-value-stack</a> out, val @@ -724,57 +730,57 @@ if ('onhashchange' in window) { <span id="L664" class="LineNr">664 </span> <span class="Delimiter">}</span> <span id="L665" class="LineNr">665 </span> <span class="muComment">### if the word starts with a quote and ends with a quote, turn it into a string</span> <span id="L666" class="LineNr">666 </span> <span class="Delimiter">{</span> -<span id="L667" class="LineNr">667 </span> <span class="PreProc">var</span> start/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L160'>stream-first</a> curr-stream +<span id="L667" class="LineNr">667 </span> <span class="PreProc">var</span> start/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L160'>stream-first</a> curr-stream <span id="L668" class="LineNr">668 </span> compare start, <span class="Constant">0x22</span>/double-quote <span id="L669" class="LineNr">669 </span> <span class="PreProc">break-if-!=</span> -<span id="L670" class="LineNr">670 </span> <span class="PreProc">var</span> end/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L187'>stream-final</a> curr-stream +<span id="L670" class="LineNr">670 </span> <span class="PreProc">var</span> end/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L187'>stream-final</a> curr-stream <span id="L671" class="LineNr">671 </span> compare end, <span class="Constant">0x22</span>/double-quote <span id="L672" class="LineNr">672 </span> <span class="PreProc">break-if-!=</span> <span id="L673" class="LineNr">673 </span> <span class="PreProc">var</span> h: (handle array byte) -<span id="L674" class="LineNr">674 </span> <span class="PreProc">var</span> s/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h +<span id="L674" class="LineNr">674 </span> <span class="PreProc">var</span> s/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h <span id="L675" class="LineNr">675 </span> <a href='../310copy-bytes.subx.html#L120'>unquote-stream-to-array</a> curr-stream, s <span class="muComment"># leak</span> <span id="L676" class="LineNr">676 </span> <a href='value-stack.mu.html#L39'>push-string-to-value-stack</a> out, *s <span id="L677" class="LineNr">677 </span> <span class="PreProc">break</span> $evaluate:process-word <span id="L678" class="LineNr">678 </span> <span class="Delimiter">}</span> <span id="L679" class="LineNr">679 </span> <span class="muComment">### if the word starts with a '[' and ends with a ']', turn it into an array</span> <span id="L680" class="LineNr">680 </span> <span class="Delimiter">{</span> -<span id="L681" class="LineNr">681 </span> <span class="PreProc">var</span> start/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L160'>stream-first</a> curr-stream +<span id="L681" class="LineNr">681 </span> <span class="PreProc">var</span> start/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L160'>stream-first</a> curr-stream <span id="L682" class="LineNr">682 </span> compare start, <span class="Constant">0x5b</span>/[ <span id="L683" class="LineNr">683 </span> <span class="PreProc">break-if-!=</span> -<span id="L684" class="LineNr">684 </span> <span class="PreProc">var</span> end/<span class="Constant">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L187'>stream-final</a> curr-stream +<span id="L684" class="LineNr">684 </span> <span class="PreProc">var</span> end/<span class="muRegEax">eax</span>: byte <span class="Special"><-</span> <a href='../309stream.subx.html#L187'>stream-final</a> curr-stream <span id="L685" class="LineNr">685 </span> compare end, <span class="Constant">0x5d</span>/] <span id="L686" class="LineNr">686 </span> <span class="PreProc">break-if-!=</span> <span id="L687" class="LineNr">687 </span> <span class="muComment"># wastefully create a new input string to strip quotes</span> <span id="L688" class="LineNr">688 </span> <span class="PreProc">var</span> h: (handle array <a href='data.mu.html#L49'>value</a>) -<span id="L689" class="LineNr">689 </span> <span class="PreProc">var</span> input-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h +<span id="L689" class="LineNr">689 </span> <span class="PreProc">var</span> input-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address h <span id="L690" class="LineNr">690 </span> <a href='../310copy-bytes.subx.html#L120'>unquote-stream-to-array</a> curr-stream, input-ah <span class="muComment"># leak</span> <span id="L691" class="LineNr">691 </span> <span class="muComment"># wastefully parse input into int-array</span> <span id="L692" class="LineNr">692 </span> <span class="muComment"># TODO: support parsing arrays of other types</span> -<span id="L693" class="LineNr">693 </span> <span class="PreProc">var</span> input/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *input-ah +<span id="L693" class="LineNr">693 </span> <span class="PreProc">var</span> input/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *input-ah <span id="L694" class="LineNr">694 </span> <span class="PreProc">var</span> h2: (handle array int) -<span id="L695" class="LineNr">695 </span> <span class="PreProc">var</span> int-array-ah/<span class="Constant">esi</span>: (addr handle array int) <span class="Special"><-</span> address h2 +<span id="L695" class="LineNr">695 </span> <span class="PreProc">var</span> int-array-ah/<span class="muRegEsi">esi</span>: (addr handle array int) <span class="Special"><-</span> address h2 <span id="L696" class="LineNr">696 </span> <a href='../311decimal-int.subx.html#L623'>parse-array-of-decimal-ints</a> input, int-array-ah <span class="muComment"># leak</span> -<span id="L697" class="LineNr">697 </span> <span class="PreProc">var</span> _int-array/<span class="Constant">eax</span>: (addr array int) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *int-array-ah -<span id="L698" class="LineNr">698 </span> <span class="PreProc">var</span> int-array/<span class="Constant">esi</span>: (addr array int) <span class="Special"><-</span> copy _int-array -<span id="L699" class="LineNr">699 </span> <span class="PreProc">var</span> len/<span class="Constant">ebx</span>: int <span class="Special"><-</span> length int-array +<span id="L697" class="LineNr">697 </span> <span class="PreProc">var</span> _int-array/<span class="muRegEax">eax</span>: (addr array int) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *int-array-ah +<span id="L698" class="LineNr">698 </span> <span class="PreProc">var</span> int-array/<span class="muRegEsi">esi</span>: (addr array int) <span class="Special"><-</span> copy _int-array +<span id="L699" class="LineNr">699 </span> <span class="PreProc">var</span> len/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> length int-array <span id="L700" class="LineNr">700 </span> <span class="muComment"># push value-array of same size as int-array</span> <span id="L701" class="LineNr">701 </span> <span class="PreProc">var</span> h3: (handle array <a href='data.mu.html#L49'>value</a>) -<span id="L702" class="LineNr">702 </span> <span class="PreProc">var</span> value-array-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address h3 +<span id="L702" class="LineNr">702 </span> <span class="PreProc">var</span> value-array-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> address h3 <span id="L703" class="LineNr">703 </span> populate value-array-ah, len <span id="L704" class="LineNr">704 </span> <a href='value-stack.mu.html#L60'>push-array-to-value-stack</a> out, *value-array-ah <span id="L705" class="LineNr">705 </span> <span class="muComment"># copy int-array into value-array</span> -<span id="L706" class="LineNr">706 </span> <span class="PreProc">var</span> _value-array/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *value-array-ah -<span id="L707" class="LineNr">707 </span> <span class="PreProc">var</span> value-array/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _value-array -<span id="L708" class="LineNr">708 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L706" class="LineNr">706 </span> <span class="PreProc">var</span> _value-array/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *value-array-ah +<span id="L707" class="LineNr">707 </span> <span class="PreProc">var</span> value-array/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _value-array +<span id="L708" class="LineNr">708 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L709" class="LineNr">709 </span> <span class="Delimiter">{</span> <span id="L710" class="LineNr">710 </span> compare i, len <span id="L711" class="LineNr">711 </span> <span class="PreProc">break-if->=</span> -<span id="L712" class="LineNr">712 </span> <span class="PreProc">var</span> src-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> index int-array, i -<span id="L713" class="LineNr">713 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *src-addr +<span id="L712" class="LineNr">712 </span> <span class="PreProc">var</span> src-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> index int-array, i +<span id="L713" class="LineNr">713 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *src-addr <span id="L714" class="LineNr">714 </span> <span class="PreProc">var</span> src-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert src -<span id="L715" class="LineNr">715 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset value-array, i -<span id="L716" class="LineNr">716 </span> <span class="PreProc">var</span> dest-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index value-array, dest-offset -<span id="L717" class="LineNr">717 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, number-data +<span id="L715" class="LineNr">715 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset value-array, i +<span id="L716" class="LineNr">716 </span> <span class="PreProc">var</span> dest-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index value-array, dest-offset +<span id="L717" class="LineNr">717 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, number-data <span id="L718" class="LineNr">718 </span> copy-to *dest, src-f <span id="L719" class="LineNr">719 </span> i <span class="Special"><-</span> increment <span id="L720" class="LineNr">720 </span> <span class="PreProc">loop</span> @@ -783,7 +789,7 @@ if ('onhashchange' in window) { <span id="L723" class="LineNr">723 </span> <span class="Delimiter">}</span> <span id="L724" class="LineNr">724 </span> <span class="muComment">### otherwise assume it's a literal number and push it</span> <span id="L725" class="LineNr">725 </span> <span class="Delimiter">{</span> -<span id="L726" class="LineNr">726 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> curr-stream +<span id="L726" class="LineNr">726 </span> <span class="PreProc">var</span> n/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../311decimal-int.subx.html#L48'>parse-decimal-int-from-stream</a> curr-stream <span id="L727" class="LineNr">727 </span> <span class="PreProc">var</span> n-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert n <span id="L728" class="LineNr">728 </span> <a href='value-stack.mu.html#L22'>push-number-to-value-stack</a> out, n-f <span id="L729" class="LineNr">729 </span> <span class="Delimiter">}</span> @@ -792,15 +798,15 @@ if ('onhashchange' in window) { <span id="L732" class="LineNr">732 </span> compare curr, end <span id="L733" class="LineNr">733 </span> <span class="PreProc">break-if-=</span> <span id="L734" class="LineNr">734 </span> <span class="muComment"># update</span> -<span id="L735" class="LineNr">735 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next +<span id="L735" class="LineNr">735 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next <span id="L736" class="LineNr">736 </span> curr <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L737" class="LineNr">737 </span> <span class="muComment">#</span> <span id="L738" class="LineNr">738 </span> <span class="PreProc">loop</span> <span id="L739" class="LineNr">739 </span> <span class="Delimiter">}</span> <span id="L740" class="LineNr">740 </span> <span class="muComment"># process next line if necessary</span> -<span id="L741" class="LineNr">741 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy scratch -<span id="L742" class="LineNr">742 </span> <span class="PreProc">var</span> next-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next -<span id="L743" class="LineNr">743 </span> <span class="PreProc">var</span> next-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah +<span id="L741" class="LineNr">741 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> copy scratch +<span id="L742" class="LineNr">742 </span> <span class="PreProc">var</span> next-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='data.mu.html#L34'>line</a>, next +<span id="L743" class="LineNr">743 </span> <span class="PreProc">var</span> next-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah <span id="L744" class="LineNr">744 </span> compare next-line, <span class="Constant">0</span> <span id="L745" class="LineNr">745 </span> <span class="PreProc">break-if-=</span> <span id="L746" class="LineNr">746 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, bindings, next-line, end, out @@ -808,39 +814,39 @@ if ('onhashchange' in window) { <span id="L748" class="LineNr">748 </span> <span id="L749" class="LineNr">749 </span><span class="PreProc">fn</span> <span class="muTest"><a href='rpn.mu.html#L749'>test-evaluate</a></span> <span class="Delimiter">{</span> <span id="L750" class="LineNr">750 </span> <span class="PreProc">var</span> line-storage: <a href='data.mu.html#L34'>line</a> -<span id="L751" class="LineNr">751 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address line-storage -<span id="L752" class="LineNr">752 </span> <span class="PreProc">var</span> first-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> line-storage, data +<span id="L751" class="LineNr">751 </span> <span class="PreProc">var</span> <a href='data.mu.html#L34'>line</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> address line-storage +<span id="L752" class="LineNr">752 </span> <span class="PreProc">var</span> first-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> line-storage, data <span id="L753" class="LineNr">753 </span> <a href='word.mu.html#L19'>allocate-word-with</a> first-word-ah, <span class="Constant">"3"</span> <span id="L754" class="LineNr">754 </span> <a href='word.mu.html#L29'>append-word-with</a> *first-word-ah, <span class="Constant">"=a"</span> -<span id="L755" class="LineNr">755 </span> <span class="PreProc">var</span> next-line-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> line-storage, next +<span id="L755" class="LineNr">755 </span> <span class="PreProc">var</span> next-line-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> line-storage, next <span id="L756" class="LineNr">756 </span> <a href='../120allocate.subx.html#L66'>allocate</a> next-line-ah -<span id="L757" class="LineNr">757 </span> <span class="PreProc">var</span> next-line/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah -<span id="L758" class="LineNr">758 </span> <span class="PreProc">var</span> first-word-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next-line, data +<span id="L757" class="LineNr">757 </span> <span class="PreProc">var</span> next-line/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-line-ah +<span id="L758" class="LineNr">758 </span> <span class="PreProc">var</span> first-word-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next-line, data <span id="L759" class="LineNr">759 </span> <a href='word.mu.html#L19'>allocate-word-with</a> first-word-ah, <span class="Constant">"a"</span> <span id="L760" class="LineNr">760 </span> <span class="PreProc">var</span> functions-storage: (handle <a href='data.mu.html#L21'>function</a>) -<span id="L761" class="LineNr">761 </span> <span class="PreProc">var</span> functions/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address functions-storage +<span id="L761" class="LineNr">761 </span> <span class="PreProc">var</span> functions/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> address functions-storage <span id="L762" class="LineNr">762 </span> <span class="PreProc">var</span> table-storage: <a href='data.mu.html#L59'>table</a> -<span id="L763" class="LineNr">763 </span> <span class="PreProc">var</span> <a href='data.mu.html#L59'>table</a>/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address table-storage +<span id="L763" class="LineNr">763 </span> <span class="PreProc">var</span> <a href='data.mu.html#L59'>table</a>/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address table-storage <span id="L764" class="LineNr">764 </span> <a href='table.mu.html#L1'>initialize-table</a> <a href='data.mu.html#L59'>table</a>, <span class="Constant">0x10</span> <span id="L765" class="LineNr">765 </span> <span class="PreProc">var</span> stack-storage: <a href='value-stack.mu.html#L3'>value-stack</a> -<span id="L766" class="LineNr">766 </span> <span class="PreProc">var</span> stack/<span class="Constant">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage +<span id="L766" class="LineNr">766 </span> <span class="PreProc">var</span> stack/<span class="muRegEdi">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage <span id="L767" class="LineNr">767 </span> <a href='value-stack.mu.html#L8'>initialize-value-stack</a> stack, <span class="Constant">0x10</span> <span id="L768" class="LineNr">768 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, <a href='data.mu.html#L59'>table</a>, <a href='data.mu.html#L34'>line</a>, <span class="Constant">0</span>, stack <span id="L769" class="LineNr">769 </span> <span class="PreProc">var</span> x-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> <a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a> stack -<span id="L770" class="LineNr">770 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: int <span class="Special"><-</span> convert x-f +<span id="L770" class="LineNr">770 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> convert x-f <span id="L771" class="LineNr">771 </span> <a href='../102test.subx.html#L23'>check-ints-equal</a> x, <span class="Constant">3</span>, <span class="Constant">"F - test-evaluate"</span> <span id="L772" class="LineNr">772 </span><span class="Delimiter">}</span> <span id="L773" class="LineNr">773 </span> <span id="L774" class="LineNr">774 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L774'>find-function</a></span> first: (addr handle <a href='data.mu.html#L21'>function</a>), name: (addr stream byte), out: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> -<span id="L775" class="LineNr">775 </span> <span class="PreProc">var</span> curr/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy first +<span id="L775" class="LineNr">775 </span> <span class="PreProc">var</span> curr/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy first <span id="L776" class="LineNr">776 </span> $find-function:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> -<span id="L777" class="LineNr">777 </span> <span class="PreProc">var</span> _f/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr -<span id="L778" class="LineNr">778 </span> <span class="PreProc">var</span> f/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f +<span id="L777" class="LineNr">777 </span> <span class="PreProc">var</span> _f/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr +<span id="L778" class="LineNr">778 </span> <span class="PreProc">var</span> f/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _f <span id="L779" class="LineNr">779 </span> compare f, <span class="Constant">0</span> <span id="L780" class="LineNr">780 </span> <span class="PreProc">break-if-=</span> -<span id="L781" class="LineNr">781 </span> <span class="PreProc">var</span> curr-name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name -<span id="L782" class="LineNr">782 </span> <span class="PreProc">var</span> curr-name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah -<span id="L783" class="LineNr">783 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> name, curr-name +<span id="L781" class="LineNr">781 </span> <span class="PreProc">var</span> curr-name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> f, name +<span id="L782" class="LineNr">782 </span> <span class="PreProc">var</span> curr-name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah +<span id="L783" class="LineNr">783 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../109stream-equal.subx.html#L9'>stream-data-equal?</a> name, curr-name <span id="L784" class="LineNr">784 </span> compare done?, <span class="Constant">0</span>/false <span id="L785" class="LineNr">785 </span> <span class="Delimiter">{</span> <span id="L786" class="LineNr">786 </span> <span class="PreProc">break-if-=</span> @@ -853,32 +859,32 @@ if ('onhashchange' in window) { <span id="L793" class="LineNr">793 </span><span class="Delimiter">}</span> <span id="L794" class="LineNr">794 </span> <span id="L795" class="LineNr">795 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L795'>perform-call</a></span> _callee: (addr <a href='data.mu.html#L21'>function</a>), caller-stack: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), functions: (addr handle <a href='data.mu.html#L21'>function</a>) <span class="Delimiter">{</span> -<span id="L796" class="LineNr">796 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _callee +<span id="L796" class="LineNr">796 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _callee <span id="L797" class="LineNr">797 </span> <span class="muComment"># create bindings for args</span> <span id="L798" class="LineNr">798 </span> <span class="PreProc">var</span> table-storage: <a href='data.mu.html#L59'>table</a> -<span id="L799" class="LineNr">799 </span> <span class="PreProc">var</span> <a href='data.mu.html#L59'>table</a>/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address table-storage +<span id="L799" class="LineNr">799 </span> <span class="PreProc">var</span> <a href='data.mu.html#L59'>table</a>/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> address table-storage <span id="L800" class="LineNr">800 </span> <a href='table.mu.html#L1'>initialize-table</a> <a href='data.mu.html#L59'>table</a>, <span class="Constant">0x10</span> <span id="L801" class="LineNr">801 </span> <a href='rpn.mu.html#L828'>bind-args</a> <a href='environment.mu.html#L1846'>callee</a>, caller-stack, <a href='data.mu.html#L59'>table</a> <span id="L802" class="LineNr">802 </span> <span class="muComment"># obtain body</span> -<span id="L803" class="LineNr">803 </span> <span class="PreProc">var</span> body-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body -<span id="L804" class="LineNr">804 </span> <span class="PreProc">var</span> body/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah +<span id="L803" class="LineNr">803 </span> <span class="PreProc">var</span> body-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, body +<span id="L804" class="LineNr">804 </span> <span class="PreProc">var</span> body/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L34'>line</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *body-ah <span id="L805" class="LineNr">805 </span> <span class="muComment"># perform call</span> <span id="L806" class="LineNr">806 </span> <span class="PreProc">var</span> stack-storage: <a href='value-stack.mu.html#L3'>value-stack</a> -<span id="L807" class="LineNr">807 </span> <span class="PreProc">var</span> stack/<span class="Constant">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage +<span id="L807" class="LineNr">807 </span> <span class="PreProc">var</span> stack/<span class="muRegEdi">edi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> address stack-storage <span id="L808" class="LineNr">808 </span> <a href='value-stack.mu.html#L8'>initialize-value-stack</a> stack, <span class="Constant">0x10</span> <span id="L809" class="LineNr">809 </span><span class="CommentedCode">#? print-string-to-real-screen "about to enter recursive eval\n"</span> <span id="L810" class="LineNr">810 </span> <a href='rpn.mu.html#L1'>evaluate</a> functions, <a href='data.mu.html#L59'>table</a>, body, <span class="Constant">0</span>, stack <span id="L811" class="LineNr">811 </span><span class="CommentedCode">#? print-string-to-real-screen "exited recursive eval\n"</span> <span id="L812" class="LineNr">812 </span> <span class="muComment"># pop target-val from out</span> -<span id="L813" class="LineNr">813 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack, <a href='../203stack.subx.html#L338'>top</a> +<span id="L813" class="LineNr">813 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack, <a href='../203stack.subx.html#L338'>top</a> <span id="L814" class="LineNr">814 </span> compare *top-addr, <span class="Constant">0</span> <span id="L815" class="LineNr">815 </span> <span class="PreProc">break-if-<=</span> -<span id="L816" class="LineNr">816 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack, data -<span id="L817" class="LineNr">817 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L818" class="LineNr">818 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L816" class="LineNr">816 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> stack, data +<span id="L817" class="LineNr">817 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L818" class="LineNr">818 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr <span id="L819" class="LineNr">819 </span> <a href='../203stack.subx.html#L338'>top</a> <span class="Special"><-</span> decrement -<span id="L820" class="LineNr">820 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L821" class="LineNr">821 </span> <span class="PreProc">var</span> target-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L820" class="LineNr">820 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L821" class="LineNr">821 </span> <span class="PreProc">var</span> target-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L822" class="LineNr">822 </span> <span class="muComment"># stitch target-val into caller-stack</span> <span id="L823" class="LineNr">823 </span> <a href='value-stack.mu.html#L76'>push-value-stack</a> caller-stack, target-val <span id="L824" class="LineNr">824 </span><span class="Delimiter">}</span> @@ -886,12 +892,12 @@ if ('onhashchange' in window) { <span id="L826" class="LineNr">826 </span><span class="muComment"># pop args from the caller-stack and bind them to successive args</span> <span id="L827" class="LineNr">827 </span><span class="muComment"># implies: function args are stored in reverse order</span> <span id="L828" class="LineNr">828 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L828'>bind-args</a></span> _callee: (addr <a href='data.mu.html#L21'>function</a>), _caller-stack: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), <a href='data.mu.html#L59'>table</a>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Delimiter">{</span> -<span id="L829" class="LineNr">829 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _callee -<span id="L830" class="LineNr">830 </span> <span class="PreProc">var</span> curr-arg-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, args -<span id="L831" class="LineNr">831 </span> <span class="PreProc">var</span> curr-arg/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-arg-ah +<span id="L829" class="LineNr">829 </span> <span class="PreProc">var</span> <a href='environment.mu.html#L1846'>callee</a>/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L21'>function</a>) <span class="Special"><-</span> copy _callee +<span id="L830" class="LineNr">830 </span> <span class="PreProc">var</span> curr-arg-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='environment.mu.html#L1846'>callee</a>, args +<span id="L831" class="LineNr">831 </span> <span class="PreProc">var</span> curr-arg/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-arg-ah <span id="L832" class="LineNr">832 </span> <span class="muComment">#</span> <span id="L833" class="LineNr">833 </span> <span class="PreProc">var</span> curr-key-storage: (handle array byte) -<span id="L834" class="LineNr">834 </span> <span class="PreProc">var</span> curr-key/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> address curr-key-storage +<span id="L834" class="LineNr">834 </span> <span class="PreProc">var</span> curr-key/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> address curr-key-storage <span id="L835" class="LineNr">835 </span> <span class="Delimiter">{</span> <span id="L836" class="LineNr">836 </span> compare curr-arg, <span class="Constant">0</span> <span id="L837" class="LineNr">837 </span> <span class="PreProc">break-if-=</span> @@ -899,21 +905,21 @@ if ('onhashchange' in window) { <span id="L839" class="LineNr">839 </span> <a href='word.mu.html#L480'>word-to-string</a> curr-arg, curr-key <span id="L840" class="LineNr">840 </span> <span class="Delimiter">{</span> <span id="L841" class="LineNr">841 </span> <span class="muComment"># pop target-val from caller-stack</span> -<span id="L842" class="LineNr">842 </span> <span class="PreProc">var</span> caller-stack/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _caller-stack -<span id="L843" class="LineNr">843 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-stack, <a href='../203stack.subx.html#L338'>top</a> +<span id="L842" class="LineNr">842 </span> <span class="PreProc">var</span> caller-stack/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _caller-stack +<span id="L843" class="LineNr">843 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-stack, <a href='../203stack.subx.html#L338'>top</a> <span id="L844" class="LineNr">844 </span> compare *top-addr, <span class="Constant">0</span> <span id="L845" class="LineNr">845 </span> <span class="PreProc">break-if-<=</span> <span id="L846" class="LineNr">846 </span> decrement *top-addr -<span id="L847" class="LineNr">847 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-stack, data -<span id="L848" class="LineNr">848 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L849" class="LineNr">849 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L850" class="LineNr">850 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L851" class="LineNr">851 </span> <span class="PreProc">var</span> target-val/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L847" class="LineNr">847 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> caller-stack, data +<span id="L848" class="LineNr">848 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L849" class="LineNr">849 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L850" class="LineNr">850 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEbx">ebx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L851" class="LineNr">851 </span> <span class="PreProc">var</span> target-val/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L852" class="LineNr">852 </span> <span class="muComment"># create binding from curr-key to target-val</span> <span id="L853" class="LineNr">853 </span> <a href='table.mu.html#L52'>bind-in-table</a> <a href='data.mu.html#L59'>table</a>, curr-key, target-val <span id="L854" class="LineNr">854 </span> <span class="Delimiter">}</span> <span id="L855" class="LineNr">855 </span> <span class="muComment">#</span> -<span id="L856" class="LineNr">856 </span> <span class="PreProc">var</span> next-arg-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-arg, next +<span id="L856" class="LineNr">856 </span> <span class="PreProc">var</span> next-arg-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-arg, next <span id="L857" class="LineNr">857 </span> curr-arg <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-arg-ah <span id="L858" class="LineNr">858 </span> <span class="PreProc">loop</span> <span id="L859" class="LineNr">859 </span> <span class="Delimiter">}</span> @@ -921,29 +927,29 @@ if ('onhashchange' in window) { <span id="L861" class="LineNr">861 </span> <span id="L862" class="LineNr">862 </span><span class="muComment"># Copy of 'simplify' that just tracks the maximum stack depth needed</span> <span id="L863" class="LineNr">863 </span><span class="muComment"># Doesn't actually need to simulate the stack, since every word has a predictable effect.</span> -<span id="L864" class="LineNr">864 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L864'>max-stack-depth</a></span> first-word: (addr <a href='data.mu.html#L42'>word</a>), <a href='word.mu.html#L114'>final-word</a>: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">edi</span>: int <span class="Delimiter">{</span> -<span id="L865" class="LineNr">865 </span> <span class="PreProc">var</span> curr-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy first-word -<span id="L866" class="LineNr">866 </span> <span class="PreProc">var</span> curr-depth/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L867" class="LineNr">867 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L864" class="LineNr">864 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='rpn.mu.html#L864'>max-stack-depth</a></span> first-word: (addr <a href='data.mu.html#L42'>word</a>), <a href='word.mu.html#L114'>final-word</a>: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEdi">edi</span>: int <span class="Delimiter">{</span> +<span id="L865" class="LineNr">865 </span> <span class="PreProc">var</span> curr-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy first-word +<span id="L866" class="LineNr">866 </span> <span class="PreProc">var</span> curr-depth/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L867" class="LineNr">867 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L868" class="LineNr">868 </span> $max-stack-depth:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L869" class="LineNr">869 </span> $max-stack-depth:process-word: <span class="Delimiter">{</span> <span id="L870" class="LineNr">870 </span> <span class="muComment"># handle operators</span> <span id="L871" class="LineNr">871 </span> <span class="Delimiter">{</span> -<span id="L872" class="LineNr">872 </span> <span class="PreProc">var</span> add?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"+"</span> +<span id="L872" class="LineNr">872 </span> <span class="PreProc">var</span> add?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"+"</span> <span id="L873" class="LineNr">873 </span> compare add?, <span class="Constant">0</span> <span id="L874" class="LineNr">874 </span> <span class="PreProc">break-if-=</span> <span id="L875" class="LineNr">875 </span> curr-depth <span class="Special"><-</span> decrement <span id="L876" class="LineNr">876 </span> <span class="PreProc">break</span> $max-stack-depth:process-word <span id="L877" class="LineNr">877 </span> <span class="Delimiter">}</span> <span id="L878" class="LineNr">878 </span> <span class="Delimiter">{</span> -<span id="L879" class="LineNr">879 </span> <span class="PreProc">var</span> sub?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"-"</span> +<span id="L879" class="LineNr">879 </span> <span class="PreProc">var</span> sub?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"-"</span> <span id="L880" class="LineNr">880 </span> compare sub?, <span class="Constant">0</span> <span id="L881" class="LineNr">881 </span> <span class="PreProc">break-if-=</span> <span id="L882" class="LineNr">882 </span> curr-depth <span class="Special"><-</span> decrement <span id="L883" class="LineNr">883 </span> <span class="PreProc">break</span> $max-stack-depth:process-word <span id="L884" class="LineNr">884 </span> <span class="Delimiter">}</span> <span id="L885" class="LineNr">885 </span> <span class="Delimiter">{</span> -<span id="L886" class="LineNr">886 </span> <span class="PreProc">var</span> mul?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"*"</span> +<span id="L886" class="LineNr">886 </span> <span class="PreProc">var</span> mul?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L98'>word-equal?</a> curr-word, <span class="Constant">"*"</span> <span id="L887" class="LineNr">887 </span> compare mul?, <span class="Constant">0</span> <span id="L888" class="LineNr">888 </span> <span class="PreProc">break-if-=</span> <span id="L889" class="LineNr">889 </span> curr-depth <span class="Special"><-</span> decrement @@ -962,7 +968,7 @@ if ('onhashchange' in window) { <span id="L902" class="LineNr">902 </span> compare curr-word, <a href='word.mu.html#L114'>final-word</a> <span id="L903" class="LineNr">903 </span> <span class="PreProc">break-if-=</span> <span id="L904" class="LineNr">904 </span> <span class="muComment"># curr-word = curr-word->next</span> -<span id="L905" class="LineNr">905 </span> <span class="PreProc">var</span> next-word-ah/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next +<span id="L905" class="LineNr">905 </span> <span class="PreProc">var</span> next-word-ah/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-word, next <span id="L906" class="LineNr">906 </span> curr-word <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-word-ah <span id="L907" class="LineNr">907 </span> <span class="muComment">#</span> <span id="L908" class="LineNr">908 </span> <span class="PreProc">loop</span> diff --git a/html/linux/tile/surface.mu.html b/html/linux/tile/surface.mu.html index af39e2b7..56b33ca1 100644 --- a/html/linux/tile/surface.mu.html +++ b/html/linux/tile/surface.mu.html @@ -7,22 +7,28 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muTest { color: #5f8700; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -79,31 +85,31 @@ if ('onhashchange' in window) { <span id="L19" class="LineNr"> 19 </span> <span id="L20" class="LineNr"> 20 </span><span class="muComment"># intended mostly for tests; could be slow</span> <span id="L21" class="LineNr"> 21 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L21'>initialize-surface-with</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), in: (addr array byte) <span class="Delimiter">{</span> -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self <span id="L23" class="LineNr"> 23 </span> <span class="muComment"># fill in nrows, ncols</span> -<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> nrows/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L258'>num-lines</a> in -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, nrows +<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> nrows/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L258'>num-lines</a> in +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, nrows <span id="L26" class="LineNr"> 26 </span> copy-to *dest, nrows -<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> ncols/<span class="Constant">edx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L276'>first-line-length</a> in <span class="muComment"># assume all lines are the same length</span> +<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> ncols/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L276'>first-line-length</a> in <span class="muComment"># assume all lines are the same length</span> <span id="L28" class="LineNr"> 28 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, ncols <span id="L29" class="LineNr"> 29 </span> copy-to *dest, ncols <span id="L30" class="LineNr"> 30 </span> <span class="muComment"># fill in data</span> -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy nrows +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy nrows <span id="L32" class="LineNr"> 32 </span> len <span class="Special"><-</span> multiply ncols -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> out/<span class="Constant">edi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, data +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> out/<span class="muRegEdi">edi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> out, data <span id="L35" class="LineNr"> 35 </span> populate data, len -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> data-addr/<span class="Constant">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> data-addr/<span class="muRegEax">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data <span id="L37" class="LineNr"> 37 </span> <a href='surface.mu.html#L294'>fill-in</a> data-addr, in <span id="L38" class="LineNr"> 38 </span> <span class="muComment"># fill in screen-nrows, screen-ncols</span> <span id="L39" class="LineNr"> 39 </span> <span class="Delimiter">{</span> -<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> _screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen-addr -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> _screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEdi">edi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _screen-addr +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L45" class="LineNr"> 45 </span> nrows, ncols <span class="Special"><-</span> <a href='../405screen.mu.html#L60'>screen-size</a> screen-addr -<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-nrows +<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-nrows <span id="L47" class="LineNr"> 47 </span> copy-to *dest, nrows <span id="L48" class="LineNr"> 48 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-ncols <span id="L49" class="LineNr"> 49 </span> copy-to *dest, ncols @@ -111,9 +117,9 @@ if ('onhashchange' in window) { <span id="L51" class="LineNr"> 51 </span><span class="Delimiter">}</span> <span id="L52" class="LineNr"> 52 </span> <span id="L53" class="LineNr"> 53 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L53'>pin-surface-at</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), r: int, c: int <span class="Delimiter">{</span> -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-row -<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy r +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-row +<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy r <span id="L57" class="LineNr"> 57 </span> copy-to *dest, tmp <span id="L58" class="LineNr"> 58 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-col <span id="L59" class="LineNr"> 59 </span> tmp <span class="Special"><-</span> copy c @@ -121,9 +127,9 @@ if ('onhashchange' in window) { <span id="L61" class="LineNr"> 61 </span><span class="Delimiter">}</span> <span id="L62" class="LineNr"> 62 </span> <span id="L63" class="LineNr"> 63 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L63'>pin-surface-to</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), sr: int, sc: int <span class="Delimiter">{</span> -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> dest/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-row -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy sr +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> dest/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-row +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy sr <span id="L67" class="LineNr"> 67 </span> copy-to *dest, tmp <span id="L68" class="LineNr"> 68 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-col <span id="L69" class="LineNr"> 69 </span> tmp <span class="Special"><-</span> copy sc @@ -132,19 +138,19 @@ if ('onhashchange' in window) { <span id="L72" class="LineNr"> 72 </span> <span id="L73" class="LineNr"> 73 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L73'>render-surface</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Delimiter">{</span> <span id="L74" class="LineNr"> 74 </span><span class="CommentedCode">#? print-string-to-real-screen "render-surface\n"</span> -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self <span id="L76" class="LineNr"> 76 </span> <span class="muComment"># clear screen</span> -<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L79" class="LineNr"> 79 </span> <a href='../405screen.mu.html#L78'>clear-screen</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L80" class="LineNr"> 80 </span> <span class="muComment">#</span> -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> nrows/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-nrows -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-ncols -<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> screen-row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> nrows/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-nrows +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> ncols/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, screen-ncols +<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> screen-row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L84" class="LineNr"> 84 </span> <span class="Delimiter">{</span> <span id="L85" class="LineNr"> 85 </span> compare screen-row, *nrows <span id="L86" class="LineNr"> 86 </span> <span class="PreProc">break-if-></span> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> screen-col/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> screen-col/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L88" class="LineNr"> 88 </span> <span class="Delimiter">{</span> <span id="L89" class="LineNr"> 89 </span> compare screen-col, *ncols <span id="L90" class="LineNr"> 90 </span> <span class="PreProc">break-if-></span> @@ -160,39 +166,39 @@ if ('onhashchange' in window) { <span id="L100" class="LineNr">100 </span><span class="Delimiter">}</span> <span id="L101" class="LineNr">101 </span> <span id="L102" class="LineNr">102 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L102'>print-surface-cell-at</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), screen-row: int, screen-col: int <span class="Delimiter">{</span> -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L197'>screen-row-to-surface</a> self, screen-row -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L227'>screen-col-to-surface</a> self, screen-col -<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edi</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> _data-addr/<span class="Constant">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> data-addr/<span class="Constant">edi</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _data-addr -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> idx/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L167'>surface-screen-cell-index</a> self, row, col +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L197'>screen-row-to-surface</a> self, screen-row +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L227'>screen-col-to-surface</a> self, screen-col +<span id="L106" class="LineNr">106 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdi">edi</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> _data-addr/<span class="muRegEax">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> data-addr/<span class="muRegEdi">edi</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _data-addr +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> idx/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='surface.mu.html#L167'>surface-screen-cell-index</a> self, row, col <span id="L110" class="LineNr">110 </span> <span class="muComment"># if out of bounds, print ' '</span> <span id="L111" class="LineNr">111 </span> compare idx, <span class="Constant">0</span> <span id="L112" class="LineNr">112 </span> <span class="Delimiter">{</span> <span id="L113" class="LineNr">113 </span> <span class="PreProc">break-if->=</span> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> space/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x20</span> -<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> space/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy <span class="Constant">0x20</span> +<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L117" class="LineNr">117 </span> <a href='../405screen.mu.html#L214'>print-grapheme</a> <a href='../405screen.mu.html#L9'>screen</a>, space <span id="L118" class="LineNr">118 </span> <span class="PreProc">return</span> <span id="L119" class="LineNr">119 </span> <span class="Delimiter">}</span> <span id="L120" class="LineNr">120 </span> <span class="muComment"># otherwise print the appropriate screen-cell</span> -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> offset/<span class="Constant">ecx</span>: (offset <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data-addr, idx -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data-addr, offset -<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> offset/<span class="muRegEcx">ecx</span>: (offset <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset data-addr, idx +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index data-addr, offset +<span id="L123" class="LineNr">123 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L124" class="LineNr">124 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L125" class="LineNr">125 </span> <a href='surface.mu.html#L129'>print-screen-cell</a> <a href='../405screen.mu.html#L9'>screen</a>, src <span id="L126" class="LineNr">126 </span><span class="Delimiter">}</span> <span id="L127" class="LineNr">127 </span> <span id="L128" class="LineNr">128 </span><span class="muComment"># print a cell with all its formatting at the cursor location</span> <span id="L129" class="LineNr">129 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L129'>print-screen-cell</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _cell: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Delimiter">{</span> -<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> cell/<span class="Constant">esi</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _cell +<span id="L130" class="LineNr">130 </span> <span class="PreProc">var</span> cell/<span class="muRegEsi">esi</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _cell <span id="L131" class="LineNr">131 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> -<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> fg/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, color -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> bg/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, background-color +<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> fg/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, color +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> bg/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, background-color <span id="L134" class="LineNr">134 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, *fg, *bg -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, bold? +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr boolean) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, bold? <span id="L136" class="LineNr">136 </span> <span class="Delimiter">{</span> <span id="L137" class="LineNr">137 </span> compare *tmp, <span class="Constant">0</span> <span id="L138" class="LineNr">138 </span> <span class="PreProc">break-if-=</span> @@ -216,7 +222,7 @@ if ('onhashchange' in window) { <span id="L156" class="LineNr">156 </span> <span class="PreProc">break-if-=</span> <span id="L157" class="LineNr">157 </span> <a href='../405screen.mu.html#L583'>start-blinking</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L158" class="LineNr">158 </span> <span class="Delimiter">}</span> -<span id="L159" class="LineNr">159 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, data +<span id="L159" class="LineNr">159 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: (addr grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cell, data <span id="L160" class="LineNr">160 </span> <a href='../405screen.mu.html#L214'>print-grapheme</a> <a href='../405screen.mu.html#L9'>screen</a>, *g <span id="L161" class="LineNr">161 </span><span class="CommentedCode">#? var g2/eax: grapheme <- copy *g</span> <span id="L162" class="LineNr">162 </span><span class="CommentedCode">#? var g3/eax: int <- copy g2</span> @@ -224,24 +230,24 @@ if ('onhashchange' in window) { <span id="L164" class="LineNr">164 </span><span class="CommentedCode">#? print-string-to-real-screen "\n"</span> <span id="L165" class="LineNr">165 </span><span class="Delimiter">}</span> <span id="L166" class="LineNr">166 </span> -<span id="L167" class="LineNr">167 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L167'>surface-screen-cell-index</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L167" class="LineNr">167 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L167'>surface-screen-cell-index</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), row: int, col: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self <span id="L169" class="LineNr">169 </span><span class="CommentedCode">#? print-int32-hex-to-real-screen row</span> <span id="L170" class="LineNr">170 </span><span class="CommentedCode">#? print-string-to-real-screen ", "</span> <span id="L171" class="LineNr">171 </span><span class="CommentedCode">#? print-int32-hex-to-real-screen col</span> <span id="L172" class="LineNr">172 </span><span class="CommentedCode">#? print-string-to-real-screen "\n"</span> -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> <span id="L174" class="LineNr">174 </span> <span class="Delimiter">{</span> <span id="L175" class="LineNr">175 </span> compare row, <span class="Constant">1</span> <span id="L176" class="LineNr">176 </span> <span class="PreProc">break-if-<</span> <span id="L177" class="LineNr">177 </span> compare col, <span class="Constant">1</span> <span id="L178" class="LineNr">178 </span> <span class="PreProc">break-if-<</span> -<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> nrows-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, nrows -<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> nrows/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *nrows-addr +<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> nrows-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, nrows +<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> nrows/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *nrows-addr <span id="L181" class="LineNr">181 </span> compare row, nrows <span id="L182" class="LineNr">182 </span> <span class="PreProc">break-if-></span> -<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> ncols-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, ncols -<span id="L184" class="LineNr">184 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy *ncols-addr +<span id="L183" class="LineNr">183 </span> <span class="PreProc">var</span> ncols-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, ncols +<span id="L184" class="LineNr">184 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy *ncols-addr <span id="L185" class="LineNr">185 </span> compare col, ncols <span id="L186" class="LineNr">186 </span> <span class="PreProc">break-if-></span> <span id="L187" class="LineNr">187 </span> <span class="CommentedCode">#? print-string-to-real-screen "!\n"</span> @@ -254,18 +260,18 @@ if ('onhashchange' in window) { <span id="L194" class="LineNr">194 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L195" class="LineNr">195 </span><span class="Delimiter">}</span> <span id="L196" class="LineNr">196 </span> -<span id="L197" class="LineNr">197 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L197'>screen-row-to-surface</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), screen-row: int<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> -<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L199" class="LineNr">199 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy screen-row -<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-row +<span id="L197" class="LineNr">197 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L197'>screen-row-to-surface</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), screen-row: int<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> +<span id="L198" class="LineNr">198 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L199" class="LineNr">199 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy screen-row +<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-row <span id="L201" class="LineNr">201 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add *tmp <span id="L202" class="LineNr">202 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-row <span id="L203" class="LineNr">203 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> subtract *tmp <span id="L204" class="LineNr">204 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L205" class="LineNr">205 </span><span class="Delimiter">}</span> <span id="L206" class="LineNr">206 </span> -<span id="L207" class="LineNr">207 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L207'>max</a></span> _a: int, b: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _a +<span id="L207" class="LineNr">207 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L207'>max</a></span> _a: int, b: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _a <span id="L209" class="LineNr">209 </span> compare a, b <span id="L210" class="LineNr">210 </span> <span class="Delimiter">{</span> <span id="L211" class="LineNr">211 </span> <span class="PreProc">break-if-></span> @@ -274,8 +280,8 @@ if ('onhashchange' in window) { <span id="L214" class="LineNr">214 </span> <span class="PreProc">return</span> a <span id="L215" class="LineNr">215 </span><span class="Delimiter">}</span> <span id="L216" class="LineNr">216 </span> -<span id="L217" class="LineNr">217 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L217'>min</a></span> _a: int, b: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy _a +<span id="L217" class="LineNr">217 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L217'>min</a></span> _a: int, b: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy _a <span id="L219" class="LineNr">219 </span> compare a, b <span id="L220" class="LineNr">220 </span> <span class="Delimiter">{</span> <span id="L221" class="LineNr">221 </span> <span class="PreProc">break-if-></span> @@ -284,30 +290,30 @@ if ('onhashchange' in window) { <span id="L224" class="LineNr">224 </span> <span class="PreProc">return</span> b <span id="L225" class="LineNr">225 </span><span class="Delimiter">}</span> <span id="L226" class="LineNr">226 </span> -<span id="L227" class="LineNr">227 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L227'>screen-col-to-surface</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), screen-col: int<span class="PreProc"> -> </span>_/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> -<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L229" class="LineNr">229 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy screen-col -<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-col +<span id="L227" class="LineNr">227 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L227'>screen-col-to-surface</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), screen-col: int<span class="PreProc"> -> </span>_/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> +<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L229" class="LineNr">229 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy screen-col +<span id="L230" class="LineNr">230 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-col <span id="L231" class="LineNr">231 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add *tmp <span id="L232" class="LineNr">232 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-col <span id="L233" class="LineNr">233 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> subtract *tmp <span id="L234" class="LineNr">234 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L235" class="LineNr">235 </span><span class="Delimiter">}</span> <span id="L236" class="LineNr">236 </span> -<span id="L237" class="LineNr">237 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L237'>surface-row-to-screen</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), row: int<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> -<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy row -<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-row +<span id="L237" class="LineNr">237 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L237'>surface-row-to-screen</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), row: int<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> +<span id="L238" class="LineNr">238 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy row +<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-row <span id="L241" class="LineNr">241 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add *tmp <span id="L242" class="LineNr">242 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-row <span id="L243" class="LineNr">243 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> subtract *tmp <span id="L244" class="LineNr">244 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L245" class="LineNr">245 </span><span class="Delimiter">}</span> <span id="L246" class="LineNr">246 </span> -<span id="L247" class="LineNr">247 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L247'>surface-col-to-screen</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), col: int<span class="PreProc"> -> </span>_/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> -<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self -<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy col -<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-col +<span id="L247" class="LineNr">247 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L247'>surface-col-to-screen</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), col: int<span class="PreProc"> -> </span>_/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> +<span id="L248" class="LineNr">248 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L249" class="LineNr">249 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy col +<span id="L250" class="LineNr">250 </span> <span class="PreProc">var</span> tmp/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-screen-col <span id="L251" class="LineNr">251 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add *tmp <span id="L252" class="LineNr">252 </span> tmp <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, pin-col <span id="L253" class="LineNr">253 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> subtract *tmp @@ -315,16 +321,16 @@ if ('onhashchange' in window) { <span id="L255" class="LineNr">255 </span><span class="Delimiter">}</span> <span id="L256" class="LineNr">256 </span> <span id="L257" class="LineNr">257 </span><span class="muComment"># assumes last line doesn't end in '\n'</span> -<span id="L258" class="LineNr">258 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L258'>num-lines</a></span> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">ecx</span>: int <span class="Delimiter">{</span> +<span id="L258" class="LineNr">258 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L258'>num-lines</a></span> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEcx">ecx</span>: int <span class="Delimiter">{</span> <span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L260" class="LineNr">260 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L261" class="LineNr">261 </span> <a href='../108write.subx.html#L24'>write</a> s-addr, in -<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L263" class="LineNr">263 </span> <span class="Delimiter">{</span> -<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr +<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr <span id="L265" class="LineNr">265 </span> compare done?, <span class="Constant">0</span>/false <span id="L266" class="LineNr">266 </span> <span class="PreProc">break-if-!=</span> -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr <span id="L268" class="LineNr">268 </span> compare g, <span class="Constant">0xa</span>/newline <span id="L269" class="LineNr">269 </span> <span class="PreProc">loop-if-!=</span> <span id="L270" class="LineNr">270 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> increment @@ -333,16 +339,16 @@ if ('onhashchange' in window) { <span id="L273" class="LineNr">273 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L274" class="LineNr">274 </span><span class="Delimiter">}</span> <span id="L275" class="LineNr">275 </span> -<span id="L276" class="LineNr">276 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L276'>first-line-length</a></span> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">edx</span>: int <span class="Delimiter">{</span> +<span id="L276" class="LineNr">276 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L276'>first-line-length</a></span> in: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEdx">edx</span>: int <span class="Delimiter">{</span> <span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L279" class="LineNr">279 </span> <a href='../108write.subx.html#L24'>write</a> s-addr, in -<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L281" class="LineNr">281 </span> <span class="Delimiter">{</span> -<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr +<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr <span id="L283" class="LineNr">283 </span> compare done?, <span class="Constant">0</span>/false <span id="L284" class="LineNr">284 </span> <span class="PreProc">break-if-!=</span> -<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr +<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr <span id="L286" class="LineNr">286 </span> compare g, <span class="Constant">0xa</span>/newline <span id="L287" class="LineNr">287 </span> <span class="PreProc">break-if-=</span> <span id="L288" class="LineNr">288 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> increment @@ -353,20 +359,20 @@ if ('onhashchange' in window) { <span id="L293" class="LineNr">293 </span> <span id="L294" class="LineNr">294 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L294'>fill-in</a></span> _out: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>), in: (addr array byte) <span class="Delimiter">{</span> <span id="L295" class="LineNr">295 </span> <span class="PreProc">var</span> s: (stream byte <span class="Constant">0x100</span>) -<span id="L296" class="LineNr">296 </span> <span class="PreProc">var</span> out/<span class="Constant">edi</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _out -<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address s +<span id="L296" class="LineNr">296 </span> <span class="PreProc">var</span> out/<span class="muRegEdi">edi</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> copy _out +<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address s <span id="L298" class="LineNr">298 </span> <a href='../108write.subx.html#L24'>write</a> s-addr, in -<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> idx/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> idx/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L300" class="LineNr">300 </span> <span class="Delimiter">{</span> -<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr +<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> s-addr <span id="L302" class="LineNr">302 </span> compare done?, <span class="Constant">0</span>/false <span id="L303" class="LineNr">303 </span> <span class="PreProc">break-if-!=</span> -<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr +<span id="L304" class="LineNr">304 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> s-addr <span id="L305" class="LineNr">305 </span> compare g, <span class="Constant">0xa</span>/newline <span id="L306" class="LineNr">306 </span> <span class="PreProc">loop-if-=</span> -<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset out, idx -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index out, offset -<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> dest2/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, data +<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> compute-offset out, idx +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> index out, offset +<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> dest2/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, data <span id="L310" class="LineNr">310 </span> copy-to *dest2, g <span id="L311" class="LineNr">311 </span> idx <span class="Special"><-</span> increment <span id="L312" class="LineNr">312 </span> <span class="PreProc">loop</span> @@ -376,15 +382,15 @@ if ('onhashchange' in window) { <span id="L316" class="LineNr">316 </span><span class="muComment"># pin (1, 1) to (1, 1) on screen</span> <span id="L317" class="LineNr">317 </span><span class="PreProc">fn</span> <span class="muTest"><a href='surface.mu.html#L317'>test-surface-pin-at-origin</a></span> <span class="Delimiter">{</span> <span id="L318" class="LineNr">318 </span> <span class="PreProc">var</span> s: <a href='surface.mu.html#L7'>surface</a> -<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s +<span id="L319" class="LineNr">319 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s <span id="L320" class="LineNr">320 </span> <span class="muComment"># surface contents are a fixed grid with 8 rows and 6 columns</span> <span id="L321" class="LineNr">321 </span> <span class="muComment"># (strip vowels second time around to break vertical alignment of letters)</span> <span id="L322" class="LineNr">322 </span> <a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a> s-addr, <span class="Constant">3</span>, <span class="Constant">4</span>, <span class="Constant">"abcdef\nghijkl\nmnopqr\nstuvwx\nyzabcd\nfghjkl\nmnpqrs\ntvwxyz"</span> <span id="L323" class="LineNr">323 </span> <a href='surface.mu.html#L53'>pin-surface-at</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># surface row and column</span> <span id="L324" class="LineNr">324 </span> <a href='surface.mu.html#L63'>pin-surface-to</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># screen row and column</span> <span id="L325" class="LineNr">325 </span> <a href='surface.mu.html#L73'>render-surface</a> s-addr -<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L328" class="LineNr">328 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">1</span>, <span class="Constant">"abcd"</span>, <span class="Constant">"F - test-surface-pin-at-origin"</span> <span id="L329" class="LineNr">329 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">2</span>, <span class="Constant">"ghij"</span>, <span class="Constant">"F - test-surface-pin-at-origin"</span> <span id="L330" class="LineNr">330 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">3</span>, <span class="Constant">"mnop"</span>, <span class="Constant">"F - test-surface-pin-at-origin"</span> @@ -393,15 +399,15 @@ if ('onhashchange' in window) { <span id="L333" class="LineNr">333 </span><span class="muComment"># pin (1, 1) to (2, 1) on screen; screen goes past edge of the universe</span> <span id="L334" class="LineNr">334 </span><span class="PreProc">fn</span> <span class="muTest"><a href='surface.mu.html#L334'>test-surface-pin-2</a></span> <span class="Delimiter">{</span> <span id="L335" class="LineNr">335 </span> <span class="PreProc">var</span> s: <a href='surface.mu.html#L7'>surface</a> -<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s +<span id="L336" class="LineNr">336 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s <span id="L337" class="LineNr">337 </span> <span class="muComment"># surface contents are a fixed grid with 8 rows and 6 columns</span> <span id="L338" class="LineNr">338 </span> <span class="muComment"># (strip vowels second time around to break vertical alignment of letters)</span> <span id="L339" class="LineNr">339 </span> <a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a> s-addr, <span class="Constant">3</span>, <span class="Constant">4</span>, <span class="Constant">"abcdef\nghijkl\nmnopqr\nstuvwx\nyzabcd\nfghjkl\nmnpqrs\ntvwxyz"</span> <span id="L340" class="LineNr">340 </span> <a href='surface.mu.html#L53'>pin-surface-at</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># surface row and column</span> <span id="L341" class="LineNr">341 </span> <a href='surface.mu.html#L63'>pin-surface-to</a> s-addr, <span class="Constant">2</span>, <span class="Constant">1</span> <span class="muComment"># screen row and column</span> <span id="L342" class="LineNr">342 </span> <a href='surface.mu.html#L73'>render-surface</a> s-addr -<span id="L343" class="LineNr">343 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L343" class="LineNr">343 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L345" class="LineNr">345 </span> <span class="muComment"># surface edge reached (should seldom happen in the app)</span> <span id="L346" class="LineNr">346 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">1</span>, <span class="Constant">" "</span>, <span class="Constant">"F - test-surface-pin-2"</span> <span id="L347" class="LineNr">347 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">2</span>, <span class="Constant">"abcd"</span>, <span class="Constant">"F - test-surface-pin-2"</span> @@ -411,15 +417,15 @@ if ('onhashchange' in window) { <span id="L351" class="LineNr">351 </span><span class="muComment"># pin (2, 1) to (1, 1) on screen</span> <span id="L352" class="LineNr">352 </span><span class="PreProc">fn</span> <span class="muTest"><a href='surface.mu.html#L352'>test-surface-pin-3</a></span> <span class="Delimiter">{</span> <span id="L353" class="LineNr">353 </span> <span class="PreProc">var</span> s: <a href='surface.mu.html#L7'>surface</a> -<span id="L354" class="LineNr">354 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s +<span id="L354" class="LineNr">354 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s <span id="L355" class="LineNr">355 </span> <span class="muComment"># surface contents are a fixed grid with 8 rows and 6 columns</span> <span id="L356" class="LineNr">356 </span> <span class="muComment"># (strip vowels second time around to break vertical alignment of letters)</span> <span id="L357" class="LineNr">357 </span> <a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a> s-addr, <span class="Constant">3</span>, <span class="Constant">4</span>, <span class="Constant">"abcdef\nghijkl\nmnopqr\nstuvwx\nyzabcd\nfghjkl\nmnpqrs\ntvwxyz"</span> <span id="L358" class="LineNr">358 </span> <a href='surface.mu.html#L53'>pin-surface-at</a> s-addr, <span class="Constant">2</span>, <span class="Constant">1</span> <span class="muComment"># surface row and column</span> <span id="L359" class="LineNr">359 </span> <a href='surface.mu.html#L63'>pin-surface-to</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># screen row and column</span> <span id="L360" class="LineNr">360 </span> <a href='surface.mu.html#L73'>render-surface</a> s-addr -<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L362" class="LineNr">362 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L362" class="LineNr">362 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L363" class="LineNr">363 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">1</span>, <span class="Constant">"ghij"</span>, <span class="Constant">"F - test-surface-pin-3"</span> <span id="L364" class="LineNr">364 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">2</span>, <span class="Constant">"mnop"</span>, <span class="Constant">"F - test-surface-pin-3"</span> <span id="L365" class="LineNr">365 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">3</span>, <span class="Constant">"stuv"</span>, <span class="Constant">"F - test-surface-pin-3"</span> @@ -428,15 +434,15 @@ if ('onhashchange' in window) { <span id="L368" class="LineNr">368 </span><span class="muComment"># pin (1, 1) to (1, 2) on screen; screen goes past edge of the universe</span> <span id="L369" class="LineNr">369 </span><span class="PreProc">fn</span> <span class="muTest"><a href='surface.mu.html#L369'>test-surface-pin-4</a></span> <span class="Delimiter">{</span> <span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> s: <a href='surface.mu.html#L7'>surface</a> -<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s +<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s <span id="L372" class="LineNr">372 </span> <span class="muComment"># surface contents are a fixed grid with 8 rows and 6 columns</span> <span id="L373" class="LineNr">373 </span> <span class="muComment"># (strip vowels second time around to break vertical alignment of letters)</span> <span id="L374" class="LineNr">374 </span> <a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a> s-addr, <span class="Constant">3</span>, <span class="Constant">4</span>, <span class="Constant">"abcdef\nghijkl\nmnopqr\nstuvwx\nyzabcd\nfghjkl\nmnpqrs\ntvwxyz"</span> <span id="L375" class="LineNr">375 </span> <a href='surface.mu.html#L53'>pin-surface-at</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># surface row and column</span> <span id="L376" class="LineNr">376 </span> <a href='surface.mu.html#L63'>pin-surface-to</a> s-addr, <span class="Constant">1</span>, <span class="Constant">2</span> <span class="muComment"># screen row and column</span> <span id="L377" class="LineNr">377 </span> <a href='surface.mu.html#L73'>render-surface</a> s-addr -<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L380" class="LineNr">380 </span> <span class="muComment"># surface edge reached (should seldom happen in the app)</span> <span id="L381" class="LineNr">381 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">1</span>, <span class="Constant">" abc"</span>, <span class="Constant">"F - test-surface-pin-4"</span> <span id="L382" class="LineNr">382 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">2</span>, <span class="Constant">" ghi"</span>, <span class="Constant">"F - test-surface-pin-4"</span> @@ -446,26 +452,26 @@ if ('onhashchange' in window) { <span id="L386" class="LineNr">386 </span><span class="muComment"># pin (1, 2) to (1, 1) on screen</span> <span id="L387" class="LineNr">387 </span><span class="PreProc">fn</span> <span class="muTest"><a href='surface.mu.html#L387'>test-surface-pin-5</a></span> <span class="Delimiter">{</span> <span id="L388" class="LineNr">388 </span> <span class="PreProc">var</span> s: <a href='surface.mu.html#L7'>surface</a> -<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> s-addr/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s +<span id="L389" class="LineNr">389 </span> <span class="PreProc">var</span> s-addr/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> address s <span id="L390" class="LineNr">390 </span> <span class="muComment"># surface contents are a fixed grid with 8 rows and 6 columns</span> <span id="L391" class="LineNr">391 </span> <span class="muComment"># (strip vowels second time around to break vertical alignment of letters)</span> <span id="L392" class="LineNr">392 </span> <a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a> s-addr, <span class="Constant">3</span>, <span class="Constant">4</span>, <span class="Constant">"abcdef\nghijkl\nmnopqr\nstuvwx\nyzabcd\nfghjkl\nmnpqrs\ntvwxyz"</span> <span id="L393" class="LineNr">393 </span> <a href='surface.mu.html#L53'>pin-surface-at</a> s-addr, <span class="Constant">1</span>, <span class="Constant">2</span> <span class="muComment"># surface row and column</span> <span id="L394" class="LineNr">394 </span> <a href='surface.mu.html#L63'>pin-surface-to</a> s-addr, <span class="Constant">1</span>, <span class="Constant">1</span> <span class="muComment"># screen row and column</span> <span id="L395" class="LineNr">395 </span> <a href='surface.mu.html#L73'>render-surface</a> s-addr -<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> -<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> s-addr, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L398" class="LineNr">398 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">1</span>, <span class="Constant">"bcde"</span>, <span class="Constant">"F - test-surface-pin-5"</span> <span id="L399" class="LineNr">399 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">2</span>, <span class="Constant">"hijk"</span>, <span class="Constant">"F - test-surface-pin-5"</span> <span id="L400" class="LineNr">400 </span> <a href='../405screen.mu.html#L627'>check-screen-row</a> screen-addr, <span class="Constant">3</span>, <span class="Constant">"nopq"</span>, <span class="Constant">"F - test-surface-pin-5"</span> <span id="L401" class="LineNr">401 </span><span class="Delimiter">}</span> <span id="L402" class="LineNr">402 </span> <span id="L403" class="LineNr">403 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='surface.mu.html#L403'>initialize-surface-with-fake-screen</a></span> _self: (addr <a href='surface.mu.html#L7'>surface</a>), nrows: int, ncols: int, in: (addr array byte) <span class="Delimiter">{</span> -<span id="L404" class="LineNr">404 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self +<span id="L404" class="LineNr">404 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='surface.mu.html#L7'>surface</a>) <span class="Special"><-</span> copy _self <span id="L405" class="LineNr">405 </span> <span class="muComment"># fill in screen</span> -<span id="L406" class="LineNr">406 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> +<span id="L406" class="LineNr">406 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../405screen.mu.html#L9'>screen</a> <span id="L407" class="LineNr">407 </span> <a href='../120allocate.subx.html#L66'>allocate</a> screen-ah -<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> screen-addr/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L408" class="LineNr">408 </span> <span class="PreProc">var</span> screen-addr/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L409" class="LineNr">409 </span> <a href='../405screen.mu.html#L30'>initialize-screen</a> screen-addr, nrows, ncols <span id="L410" class="LineNr">410 </span> <span class="muComment"># fill in everything else</span> <span id="L411" class="LineNr">411 </span> <a href='surface.mu.html#L21'>initialize-surface-with</a> self, in diff --git a/html/linux/tile/table.mu.html b/html/linux/tile/table.mu.html index 83e22fa0..31dcfc1f 100644 --- a/html/linux/tile/table.mu.html +++ b/html/linux/tile/table.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } -.muComment { color: #005faf; } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } .Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -58,46 +64,46 @@ if ('onhashchange' in window) { <a href='https://github.com/akkartik/mu/blob/main/linux/tile/table.mu'>https://github.com/akkartik/mu/blob/main/linux/tile/table.mu</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L1'>initialize-table</a></span> _self: (addr <a href='data.mu.html#L59'>table</a>), n: int <span class="Delimiter">{</span> -<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data <span id="L4" class="LineNr"> 4 </span> populate data-ah, n <span id="L5" class="LineNr"> 5 </span><span class="Delimiter">}</span> <span id="L6" class="LineNr"> 6 </span> <span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L7'>deep-copy-table</a></span> _src: (addr <a href='data.mu.html#L59'>table</a>), _dest: (addr <a href='data.mu.html#L59'>table</a>) <span class="Delimiter">{</span> <span id="L8" class="LineNr"> 8 </span><span class="CommentedCode">#? print-string 0, "deep-copy-table\n"</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _src -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> src-data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, data -<span id="L11" class="LineNr"> 11 </span> <span class="PreProc">var</span> _src-data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> src-data/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _src-data -<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length src-data -<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _dest +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _src +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> src-data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, data +<span id="L11" class="LineNr"> 11 </span> <span class="PreProc">var</span> _src-data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> src-data/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _src-data +<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length src-data +<span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _dest <span id="L15" class="LineNr"> 15 </span> <a href='table.mu.html#L1'>initialize-table</a> dest, n -<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> dest-data-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, data -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> _dest-data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-data-ah -<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> dest-data/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _dest-data -<span id="L19" class="LineNr"> 19 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L16" class="LineNr"> 16 </span> <span class="PreProc">var</span> dest-data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, data +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> _dest-data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-data-ah +<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> dest-data/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _dest-data +<span id="L19" class="LineNr"> 19 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L20" class="LineNr"> 20 </span> <span class="Delimiter">{</span> <span id="L21" class="LineNr"> 21 </span> compare i, n <span id="L22" class="LineNr"> 22 </span> <span class="PreProc">break-if->=</span> <span id="L23" class="LineNr"> 23 </span><span class="CommentedCode">#? print-string 0, "iter\n"</span> <span id="L24" class="LineNr"> 24 </span> $deep-copy:element: <span class="Delimiter">{</span> -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset src-data, i -<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> src-bind/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index src-data, offset -<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> dest-bind/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index dest-data, offset -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> src-key-ah/<span class="Constant">ebx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-bind, key -<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> src-key/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-key-ah +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset src-data, i +<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> src-bind/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index src-data, offset +<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> dest-bind/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index dest-data, offset +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> src-key-ah/<span class="muRegEbx">ebx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-bind, key +<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> src-key/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-key-ah <span id="L30" class="LineNr"> 30 </span> compare src-key, <span class="Constant">0</span> <span id="L31" class="LineNr"> 31 </span> <span class="PreProc">break-if-=</span> <span id="L32" class="LineNr"> 32 </span> <span class="muComment"># copy key</span> -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> dest-key-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-bind, key +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> dest-key-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-bind, key <span id="L34" class="LineNr"> 34 </span> copy-object src-key-ah, dest-key-ah <span id="L35" class="LineNr"> 35 </span> <span class="muComment"># deep copy value</span> -<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> src-val-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-bind, <a href='data.mu.html#L49'>value</a> -<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> _src-val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-val-ah -<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> src-val/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src-val -<span id="L39" class="LineNr"> 39 </span> <span class="PreProc">var</span> dest-val-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-bind, <a href='data.mu.html#L49'>value</a> +<span id="L36" class="LineNr"> 36 </span> <span class="PreProc">var</span> src-val-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-bind, <a href='data.mu.html#L49'>value</a> +<span id="L37" class="LineNr"> 37 </span> <span class="PreProc">var</span> _src-val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-val-ah +<span id="L38" class="LineNr"> 38 </span> <span class="PreProc">var</span> src-val/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src-val +<span id="L39" class="LineNr"> 39 </span> <span class="PreProc">var</span> dest-val-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-bind, <a href='data.mu.html#L49'>value</a> <span id="L40" class="LineNr"> 40 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest-val-ah -<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> dest-val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-val-ah +<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> dest-val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-val-ah <span id="L42" class="LineNr"> 42 </span><span class="CommentedCode">#? print-string 0, "deep copy value {\n"</span> <span id="L43" class="LineNr"> 43 </span> <a href='value.mu.html#L338'>deep-copy-value</a> src-val, dest-val <span id="L44" class="LineNr"> 44 </span><span class="CommentedCode">#? print-string 0, "}\n"</span> @@ -109,29 +115,29 @@ if ('onhashchange' in window) { <span id="L50" class="LineNr"> 50 </span><span class="Delimiter">}</span> <span id="L51" class="LineNr"> 51 </span> <span id="L52" class="LineNr"> 52 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L52'>bind-in-table</a></span> _self: (addr <a href='data.mu.html#L59'>table</a>), key: (addr handle array byte), val: (addr <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> data/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data -<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> next-empty-slot-index/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='table.mu.html#L63'>next-empty-slot</a> data, key -<span id="L58" class="LineNr"> 58 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, next-empty-slot-index +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEsi">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> data/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data +<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> next-empty-slot-index/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='table.mu.html#L63'>next-empty-slot</a> data, key +<span id="L58" class="LineNr"> 58 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, next-empty-slot-index <span id="L59" class="LineNr"> 59 </span> <a href='table.mu.html#L98'>make-binding</a> dest, key, val <span id="L60" class="LineNr"> 60 </span><span class="Delimiter">}</span> <span id="L61" class="LineNr"> 61 </span> <span id="L62" class="LineNr"> 62 </span><span class="muComment"># manual test: full array of binds</span> -<span id="L63" class="LineNr"> 63 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L63'>next-empty-slot</a></span> _data: (addr array <a href='data.mu.html#L64'>bind</a>), key: (addr handle array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Delimiter">{</span> -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> data/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length data -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> i/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L63" class="LineNr"> 63 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L63'>next-empty-slot</a></span> _data: (addr array <a href='data.mu.html#L64'>bind</a>), key: (addr handle array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Delimiter">{</span> +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> data/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length data +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> i/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L68" class="LineNr"> 68 </span> $next-empty-slot:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L69" class="LineNr"> 69 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> compute-offset data, i <span id="L70" class="LineNr"> 70 </span> compare i, len <span id="L71" class="LineNr"> 71 </span> <span class="PreProc">break-if->=</span> <span id="L72" class="LineNr"> 72 </span> <span class="Delimiter">{</span> -<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> target/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, <a href='data.mu.html#L82'>result</a> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> target2/<span class="Constant">esi</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, key -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> target3/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target2 +<span id="L73" class="LineNr"> 73 </span> <span class="PreProc">var</span> target/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, <a href='data.mu.html#L82'>result</a> +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> target2/<span class="muRegEsi">esi</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, key +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> target3/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target2 <span id="L76" class="LineNr"> 76 </span> compare target3, <span class="Constant">0</span> <span id="L77" class="LineNr"> 77 </span> <span class="PreProc">break-if-=</span> $next-empty-slot:<span class="PreProc">loop</span> <span id="L78" class="LineNr"> 78 </span> <span class="muComment"># TODO: how to indicate that key already exists? we don't want to permit rebinding</span> @@ -143,49 +149,49 @@ if ('onhashchange' in window) { <span id="L84" class="LineNr"> 84 </span><span class="Delimiter">}</span> <span id="L85" class="LineNr"> 85 </span> <span id="L86" class="LineNr"> 86 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L86'>make-number-binding</a></span> _self: (addr <a href='data.mu.html#L64'>bind</a>), key: (addr handle array byte), _val: float <span class="Delimiter">{</span> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _self -<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, key +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _self +<span id="L88" class="LineNr"> 88 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, key <span id="L89" class="LineNr"> 89 </span> copy-object key, dest -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> dest2/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='data.mu.html#L49'>value</a> +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> dest2/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='data.mu.html#L49'>value</a> <span id="L91" class="LineNr"> 91 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest2 -<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> dest3/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest2 -<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> dest4/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest3, number-data +<span id="L92" class="LineNr"> 92 </span> <span class="PreProc">var</span> dest3/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest2 +<span id="L93" class="LineNr"> 93 </span> <span class="PreProc">var</span> dest4/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest3, number-data <span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> val/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy _val <span id="L95" class="LineNr"> 95 </span> copy-to *dest4, val <span id="L96" class="LineNr"> 96 </span><span class="Delimiter">}</span> <span id="L97" class="LineNr"> 97 </span> <span id="L98" class="LineNr"> 98 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L98'>make-binding</a></span> _self: (addr <a href='data.mu.html#L64'>bind</a>), key: (addr handle array byte), val: (addr <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _self -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, key +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _self +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, key <span id="L101" class="LineNr">101 </span> copy-object key, dest -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> dest2/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='data.mu.html#L49'>value</a> +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> dest2/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='data.mu.html#L49'>value</a> <span id="L103" class="LineNr">103 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest2 -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> dest3/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest2 +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> dest3/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest2 <span id="L105" class="LineNr">105 </span> copy-object val, dest3 <span id="L106" class="LineNr">106 </span><span class="Delimiter">}</span> <span id="L107" class="LineNr">107 </span> <span id="L108" class="LineNr">108 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L108'>lookup-binding</a></span> _self: (addr <a href='data.mu.html#L59'>table</a>), key: (addr array byte), out: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self -<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> data/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data -<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> len/<span class="Constant">edx</span>: int <span class="Special"><-</span> length data -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self +<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEsi">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L111" class="LineNr">111 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L112" class="LineNr">112 </span> <span class="PreProc">var</span> data/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data +<span id="L113" class="LineNr">113 </span> <span class="PreProc">var</span> len/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> length data +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L115" class="LineNr">115 </span> $lookup-binding:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> <span id="L116" class="LineNr">116 </span> compare i, len <span id="L117" class="LineNr">117 </span> <span class="PreProc">break-if->=</span> <span id="L118" class="LineNr">118 </span> <span class="Delimiter">{</span> -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset data, i -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> target-bind/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, offset -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> target2/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, key -<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> target3/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target2 +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset data, i +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> target-bind/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, offset +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> target2/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, key +<span id="L122" class="LineNr">122 </span> <span class="PreProc">var</span> target3/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *target2 <span id="L123" class="LineNr">123 </span> compare target3, <span class="Constant">0</span> <span id="L124" class="LineNr">124 </span> <span class="PreProc">break-if-=</span> $lookup-binding:<span class="PreProc">loop</span> -<span id="L125" class="LineNr">125 </span> <span class="PreProc">var</span> match?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> target3, key +<span id="L125" class="LineNr">125 </span> <span class="PreProc">var</span> match?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> target3, key <span id="L126" class="LineNr">126 </span> compare match?, <span class="Constant">0</span>/false <span id="L127" class="LineNr">127 </span> <span class="PreProc">break-if-=</span> <span id="L128" class="LineNr">128 </span> <span class="muComment"># found</span> -<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> target/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, <a href='data.mu.html#L49'>value</a> +<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> target/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, <a href='data.mu.html#L49'>value</a> <span id="L130" class="LineNr">130 </span> copy-object target, out <span id="L131" class="LineNr">131 </span> <span class="PreProc">break</span> $lookup-binding:<span class="PreProc">loop</span> <span id="L132" class="LineNr">132 </span> <span class="Delimiter">}</span> @@ -195,26 +201,26 @@ if ('onhashchange' in window) { <span id="L136" class="LineNr">136 </span><span class="Delimiter">}</span> <span id="L137" class="LineNr">137 </span> <span id="L138" class="LineNr">138 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='table.mu.html#L138'>dump-table</a></span> _self: (addr <a href='data.mu.html#L59'>table</a>) <span class="Delimiter">{</span> -<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self -<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> _data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> len/<span class="Constant">edx</span>: int <span class="Special"><-</span> length data -<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L59'>table</a>) <span class="Special"><-</span> copy _self +<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEsi">esi</span>: (addr handle array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> _data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> copy _data +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> len/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> length data +<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L145" class="LineNr">145 </span> <span class="Delimiter">{</span> <span id="L146" class="LineNr">146 </span> compare i, len <span id="L147" class="LineNr">147 </span> <span class="PreProc">break-if->=</span> -<span id="L148" class="LineNr">148 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset data, i -<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> target-bind/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, offset -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> key-ah/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, key -<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> key/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *key-ah +<span id="L148" class="LineNr">148 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> compute-offset data, i +<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> target-bind/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L64'>bind</a>) <span class="Special"><-</span> index data, offset +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> key-ah/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, key +<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> key/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *key-ah <span id="L152" class="LineNr">152 </span> compare key, <span class="Constant">0</span> <span id="L153" class="LineNr">153 </span> <span class="PreProc">break-if-=</span> <span id="L154" class="LineNr">154 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, key <span id="L155" class="LineNr">155 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">": "</span> -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, <a href='data.mu.html#L49'>value</a> -<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> val/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah -<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, <span class="PreProc">type</span> +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-bind, <a href='data.mu.html#L49'>value</a> +<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> val/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, <span class="PreProc">type</span> <span id="L159" class="LineNr">159 </span> <a href='../405screen.mu.html#L440'>print-int32-hex</a> <span class="Constant">0</span>, *<span class="PreProc">type</span> <span id="L160" class="LineNr">160 </span> <a href='../405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>, <span class="Constant">"\n"</span> <span id="L161" class="LineNr">161 </span> i <span class="Special"><-</span> increment diff --git a/html/linux/tile/value-stack.mu.html b/html/linux/tile/value-stack.mu.html index e3d6ccf0..ad7b9718 100644 --- a/html/linux/tile/value-stack.mu.html +++ b/html/linux/tile/value-stack.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } -.Special { color: #ff6060; } .LineNr { } -.Constant { color: #008787; } -.CommentedCode { color: #8a8a8a; } .Delimiter { color: #c000c0; } +.CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } +.Constant { color: #008787; } +.Special { color: #ff6060; } +.PreProc { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -65,47 +71,47 @@ if ('onhashchange' in window) { <span id="L6" class="LineNr"> 6 </span><span class="Delimiter">}</span> <span id="L7" class="LineNr"> 7 </span> <span id="L8" class="LineNr"> 8 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L8'>initialize-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), n: int <span class="Delimiter">{</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> d/<span class="Constant">edi</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> d/<span class="muRegEdi">edi</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data <span id="L11" class="LineNr"> 11 </span> populate d, n -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L13" class="LineNr"> 13 </span> copy-to *top, <span class="Constant">0</span> <span id="L14" class="LineNr"> 14 </span><span class="Delimiter">}</span> <span id="L15" class="LineNr"> 15 </span> <span id="L16" class="LineNr"> 16 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L16'>clear-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Delimiter">{</span> -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L19" class="LineNr"> 19 </span> copy-to *top, <span class="Constant">0</span> <span id="L20" class="LineNr"> 20 </span><span class="Delimiter">}</span> <span id="L21" class="LineNr"> 21 </span> <span id="L22" class="LineNr"> 22 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L22'>push-number-to-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), _val: float <span class="Delimiter">{</span> -<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> dest-addr2/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, number-data +<span id="L23" class="LineNr"> 23 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L24" class="LineNr"> 24 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L25" class="LineNr"> 25 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L26" class="LineNr"> 26 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L27" class="LineNr"> 27 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L28" class="LineNr"> 28 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L29" class="LineNr"> 29 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> dest-addr2/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, number-data <span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> val/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> copy _val <span id="L32" class="LineNr"> 32 </span><span class="CommentedCode">#? print-float-decimal-approximate 0, val, 3</span> <span id="L33" class="LineNr"> 33 </span> copy-to *dest-addr2, val <span id="L34" class="LineNr"> 34 </span> increment *top-addr -<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> type-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> +<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> type-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> <span id="L36" class="LineNr"> 36 </span> copy-to *type-addr, <span class="Constant">0</span>/number <span id="L37" class="LineNr"> 37 </span><span class="Delimiter">}</span> <span id="L38" class="LineNr"> 38 </span> <span id="L39" class="LineNr"> 39 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L39'>push-string-to-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), val: (handle array byte) <span class="Delimiter">{</span> -<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L47" class="LineNr"> 47 </span> <span class="PreProc">var</span> dest-addr2/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, text-data +<span id="L40" class="LineNr"> 40 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L46" class="LineNr"> 46 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L47" class="LineNr"> 47 </span> <span class="PreProc">var</span> dest-addr2/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, text-data <span id="L48" class="LineNr"> 48 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> val, dest-addr2 -<span id="L49" class="LineNr"> 49 </span> <span class="PreProc">var</span> dest-addr3/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> +<span id="L49" class="LineNr"> 49 </span> <span class="PreProc">var</span> dest-addr3/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> <span id="L50" class="LineNr"> 50 </span><span class="CommentedCode">#? print-string 0, "setting type to 1: "</span> <span id="L51" class="LineNr"> 51 </span><span class="CommentedCode">#? {</span> <span id="L52" class="LineNr"> 52 </span><span class="CommentedCode">#? var foo/eax: int <- copy dest-addr3</span> @@ -117,56 +123,56 @@ if ('onhashchange' in window) { <span id="L58" class="LineNr"> 58 </span><span class="Delimiter">}</span> <span id="L59" class="LineNr"> 59 </span> <span id="L60" class="LineNr"> 60 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L60'>push-array-to-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), val: (handle array <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> dest-addr2/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, array-data +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L62" class="LineNr"> 62 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L64" class="LineNr"> 64 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L65" class="LineNr"> 65 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L67" class="LineNr"> 67 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L68" class="LineNr"> 68 </span> <span class="PreProc">var</span> dest-addr2/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, array-data <span id="L69" class="LineNr"> 69 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> val, dest-addr2 <span id="L70" class="LineNr"> 70 </span> <span class="muComment"># update type</span> -<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> dest-addr3/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> +<span id="L71" class="LineNr"> 71 </span> <span class="PreProc">var</span> dest-addr3/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-addr, <span class="PreProc">type</span> <span id="L72" class="LineNr"> 72 </span> copy-to *dest-addr3, <span class="Constant">2</span>/array <span id="L73" class="LineNr"> 73 </span> increment *top-addr <span id="L74" class="LineNr"> 74 </span><span class="Delimiter">}</span> <span id="L75" class="LineNr"> 75 </span> <span id="L76" class="LineNr"> 76 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L76'>push-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>), val: (addr <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> -<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> dest-addr/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> dest-addr/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset <span id="L84" class="LineNr"> 84 </span> copy-object val, dest-addr <span id="L85" class="LineNr"> 85 </span> increment *top-addr <span id="L86" class="LineNr"> 86 </span><span class="Delimiter">}</span> <span id="L87" class="LineNr"> 87 </span> <span id="L88" class="LineNr"> 88 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L88'>pop-number-from-value-stack</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">xmm0</span>: float <span class="Delimiter">{</span> -<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L89" class="LineNr"> 89 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L90" class="LineNr"> 90 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L91" class="LineNr"> 91 </span> <span class="Delimiter">{</span> <span id="L92" class="LineNr"> 92 </span> compare *top-addr, <span class="Constant">0</span> <span id="L93" class="LineNr"> 93 </span> <span class="PreProc">break-if-></span> -<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> minus-one/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> +<span id="L94" class="LineNr"> 94 </span> <span class="PreProc">var</span> minus-one/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">-1</span> <span id="L95" class="LineNr"> 95 </span> <span class="PreProc">var</span> minus-one-f/<span class="Constant">xmm0</span>: float <span class="Special"><-</span> convert minus-one <span id="L96" class="LineNr"> 96 </span> <span class="PreProc">return</span> minus-one-f <span id="L97" class="LineNr"> 97 </span> <span class="Delimiter">}</span> <span id="L98" class="LineNr"> 98 </span> decrement *top-addr -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy *top-addr -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> result-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> result-addr2/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> result-addr, number-data +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, data +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy *top-addr +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset data, <a href='../203stack.subx.html#L338'>top</a> +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> result-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index data, dest-offset +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> result-addr2/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> result-addr, number-data <span id="L105" class="LineNr">105 </span> <span class="PreProc">return</span> *result-addr2 <span id="L106" class="LineNr">106 </span><span class="Delimiter">}</span> <span id="L107" class="LineNr">107 </span> -<span id="L108" class="LineNr">108 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L108'>value-stack-empty?</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L108" class="LineNr">108 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L108'>value-stack-empty?</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> <a href='../203stack.subx.html#L338'>top</a>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L111" class="LineNr">111 </span> compare *top, <span class="Constant">0</span> <span id="L112" class="LineNr">112 </span> <span class="Delimiter">{</span> <span id="L113" class="LineNr">113 </span> <span class="PreProc">break-if-!=</span> @@ -175,32 +181,32 @@ if ('onhashchange' in window) { <span id="L116" class="LineNr">116 </span> <span class="PreProc">return</span> <span class="Constant">0</span>/false <span id="L117" class="LineNr">117 </span><span class="Delimiter">}</span> <span id="L118" class="LineNr">118 </span> -<span id="L119" class="LineNr">119 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L119'>value-stack-length</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self -<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> +<span id="L119" class="LineNr">119 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L119'>value-stack-length</a></span> _self: (addr <a href='value-stack.mu.html#L3'>value-stack</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L120" class="LineNr">120 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='value-stack.mu.html#L3'>value-stack</a>) <span class="Special"><-</span> copy _self +<span id="L121" class="LineNr">121 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, <a href='../203stack.subx.html#L338'>top</a> <span id="L122" class="LineNr">122 </span> <span class="PreProc">return</span> *top-addr <span id="L123" class="LineNr">123 </span><span class="Delimiter">}</span> <span id="L124" class="LineNr">124 </span> <span id="L125" class="LineNr">125 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value-stack.mu.html#L125'>save-lines</a></span> in-h: (handle array (handle array byte)), _out-ah: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> -<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> _in/<span class="Constant">eax</span>: (addr array (handle array byte)) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> in-h -<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> in/<span class="Constant">esi</span>: (addr array (handle array byte)) <span class="Special"><-</span> copy _in -<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length in -<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> out-ah/<span class="Constant">edi</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _out-ah +<span id="L126" class="LineNr">126 </span> <span class="PreProc">var</span> _in/<span class="muRegEax">eax</span>: (addr array (handle array byte)) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> in-h +<span id="L127" class="LineNr">127 </span> <span class="PreProc">var</span> in/<span class="muRegEsi">esi</span>: (addr array (handle array byte)) <span class="Special"><-</span> copy _in +<span id="L128" class="LineNr">128 </span> <span class="PreProc">var</span> len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length in +<span id="L129" class="LineNr">129 </span> <span class="PreProc">var</span> out-ah/<span class="muRegEdi">edi</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _out-ah <span id="L130" class="LineNr">130 </span> populate out-ah, len -<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah +<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out-ah <span id="L132" class="LineNr">132 </span> <span class="muComment"># copy in into out</span> -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> i/<span class="Constant">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> i/<span class="muRegEbx">ebx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L134" class="LineNr">134 </span> <span class="Delimiter">{</span> <span id="L135" class="LineNr">135 </span> compare i, len <span id="L136" class="LineNr">136 </span> <span class="PreProc">break-if->=</span> <span id="L137" class="LineNr">137 </span><span class="CommentedCode">#? print-int32-hex 0, i</span> <span id="L138" class="LineNr">138 </span><span class="CommentedCode">#? print-string 0, "\n"</span> -<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> src/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> index in, i -<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> dest-offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset out, i -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> dest-val/<span class="Constant">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index out, dest-offset -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, text-data +<span id="L139" class="LineNr">139 </span> <span class="PreProc">var</span> src/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> index in, i +<span id="L140" class="LineNr">140 </span> <span class="PreProc">var</span> dest-offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset out, i +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> dest-val/<span class="muRegEdx">edx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index out, dest-offset +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, text-data <span id="L143" class="LineNr">143 </span> copy-object src, dest -<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, <span class="PreProc">type</span> +<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEdx">edx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-val, <span class="PreProc">type</span> <span id="L145" class="LineNr">145 </span> copy-to *<span class="PreProc">type</span>, <span class="Constant">1</span>/string <span id="L146" class="LineNr">146 </span> i <span class="Special"><-</span> increment <span id="L147" class="LineNr">147 </span> <span class="PreProc">loop</span> diff --git a/html/linux/tile/value.mu.html b/html/linux/tile/value.mu.html index e10974de..1716841a 100644 --- a/html/linux/tile/value.mu.html +++ b/html/linux/tile/value.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } +.Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } -.muComment { color: #005faf; } -.Delimiter { color: #c000c0; } -.muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muFunction { color: #af5f00; text-decoration: underline; } +.muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -59,22 +65,22 @@ if ('onhashchange' in window) { <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L1'>render-value-at</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, col: int, _val: (addr <a href='data.mu.html#L49'>value</a>), top-level?: boolean <span class="Delimiter">{</span> <span id="L2" class="LineNr"> 2 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> val/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _val -<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> val-type/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, <span class="PreProc">type</span> +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> val/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _val +<span id="L4" class="LineNr"> 4 </span> <span class="PreProc">var</span> val-type/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, <span class="PreProc">type</span> <span id="L5" class="LineNr"> 5 </span> <span class="muComment"># per-type rendering logic goes here</span> <span id="L6" class="LineNr"> 6 </span> compare *val-type, <span class="Constant">1</span>/string <span id="L7" class="LineNr"> 7 </span> <span class="Delimiter">{</span> <span id="L8" class="LineNr"> 8 </span> <span class="PreProc">break-if-!=</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, text-data -<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> val-string/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, text-data +<span id="L10" class="LineNr"> 10 </span> <span class="PreProc">var</span> val-string/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L11" class="LineNr"> 11 </span> compare val-string, <span class="Constant">0</span> <span id="L12" class="LineNr"> 12 </span> <span class="PreProc">break-if-=</span> -<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> orig-len/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length val-string +<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> orig-len/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length val-string <span id="L14" class="LineNr"> 14 </span> <span class="PreProc">var</span> truncated: (handle array byte) -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> truncated-ah/<span class="Constant">esi</span>: (addr handle array byte) <span class="Special"><-</span> address truncated +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> truncated-ah/<span class="muRegEsi">esi</span>: (addr handle array byte) <span class="Special"><-</span> address truncated <span id="L16" class="LineNr"> 16 </span> <a href='../411string.mu.html#L2'>substring</a> val-string, <span class="Constant">0</span>, <span class="Constant">0xc</span>, truncated-ah -<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> truncated-string/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *truncated-ah -<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> len/<span class="Constant">edx</span>: int <span class="Special"><-</span> length truncated-string +<span id="L17" class="LineNr"> 17 </span> <span class="PreProc">var</span> truncated-string/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *truncated-ah +<span id="L18" class="LineNr"> 18 </span> <span class="PreProc">var</span> len/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> length truncated-string <span id="L19" class="LineNr"> 19 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0xf2</span>, <span class="Constant">7</span> <span id="L20" class="LineNr"> 20 </span> <a href='../405screen.mu.html#L435'>print-code-point</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0x275d</span>/open-quote <span id="L21" class="LineNr"> 21 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, truncated-string @@ -90,16 +96,16 @@ if ('onhashchange' in window) { <span id="L31" class="LineNr"> 31 </span> compare *val-type, <span class="Constant">2</span>/array <span id="L32" class="LineNr"> 32 </span> <span class="Delimiter">{</span> <span id="L33" class="LineNr"> 33 </span> <span class="PreProc">break-if-!=</span> -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, array-data -<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> val-array/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, array-data +<span id="L35" class="LineNr"> 35 </span> <span class="PreProc">var</span> val-array/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L36" class="LineNr"> 36 </span> <a href='value.mu.html#L98'>render-array-at</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col, val-array <span id="L37" class="LineNr"> 37 </span> <span class="PreProc">return</span> <span id="L38" class="LineNr"> 38 </span> <span class="Delimiter">}</span> <span id="L39" class="LineNr"> 39 </span> compare *val-type, <span class="Constant">3</span>/file <span id="L40" class="LineNr"> 40 </span> <span class="Delimiter">{</span> <span id="L41" class="LineNr"> 41 </span> <span class="PreProc">break-if-!=</span> -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, file-data -<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> val-file/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, file-data +<span id="L43" class="LineNr"> 43 </span> <span class="PreProc">var</span> val-file/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L44" class="LineNr"> 44 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>, <span class="Constant">7</span> <span id="L45" class="LineNr"> 45 </span> <span class="muComment"># TODO</span> <span id="L46" class="LineNr"> 46 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" FILE "</span> @@ -109,14 +115,14 @@ if ('onhashchange' in window) { <span id="L50" class="LineNr"> 50 </span> <span class="Delimiter">{</span> <span id="L51" class="LineNr"> 51 </span> <span class="PreProc">break-if-!=</span> <span id="L52" class="LineNr"> 52 </span><span class="CommentedCode">#? print-string 0, "render-screen"</span> -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> val-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, screen-data -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> val-screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> val-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, screen-data +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> val-screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *val-ah <span id="L55" class="LineNr"> 55 </span> <a href='value.mu.html#L128'>render-screen</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col, val-screen <span id="L56" class="LineNr"> 56 </span><span class="CommentedCode">#? print-string 0, "}\n"</span> <span id="L57" class="LineNr"> 57 </span> <span class="PreProc">return</span> <span id="L58" class="LineNr"> 58 </span> <span class="Delimiter">}</span> <span id="L59" class="LineNr"> 59 </span> <span class="muComment"># render ints by default for now</span> -<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> val-num/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, number-data +<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> val-num/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> val, number-data <span id="L61" class="LineNr"> 61 </span> <a href='value.mu.html#L66'>render-number</a> <a href='../405screen.mu.html#L9'>screen</a>, *val-num, top-level? <span id="L62" class="LineNr"> 62 </span><span class="Delimiter">}</span> <span id="L63" class="LineNr"> 63 </span> @@ -130,9 +136,9 @@ if ('onhashchange' in window) { <span id="L71" class="LineNr"> 71 </span> <a href='../412print-float-decimal.mu.html#L151'>print-float-decimal-approximate</a> <a href='../405screen.mu.html#L9'>screen</a>, val, <span class="Constant">3</span> <span id="L72" class="LineNr"> 72 </span> <span class="PreProc">return</span> <span id="L73" class="LineNr"> 73 </span> <span class="Delimiter">}</span> -<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> val-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> convert val -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> bg/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L159'>hash-color</a> val-int -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> fg/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">7</span> +<span id="L74" class="LineNr"> 74 </span> <span class="PreProc">var</span> val-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> convert val +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> bg/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L159'>hash-color</a> val-int +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> fg/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">7</span> <span id="L77" class="LineNr"> 77 </span> <span class="Delimiter">{</span> <span id="L78" class="LineNr"> 78 </span> compare bg, <span class="Constant">2</span> <span id="L79" class="LineNr"> 79 </span> <span class="PreProc">break-if-!=</span> @@ -159,9 +165,9 @@ if ('onhashchange' in window) { <span id="L100" class="LineNr">100 </span> <span class="muComment"># don't surround in spaces</span> <span id="L101" class="LineNr">101 </span> <a href='../405screen.mu.html#L214'>print-grapheme</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0x5b</span>/[ <span id="L102" class="LineNr">102 </span> increment col -<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> a/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _a -<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> <a href='surface.mu.html#L207'>max</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length a -<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L103" class="LineNr">103 </span> <span class="PreProc">var</span> a/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _a +<span id="L104" class="LineNr">104 </span> <span class="PreProc">var</span> <a href='surface.mu.html#L207'>max</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length a +<span id="L105" class="LineNr">105 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L106" class="LineNr">106 </span> <span class="Delimiter">{</span> <span id="L107" class="LineNr">107 </span> compare i, <a href='surface.mu.html#L207'>max</a> <span id="L108" class="LineNr">108 </span> <span class="PreProc">break-if->=</span> @@ -170,11 +176,11 @@ if ('onhashchange' in window) { <span id="L111" class="LineNr">111 </span> <span class="PreProc">break-if-=</span> <span id="L112" class="LineNr">112 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> <span id="L113" class="LineNr">113 </span> <span class="Delimiter">}</span> -<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> off/<span class="Constant">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset a, i -<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> x/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index a, off +<span id="L114" class="LineNr">114 </span> <span class="PreProc">var</span> off/<span class="muRegEcx">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset a, i +<span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> x/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index a, off <span id="L116" class="LineNr">116 </span> <a href='value.mu.html#L1'>render-value-at</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col, x, <span class="Constant">0</span> <span id="L117" class="LineNr">117 </span> <span class="Delimiter">{</span> -<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> w/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> x, <span class="Constant">0</span> +<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> w/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> x, <span class="Constant">0</span> <span id="L119" class="LineNr">119 </span> add-to col, w <span id="L120" class="LineNr">120 </span> increment col <span id="L121" class="LineNr">121 </span> <span class="Delimiter">}</span> @@ -187,18 +193,18 @@ if ('onhashchange' in window) { <span id="L128" class="LineNr">128 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L128'>render-screen</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), row: int, col: int, _target-screen: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Delimiter">{</span> <span id="L129" class="LineNr">129 </span> <a href='../405screen.mu.html#L506'>reset-formatting</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L130" class="LineNr">130 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col -<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> target-screen/<span class="Constant">esi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target-screen -<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> ncols-a/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-screen, num-cols +<span id="L131" class="LineNr">131 </span> <span class="PreProc">var</span> target-screen/<span class="muRegEsi">esi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target-screen +<span id="L132" class="LineNr">132 </span> <span class="PreProc">var</span> ncols-a/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-screen, num-cols <span id="L133" class="LineNr">133 </span> <a href='value.mu.html#L192'>print-upper-border</a> <a href='../405screen.mu.html#L9'>screen</a>, *ncols-a -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> r/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> nrows-a/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-screen, num-rows +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> r/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> nrows-a/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target-screen, num-rows <span id="L136" class="LineNr">136 </span> <span class="Delimiter">{</span> <span id="L137" class="LineNr">137 </span> compare r, *nrows-a <span id="L138" class="LineNr">138 </span> <span class="PreProc">break-if-></span> <span id="L139" class="LineNr">139 </span> increment row <span class="muComment"># mutate arg</span> <span id="L140" class="LineNr">140 </span> <a href='../405screen.mu.html#L109'>move-cursor</a> <a href='../405screen.mu.html#L9'>screen</a>, row, col <span id="L141" class="LineNr">141 </span> <a href='../405screen.mu.html#L169'>print-string</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">" "</span> -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> c/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> c/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">1</span> <span id="L143" class="LineNr">143 </span> <span class="Delimiter">{</span> <span id="L144" class="LineNr">144 </span> compare c, *ncols-a <span id="L145" class="LineNr">145 </span> <span class="PreProc">break-if-></span> @@ -215,30 +221,30 @@ if ('onhashchange' in window) { <span id="L156" class="LineNr">156 </span> <a href='value.mu.html#L205'>print-lower-border</a> <a href='../405screen.mu.html#L9'>screen</a>, *ncols-a <span id="L157" class="LineNr">157 </span><span class="Delimiter">}</span> <span id="L158" class="LineNr">158 </span> -<span id="L159" class="LineNr">159 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L159'>hash-color</a></span> val: int<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L160" class="LineNr">160 </span> <span class="PreProc">var</span> quotient/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> remainder/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L159" class="LineNr">159 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L159'>hash-color</a></span> val: int<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L160" class="LineNr">160 </span> <span class="PreProc">var</span> quotient/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L161" class="LineNr">161 </span> <span class="PreProc">var</span> remainder/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L162" class="LineNr">162 </span> quotient, remainder <span class="Special"><-</span> <a href='../314divide.subx.html#L3'>integer-divide</a> val, <span class="Constant">7</span> <span class="muComment"># assumes that 7 is always the background color</span> <span id="L163" class="LineNr">163 </span> <span class="PreProc">return</span> remainder <span id="L164" class="LineNr">164 </span><span class="Delimiter">}</span> <span id="L165" class="LineNr">165 </span> <span id="L166" class="LineNr">166 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L166'>print-screen-cell-of-fake-screen</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _target: (addr <a href='../405screen.mu.html#L9'>screen</a>), _row: int, _col: int <span class="Delimiter">{</span> <span id="L167" class="LineNr">167 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>, <span class="Constant">0xf6</span> -<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> target/<span class="Constant">esi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target -<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> row/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy _row -<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> col/<span class="Constant">edx</span>: int <span class="Special"><-</span> copy _col +<span id="L168" class="LineNr">168 </span> <span class="PreProc">var</span> target/<span class="muRegEsi">esi</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _target +<span id="L169" class="LineNr">169 </span> <span class="PreProc">var</span> row/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy _row +<span id="L170" class="LineNr">170 </span> <span class="PreProc">var</span> col/<span class="muRegEdx">edx</span>: int <span class="Special"><-</span> copy _col <span id="L171" class="LineNr">171 </span> <span class="muComment"># if cursor is at screen-cell, add some fancy</span> <span id="L172" class="LineNr">172 </span> <span class="Delimiter">{</span> -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> cursor-row/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> cursor-row/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-row <span id="L174" class="LineNr">174 </span> compare *cursor-row, row <span id="L175" class="LineNr">175 </span> <span class="PreProc">break-if-!=</span> -<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> cursor-col/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col +<span id="L176" class="LineNr">176 </span> <span class="PreProc">var</span> cursor-col/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> target, cursor-col <span id="L177" class="LineNr">177 </span> compare *cursor-col, col <span id="L178" class="LineNr">178 </span> <span class="PreProc">break-if-!=</span> <span id="L179" class="LineNr">179 </span> <a href='../405screen.mu.html#L583'>start-blinking</a> <a href='../405screen.mu.html#L9'>screen</a> <span id="L180" class="LineNr">180 </span> <a href='../405screen.mu.html#L523'>start-color</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span>, <span class="Constant">1</span> <span id="L181" class="LineNr">181 </span> <span class="Delimiter">}</span> -<span id="L182" class="LineNr">182 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../405screen.mu.html#L308'>screen-grapheme-at</a> target, row, col +<span id="L182" class="LineNr">182 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../405screen.mu.html#L308'>screen-grapheme-at</a> target, row, col <span id="L183" class="LineNr">183 </span> <span class="Delimiter">{</span> <span id="L184" class="LineNr">184 </span> compare g, <span class="Constant">0</span> <span id="L185" class="LineNr">185 </span> <span class="PreProc">break-if-!=</span> @@ -250,7 +256,7 @@ if ('onhashchange' in window) { <span id="L191" class="LineNr">191 </span> <span id="L192" class="LineNr">192 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L192'>print-upper-border</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), width: int <span class="Delimiter">{</span> <span id="L193" class="LineNr">193 </span> <a href='../405screen.mu.html#L435'>print-code-point</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0x250c</span>/top-left-corner -<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L195" class="LineNr">195 </span> <span class="Delimiter">{</span> <span id="L196" class="LineNr">196 </span> compare i, width <span id="L197" class="LineNr">197 </span> <span class="PreProc">break-if->=</span> @@ -263,7 +269,7 @@ if ('onhashchange' in window) { <span id="L204" class="LineNr">204 </span> <span id="L205" class="LineNr">205 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L205'>print-lower-border</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), width: int <span class="Delimiter">{</span> <span id="L206" class="LineNr">206 </span> <a href='../405screen.mu.html#L435'>print-code-point</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0x2514</span>/bottom-left-corner -<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L207" class="LineNr">207 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L208" class="LineNr">208 </span> <span class="Delimiter">{</span> <span id="L209" class="LineNr">209 </span> compare i, width <span id="L210" class="LineNr">210 </span> <span class="PreProc">break-if->=</span> @@ -274,24 +280,24 @@ if ('onhashchange' in window) { <span id="L215" class="LineNr">215 </span> <a href='../405screen.mu.html#L435'>print-code-point</a> <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0x2518</span>/bottom-right-corner <span id="L216" class="LineNr">216 </span><span class="Delimiter">}</span> <span id="L217" class="LineNr">217 </span> -<span id="L218" class="LineNr">218 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L218'>value-width</a></span> _v: (addr <a href='data.mu.html#L49'>value</a>), top-level: boolean<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _v -<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, <span class="PreProc">type</span> +<span id="L218" class="LineNr">218 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L218'>value-width</a></span> _v: (addr <a href='data.mu.html#L49'>value</a>), top-level: boolean<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L219" class="LineNr">219 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _v +<span id="L220" class="LineNr">220 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, <span class="PreProc">type</span> <span id="L221" class="LineNr">221 </span> <span class="Delimiter">{</span> <span id="L222" class="LineNr">222 </span> compare *<span class="PreProc">type</span>, <span class="Constant">0</span>/int <span id="L223" class="LineNr">223 </span> <span class="PreProc">break-if-!=</span> -<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> v-num/<span class="Constant">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, number-data -<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='../412print-float-decimal.mu.html#L510'>float-size</a> *v-num, <span class="Constant">3</span> +<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> v-num/<span class="muRegEdx">edx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, number-data +<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='../412print-float-decimal.mu.html#L510'>float-size</a> *v-num, <span class="Constant">3</span> <span id="L226" class="LineNr">226 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L227" class="LineNr">227 </span> <span class="Delimiter">}</span> <span id="L228" class="LineNr">228 </span> <span class="Delimiter">{</span> <span id="L229" class="LineNr">229 </span> compare *<span class="PreProc">type</span>, <span class="Constant">1</span>/string <span id="L230" class="LineNr">230 </span> <span class="PreProc">break-if-!=</span> -<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> s-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, text-data -<span id="L232" class="LineNr">232 </span> <span class="PreProc">var</span> s/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s-ah +<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> s-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, text-data +<span id="L232" class="LineNr">232 </span> <span class="PreProc">var</span> s/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *s-ah <span id="L233" class="LineNr">233 </span> compare s, <span class="Constant">0</span> <span id="L234" class="LineNr">234 </span> <span class="PreProc">break-if-=</span> -<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> length s +<span id="L235" class="LineNr">235 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> length s <span id="L236" class="LineNr">236 </span> compare <a href='data.mu.html#L82'>result</a>, <span class="Constant">0xd</span>/max-string-size <span id="L237" class="LineNr">237 </span> <span class="Delimiter">{</span> <span id="L238" class="LineNr">238 </span> <span class="PreProc">break-if-<=</span> @@ -310,18 +316,18 @@ if ('onhashchange' in window) { <span id="L251" class="LineNr">251 </span> <span class="Delimiter">{</span> <span id="L252" class="LineNr">252 </span> compare *<span class="PreProc">type</span>, <span class="Constant">2</span>/array <span id="L253" class="LineNr">253 </span> <span class="PreProc">break-if-!=</span> -<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> a-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, array-data -<span id="L255" class="LineNr">255 </span> <span class="PreProc">var</span> a/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *a-ah +<span id="L254" class="LineNr">254 </span> <span class="PreProc">var</span> a-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, array-data +<span id="L255" class="LineNr">255 </span> <span class="PreProc">var</span> a/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *a-ah <span id="L256" class="LineNr">256 </span> compare a, <span class="Constant">0</span> <span id="L257" class="LineNr">257 </span> <span class="PreProc">break-if-=</span> -<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L287'>array-width</a> a +<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L287'>array-width</a> a <span id="L259" class="LineNr">259 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L260" class="LineNr">260 </span> <span class="Delimiter">}</span> <span id="L261" class="LineNr">261 </span> <span class="Delimiter">{</span> <span id="L262" class="LineNr">262 </span> compare *<span class="PreProc">type</span>, <span class="Constant">3</span>/file <span id="L263" class="LineNr">263 </span> <span class="PreProc">break-if-!=</span> -<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> f-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, file-data -<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> f/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah +<span id="L264" class="LineNr">264 </span> <span class="PreProc">var</span> f-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, file-data +<span id="L265" class="LineNr">265 </span> <span class="PreProc">var</span> f/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *f-ah <span id="L266" class="LineNr">266 </span> compare f, <span class="Constant">0</span> <span id="L267" class="LineNr">267 </span> <span class="PreProc">break-if-=</span> <span id="L268" class="LineNr">268 </span> <span class="muComment"># TODO: visualizing file handles</span> @@ -330,12 +336,12 @@ if ('onhashchange' in window) { <span id="L271" class="LineNr">271 </span> <span class="Delimiter">{</span> <span id="L272" class="LineNr">272 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L273" class="LineNr">273 </span> <span class="PreProc">break-if-!=</span> -<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, screen-data -<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L274" class="LineNr">274 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, screen-data +<span id="L275" class="LineNr">275 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L276" class="LineNr">276 </span> compare <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span> <span id="L277" class="LineNr">277 </span> <span class="PreProc">break-if-=</span> -<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='../405screen.mu.html#L9'>screen</a>, num-cols -<span id="L279" class="LineNr">279 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *ncols +<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='../405screen.mu.html#L9'>screen</a>, num-cols +<span id="L279" class="LineNr">279 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *ncols <span id="L280" class="LineNr">280 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add <span class="Constant">2</span> <span class="muComment"># left/right margins</span> <span id="L281" class="LineNr">281 </span> <span class="PreProc">return</span> *ncols <span id="L282" class="LineNr">282 </span> <span class="Delimiter">}</span> @@ -343,11 +349,11 @@ if ('onhashchange' in window) { <span id="L284" class="LineNr">284 </span><span class="Delimiter">}</span> <span id="L285" class="LineNr">285 </span> <span id="L286" class="LineNr">286 </span><span class="muComment"># keep sync'd with render-array-at</span> -<span id="L287" class="LineNr">287 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L287'>array-width</a></span> _a: (addr array <a href='data.mu.html#L49'>value</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> a/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _a -<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> <a href='surface.mu.html#L207'>max</a>/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length a -<span id="L290" class="LineNr">290 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L287" class="LineNr">287 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L287'>array-width</a></span> _a: (addr array <a href='data.mu.html#L49'>value</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L288" class="LineNr">288 </span> <span class="PreProc">var</span> a/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _a +<span id="L289" class="LineNr">289 </span> <span class="PreProc">var</span> <a href='surface.mu.html#L207'>max</a>/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length a +<span id="L290" class="LineNr">290 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L291" class="LineNr">291 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L292" class="LineNr">292 </span> <span class="Delimiter">{</span> <span id="L293" class="LineNr">293 </span> compare i, <a href='surface.mu.html#L207'>max</a> <span id="L294" class="LineNr">294 </span> <span class="PreProc">break-if->=</span> @@ -356,10 +362,10 @@ if ('onhashchange' in window) { <span id="L297" class="LineNr">297 </span> <span class="PreProc">break-if-=</span> <span id="L298" class="LineNr">298 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> increment <span class="muComment"># for space</span> <span id="L299" class="LineNr">299 </span> <span class="Delimiter">}</span> -<span id="L300" class="LineNr">300 </span> <span class="PreProc">var</span> off/<span class="Constant">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset a, i -<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> x/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index a, off +<span id="L300" class="LineNr">300 </span> <span class="PreProc">var</span> off/<span class="muRegEcx">ecx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset a, i +<span id="L301" class="LineNr">301 </span> <span class="PreProc">var</span> x/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index a, off <span id="L302" class="LineNr">302 </span> <span class="Delimiter">{</span> -<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> w/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> x, <span class="Constant">0</span> +<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> w/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='value.mu.html#L218'>value-width</a> x, <span class="Constant">0</span> <span id="L304" class="LineNr">304 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add w <span id="L305" class="LineNr">305 </span> <span class="Delimiter">}</span> <span id="L306" class="LineNr">306 </span> i <span class="Special"><-</span> increment @@ -370,9 +376,9 @@ if ('onhashchange' in window) { <span id="L311" class="LineNr">311 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L312" class="LineNr">312 </span><span class="Delimiter">}</span> <span id="L313" class="LineNr">313 </span> -<span id="L314" class="LineNr">314 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L314'>value-height</a></span> _v: (addr <a href='data.mu.html#L49'>value</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> v/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _v -<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, <span class="PreProc">type</span> +<span id="L314" class="LineNr">314 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L314'>value-height</a></span> _v: (addr <a href='data.mu.html#L49'>value</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L315" class="LineNr">315 </span> <span class="PreProc">var</span> v/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _v +<span id="L316" class="LineNr">316 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEax">eax</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, <span class="PreProc">type</span> <span id="L317" class="LineNr">317 </span> <span class="Delimiter">{</span> <span id="L318" class="LineNr">318 </span> compare *<span class="PreProc">type</span>, <span class="Constant">3</span>/file <span id="L319" class="LineNr">319 </span> <span class="PreProc">break-if-!=</span> @@ -382,12 +388,12 @@ if ('onhashchange' in window) { <span id="L323" class="LineNr">323 </span> <span class="Delimiter">{</span> <span id="L324" class="LineNr">324 </span> compare *<span class="PreProc">type</span>, <span class="Constant">4</span>/screen <span id="L325" class="LineNr">325 </span> <span class="PreProc">break-if-!=</span> -<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, screen-data -<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah +<span id="L326" class="LineNr">326 </span> <span class="PreProc">var</span> screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> v, screen-data +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> <a href='../405screen.mu.html#L9'>screen</a>/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *screen-ah <span id="L328" class="LineNr">328 </span> compare <a href='../405screen.mu.html#L9'>screen</a>, <span class="Constant">0</span> <span id="L329" class="LineNr">329 </span> <span class="PreProc">break-if-=</span> -<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> nrows/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='../405screen.mu.html#L9'>screen</a>, num-rows -<span id="L331" class="LineNr">331 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy *nrows +<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> nrows/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> <a href='../405screen.mu.html#L9'>screen</a>, num-rows +<span id="L331" class="LineNr">331 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy *nrows <span id="L332" class="LineNr">332 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add <span class="Constant">2</span> <span class="muComment"># top and bottom border</span> <span id="L333" class="LineNr">333 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L334" class="LineNr">334 </span> <span class="Delimiter">}</span> @@ -396,17 +402,17 @@ if ('onhashchange' in window) { <span id="L337" class="LineNr">337 </span> <span id="L338" class="LineNr">338 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='value.mu.html#L338'>deep-copy-value</a></span> _src: (addr <a href='data.mu.html#L49'>value</a>), _dest: (addr <a href='data.mu.html#L49'>value</a>) <span class="Delimiter">{</span> <span id="L339" class="LineNr">339 </span><span class="CommentedCode">#? print-string 0, "deep-copy-value\n"</span> -<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src -<span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _dest -<span id="L342" class="LineNr">342 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="Constant">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, <span class="PreProc">type</span> -<span id="L343" class="LineNr">343 </span> <span class="PreProc">var</span> y/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, <span class="PreProc">type</span> +<span id="L340" class="LineNr">340 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src +<span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _dest +<span id="L342" class="LineNr">342 </span> <span class="PreProc">var</span> <span class="PreProc">type</span>/<span class="muRegEbx">ebx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, <span class="PreProc">type</span> +<span id="L343" class="LineNr">343 </span> <span class="PreProc">var</span> y/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, <span class="PreProc">type</span> <span id="L344" class="LineNr">344 </span> copy-object <span class="PreProc">type</span>, y <span id="L345" class="LineNr">345 </span> compare *<span class="PreProc">type</span>, <span class="Constant">0</span> <span class="muComment"># int</span> <span id="L346" class="LineNr">346 </span> <span class="Delimiter">{</span> <span id="L347" class="LineNr">347 </span> <span class="PreProc">break-if-!=</span> <span id="L348" class="LineNr">348 </span><span class="CommentedCode">#? print-string 0, "int value\n"</span> -<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> src-n/<span class="Constant">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, number-data -<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> dest-n/<span class="Constant">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, number-data +<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> src-n/<span class="muRegEax">eax</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, number-data +<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> dest-n/<span class="muRegEcx">ecx</span>: (addr float) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, number-data <span id="L351" class="LineNr">351 </span> copy-object src-n, dest-n <span id="L352" class="LineNr">352 </span> <span class="PreProc">return</span> <span id="L353" class="LineNr">353 </span> <span class="Delimiter">}</span> @@ -414,9 +420,9 @@ if ('onhashchange' in window) { <span id="L355" class="LineNr">355 </span> <span class="Delimiter">{</span> <span id="L356" class="LineNr">356 </span> <span class="PreProc">break-if-!=</span> <span id="L357" class="LineNr">357 </span><span class="CommentedCode">#? print-string 0, "string value\n"</span> -<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, text-data -<span id="L359" class="LineNr">359 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, text-data +<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, text-data +<span id="L359" class="LineNr">359 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L360" class="LineNr">360 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdx">edx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, text-data <span id="L361" class="LineNr">361 </span> <a href='../312copy.subx.html#L3'>copy-array-object</a> src, dest-ah <span id="L362" class="LineNr">362 </span> <span class="PreProc">return</span> <span id="L363" class="LineNr">363 </span> <span class="Delimiter">}</span> @@ -424,22 +430,22 @@ if ('onhashchange' in window) { <span id="L365" class="LineNr">365 </span> <span class="Delimiter">{</span> <span id="L366" class="LineNr">366 </span> <span class="PreProc">break-if-!=</span> <span id="L367" class="LineNr">367 </span><span class="CommentedCode">#? print-string 0, "array value\n"</span> -<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, array-data -<span id="L369" class="LineNr">369 </span> <span class="PreProc">var</span> _src/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src -<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> n/<span class="Constant">ecx</span>: int <span class="Special"><-</span> length src -<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, array-data +<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, array-data +<span id="L369" class="LineNr">369 </span> <span class="PreProc">var</span> _src/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L370" class="LineNr">370 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _src +<span id="L371" class="LineNr">371 </span> <span class="PreProc">var</span> n/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> length src +<span id="L372" class="LineNr">372 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdx">edx</span>: (addr handle array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, array-data <span id="L373" class="LineNr">373 </span> populate dest-ah, n -<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> _dest/<span class="Constant">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _dest -<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L374" class="LineNr">374 </span> <span class="PreProc">var</span> _dest/<span class="muRegEax">eax</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L375" class="LineNr">375 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr array <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> copy _dest +<span id="L376" class="LineNr">376 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L377" class="LineNr">377 </span> <span class="Delimiter">{</span> <span id="L378" class="LineNr">378 </span> compare i, n <span id="L379" class="LineNr">379 </span> <span class="PreProc">break-if->=</span> <span id="L380" class="LineNr">380 </span> <span class="Delimiter">{</span> -<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> offset/<span class="Constant">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset src, i -<span id="L382" class="LineNr">382 </span> <span class="PreProc">var</span> src-element/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index src, offset -<span id="L383" class="LineNr">383 </span> <span class="PreProc">var</span> dest-element/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index dest, offset +<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> offset/<span class="muRegEdx">edx</span>: (offset <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> compute-offset src, i +<span id="L382" class="LineNr">382 </span> <span class="PreProc">var</span> src-element/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index src, offset +<span id="L383" class="LineNr">383 </span> <span class="PreProc">var</span> dest-element/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L49'>value</a>) <span class="Special"><-</span> index dest, offset <span id="L384" class="LineNr">384 </span> <a href='value.mu.html#L338'>deep-copy-value</a> src-element, dest-element <span id="L385" class="LineNr">385 </span> <span class="Delimiter">}</span> <span id="L386" class="LineNr">386 </span> i <span class="Special"><-</span> increment @@ -452,14 +458,14 @@ if ('onhashchange' in window) { <span id="L393" class="LineNr">393 </span> <span class="Delimiter">{</span> <span id="L394" class="LineNr">394 </span> <span class="PreProc">break-if-!=</span> <span id="L395" class="LineNr">395 </span><span class="CommentedCode">#? print-string 0, "file value\n"</span> -<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> src-filename-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, filename -<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> _src-filename/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-filename-ah -<span id="L398" class="LineNr">398 </span> <span class="PreProc">var</span> src-filename/<span class="Constant">ecx</span>: (addr array byte) <span class="Special"><-</span> copy _src-filename -<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> dest-filename-ah/<span class="Constant">ebx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, filename +<span id="L396" class="LineNr">396 </span> <span class="PreProc">var</span> src-filename-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, filename +<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> _src-filename/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-filename-ah +<span id="L398" class="LineNr">398 </span> <span class="PreProc">var</span> src-filename/<span class="muRegEcx">ecx</span>: (addr array byte) <span class="Special"><-</span> copy _src-filename +<span id="L399" class="LineNr">399 </span> <span class="PreProc">var</span> dest-filename-ah/<span class="muRegEbx">ebx</span>: (addr handle array byte) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, filename <span id="L400" class="LineNr">400 </span> <a href='../312copy.subx.html#L3'>copy-array-object</a> src-filename, dest-filename-ah -<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> src-file-ah/<span class="Constant">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, file-data -<span id="L402" class="LineNr">402 </span> <span class="PreProc">var</span> src-file/<span class="Constant">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-file-ah -<span id="L403" class="LineNr">403 </span> <span class="PreProc">var</span> dest-file-ah/<span class="Constant">edx</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, file-data +<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> src-file-ah/<span class="muRegEax">eax</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, file-data +<span id="L402" class="LineNr">402 </span> <span class="PreProc">var</span> src-file/<span class="muRegEax">eax</span>: (addr buffered-file) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-file-ah +<span id="L403" class="LineNr">403 </span> <span class="PreProc">var</span> dest-file-ah/<span class="muRegEdx">edx</span>: (addr handle buffered-file) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, file-data <span id="L404" class="LineNr">404 </span> <a href='../312copy.subx.html#L17'>copy-file</a> src-file, dest-file-ah, src-filename <span id="L405" class="LineNr">405 </span> <span class="PreProc">return</span> <span id="L406" class="LineNr">406 </span> <span class="Delimiter">}</span> @@ -467,16 +473,16 @@ if ('onhashchange' in window) { <span id="L408" class="LineNr">408 </span> <span class="Delimiter">{</span> <span id="L409" class="LineNr">409 </span> <span class="PreProc">break-if-!=</span> <span id="L410" class="LineNr">410 </span><span class="CommentedCode">#? print-string 0, "screen value\n"</span> -<span id="L411" class="LineNr">411 </span> <span class="PreProc">var</span> src-screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, screen-data -<span id="L412" class="LineNr">412 </span> <span class="PreProc">var</span> _src-screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-screen-ah -<span id="L413" class="LineNr">413 </span> <span class="PreProc">var</span> src-screen/<span class="Constant">ecx</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _src-screen -<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> dest-screen-ah/<span class="Constant">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, screen-data +<span id="L411" class="LineNr">411 </span> <span class="PreProc">var</span> src-screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, screen-data +<span id="L412" class="LineNr">412 </span> <span class="PreProc">var</span> _src-screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-screen-ah +<span id="L413" class="LineNr">413 </span> <span class="PreProc">var</span> src-screen/<span class="muRegEcx">ecx</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> copy _src-screen +<span id="L414" class="LineNr">414 </span> <span class="PreProc">var</span> dest-screen-ah/<span class="muRegEax">eax</span>: (addr handle <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest, screen-data <span id="L415" class="LineNr">415 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest-screen-ah -<span id="L416" class="LineNr">416 </span> <span class="PreProc">var</span> dest-screen/<span class="Constant">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-screen-ah +<span id="L416" class="LineNr">416 </span> <span class="PreProc">var</span> dest-screen/<span class="muRegEax">eax</span>: (addr <a href='../405screen.mu.html#L9'>screen</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-screen-ah <span id="L417" class="LineNr">417 </span> copy-object src-screen, dest-screen -<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> dest-screen-data-ah/<span class="Constant">ebx</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-screen, data -<span id="L419" class="LineNr">419 </span> <span class="PreProc">var</span> src-screen-data-ah/<span class="Constant">eax</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-screen, data -<span id="L420" class="LineNr">420 </span> <span class="PreProc">var</span> src-screen-data/<span class="Constant">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-screen-data-ah +<span id="L418" class="LineNr">418 </span> <span class="PreProc">var</span> dest-screen-data-ah/<span class="muRegEbx">ebx</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-screen, data +<span id="L419" class="LineNr">419 </span> <span class="PreProc">var</span> src-screen-data-ah/<span class="muRegEax">eax</span>: (addr handle array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-screen, data +<span id="L420" class="LineNr">420 </span> <span class="PreProc">var</span> src-screen-data/<span class="muRegEax">eax</span>: (addr array <a href='../405screen.mu.html#L20'>screen-cell</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-screen-data-ah <span id="L421" class="LineNr">421 </span> <a href='../312copy.subx.html#L3'>copy-array-object</a> src-screen-data, dest-screen-data-ah <span id="L422" class="LineNr">422 </span> <span class="PreProc">return</span> <span id="L423" class="LineNr">423 </span> <span class="Delimiter">}</span> diff --git a/html/linux/tile/word.mu.html b/html/linux/tile/word.mu.html index fc2ced18..c7f1c0e4 100644 --- a/html/linux/tile/word.mu.html +++ b/html/linux/tile/word.mu.html @@ -7,21 +7,27 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.PreProc { color: #c000c0; } .LineNr { } +.Delimiter { color: #c000c0; } .CommentedCode { color: #8a8a8a; } +.muRegEdx { color: #878700; } +.muRegEbx { color: #8787af; } +.muRegEsi { color: #87d787; } +.muRegEdi { color: #87ffd7; } .Constant { color: #008787; } -.muComment { color: #005faf; } -.Delimiter { color: #c000c0; } -.muFunction { color: #af5f00; text-decoration: underline; } .Special { color: #ff6060; } +.PreProc { color: #c000c0; } +.muFunction { color: #af5f00; text-decoration: underline; } +.muComment { color: #005faf; } +.muRegEax { color: #875f00; } +.muRegEcx { color: #af875f; } --> </style> @@ -58,27 +64,27 @@ if ('onhashchange' in window) { <a href='https://github.com/akkartik/mu/blob/main/linux/tile/word.mu'>https://github.com/akkartik/mu/blob/main/linux/tile/word.mu</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L1'>initialize-word</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L2" class="LineNr"> 2 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L3" class="LineNr"> 3 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data <span id="L4" class="LineNr"> 4 </span> <a href='../120allocate.subx.html#L66'>allocate</a> data-ah -<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L5" class="LineNr"> 5 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L6" class="LineNr"> 6 </span> <a href='gap-buffer.mu.html#L6'>initialize-gap-buffer</a> data <span id="L7" class="LineNr"> 7 </span><span class="Delimiter">}</span> <span id="L8" class="LineNr"> 8 </span> <span id="L9" class="LineNr"> 9 </span><span class="muComment">## some helpers for creating words. mostly for tests</span> <span id="L10" class="LineNr"> 10 </span> <span id="L11" class="LineNr"> 11 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L11'>initialize-word-with</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), s: (addr array byte) <span class="Delimiter">{</span> -<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L12" class="LineNr"> 12 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L13" class="LineNr"> 13 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data <span id="L14" class="LineNr"> 14 </span> <a href='../120allocate.subx.html#L66'>allocate</a> data-ah -<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L15" class="LineNr"> 15 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L16" class="LineNr"> 16 </span> <a href='gap-buffer.mu.html#L15'>initialize-gap-buffer-with</a> data, s <span id="L17" class="LineNr"> 17 </span><span class="Delimiter">}</span> <span id="L18" class="LineNr"> 18 </span> <span id="L19" class="LineNr"> 19 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L19'>allocate-word-with</a></span> _out: (addr handle <a href='data.mu.html#L42'>word</a>), s: (addr array byte) <span class="Delimiter">{</span> -<span id="L20" class="LineNr"> 20 </span> <span class="PreProc">var</span> out/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _out +<span id="L20" class="LineNr"> 20 </span> <span class="PreProc">var</span> out/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _out <span id="L21" class="LineNr"> 21 </span> <a href='../120allocate.subx.html#L66'>allocate</a> out -<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> out-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out +<span id="L22" class="LineNr"> 22 </span> <span class="PreProc">var</span> out-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *out <span id="L23" class="LineNr"> 23 </span> <a href='word.mu.html#L11'>initialize-word-with</a> out-addr, s <span id="L24" class="LineNr"> 24 </span><span class="Delimiter">}</span> <span id="L25" class="LineNr"> 25 </span> @@ -86,43 +92,43 @@ if ('onhashchange' in window) { <span id="L27" class="LineNr"> 27 </span><span class="muComment"># TODO: handle existing next</span> <span id="L28" class="LineNr"> 28 </span><span class="muComment"># one implication of handles: append must take a handle</span> <span id="L29" class="LineNr"> 29 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L29'>append-word-with</a></span> self-h: (handle <a href='data.mu.html#L42'>word</a>), s: (addr array byte) <span class="Delimiter">{</span> -<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> self-h -<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next +<span id="L30" class="LineNr"> 30 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> self-h +<span id="L31" class="LineNr"> 31 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next <span id="L32" class="LineNr"> 32 </span> <a href='word.mu.html#L19'>allocate-word-with</a> next-ah, s -<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah -<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> prev-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, prev +<span id="L33" class="LineNr"> 33 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L34" class="LineNr"> 34 </span> <span class="PreProc">var</span> prev-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, prev <span id="L35" class="LineNr"> 35 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> self-h, prev-ah <span id="L36" class="LineNr"> 36 </span><span class="Delimiter">}</span> <span id="L37" class="LineNr"> 37 </span> <span id="L38" class="LineNr"> 38 </span><span class="muComment"># just for tests for now</span> <span id="L39" class="LineNr"> 39 </span><span class="muComment"># TODO: handle existing prev</span> <span id="L40" class="LineNr"> 40 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L40'>prepend-word-with</a></span> self-h: (handle <a href='data.mu.html#L42'>word</a>), s: (addr array byte) <span class="Delimiter">{</span> -<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> self-h -<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> prev-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, prev +<span id="L41" class="LineNr"> 41 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> self-h +<span id="L42" class="LineNr"> 42 </span> <span class="PreProc">var</span> prev-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, prev <span id="L43" class="LineNr"> 43 </span> <a href='word.mu.html#L19'>allocate-word-with</a> prev-ah, s -<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> prev/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-ah -<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> prev, next +<span id="L44" class="LineNr"> 44 </span> <span class="PreProc">var</span> prev/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *prev-ah +<span id="L45" class="LineNr"> 45 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> prev, next <span id="L46" class="LineNr"> 46 </span> <a href='../120allocate.subx.html#L497'>copy-handle</a> self-h, next-ah <span id="L47" class="LineNr"> 47 </span><span class="Delimiter">}</span> <span id="L48" class="LineNr"> 48 </span> <span id="L49" class="LineNr"> 49 </span><span class="muComment">## real primitives</span> <span id="L50" class="LineNr"> 50 </span> <span id="L51" class="LineNr"> 51 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L51'>move-word-contents</a></span> _src-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah -<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> _dest/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest -<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah -<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> _src/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src +<span id="L52" class="LineNr"> 52 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L53" class="LineNr"> 53 </span> <span class="PreProc">var</span> _dest/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L54" class="LineNr"> 54 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest +<span id="L55" class="LineNr"> 55 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah +<span id="L56" class="LineNr"> 56 </span> <span class="PreProc">var</span> _src/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L57" class="LineNr"> 57 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src <span id="L58" class="LineNr"> 58 </span> <a href='word.mu.html#L185'>cursor-to-start</a> src -<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> src-data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, scalar-data -<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> src-data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah -<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> src-stack/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-data, right +<span id="L59" class="LineNr"> 59 </span> <span class="PreProc">var</span> src-data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, scalar-data +<span id="L60" class="LineNr"> 60 </span> <span class="PreProc">var</span> src-data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah +<span id="L61" class="LineNr"> 61 </span> <span class="PreProc">var</span> src-stack/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-data, right <span id="L62" class="LineNr"> 62 </span> <span class="Delimiter">{</span> -<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> src-stack +<span id="L63" class="LineNr"> 63 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L20'>grapheme-stack-empty?</a> src-stack <span id="L64" class="LineNr"> 64 </span> compare done?, <span class="Constant">0</span>/false <span id="L65" class="LineNr"> 65 </span> <span class="PreProc">break-if-!=</span> -<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> src-stack +<span id="L66" class="LineNr"> 66 </span> <span class="PreProc">var</span> g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='grapheme-stack.mu.html#L43'>pop-grapheme-stack</a> src-stack <span id="L67" class="LineNr"> 67 </span><span class="CommentedCode">#? print-grapheme 0, g</span> <span id="L68" class="LineNr"> 68 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L69" class="LineNr"> 69 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> dest, g @@ -131,51 +137,51 @@ if ('onhashchange' in window) { <span id="L72" class="LineNr"> 72 </span><span class="Delimiter">}</span> <span id="L73" class="LineNr"> 73 </span> <span id="L74" class="LineNr"> 74 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L74'>copy-word-contents-before-cursor</a></span> _src-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah -<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> _dest/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest -<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah -<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> src-data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, scalar-data -<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> src-data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah -<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> src-stack/<span class="Constant">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-data, left -<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> src-stack-data-ah/<span class="Constant">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-stack, data -<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> _src-stack-data/<span class="Constant">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-stack-data-ah -<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> src-stack-data/<span class="Constant">edx</span>: (addr array grapheme) <span class="Special"><-</span> copy _src-stack-data -<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> top-addr/<span class="Constant">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-stack, <a href='../203stack.subx.html#L338'>top</a> -<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> i/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L75" class="LineNr"> 75 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L76" class="LineNr"> 76 </span> <span class="PreProc">var</span> _dest/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L77" class="LineNr"> 77 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest +<span id="L78" class="LineNr"> 78 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah +<span id="L79" class="LineNr"> 79 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L80" class="LineNr"> 80 </span> <span class="PreProc">var</span> src-data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src, scalar-data +<span id="L81" class="LineNr"> 81 </span> <span class="PreProc">var</span> src-data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-data-ah +<span id="L82" class="LineNr"> 82 </span> <span class="PreProc">var</span> src-stack/<span class="muRegEcx">ecx</span>: (addr <a href='grapheme-stack.mu.html#L1'>grapheme-stack</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-data, left +<span id="L83" class="LineNr"> 83 </span> <span class="PreProc">var</span> src-stack-data-ah/<span class="muRegEax">eax</span>: (addr handle array grapheme) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-stack, data +<span id="L84" class="LineNr"> 84 </span> <span class="PreProc">var</span> _src-stack-data/<span class="muRegEax">eax</span>: (addr array grapheme) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-stack-data-ah +<span id="L85" class="LineNr"> 85 </span> <span class="PreProc">var</span> src-stack-data/<span class="muRegEdx">edx</span>: (addr array grapheme) <span class="Special"><-</span> copy _src-stack-data +<span id="L86" class="LineNr"> 86 </span> <span class="PreProc">var</span> top-addr/<span class="muRegEcx">ecx</span>: (addr int) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-stack, <a href='../203stack.subx.html#L338'>top</a> +<span id="L87" class="LineNr"> 87 </span> <span class="PreProc">var</span> i/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L88" class="LineNr"> 88 </span> <span class="Delimiter">{</span> <span id="L89" class="LineNr"> 89 </span> compare i, *top-addr <span id="L90" class="LineNr"> 90 </span> <span class="PreProc">break-if->=</span> -<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> g/<span class="Constant">edx</span>: (addr grapheme) <span class="Special"><-</span> index src-stack-data, i +<span id="L91" class="LineNr"> 91 </span> <span class="PreProc">var</span> g/<span class="muRegEdx">edx</span>: (addr grapheme) <span class="Special"><-</span> index src-stack-data, i <span id="L92" class="LineNr"> 92 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> dest, *g <span id="L93" class="LineNr"> 93 </span> i <span class="Special"><-</span> increment <span id="L94" class="LineNr"> 94 </span> <span class="PreProc">loop</span> <span id="L95" class="LineNr"> 95 </span> <span class="Delimiter">}</span> <span id="L96" class="LineNr"> 96 </span><span class="Delimiter">}</span> <span id="L97" class="LineNr"> 97 </span> -<span id="L98" class="LineNr"> 98 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L98'>word-equal?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> data, s +<span id="L98" class="LineNr"> 98 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L98'>word-equal?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), s: (addr array byte)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L99" class="LineNr"> 99 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L100" class="LineNr">100 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L101" class="LineNr">101 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L102" class="LineNr">102 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L236'>gap-buffer-equal?</a> data, s <span id="L103" class="LineNr">103 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L104" class="LineNr">104 </span><span class="Delimiter">}</span> <span id="L105" class="LineNr">105 </span> -<span id="L106" class="LineNr">106 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L106'>word-length</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='gap-buffer.mu.html#L91'>gap-buffer-length</a> data +<span id="L106" class="LineNr">106 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L106'>word-length</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L107" class="LineNr">107 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L108" class="LineNr">108 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L109" class="LineNr">109 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L110" class="LineNr">110 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='gap-buffer.mu.html#L91'>gap-buffer-length</a> data <span id="L111" class="LineNr">111 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L112" class="LineNr">112 </span><span class="Delimiter">}</span> <span id="L113" class="LineNr">113 </span> <span id="L114" class="LineNr">114 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L114'>final-word</a></span> _in: (addr handle <a href='data.mu.html#L42'>word</a>), out: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> <span id="L115" class="LineNr">115 </span> <span class="PreProc">var</span> curr-h: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address curr-h +<span id="L116" class="LineNr">116 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address curr-h <span id="L117" class="LineNr">117 </span> copy-object _in, curr-ah -<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> next/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L118" class="LineNr">118 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L119" class="LineNr">119 </span> <span class="PreProc">var</span> next/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L120" class="LineNr">120 </span> <span class="Delimiter">{</span> <span id="L121" class="LineNr">121 </span> curr <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L122" class="LineNr">122 </span> next <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next @@ -188,126 +194,126 @@ if ('onhashchange' in window) { <span id="L129" class="LineNr">129 </span> copy-object curr-ah, out <span class="muComment"># modify 'out' right at the end, just in case it's same as 'in'</span> <span id="L130" class="LineNr">130 </span><span class="Delimiter">}</span> <span id="L131" class="LineNr">131 </span> -<span id="L132" class="LineNr">132 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L132'>first-grapheme</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L136" class="LineNr">136 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L177'>first-grapheme-in-gap-buffer</a> data +<span id="L132" class="LineNr">132 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L132'>first-grapheme</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L133" class="LineNr">133 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L134" class="LineNr">134 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L135" class="LineNr">135 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L136" class="LineNr">136 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L177'>first-grapheme-in-gap-buffer</a> data <span id="L137" class="LineNr">137 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L138" class="LineNr">138 </span><span class="Delimiter">}</span> <span id="L139" class="LineNr">139 </span> -<span id="L140" class="LineNr">140 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L140'>grapheme-before-cursor</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L207'>grapheme-before-cursor-in-gap-buffer</a> data +<span id="L140" class="LineNr">140 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L140'>grapheme-before-cursor</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L141" class="LineNr">141 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L142" class="LineNr">142 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L143" class="LineNr">143 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L144" class="LineNr">144 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L207'>grapheme-before-cursor-in-gap-buffer</a> data <span id="L145" class="LineNr">145 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L146" class="LineNr">146 </span><span class="Delimiter">}</span> <span id="L147" class="LineNr">147 </span> <span id="L148" class="LineNr">148 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L148'>add-grapheme-to-word</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), c: grapheme <span class="Delimiter">{</span> -<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L149" class="LineNr">149 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L150" class="LineNr">150 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L151" class="LineNr">151 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L152" class="LineNr">152 </span> <a href='gap-buffer.mu.html#L103'>add-grapheme-at-gap</a> data, c <span id="L153" class="LineNr">153 </span><span class="Delimiter">}</span> <span id="L154" class="LineNr">154 </span> -<span id="L155" class="LineNr">155 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L155'>cursor-at-start?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L159" class="LineNr">159 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L125'>gap-at-start?</a> data +<span id="L155" class="LineNr">155 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L155'>cursor-at-start?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L156" class="LineNr">156 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L157" class="LineNr">157 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L158" class="LineNr">158 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L159" class="LineNr">159 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L125'>gap-at-start?</a> data <span id="L160" class="LineNr">160 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L161" class="LineNr">161 </span><span class="Delimiter">}</span> <span id="L162" class="LineNr">162 </span> -<span id="L163" class="LineNr">163 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L163'>cursor-at-end?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L164" class="LineNr">164 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L165" class="LineNr">165 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L132'>gap-at-end?</a> data +<span id="L163" class="LineNr">163 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L163'>cursor-at-end?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L164" class="LineNr">164 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L165" class="LineNr">165 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L166" class="LineNr">166 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L167" class="LineNr">167 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L132'>gap-at-end?</a> data <span id="L168" class="LineNr">168 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L169" class="LineNr">169 </span><span class="Delimiter">}</span> <span id="L170" class="LineNr">170 </span> <span id="L171" class="LineNr">171 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L171'>cursor-left</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> data +<span id="L172" class="LineNr">172 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L173" class="LineNr">173 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L174" class="LineNr">174 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L175" class="LineNr">175 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L153'>gap-left</a> data <span id="L176" class="LineNr">176 </span><span class="Delimiter">}</span> <span id="L177" class="LineNr">177 </span> <span id="L178" class="LineNr">178 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L178'>cursor-right</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L182" class="LineNr">182 </span> <span class="PreProc">var</span> dummy/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L139'>gap-right</a> data +<span id="L179" class="LineNr">179 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L180" class="LineNr">180 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L181" class="LineNr">181 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L182" class="LineNr">182 </span> <span class="PreProc">var</span> dummy/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L139'>gap-right</a> data <span id="L183" class="LineNr">183 </span><span class="Delimiter">}</span> <span id="L184" class="LineNr">184 </span> <span id="L185" class="LineNr">185 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L185'>cursor-to-start</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L187" class="LineNr">187 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L186" class="LineNr">186 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L187" class="LineNr">187 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L188" class="LineNr">188 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L189" class="LineNr">189 </span> <a href='gap-buffer.mu.html#L109'>gap-to-start</a> data <span id="L190" class="LineNr">190 </span><span class="Delimiter">}</span> <span id="L191" class="LineNr">191 </span> <span id="L192" class="LineNr">192 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L192'>cursor-to-end</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L195" class="LineNr">195 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L193" class="LineNr">193 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L194" class="LineNr">194 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L195" class="LineNr">195 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L196" class="LineNr">196 </span> <a href='gap-buffer.mu.html#L117'>gap-to-end</a> data <span id="L197" class="LineNr">197 </span><span class="Delimiter">}</span> <span id="L198" class="LineNr">198 </span> -<span id="L199" class="LineNr">199 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L199'>cursor-index</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L201" class="LineNr">201 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L202" class="LineNr">202 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L203" class="LineNr">203 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='gap-buffer.mu.html#L169'>gap-index</a> data +<span id="L199" class="LineNr">199 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L199'>cursor-index</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L200" class="LineNr">200 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L201" class="LineNr">201 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L202" class="LineNr">202 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L203" class="LineNr">203 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='gap-buffer.mu.html#L169'>gap-index</a> data <span id="L204" class="LineNr">204 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L205" class="LineNr">205 </span><span class="Delimiter">}</span> <span id="L206" class="LineNr">206 </span> <span id="L207" class="LineNr">207 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L207'>delete-before-cursor</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L208" class="LineNr">208 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L209" class="LineNr">209 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L210" class="LineNr">210 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L211" class="LineNr">211 </span> <a href='gap-buffer.mu.html#L223'>delete-before-gap</a> data <span id="L212" class="LineNr">212 </span><span class="Delimiter">}</span> <span id="L213" class="LineNr">213 </span> -<span id="L214" class="LineNr">214 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L214'>pop-after-cursor</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> -<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L217" class="LineNr">217 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L229'>pop-after-gap</a> data +<span id="L214" class="LineNr">214 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L214'>pop-after-cursor</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L215" class="LineNr">215 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L217" class="LineNr">217 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L218" class="LineNr">218 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='gap-buffer.mu.html#L229'>pop-after-gap</a> data <span id="L219" class="LineNr">219 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L220" class="LineNr">220 </span><span class="Delimiter">}</span> <span id="L221" class="LineNr">221 </span> <span id="L222" class="LineNr">222 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L222'>delete-next</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L223" class="LineNr">223 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next -<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L223" class="LineNr">223 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L224" class="LineNr">224 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next +<span id="L225" class="LineNr">225 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L226" class="LineNr">226 </span> compare next, <span class="Constant">0</span> <span id="L227" class="LineNr">227 </span> <span class="PreProc">break-if-=</span> -<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> next-next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, next -<span id="L229" class="LineNr">229 </span> <span class="PreProc">var</span> self-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, prev +<span id="L228" class="LineNr">228 </span> <span class="PreProc">var</span> next-next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, next +<span id="L229" class="LineNr">229 </span> <span class="PreProc">var</span> self-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, prev <span id="L230" class="LineNr">230 </span> copy-object next-next-ah, next-ah -<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> new-next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-next-ah +<span id="L231" class="LineNr">231 </span> <span class="PreProc">var</span> new-next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-next-ah <span id="L232" class="LineNr">232 </span> compare new-next, <span class="Constant">0</span> <span id="L233" class="LineNr">233 </span> <span class="PreProc">break-if-=</span> -<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> dest/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-next, prev +<span id="L234" class="LineNr">234 </span> <span class="PreProc">var</span> dest/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-next, prev <span id="L235" class="LineNr">235 </span> copy-object self-ah, dest <span id="L236" class="LineNr">236 </span><span class="Delimiter">}</span> <span id="L237" class="LineNr">237 </span> <span id="L238" class="LineNr">238 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L238'>print-word</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _self: (addr <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L239" class="LineNr">239 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L240" class="LineNr">240 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L241" class="LineNr">241 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L242" class="LineNr">242 </span> <a href='gap-buffer.mu.html#L83'>render-gap-buffer</a> <a href='../405screen.mu.html#L9'>screen</a>, data <span id="L243" class="LineNr">243 </span><span class="Delimiter">}</span> <span id="L244" class="LineNr">244 </span> <span id="L245" class="LineNr">245 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L245'>print-words-in-reverse</a></span> <a href='../405screen.mu.html#L9'>screen</a>: (addr <a href='../405screen.mu.html#L9'>screen</a>), _words-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> words-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _words-ah -<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> words-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *words-ah +<span id="L246" class="LineNr">246 </span> <span class="PreProc">var</span> words-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _words-ah +<span id="L247" class="LineNr">247 </span> <span class="PreProc">var</span> words-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *words-ah <span id="L248" class="LineNr">248 </span> compare words-a, <span class="Constant">0</span> <span id="L249" class="LineNr">249 </span> <span class="PreProc">break-if-=</span> <span id="L250" class="LineNr">250 </span> <span class="muComment"># recurse</span> -<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> words-a, next +<span id="L251" class="LineNr">251 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> words-a, next <span id="L252" class="LineNr">252 </span> <a href='word.mu.html#L245'>print-words-in-reverse</a> <a href='../405screen.mu.html#L9'>screen</a>, next-ah <span id="L253" class="LineNr">253 </span> <span class="muComment"># print</span> <span id="L254" class="LineNr">254 </span> <a href='word.mu.html#L238'>print-word</a> <a href='../405screen.mu.html#L9'>screen</a>, words-a @@ -318,39 +324,39 @@ if ('onhashchange' in window) { <span id="L259" class="LineNr">259 </span><span class="muComment"># existing chain of words. There are two pointers to patch, and you'll forget</span> <span id="L260" class="LineNr">260 </span><span class="muComment"># to do the other one.</span> <span id="L261" class="LineNr">261 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L261'>copy-words</a></span> _src-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah -<span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> src-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L262" class="LineNr">262 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah +<span id="L263" class="LineNr">263 </span> <span class="PreProc">var</span> src-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah <span id="L264" class="LineNr">264 </span> compare src-a, <span class="Constant">0</span> <span id="L265" class="LineNr">265 </span> <span class="PreProc">break-if-=</span> <span id="L266" class="LineNr">266 </span> <span class="muComment"># copy</span> -<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L267" class="LineNr">267 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L268" class="LineNr">268 </span> <a href='word.mu.html#L343'>copy-word</a> src-a, dest-ah <span id="L269" class="LineNr">269 </span> <span class="muComment"># recurse</span> <span id="L270" class="LineNr">270 </span> <span class="PreProc">var</span> rest: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L271" class="LineNr">271 </span> <span class="PreProc">var</span> rest-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address rest -<span id="L272" class="LineNr">272 </span> <span class="PreProc">var</span> next-src-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, next +<span id="L271" class="LineNr">271 </span> <span class="PreProc">var</span> rest-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address rest +<span id="L272" class="LineNr">272 </span> <span class="PreProc">var</span> next-src-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, next <span id="L273" class="LineNr">273 </span> <a href='word.mu.html#L261'>copy-words</a> next-src-ah, rest-ah <span id="L274" class="LineNr">274 </span> <a href='word.mu.html#L459'>chain-words</a> dest-ah, rest-ah <span id="L275" class="LineNr">275 </span><span class="Delimiter">}</span> <span id="L276" class="LineNr">276 </span> <span id="L277" class="LineNr">277 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L277'>copy-words-in-reverse</a></span> _src-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> src-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah -<span id="L279" class="LineNr">279 </span> <span class="PreProc">var</span> _src-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah -<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> src-a/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-a +<span id="L278" class="LineNr">278 </span> <span class="PreProc">var</span> src-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-ah +<span id="L279" class="LineNr">279 </span> <span class="PreProc">var</span> _src-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src-ah +<span id="L280" class="LineNr">280 </span> <span class="PreProc">var</span> src-a/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-a <span id="L281" class="LineNr">281 </span> compare src-a, <span class="Constant">0</span> <span id="L282" class="LineNr">282 </span> <span class="PreProc">break-if-=</span> <span id="L283" class="LineNr">283 </span> <span class="muComment"># recurse</span> -<span id="L284" class="LineNr">284 </span> <span class="PreProc">var</span> next-src-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, next -<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L284" class="LineNr">284 </span> <span class="PreProc">var</span> next-src-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, next +<span id="L285" class="LineNr">285 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L286" class="LineNr">286 </span> <a href='word.mu.html#L277'>copy-words-in-reverse</a> next-src-ah, dest-ah <span id="L287" class="LineNr">287 </span> <span class="muComment">#</span> <span id="L288" class="LineNr">288 </span> <a href='word.mu.html#L291'>copy-word-at-end</a> src-a, dest-ah <span id="L289" class="LineNr">289 </span><span class="Delimiter">}</span> <span id="L290" class="LineNr">290 </span> <span id="L291" class="LineNr">291 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L291'>copy-word-at-end</a></span> src: (addr <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L293" class="LineNr">293 </span> <span class="muComment"># if dest is null, copy and return</span> -<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> dest-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L294" class="LineNr">294 </span> <span class="PreProc">var</span> dest-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah <span id="L295" class="LineNr">295 </span> compare dest-a, <span class="Constant">0</span> <span id="L296" class="LineNr">296 </span> <span class="Delimiter">{</span> <span id="L297" class="LineNr">297 </span> <span class="PreProc">break-if-!=</span> @@ -359,14 +365,14 @@ if ('onhashchange' in window) { <span id="L300" class="LineNr">300 </span> <span class="Delimiter">}</span> <span id="L301" class="LineNr">301 </span> <span class="muComment"># copy current word</span> <span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> new: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address new +<span id="L303" class="LineNr">303 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address new <span id="L304" class="LineNr">304 </span> <a href='word.mu.html#L343'>copy-word</a> src, new-ah <span id="L305" class="LineNr">305 </span> <span class="muComment"># append it at the end</span> -<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy dest-ah +<span id="L306" class="LineNr">306 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy dest-ah <span id="L307" class="LineNr">307 </span> <span class="Delimiter">{</span> -<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span class="muComment"># curr-a guaranteed not to be null</span> -<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-a, next -<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> next-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span class="muComment"># curr-a guaranteed not to be null</span> +<span id="L309" class="LineNr">309 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-a, next +<span id="L310" class="LineNr">310 </span> <span class="PreProc">var</span> next-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L311" class="LineNr">311 </span> compare next-a, <span class="Constant">0</span> <span id="L312" class="LineNr">312 </span> <span class="PreProc">break-if-=</span> <span id="L313" class="LineNr">313 </span> curr-ah <span class="Special"><-</span> copy next-ah @@ -376,9 +382,9 @@ if ('onhashchange' in window) { <span id="L317" class="LineNr">317 </span><span class="Delimiter">}</span> <span id="L318" class="LineNr">318 </span> <span id="L319" class="LineNr">319 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L319'>append-word-at-end-with</a></span> _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>), s: (addr array byte) <span class="Delimiter">{</span> -<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L320" class="LineNr">320 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L321" class="LineNr">321 </span> <span class="muComment"># if dest is null, copy and return</span> -<span id="L322" class="LineNr">322 </span> <span class="PreProc">var</span> dest-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L322" class="LineNr">322 </span> <span class="PreProc">var</span> dest-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah <span id="L323" class="LineNr">323 </span> compare dest-a, <span class="Constant">0</span> <span id="L324" class="LineNr">324 </span> <span class="Delimiter">{</span> <span id="L325" class="LineNr">325 </span> <span class="PreProc">break-if-!=</span> @@ -386,11 +392,11 @@ if ('onhashchange' in window) { <span id="L327" class="LineNr">327 </span> <span class="PreProc">return</span> <span id="L328" class="LineNr">328 </span> <span class="Delimiter">}</span> <span id="L329" class="LineNr">329 </span> <span class="muComment"># otherwise append at end</span> -<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy dest-ah +<span id="L330" class="LineNr">330 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy dest-ah <span id="L331" class="LineNr">331 </span> <span class="Delimiter">{</span> -<span id="L332" class="LineNr">332 </span> <span class="PreProc">var</span> curr-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span class="muComment"># curr-a guaranteed not to be null</span> -<span id="L333" class="LineNr">333 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-a, next -<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> next-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L332" class="LineNr">332 </span> <span class="PreProc">var</span> curr-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span class="muComment"># curr-a guaranteed not to be null</span> +<span id="L333" class="LineNr">333 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr-a, next +<span id="L334" class="LineNr">334 </span> <span class="PreProc">var</span> next-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L335" class="LineNr">335 </span> compare next-a, <span class="Constant">0</span> <span id="L336" class="LineNr">336 </span> <span class="PreProc">break-if-=</span> <span id="L337" class="LineNr">337 </span> curr-ah <span class="Special"><-</span> copy next-ah @@ -400,21 +406,21 @@ if ('onhashchange' in window) { <span id="L341" class="LineNr">341 </span><span class="Delimiter">}</span> <span id="L342" class="LineNr">342 </span> <span id="L343" class="LineNr">343 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L343'>copy-word</a></span> _src-a: (addr <a href='data.mu.html#L42'>word</a>), _dest-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> dest-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah +<span id="L344" class="LineNr">344 </span> <span class="PreProc">var</span> dest-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-ah <span id="L345" class="LineNr">345 </span> <a href='../120allocate.subx.html#L66'>allocate</a> dest-ah -<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> _dest-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah -<span id="L347" class="LineNr">347 </span> <span class="PreProc">var</span> dest-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-a +<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> _dest-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *dest-ah +<span id="L347" class="LineNr">347 </span> <span class="PreProc">var</span> dest-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _dest-a <span id="L348" class="LineNr">348 </span> <a href='word.mu.html#L1'>initialize-word</a> dest-a -<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-a, scalar-data -<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> src-a/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-a -<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> src/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, scalar-data +<span id="L349" class="LineNr">349 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> dest-a, scalar-data +<span id="L350" class="LineNr">350 </span> <span class="PreProc">var</span> src-a/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _src-a +<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> src/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> src-a, scalar-data <span id="L352" class="LineNr">352 </span> <a href='gap-buffer.mu.html#L314'>copy-gap-buffer</a> src, dest <span id="L353" class="LineNr">353 </span><span class="Delimiter">}</span> <span id="L354" class="LineNr">354 </span> <span id="L355" class="LineNr">355 </span><span class="muComment"># one implication of handles: append must take a handle</span> <span id="L356" class="LineNr">356 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L356'>append-word</a></span> _self-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> <span id="L357" class="LineNr">357 </span> <span class="PreProc">var</span> saved-self-storage: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> saved-self/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address saved-self-storage +<span id="L358" class="LineNr">358 </span> <span class="PreProc">var</span> saved-self/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address saved-self-storage <span id="L359" class="LineNr">359 </span> copy-object _self-ah, saved-self <span id="L360" class="LineNr">360 </span><span class="CommentedCode">#? {</span> <span id="L361" class="LineNr">361 </span><span class="CommentedCode">#? print-string 0, "self-ah is "</span> @@ -422,9 +428,9 @@ if ('onhashchange' in window) { <span id="L363" class="LineNr">363 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L364" class="LineNr">364 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L365" class="LineNr">365 </span><span class="CommentedCode">#? }</span> -<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> self-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self-ah -<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> _self/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self-ah -<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> self/<span class="Constant">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> self-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self-ah +<span id="L367" class="LineNr">367 </span> <span class="PreProc">var</span> _self/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self-ah +<span id="L368" class="LineNr">368 </span> <span class="PreProc">var</span> self/<span class="muRegEbx">ebx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self <span id="L369" class="LineNr">369 </span><span class="CommentedCode">#? {</span> <span id="L370" class="LineNr">370 </span><span class="CommentedCode">#? print-string 0, "0: self is "</span> <span id="L371" class="LineNr">371 </span><span class="CommentedCode">#? var self-ah/eax: (addr handle word) <- copy _self-ah</span> @@ -435,9 +441,9 @@ if ('onhashchange' in window) { <span id="L376" class="LineNr">376 </span><span class="CommentedCode">#? }</span> <span id="L377" class="LineNr">377 </span> <span class="muComment"># allocate new handle</span> <span id="L378" class="LineNr">378 </span> <span class="PreProc">var</span> new: (handle <a href='data.mu.html#L42'>word</a>) -<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> new-ah/<span class="Constant">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address new +<span id="L379" class="LineNr">379 </span> <span class="PreProc">var</span> new-ah/<span class="muRegEcx">ecx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address new <span id="L380" class="LineNr">380 </span> <a href='../120allocate.subx.html#L66'>allocate</a> new-ah -<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> new-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> new +<span id="L381" class="LineNr">381 </span> <span class="PreProc">var</span> new-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> new <span id="L382" class="LineNr">382 </span> <a href='word.mu.html#L1'>initialize-word</a> new-addr <span id="L383" class="LineNr">383 </span><span class="CommentedCode">#? {</span> <span id="L384" class="LineNr">384 </span><span class="CommentedCode">#? print-string 0, "new is "</span> @@ -446,18 +452,18 @@ if ('onhashchange' in window) { <span id="L387" class="LineNr">387 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L388" class="LineNr">388 </span><span class="CommentedCode">#? }</span> <span id="L389" class="LineNr">389 </span> <span class="muComment"># new->next = self->next</span> -<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> src/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next +<span id="L390" class="LineNr">390 </span> <span class="PreProc">var</span> src/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next <span id="L391" class="LineNr">391 </span><span class="CommentedCode">#? {</span> <span id="L392" class="LineNr">392 </span><span class="CommentedCode">#? print-string 0, "src is "</span> <span id="L393" class="LineNr">393 </span><span class="CommentedCode">#? var foo/eax: int <- copy src</span> <span id="L394" class="LineNr">394 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L395" class="LineNr">395 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L396" class="LineNr">396 </span><span class="CommentedCode">#? }</span> -<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> dest/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-addr, next +<span id="L397" class="LineNr">397 </span> <span class="PreProc">var</span> dest/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> new-addr, next <span id="L398" class="LineNr">398 </span> copy-object src, dest <span id="L399" class="LineNr">399 </span> <span class="muComment"># new->next->prev = new</span> <span id="L400" class="LineNr">400 </span> <span class="Delimiter">{</span> -<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> next-addr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src +<span id="L401" class="LineNr">401 </span> <span class="PreProc">var</span> next-addr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *src <span id="L402" class="LineNr">402 </span> compare next-addr, <span class="Constant">0</span> <span id="L403" class="LineNr">403 </span> <span class="PreProc">break-if-=</span> <span id="L404" class="LineNr">404 </span><span class="CommentedCode">#? {</span> @@ -508,7 +514,7 @@ if ('onhashchange' in window) { <span id="L449" class="LineNr">449 </span><span class="CommentedCode">#? print-int32-hex 0, foo</span> <span id="L450" class="LineNr">450 </span><span class="CommentedCode">#? print-string 0, "\n"</span> <span id="L451" class="LineNr">451 </span><span class="CommentedCode">#? }</span> -<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> saved-self-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address saved-self-storage +<span id="L452" class="LineNr">452 </span> <span class="PreProc">var</span> saved-self-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> address saved-self-storage <span id="L453" class="LineNr">453 </span> copy-object saved-self-ah, dest <span id="L454" class="LineNr">454 </span> <span class="muComment"># self->next = new</span> <span id="L455" class="LineNr">455 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next @@ -516,13 +522,13 @@ if ('onhashchange' in window) { <span id="L457" class="LineNr">457 </span><span class="Delimiter">}</span> <span id="L458" class="LineNr">458 </span> <span id="L459" class="LineNr">459 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L459'>chain-words</a></span> _self-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _next: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> -<span id="L460" class="LineNr">460 </span> <span class="PreProc">var</span> self-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self-ah -<span id="L461" class="LineNr">461 </span> <span class="PreProc">var</span> _self/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self-ah -<span id="L462" class="LineNr">462 </span> <span class="PreProc">var</span> self/<span class="Constant">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L463" class="LineNr">463 </span> <span class="PreProc">var</span> dest/<span class="Constant">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next -<span id="L464" class="LineNr">464 </span> <span class="PreProc">var</span> next-ah/<span class="Constant">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next +<span id="L460" class="LineNr">460 </span> <span class="PreProc">var</span> self-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self-ah +<span id="L461" class="LineNr">461 </span> <span class="PreProc">var</span> _self/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *self-ah +<span id="L462" class="LineNr">462 </span> <span class="PreProc">var</span> self/<span class="muRegEcx">ecx</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L463" class="LineNr">463 </span> <span class="PreProc">var</span> dest/<span class="muRegEdx">edx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, next +<span id="L464" class="LineNr">464 </span> <span class="PreProc">var</span> next-ah/<span class="muRegEdi">edi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _next <span id="L465" class="LineNr">465 </span> copy-object next-ah, dest -<span id="L466" class="LineNr">466 </span> <span class="PreProc">var</span> next/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah +<span id="L466" class="LineNr">466 </span> <span class="PreProc">var</span> next/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *next-ah <span id="L467" class="LineNr">467 </span> compare next, <span class="Constant">0</span> <span id="L468" class="LineNr">468 </span> <span class="PreProc">break-if-=</span> <span id="L469" class="LineNr">469 </span> dest <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> next, prev @@ -530,37 +536,37 @@ if ('onhashchange' in window) { <span id="L471" class="LineNr">471 </span><span class="Delimiter">}</span> <span id="L472" class="LineNr">472 </span> <span id="L473" class="LineNr">473 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L473'>emit-word</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), out: (addr stream byte) <span class="Delimiter">{</span> -<span id="L474" class="LineNr">474 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L475" class="LineNr">475 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L476" class="LineNr">476 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L474" class="LineNr">474 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L475" class="LineNr">475 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L476" class="LineNr">476 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L477" class="LineNr">477 </span> <a href='gap-buffer.mu.html#L37'>emit-gap-buffer</a> data, out <span id="L478" class="LineNr">478 </span><span class="Delimiter">}</span> <span id="L479" class="LineNr">479 </span> <span id="L480" class="LineNr">480 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L480'>word-to-string</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>), out: (addr handle array byte) <span class="Delimiter">{</span> -<span id="L481" class="LineNr">481 </span> <span class="PreProc">var</span> self/<span class="Constant">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L481" class="LineNr">481 </span> <span class="PreProc">var</span> self/<span class="muRegEsi">esi</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L482" class="LineNr">482 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L483" class="LineNr">483 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah <span id="L484" class="LineNr">484 </span> <a href='gap-buffer.mu.html#L30'>gap-buffer-to-string</a> data, out <span id="L485" class="LineNr">485 </span><span class="Delimiter">}</span> <span id="L486" class="LineNr">486 </span> -<span id="L487" class="LineNr">487 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L487'>word-is-decimal-integer?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: boolean <span class="Delimiter">{</span> -<span id="L488" class="LineNr">488 </span> <span class="PreProc">var</span> self/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self -<span id="L489" class="LineNr">489 </span> <span class="PreProc">var</span> data-ah/<span class="Constant">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data -<span id="L490" class="LineNr">490 </span> <span class="PreProc">var</span> data/<span class="Constant">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah -<span id="L491" class="LineNr">491 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L332'>gap-buffer-is-decimal-integer?</a> data +<span id="L487" class="LineNr">487 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L487'>word-is-decimal-integer?</a></span> _self: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: boolean <span class="Delimiter">{</span> +<span id="L488" class="LineNr">488 </span> <span class="PreProc">var</span> self/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _self +<span id="L489" class="LineNr">489 </span> <span class="PreProc">var</span> data-ah/<span class="muRegEax">eax</span>: (addr handle <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> self, scalar-data +<span id="L490" class="LineNr">490 </span> <span class="PreProc">var</span> data/<span class="muRegEax">eax</span>: (addr <a href='gap-buffer.mu.html#L1'>gap-buffer</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *data-ah +<span id="L491" class="LineNr">491 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='gap-buffer.mu.html#L332'>gap-buffer-is-decimal-integer?</a> data <span id="L492" class="LineNr">492 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L493" class="LineNr">493 </span><span class="Delimiter">}</span> <span id="L494" class="LineNr">494 </span> <span id="L495" class="LineNr">495 </span><span class="muComment"># ABSOLUTELY GHASTLY</span> -<span id="L496" class="LineNr">496 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L496'>word-exists?</a></span> _haystack-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _needle: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: boolean <span class="Delimiter">{</span> +<span id="L496" class="LineNr">496 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L496'>word-exists?</a></span> _haystack-ah: (addr handle <a href='data.mu.html#L42'>word</a>), _needle: (addr <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: boolean <span class="Delimiter">{</span> <span id="L497" class="LineNr">497 </span> <span class="PreProc">var</span> needle-name-storage: (handle array byte) -<span id="L498" class="LineNr">498 </span> <span class="PreProc">var</span> needle-name-ah/<span class="Constant">eax</span>: (addr handle array byte) <span class="Special"><-</span> address needle-name-storage +<span id="L498" class="LineNr">498 </span> <span class="PreProc">var</span> needle-name-ah/<span class="muRegEax">eax</span>: (addr handle array byte) <span class="Special"><-</span> address needle-name-storage <span id="L499" class="LineNr">499 </span> <a href='word.mu.html#L480'>word-to-string</a> _needle, needle-name-ah <span class="muComment"># profligate leak</span> -<span id="L500" class="LineNr">500 </span> <span class="PreProc">var</span> _needle-name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *needle-name-ah -<span id="L501" class="LineNr">501 </span> <span class="PreProc">var</span> needle-name/<span class="Constant">edi</span>: (addr array byte) <span class="Special"><-</span> copy _needle-name +<span id="L500" class="LineNr">500 </span> <span class="PreProc">var</span> _needle-name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *needle-name-ah +<span id="L501" class="LineNr">501 </span> <span class="PreProc">var</span> needle-name/<span class="muRegEdi">edi</span>: (addr array byte) <span class="Special"><-</span> copy _needle-name <span id="L502" class="LineNr">502 </span> <span class="muComment"># base case</span> -<span id="L503" class="LineNr">503 </span> <span class="PreProc">var</span> haystack-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _haystack-ah -<span id="L504" class="LineNr">504 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *haystack-ah +<span id="L503" class="LineNr">503 </span> <span class="PreProc">var</span> haystack-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy _haystack-ah +<span id="L504" class="LineNr">504 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *haystack-ah <span id="L505" class="LineNr">505 </span> compare curr, <span class="Constant">0</span> <span id="L506" class="LineNr">506 </span> <span class="Delimiter">{</span> <span id="L507" class="LineNr">507 </span> <span class="PreProc">break-if-!=</span> @@ -568,31 +574,31 @@ if ('onhashchange' in window) { <span id="L509" class="LineNr">509 </span> <span class="Delimiter">}</span> <span id="L510" class="LineNr">510 </span> <span class="muComment"># check curr</span> <span id="L511" class="LineNr">511 </span> <span class="PreProc">var</span> curr-name-storage: (handle array byte) -<span id="L512" class="LineNr">512 </span> <span class="PreProc">var</span> curr-name-ah/<span class="Constant">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address curr-name-storage +<span id="L512" class="LineNr">512 </span> <span class="PreProc">var</span> curr-name-ah/<span class="muRegEcx">ecx</span>: (addr handle array byte) <span class="Special"><-</span> address curr-name-storage <span id="L513" class="LineNr">513 </span> <a href='word.mu.html#L480'>word-to-string</a> curr, curr-name-ah <span class="muComment"># profligate leak</span> -<span id="L514" class="LineNr">514 </span> <span class="PreProc">var</span> curr-name/<span class="Constant">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah -<span id="L515" class="LineNr">515 </span> <span class="PreProc">var</span> found?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> needle-name, curr-name +<span id="L514" class="LineNr">514 </span> <span class="PreProc">var</span> curr-name/<span class="muRegEax">eax</span>: (addr array byte) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-name-ah +<span id="L515" class="LineNr">515 </span> <span class="PreProc">var</span> found?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../105string-equal.subx.html#L15'>string-equal?</a> needle-name, curr-name <span id="L516" class="LineNr">516 </span> compare found?, <span class="Constant">0</span> <span id="L517" class="LineNr">517 </span> <span class="Delimiter">{</span> <span id="L518" class="LineNr">518 </span> <span class="PreProc">break-if-=</span> <span id="L519" class="LineNr">519 </span> <span class="PreProc">return</span> <span class="Constant">1</span>/true <span id="L520" class="LineNr">520 </span> <span class="Delimiter">}</span> <span id="L521" class="LineNr">521 </span> <span class="muComment"># recurse</span> -<span id="L522" class="LineNr">522 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *haystack-ah -<span id="L523" class="LineNr">523 </span> <span class="PreProc">var</span> next-haystack-ah/<span class="Constant">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next -<span id="L524" class="LineNr">524 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">ebx</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L496'>word-exists?</a> next-haystack-ah, _needle +<span id="L522" class="LineNr">522 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *haystack-ah +<span id="L523" class="LineNr">523 </span> <span class="PreProc">var</span> next-haystack-ah/<span class="muRegEax">eax</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> curr, next +<span id="L524" class="LineNr">524 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEbx">ebx</span>: boolean <span class="Special"><-</span> <a href='word.mu.html#L496'>word-exists?</a> next-haystack-ah, _needle <span id="L525" class="LineNr">525 </span> <span class="PreProc">return</span> <a href='data.mu.html#L82'>result</a> <span id="L526" class="LineNr">526 </span><span class="Delimiter">}</span> <span id="L527" class="LineNr">527 </span> -<span id="L528" class="LineNr">528 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L528'>word-list-length</a></span> words: (addr handle <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L529" class="LineNr">529 </span> <span class="PreProc">var</span> curr-ah/<span class="Constant">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy words -<span id="L530" class="LineNr">530 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="Constant">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L528" class="LineNr">528 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L528'>word-list-length</a></span> words: (addr handle <a href='data.mu.html#L42'>word</a>)<span class="PreProc"> -> </span>_/<span class="muRegEax">eax</span>: int <span class="Delimiter">{</span> +<span id="L529" class="LineNr">529 </span> <span class="PreProc">var</span> curr-ah/<span class="muRegEsi">esi</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy words +<span id="L530" class="LineNr">530 </span> <span class="PreProc">var</span> <a href='data.mu.html#L82'>result</a>/<span class="muRegEdi">edi</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L531" class="LineNr">531 </span> <span class="Delimiter">{</span> -<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> curr/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah +<span id="L532" class="LineNr">532 </span> <span class="PreProc">var</span> curr/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *curr-ah <span id="L533" class="LineNr">533 </span> compare curr, <span class="Constant">0</span> <span id="L534" class="LineNr">534 </span> <span class="PreProc">break-if-=</span> <span id="L535" class="LineNr">535 </span> <span class="Delimiter">{</span> -<span id="L536" class="LineNr">536 </span> <span class="PreProc">var</span> word-len/<span class="Constant">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr +<span id="L536" class="LineNr">536 </span> <span class="PreProc">var</span> word-len/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> <a href='word.mu.html#L106'>word-length</a> curr <span id="L537" class="LineNr">537 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add word-len <span id="L538" class="LineNr">538 </span> <a href='data.mu.html#L82'>result</a> <span class="Special"><-</span> add <span class="Constant">1</span>/inter-word-margin <span id="L539" class="LineNr">539 </span> <span class="Delimiter">}</span> @@ -605,26 +611,26 @@ if ('onhashchange' in window) { <span id="L546" class="LineNr">546 </span><span class="muComment"># out-ah already has a word allocated and initialized</span> <span id="L547" class="LineNr">547 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='word.mu.html#L547'>parse-words</a></span> in: (addr array byte), out-ah: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Delimiter">{</span> <span id="L548" class="LineNr">548 </span> <span class="PreProc">var</span> in-stream: (stream byte <span class="Constant">0x100</span>) -<span id="L549" class="LineNr">549 </span> <span class="PreProc">var</span> in-stream-a/<span class="Constant">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream +<span id="L549" class="LineNr">549 </span> <span class="PreProc">var</span> in-stream-a/<span class="muRegEsi">esi</span>: (addr stream byte) <span class="Special"><-</span> address in-stream <span id="L550" class="LineNr">550 </span> <a href='../108write.subx.html#L24'>write</a> in-stream-a, in -<span id="L551" class="LineNr">551 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="Constant">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy out-ah +<span id="L551" class="LineNr">551 </span> <span class="PreProc">var</span> cursor-word-ah/<span class="muRegEbx">ebx</span>: (addr handle <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> copy out-ah <span id="L552" class="LineNr">552 </span> $parse-words:<span class="PreProc">loop</span>: <span class="Delimiter">{</span> -<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> done?/<span class="Constant">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> in-stream-a +<span id="L553" class="LineNr">553 </span> <span class="PreProc">var</span> done?/<span class="muRegEax">eax</span>: boolean <span class="Special"><-</span> <a href='../309stream.subx.html#L6'>stream-empty?</a> in-stream-a <span id="L554" class="LineNr">554 </span> compare done?, <span class="Constant">0</span>/false <span id="L555" class="LineNr">555 </span> <span class="PreProc">break-if-!=</span> -<span id="L556" class="LineNr">556 </span> <span class="PreProc">var</span> _g/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> in-stream-a -<span id="L557" class="LineNr">557 </span> <span class="PreProc">var</span> g/<span class="Constant">ecx</span>: grapheme <span class="Special"><-</span> copy _g +<span id="L556" class="LineNr">556 </span> <span class="PreProc">var</span> _g/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='../403unicode.mu.html#L158'>read-grapheme</a> in-stream-a +<span id="L557" class="LineNr">557 </span> <span class="PreProc">var</span> g/<span class="muRegEcx">ecx</span>: grapheme <span class="Special"><-</span> copy _g <span id="L558" class="LineNr">558 </span> <span class="muComment"># if not space, insert</span> <span id="L559" class="LineNr">559 </span> compare g, <span class="Constant">0x20</span>/space <span id="L560" class="LineNr">560 </span> <span class="Delimiter">{</span> <span id="L561" class="LineNr">561 </span> <span class="PreProc">break-if-=</span> -<span id="L562" class="LineNr">562 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L562" class="LineNr">562 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L563" class="LineNr">563 </span> <a href='word.mu.html#L148'>add-grapheme-to-word</a> cursor-word, g <span id="L564" class="LineNr">564 </span> <span class="PreProc">loop</span> $parse-words:<span class="PreProc">loop</span> <span id="L565" class="LineNr">565 </span> <span class="Delimiter">}</span> <span id="L566" class="LineNr">566 </span> <span class="muComment"># otherwise insert word after and move cursor to it</span> <span id="L567" class="LineNr">567 </span> <a href='word.mu.html#L356'>append-word</a> cursor-word-ah -<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> cursor-word/<span class="Constant">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah +<span id="L568" class="LineNr">568 </span> <span class="PreProc">var</span> cursor-word/<span class="muRegEax">eax</span>: (addr <a href='data.mu.html#L42'>word</a>) <span class="Special"><-</span> <a href='../120allocate.subx.html#L258'>lookup</a> *cursor-word-ah <span id="L569" class="LineNr">569 </span> <a href='word.mu.html#L185'>cursor-to-start</a> cursor-word <span class="muComment"># reset cursor in each function</span> <span id="L570" class="LineNr">570 </span> cursor-word-ah <span class="Special"><-</span> <a href='../131table.subx.html#L26'>get</a> cursor-word, next <span id="L571" class="LineNr">571 </span> <span class="PreProc">loop</span> diff --git a/html/linux/tui.mu.html b/html/linux/tui.mu.html index 38e33939..63d63f0f 100644 --- a/html/linux/tui.mu.html +++ b/html/linux/tui.mu.html @@ -7,18 +7,21 @@ <meta name="plugin-version" content="vim8.1_v1"> <meta name="syntax" content="none"> <meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy="> -<meta name="colorscheme" content="minimal-dark"> +<meta name="colorscheme" content="minimal-light"> <style type="text/css"> <!-- -pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #a8a8a8; } -body { font-size:12pt; font-family: monospace; color: #000000; background-color: #a8a8a8; } +pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #eeeeee; } +body { font-size:12pt; font-family: monospace; color: #000000; background-color: #eeeeee; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } .PreProc { color: #c000c0; } +.muRegEcx { color: #af875f; } .Special { color: #ff6060; } .LineNr { } -.Delimiter { color: #c000c0; } .Constant { color: #008787; } +.muRegEbx { color: #8787af; } +.muRegEax { color: #875f00; } +.Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } .muComment { color: #005faf; } --> @@ -62,9 +65,9 @@ if ('onhashchange' in window) { <span id="L4" class="LineNr"> 4 </span><span class="muComment"># $ ./translate tui.mu</span> <span id="L5" class="LineNr"> 5 </span><span class="muComment"># $ ./a.elf</span> <span id="L6" class="LineNr"> 6 </span> -<span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='tui.mu.html#L7'>main</a></span><span class="PreProc"> -> </span>_/<span class="Constant">ebx</span>: int <span class="Delimiter">{</span> -<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> nrows/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> -<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> ncols/<span class="Constant">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L7" class="LineNr"> 7 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='tui.mu.html#L7'>main</a></span><span class="PreProc"> -> </span>_/<span class="muRegEbx">ebx</span>: int <span class="Delimiter">{</span> +<span id="L8" class="LineNr"> 8 </span> <span class="PreProc">var</span> nrows/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> +<span id="L9" class="LineNr"> 9 </span> <span class="PreProc">var</span> ncols/<span class="muRegEcx">ecx</span>: int <span class="Special"><-</span> copy <span class="Constant">0</span> <span id="L10" class="LineNr">10 </span> nrows, ncols <span class="Special"><-</span> <a href='405screen.mu.html#L60'>screen-size</a> <span class="Constant">0</span> <span id="L11" class="LineNr">11 </span> <a href='304screen.subx.html#L6'>enable-screen-grid-mode</a> <span id="L12" class="LineNr">12 </span> <a href='405screen.mu.html#L109'>move-cursor</a> <span class="Constant">0</span>/screen, <span class="Constant">5</span>/row, <span class="Constant">0x22</span>/col @@ -81,11 +84,11 @@ if ('onhashchange' in window) { <span id="L23" class="LineNr">23 </span> <span id="L24" class="LineNr">24 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"press a key to see its code: "</span> <span id="L25" class="LineNr">25 </span> <a href='305keyboard.subx.html#L6'>enable-keyboard-immediate-mode</a> -<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> x/<span class="Constant">eax</span>: grapheme <span class="Special"><-</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> +<span id="L26" class="LineNr">26 </span> <span class="PreProc">var</span> x/<span class="muRegEax">eax</span>: grapheme <span class="Special"><-</span> <a href='305keyboard.subx.html#L132'>read-key-from-real-keyboard</a> <span id="L27" class="LineNr">27 </span> <a href='305keyboard.subx.html#L72'>enable-keyboard-type-mode</a> <span id="L28" class="LineNr">28 </span> <a href='304screen.subx.html#L24'>enable-screen-type-mode</a> <span id="L29" class="LineNr">29 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"You pressed "</span> -<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> x-int/<span class="Constant">eax</span>: int <span class="Special"><-</span> copy x +<span id="L30" class="LineNr">30 </span> <span class="PreProc">var</span> x-int/<span class="muRegEax">eax</span>: int <span class="Special"><-</span> copy x <span id="L31" class="LineNr">31 </span> <a href='405screen.mu.html#L440'>print-int32-hex</a> <span class="Constant">0</span>/screen, x-int <span id="L32" class="LineNr">32 </span> <a href='405screen.mu.html#L169'>print-string</a> <span class="Constant">0</span>/screen, <span class="Constant">"\n"</span> <span id="L33" class="LineNr">33 </span> <span class="PreProc">return</span> <span class="Constant">0</span> |