about summary refs log tree commit diff stats
path: root/html/apps
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-03-06 18:39:16 -0800
committerKartik Agaram <vc@akkartik.com>2020-03-06 18:39:16 -0800
commitee0e67b9d7c275480827d856b926d2c403057bb8 (patch)
tree4c64d0b7bd4f25292fa73868a7ad3a7820ae4644 /html/apps
parent8f256f1f2ee6a2a49816dd23d26cd120f526bf0b (diff)
downloadmu-ee0e67b9d7c275480827d856b926d2c403057bb8.tar.gz
6091
Diffstat (limited to 'html/apps')
-rw-r--r--html/apps/assort.subx.html4
-rw-r--r--html/apps/crenshaw2-1.subx.html12
-rw-r--r--html/apps/crenshaw2-1b.subx.html12
-rw-r--r--html/apps/dquotes.subx.html4
-rw-r--r--html/apps/ex1.subx.html4
-rw-r--r--html/apps/ex10.subx.html4
-rw-r--r--html/apps/ex11.subx.html4
-rw-r--r--html/apps/ex12.subx.html4
-rw-r--r--html/apps/ex13.subx.html87
-rw-r--r--html/apps/ex14.subx.html88
-rw-r--r--html/apps/ex2.subx.html4
-rw-r--r--html/apps/ex3.subx.html4
-rw-r--r--html/apps/ex4.subx.html4
-rw-r--r--html/apps/ex5.subx.html4
-rw-r--r--html/apps/ex6.subx.html4
-rw-r--r--html/apps/ex7.subx.html4
-rw-r--r--html/apps/ex8.subx.html4
-rw-r--r--html/apps/ex9.subx.html4
-rw-r--r--html/apps/factorial.subx.html6
-rw-r--r--html/apps/factorial2.subx.html4
-rw-r--r--html/apps/factorial3.subx.html4
-rw-r--r--html/apps/factorial4.subx.html4
-rw-r--r--html/apps/handle.subx.html4
-rw-r--r--html/apps/hex.subx.html10
-rw-r--r--html/apps/mu.subx.html6994
-rw-r--r--html/apps/pack.subx.html6
-rw-r--r--html/apps/random.subx.html4
-rw-r--r--html/apps/sigils.subx.html24
-rw-r--r--html/apps/survey.subx.html6
-rw-r--r--html/apps/tests.subx.html2
30 files changed, 3743 insertions, 3580 deletions
diff --git a/html/apps/assort.subx.html b/html/apps/assort.subx.html
index 23f49434..efb6a8f2 100644
--- a/html/apps/assort.subx.html
+++ b/html/apps/assort.subx.html
@@ -69,13 +69,13 @@ if ('onhashchange' in window) {
 <span id="L7" class="LineNr">  7 </span><span class="subxComment"># because we don't know if they refer to the line above or the line below.</span>
 <span id="L8" class="LineNr">  8 </span><span class="subxComment">#</span>
 <span id="L9" class="LineNr">  9 </span><span class="subxComment"># To run:</span>
-<span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/assort.subx  -o apps/assort</span>
+<span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/assort.subx  -o apps/assort</span>
 <span id="L11" class="LineNr"> 11 </span><span class="subxComment">#   $ cat x</span>
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#   == code</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment">#   abc</span>
 <span id="L14" class="LineNr"> 14 </span><span class="subxComment">#   == code</span>
 <span id="L15" class="LineNr"> 15 </span><span class="subxComment">#   def</span>
-<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ cat x  |./subx run apps/assort</span>
+<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ cat x  |./bootstrap run apps/assort</span>
 <span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   == code</span>
 <span id="L18" class="LineNr"> 18 </span><span class="subxComment">#   abc</span>
 <span id="L19" class="LineNr"> 19 </span><span class="subxComment">#   def</span>
diff --git a/html/apps/crenshaw2-1.subx.html b/html/apps/crenshaw2-1.subx.html
index 1c9ae904..42bfe4d6 100644
--- a/html/apps/crenshaw2-1.subx.html
+++ b/html/apps/crenshaw2-1.subx.html
@@ -64,8 +64,8 @@ if ('onhashchange' in window) {
 <span id="L3" class="LineNr">  3 </span><span class="subxComment"># except that we support hex digits.</span>
 <span id="L4" class="LineNr">  4 </span><span class="subxComment">#</span>
 <span id="L5" class="LineNr">  5 </span><span class="subxComment"># To run:</span>
-<span id="L6" class="LineNr">  6 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1</span>
-<span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ echo '3'  |./subx run apps/crenshaw2-1</span>
+<span id="L6" class="LineNr">  6 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/crenshaw2-1.subx -o apps/crenshaw2-1</span>
+<span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ echo '3'  |./bootstrap run apps/crenshaw2-1</span>
 <span id="L8" class="LineNr">  8 </span><span class="subxComment"># Expected output:</span>
 <span id="L9" class="LineNr">  9 </span><span class="subxComment">#   # syscall(exit, 3)</span>
 <span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   bb/copy-to-ebx  3/imm32</span>
@@ -73,14 +73,14 @@ if ('onhashchange' in window) {
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#   cd/syscall  0x80/imm8</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment">#</span>
 <span id="L14" class="LineNr"> 14 </span><span class="subxComment"># To run the generated output:</span>
-<span id="L15" class="LineNr"> 15 </span><span class="subxComment">#   $ echo '3'  |./subx run apps/crenshaw2-1 &gt; z1.subx</span>
-<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./subx translate init.linux z1.subx -o z1</span>
-<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./subx run z1</span>
+<span id="L15" class="LineNr"> 15 </span><span class="subxComment">#   $ echo '3'  |./bootstrap run apps/crenshaw2-1 &gt; z1.subx</span>
+<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./bootstrap translate init.linux z1.subx -o z1</span>
+<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./bootstrap run z1</span>
 <span id="L18" class="LineNr"> 18 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L19" class="LineNr"> 19 </span><span class="subxComment">#   3</span>
 <span id="L20" class="LineNr"> 20 </span><span class="subxComment">#</span>
 <span id="L21" class="LineNr"> 21 </span><span class="subxComment"># Stdin must contain just a single hex digit. Other input will print an error:</span>
-<span id="L22" class="LineNr"> 22 </span><span class="subxComment">#   $ echo 'xyz'  |./subx run apps/crenshaw2-1</span>
+<span id="L22" class="LineNr"> 22 </span><span class="subxComment">#   $ echo 'xyz'  |./bootstrap run apps/crenshaw2-1</span>
 <span id="L23" class="LineNr"> 23 </span><span class="subxComment">#   Error: integer expected</span>
 <span id="L24" class="LineNr"> 24 </span><span class="subxComment">#</span>
 <span id="L25" class="LineNr"> 25 </span><span class="subxComment"># Names in this file sometimes follow Crenshaw's original rather than my usual</span>
diff --git a/html/apps/crenshaw2-1b.subx.html b/html/apps/crenshaw2-1b.subx.html
index 01b29a6a..67c8891f 100644
--- a/html/apps/crenshaw2-1b.subx.html
+++ b/html/apps/crenshaw2-1b.subx.html
@@ -64,8 +64,8 @@ if ('onhashchange' in window) {
 <span id="L3" class="LineNr">  3 </span><span class="subxComment"># except that we support hex numbers of multiple digits.</span>
 <span id="L4" class="LineNr">  4 </span><span class="subxComment">#</span>
 <span id="L5" class="LineNr">  5 </span><span class="subxComment"># To run:</span>
-<span id="L6" class="LineNr">  6 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b</span>
-<span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ echo '1a'  |./subx run apps/crenshaw2-1b</span>
+<span id="L6" class="LineNr">  6 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/crenshaw2-1b.subx -o apps/crenshaw2-1b</span>
+<span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ echo '1a'  |./bootstrap run apps/crenshaw2-1b</span>
 <span id="L8" class="LineNr">  8 </span><span class="subxComment"># Expected output:</span>
 <span id="L9" class="LineNr">  9 </span><span class="subxComment">#   # syscall(exit, 1a)</span>
 <span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   bb/copy-to-ebx  3/imm32</span>
@@ -73,14 +73,14 @@ if ('onhashchange' in window) {
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#   cd/syscall  0x80/imm8</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment">#</span>
 <span id="L14" class="LineNr"> 14 </span><span class="subxComment"># To run the generated output:</span>
-<span id="L15" class="LineNr"> 15 </span><span class="subxComment">#   $ echo '1a'  |./subx run apps/crenshaw2-1b &gt; z1.subx</span>
-<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./subx translate init.linux z1.subx -o z1</span>
-<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./subx run z1</span>
+<span id="L15" class="LineNr"> 15 </span><span class="subxComment">#   $ echo '1a'  |./bootstrap run apps/crenshaw2-1b &gt; z1.subx</span>
+<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./bootstrap translate init.linux z1.subx -o z1</span>
+<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./bootstrap run z1</span>
 <span id="L18" class="LineNr"> 18 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L19" class="LineNr"> 19 </span><span class="subxComment">#   26  # 0x1a in decimal</span>
 <span id="L20" class="LineNr"> 20 </span><span class="subxComment">#</span>
 <span id="L21" class="LineNr"> 21 </span><span class="subxComment"># Stdin must contain just a single hex digit. Other input will print an error:</span>
-<span id="L22" class="LineNr"> 22 </span><span class="subxComment">#   $ echo 'xyz'  |./subx run apps/crenshaw2-1b</span>
+<span id="L22" class="LineNr"> 22 </span><span class="subxComment">#   $ echo 'xyz'  |./bootstrap run apps/crenshaw2-1b</span>
 <span id="L23" class="LineNr"> 23 </span><span class="subxComment">#   Error: integer expected</span>
 <span id="L24" class="LineNr"> 24 </span><span class="subxComment">#</span>
 <span id="L25" class="LineNr"> 25 </span><span class="subxComment"># Names in this file sometimes follow Crenshaw's original rather than my usual</span>
diff --git a/html/apps/dquotes.subx.html b/html/apps/dquotes.subx.html
index 43be5025..1636fde6 100644
--- a/html/apps/dquotes.subx.html
+++ b/html/apps/dquotes.subx.html
@@ -65,11 +65,11 @@ if ('onhashchange' in window) {
 <span id="L2" class="LineNr">   2 </span><span class="subxComment"># Replace them with references to new variables in the data segment.</span>
 <span id="L3" class="LineNr">   3 </span><span class="subxComment">#</span>
 <span id="L4" class="LineNr">   4 </span><span class="subxComment"># To run:</span>
-<span id="L5" class="LineNr">   5 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/dquotes.subx  -o apps/dquotes</span>
+<span id="L5" class="LineNr">   5 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/dquotes.subx  -o apps/dquotes</span>
 <span id="L6" class="LineNr">   6 </span><span class="subxComment">#   $ cat x</span>
 <span id="L7" class="LineNr">   7 </span><span class="subxComment">#   == code</span>
 <span id="L8" class="LineNr">   8 </span><span class="subxComment">#   ab &quot;cd ef&quot;/imm32</span>
-<span id="L9" class="LineNr">   9 </span><span class="subxComment">#   $ cat x  |./subx run apps/dquotes</span>
+<span id="L9" class="LineNr">   9 </span><span class="subxComment">#   $ cat x  |./bootstrap run apps/dquotes</span>
 <span id="L10" class="LineNr">  10 </span><span class="subxComment">#   == code</span>
 <span id="L11" class="LineNr">  11 </span><span class="subxComment">#   ab __string1/imm32</span>
 <span id="L12" class="LineNr">  12 </span><span class="subxComment">#   == data</span>
diff --git a/html/apps/ex1.subx.html b/html/apps/ex1.subx.html
index 4cc9e90f..0d3311bc 100644
--- a/html/apps/ex1.subx.html
+++ b/html/apps/ex1.subx.html
@@ -57,8 +57,8 @@ if ('onhashchange' in window) {
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># Just return 42.</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment">#</span>
 <span id="L4" class="LineNr"> 4 </span><span class="subxComment"># To run:</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex1.2.subx -o examples/ex1</span>
-<span id="L6" class="LineNr"> 6 </span><span class="subxComment">#   $ ./subx run examples/ex1</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex1.2.subx -o apps/ex1</span>
+<span id="L6" class="LineNr"> 6 </span><span class="subxComment">#   $ ./bootstrap run apps/ex1</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># Expected result:</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   42</span>
diff --git a/html/apps/ex10.subx.html b/html/apps/ex10.subx.html
index a0a7fd11..ddfd8a6e 100644
--- a/html/apps/ex10.subx.html
+++ b/html/apps/ex10.subx.html
@@ -60,8 +60,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># String comparison: return 1 iff the two args passed in at the commandline are equal.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex10.subx -o examples/ex10</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex10 abc abd</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex10.subx -o apps/ex10</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex10 abc abd</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   0  # false</span>
diff --git a/html/apps/ex11.subx.html b/html/apps/ex11.subx.html
index 199ffcff..275a594b 100644
--- a/html/apps/ex11.subx.html
+++ b/html/apps/ex11.subx.html
@@ -68,8 +68,8 @@ if ('onhashchange' in window) {
 <span id="L6" class="LineNr">  6 </span><span class="subxComment"># a null-terminated 'kernel string' with a length-prefixed 'SubX string'.</span>
 <span id="L7" class="LineNr">  7 </span><span class="subxComment">#</span>
 <span id="L8" class="LineNr">  8 </span><span class="subxComment"># To run:</span>
-<span id="L9" class="LineNr">  9 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex11.subx -o examples/ex11</span>
-<span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   $ ./subx run examples/ex11  # runs a series of tests</span>
+<span id="L9" class="LineNr">  9 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex11.subx -o apps/ex11</span>
+<span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   $ ./bootstrap run apps/ex11  # runs a series of tests</span>
 <span id="L11" class="LineNr"> 11 </span><span class="subxComment">#   ......  # all tests pass</span>
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment"># (We can't yet run the tests when given a &quot;test&quot; commandline argument,</span>
diff --git a/html/apps/ex12.subx.html b/html/apps/ex12.subx.html
index 221bec80..4f753e5c 100644
--- a/html/apps/ex12.subx.html
+++ b/html/apps/ex12.subx.html
@@ -59,8 +59,8 @@ if ('onhashchange' in window) {
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># Create a new segment using mmap, save the address, write to it.</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment">#</span>
 <span id="L4" class="LineNr"> 4 </span><span class="subxComment"># To run:</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex12.subx -o examples/ex12</span>
-<span id="L6" class="LineNr"> 6 </span><span class="subxComment">#   $ ./subx run examples/ex12</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex12.subx -o apps/ex12</span>
+<span id="L6" class="LineNr"> 6 </span><span class="subxComment">#   $ ./bootstrap run apps/ex12</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># You shouldn't get a segmentation fault.</span>
 <span id="L8" class="LineNr"> 8 </span>
 <span id="L9" class="LineNr"> 9 </span>== code
diff --git a/html/apps/ex13.subx.html b/html/apps/ex13.subx.html
new file mode 100644
index 00000000..d85c5166
--- /dev/null
+++ b/html/apps/ex13.subx.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>Mu - apps/ex13.subx</title>
+<meta name="Generator" content="Vim/8.1">
+<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-light">
+<style type="text/css">
+<!--
+pre { font-family: monospace; color: #000000; background-color: #c6c6c6; }
+body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
+a { color:inherit; }
+* { font-size:12pt; font-size: 1em; }
+.subxComment { color: #005faf; }
+.subxS2Comment { color: #8a8a8a; }
+.LineNr { }
+.subxS1Comment { color: #0000af; }
+.SpecialChar { color: #d70000; }
+.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
+.Constant { color: #008787; }
+-->
+</style>
+
+<script type='text/javascript'>
+<!--
+
+/* function to open any folds containing a jumped-to line before jumping to it */
+function JumpToLine()
+{
+  var lineNum;
+  lineNum = window.location.hash;
+  lineNum = lineNum.substr(1); /* strip off '#' */
+
+  if (lineNum.indexOf('L') == -1) {
+    lineNum = 'L'+lineNum;
+  }
+  var lineElem = document.getElementById(lineNum);
+  /* Always jump to new location even if the line was hidden inside a fold, or
+   * we corrected the raw number to a line ID.
+   */
+  if (lineElem) {
+    lineElem.scrollIntoView(true);
+  }
+  return true;
+}
+if ('onhashchange' in window) {
+  window.onhashchange = JumpToLine;
+}
+
+-->
+</script>
+</head>
+<body onload='JumpToLine();'>
+<a href='https://github.com/akkartik/mu/blob/master/apps/ex13.subx'>https://github.com/akkartik/mu/blob/master/apps/ex13.subx</a>
+<pre id='vimCodeElement'>
+<span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Compare 3 and 3.</span>
+<span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
+<span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex13.subx -o apps/ex13</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex13</span>
+<span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
+<span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
+<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   1</span>
+<span id="L9" class="LineNr"> 9 </span>
+<span id="L10" class="LineNr">10 </span>== code
+<span id="L11" class="LineNr">11 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
+<span id="L12" class="LineNr">12 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
+<span id="L13" class="LineNr">13 </span><span class="subxS1Comment"># . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes</span>
+<span id="L14" class="LineNr">14 </span>
+<span id="L15" class="LineNr">15 </span><span class="SpecialChar">Entry</span>:
+<span id="L16" class="LineNr">16 </span>    b8/copy-to-eax  3/imm32
+<span id="L17" class="LineNr">17 </span>    3d/compare-eax-and  3/imm32
+<span id="L18" class="LineNr">18 </span>    0f 94/set-if-=                  3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># set ebx to ZF</span>
+<span id="L19" class="LineNr">19 </span>    81 4/subop/and                  3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># AND eax with 0xff</span>
+<span id="L20" class="LineNr">20 </span>
+<span id="L21" class="LineNr">21 </span><span class="Constant">$exit</span>:
+<span id="L22" class="LineNr">22 </span>    <span class="subxComment"># exit(ebx)</span>
+<span id="L23" class="LineNr">23 </span>    e8/call  syscall_exit/disp32
+<span id="L24" class="LineNr">24 </span>
+<span id="L25" class="LineNr">25 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
+</pre>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->
diff --git a/html/apps/ex14.subx.html b/html/apps/ex14.subx.html
new file mode 100644
index 00000000..ed5fa2ee
--- /dev/null
+++ b/html/apps/ex14.subx.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>Mu - apps/ex14.subx</title>
+<meta name="Generator" content="Vim/8.1">
+<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-light">
+<style type="text/css">
+<!--
+pre { font-family: monospace; color: #000000; background-color: #c6c6c6; }
+body { font-size:12pt; font-family: monospace; color: #000000; background-color: #c6c6c6; }
+a { color:inherit; }
+* { font-size:12pt; font-size: 1em; }
+.subxComment { color: #005faf; }
+.subxS2Comment { color: #8a8a8a; }
+.LineNr { }
+.subxS1Comment { color: #0000af; }
+.SpecialChar { color: #d70000; }
+.Normal { color: #000000; background-color: #c6c6c6; padding-bottom: 1px; }
+.Constant { color: #008787; }
+-->
+</style>
+
+<script type='text/javascript'>
+<!--
+
+/* function to open any folds containing a jumped-to line before jumping to it */
+function JumpToLine()
+{
+  var lineNum;
+  lineNum = window.location.hash;
+  lineNum = lineNum.substr(1); /* strip off '#' */
+
+  if (lineNum.indexOf('L') == -1) {
+    lineNum = 'L'+lineNum;
+  }
+  var lineElem = document.getElementById(lineNum);
+  /* Always jump to new location even if the line was hidden inside a fold, or
+   * we corrected the raw number to a line ID.
+   */
+  if (lineElem) {
+    lineElem.scrollIntoView(true);
+  }
+  return true;
+}
+if ('onhashchange' in window) {
+  window.onhashchange = JumpToLine;
+}
+
+-->
+</script>
+</head>
+<body onload='JumpToLine();'>
+<a href='https://github.com/akkartik/mu/blob/master/apps/ex14.subx'>https://github.com/akkartik/mu/blob/master/apps/ex14.subx</a>
+<pre id='vimCodeElement'>
+<span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Multiply 2 numbers.</span>
+<span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
+<span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex14.subx -o apps/ex14</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex14</span>
+<span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
+<span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
+<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   6</span>
+<span id="L9" class="LineNr"> 9 </span>
+<span id="L10" class="LineNr">10 </span>== code
+<span id="L11" class="LineNr">11 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
+<span id="L12" class="LineNr">12 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
+<span id="L13" class="LineNr">13 </span><span class="subxS1Comment"># . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes</span>
+<span id="L14" class="LineNr">14 </span>
+<span id="L15" class="LineNr">15 </span><span class="SpecialChar">Entry</span>:
+<span id="L16" class="LineNr">16 </span>    b8/copy-to-eax  1/imm32
+<span id="L17" class="LineNr">17 </span>    b9/copy-to-ecx  2/imm32
+<span id="L18" class="LineNr">18 </span>    bb/copy-to-ebx  3/imm32
+<span id="L19" class="LineNr">19 </span>
+<span id="L20" class="LineNr">20 </span>    69/multiply                     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx                   3/imm32           <span class="subxComment"># ebx = ecx * 3</span>
+<span id="L21" class="LineNr">21 </span>
+<span id="L22" class="LineNr">22 </span><span class="Constant">$exit</span>:
+<span id="L23" class="LineNr">23 </span>    <span class="subxComment"># exit(ebx)</span>
+<span id="L24" class="LineNr">24 </span>    e8/call  syscall_exit/disp32
+<span id="L25" class="LineNr">25 </span>
+<span id="L26" class="LineNr">26 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
+</pre>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->
diff --git a/html/apps/ex2.subx.html b/html/apps/ex2.subx.html
index f1e4abe9..392f5440 100644
--- a/html/apps/ex2.subx.html
+++ b/html/apps/ex2.subx.html
@@ -56,8 +56,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Add 1 and 1, and return the result in the exit code.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex2.subx -o examples/ex2</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex2</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex2.subx -o apps/ex2</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex2</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   2</span>
diff --git a/html/apps/ex3.subx.html b/html/apps/ex3.subx.html
index 31ff11a1..e267f0fe 100644
--- a/html/apps/ex3.subx.html
+++ b/html/apps/ex3.subx.html
@@ -59,8 +59,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Add the first 10 numbers, and return the result in the exit code.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex3.subx -o examples/ex3</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex3</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex3.subx -o apps/ex3</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex3</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   55</span>
diff --git a/html/apps/ex4.subx.html b/html/apps/ex4.subx.html
index b1e1019b..297576bb 100644
--- a/html/apps/ex4.subx.html
+++ b/html/apps/ex4.subx.html
@@ -57,8 +57,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Read a character from stdin, save it to a global, write it to stdout.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex4.subx -o examples/ex4</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex4</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex4.subx -o apps/ex4</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex4</span>
 <span id="L6" class="LineNr"> 6 </span>
 <span id="L7" class="LineNr"> 7 </span>== data
 <span id="L8" class="LineNr"> 8 </span>
diff --git a/html/apps/ex5.subx.html b/html/apps/ex5.subx.html
index 26c5700b..c403dcae 100644
--- a/html/apps/ex5.subx.html
+++ b/html/apps/ex5.subx.html
@@ -58,8 +58,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Read a character from stdin, save it to a local on the stack, write it to stdout.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex5.subx -o examples/ex5</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex5</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex5.subx -o apps/ex5</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex5</span>
 <span id="L6" class="LineNr"> 6 </span>
 <span id="L7" class="LineNr"> 7 </span>== code
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
diff --git a/html/apps/ex6.subx.html b/html/apps/ex6.subx.html
index e8f7dbe4..ba8a4037 100644
--- a/html/apps/ex6.subx.html
+++ b/html/apps/ex6.subx.html
@@ -58,8 +58,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Print out a (global variable) string to stdout.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex6.subx -o examples/ex6</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex6</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex6.subx -o apps/ex6</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex6</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment">#   Hello, world!</span>
 <span id="L7" class="LineNr"> 7 </span>
 <span id="L8" class="LineNr"> 8 </span>== code
diff --git a/html/apps/ex7.subx.html b/html/apps/ex7.subx.html
index 617c44c2..76a1de01 100644
--- a/html/apps/ex7.subx.html
+++ b/html/apps/ex7.subx.html
@@ -62,8 +62,8 @@ if ('onhashchange' in window) {
 <span id="L5" class="LineNr"> 5 </span><span class="subxComment"># the character read.</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment">#</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># To run:</span>
-<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex7.subx -o examples/ex7</span>
-<span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   $ ./subx run examples/ex7</span>
+<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex7.subx -o apps/ex7</span>
+<span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   $ ./bootstrap run apps/ex7</span>
 <span id="L10" class="LineNr">10 </span><span class="subxComment"># Expected result:</span>
 <span id="L11" class="LineNr">11 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L12" class="LineNr">12 </span><span class="subxComment">#   97</span>
diff --git a/html/apps/ex8.subx.html b/html/apps/ex8.subx.html
index 8cf64378..a6458493 100644
--- a/html/apps/ex8.subx.html
+++ b/html/apps/ex8.subx.html
@@ -60,8 +60,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Example reading commandline arguments: compute length of first arg.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex8.subx -o examples/ex8</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run examples/ex8 abc de fghi</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex8.subx -o apps/ex8</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/ex8 abc de fghi</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   3  # length of 'abc'</span>
diff --git a/html/apps/ex9.subx.html b/html/apps/ex9.subx.html
index 3558ac1c..4ac15f83 100644
--- a/html/apps/ex9.subx.html
+++ b/html/apps/ex9.subx.html
@@ -62,8 +62,8 @@ if ('onhashchange' in window) {
 <span id="L4" class="LineNr"> 4 </span><span class="subxComment"># letter of second arg.</span>
 <span id="L5" class="LineNr"> 5 </span><span class="subxComment">#</span>
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># To run:</span>
-<span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ ./subx translate init.linux examples/ex9.subx -o examples/ex9</span>
-<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ ./subx run examples/ex9 z x</span>
+<span id="L7" class="LineNr"> 7 </span><span class="subxComment">#   $ ./bootstrap translate init.linux apps/ex9.subx -o apps/ex9</span>
+<span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ ./bootstrap run apps/ex9 z x</span>
 <span id="L9" class="LineNr"> 9 </span><span class="subxComment"># Expected result:</span>
 <span id="L10" class="LineNr">10 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L11" class="LineNr">11 </span><span class="subxComment">#   2</span>
diff --git a/html/apps/factorial.subx.html b/html/apps/factorial.subx.html
index 8c637957..bbd42944 100644
--- a/html/apps/factorial.subx.html
+++ b/html/apps/factorial.subx.html
@@ -62,14 +62,14 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr">  1 </span><span class="subxComment">## compute the factorial of 5, and return the result in the exit code</span>
 <span id="L2" class="LineNr">  2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr">  3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr">  4 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/factorial.subx -o apps/factorial</span>
-<span id="L5" class="LineNr">  5 </span><span class="subxComment">#   $ ./subx run apps/factorial</span>
+<span id="L4" class="LineNr">  4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/factorial.subx -o apps/factorial</span>
+<span id="L5" class="LineNr">  5 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial</span>
 <span id="L6" class="LineNr">  6 </span><span class="subxComment"># Expected result:</span>
 <span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L8" class="LineNr">  8 </span><span class="subxComment">#   120</span>
 <span id="L9" class="LineNr">  9 </span><span class="subxComment">#</span>
 <span id="L10" class="LineNr"> 10 </span><span class="subxComment"># You can also run the automated test suite:</span>
-<span id="L11" class="LineNr"> 11 </span><span class="subxComment">#   $ ./subx run apps/factorial test</span>
+<span id="L11" class="LineNr"> 11 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial test</span>
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment"># Expected output:</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment">#   ........</span>
 <span id="L14" class="LineNr"> 14 </span><span class="subxComment"># Every '.' indicates a passing test. Failing tests get a 'F'.</span>
diff --git a/html/apps/factorial2.subx.html b/html/apps/factorial2.subx.html
index 4d59c774..4e09dcf6 100644
--- a/html/apps/factorial2.subx.html
+++ b/html/apps/factorial2.subx.html
@@ -65,13 +65,13 @@ if ('onhashchange' in window) {
 <span id="L5" class="LineNr">  5 </span><span class="subxComment">#</span>
 <span id="L6" class="LineNr">  6 </span><span class="subxComment"># To run:</span>
 <span id="L7" class="LineNr">  7 </span><span class="subxComment">#   $ ./translate_subx init.linux 0*.subx apps/factorial.subx -o apps/factorial</span>
-<span id="L8" class="LineNr">  8 </span><span class="subxComment">#   $ ./subx run apps/factorial</span>
+<span id="L8" class="LineNr">  8 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial</span>
 <span id="L9" class="LineNr">  9 </span><span class="subxComment"># Expected result:</span>
 <span id="L10" class="LineNr"> 10 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L11" class="LineNr"> 11 </span><span class="subxComment">#   120</span>
 <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#</span>
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment"># You can also run the automated test suite:</span>
-<span id="L14" class="LineNr"> 14 </span><span class="subxComment">#   $ ./subx run apps/factorial test</span>
+<span id="L14" class="LineNr"> 14 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial test</span>
 <span id="L15" class="LineNr"> 15 </span><span class="subxComment"># Expected output:</span>
 <span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   ........</span>
 <span id="L17" class="LineNr"> 17 </span><span class="subxComment"># Every '.' indicates a passing test. Failing tests get a 'F'.</span>
diff --git a/html/apps/factorial3.subx.html b/html/apps/factorial3.subx.html
index 7ad4a9fd..10792365 100644
--- a/html/apps/factorial3.subx.html
+++ b/html/apps/factorial3.subx.html
@@ -65,13 +65,13 @@ if ('onhashchange' in window) {
 <span id="L6" class="LineNr"> 6 </span><span class="subxComment">#</span>
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># To run:</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   $ ./translate_subx init.linux 0*.subx apps/factorial.subx -o apps/factorial</span>
-<span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   $ ./subx run apps/factorial</span>
+<span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial</span>
 <span id="L10" class="LineNr">10 </span><span class="subxComment"># Expected result:</span>
 <span id="L11" class="LineNr">11 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L12" class="LineNr">12 </span><span class="subxComment">#   120</span>
 <span id="L13" class="LineNr">13 </span><span class="subxComment">#</span>
 <span id="L14" class="LineNr">14 </span><span class="subxComment"># You can also run the automated test suite:</span>
-<span id="L15" class="LineNr">15 </span><span class="subxComment">#   $ ./subx run apps/factorial test</span>
+<span id="L15" class="LineNr">15 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial test</span>
 <span id="L16" class="LineNr">16 </span><span class="subxComment"># Expected output:</span>
 <span id="L17" class="LineNr">17 </span><span class="subxComment">#   ........</span>
 <span id="L18" class="LineNr">18 </span><span class="subxComment"># Every '.' indicates a passing test. Failing tests get a 'F'.</span>
diff --git a/html/apps/factorial4.subx.html b/html/apps/factorial4.subx.html
index 8759c2f9..bd41739e 100644
--- a/html/apps/factorial4.subx.html
+++ b/html/apps/factorial4.subx.html
@@ -66,13 +66,13 @@ if ('onhashchange' in window) {
 <span id="L7" class="LineNr"> 7 </span><span class="subxComment">#</span>
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment"># To run:</span>
 <span id="L9" class="LineNr"> 9 </span><span class="subxComment">#   $ ./translate_subx init.linux 0*.subx apps/factorial.subx -o apps/factorial</span>
-<span id="L10" class="LineNr">10 </span><span class="subxComment">#   $ ./subx run apps/factorial</span>
+<span id="L10" class="LineNr">10 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial</span>
 <span id="L11" class="LineNr">11 </span><span class="subxComment"># Expected result:</span>
 <span id="L12" class="LineNr">12 </span><span class="subxComment">#   $ echo $?</span>
 <span id="L13" class="LineNr">13 </span><span class="subxComment">#   120</span>
 <span id="L14" class="LineNr">14 </span><span class="subxComment">#</span>
 <span id="L15" class="LineNr">15 </span><span class="subxComment"># You can also run the automated test suite:</span>
-<span id="L16" class="LineNr">16 </span><span class="subxComment">#   $ ./subx run apps/factorial test</span>
+<span id="L16" class="LineNr">16 </span><span class="subxComment">#   $ ./bootstrap run apps/factorial test</span>
 <span id="L17" class="LineNr">17 </span><span class="subxComment"># Expected output:</span>
 <span id="L18" class="LineNr">18 </span><span class="subxComment">#   ........</span>
 <span id="L19" class="LineNr">19 </span><span class="subxComment"># Every '.' indicates a passing test. Failing tests get a 'F'.</span>
diff --git a/html/apps/handle.subx.html b/html/apps/handle.subx.html
index fc0ce1a8..9cf47d93 100644
--- a/html/apps/handle.subx.html
+++ b/html/apps/handle.subx.html
@@ -76,8 +76,8 @@ if ('onhashchange' in window) {
 <span id="L13" class="LineNr"> 13 </span><span class="subxComment">#   offset 4: address</span>
 <span id="L14" class="LineNr"> 14 </span><span class="subxComment">#</span>
 <span id="L15" class="LineNr"> 15 </span><span class="subxComment"># To run:</span>
-<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/handle.subx -o apps/handle</span>
-<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./subx run apps/handle</span>
+<span id="L16" class="LineNr"> 16 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/handle.subx -o apps/handle</span>
+<span id="L17" class="LineNr"> 17 </span><span class="subxComment">#   $ ./bootstrap run apps/handle</span>
 <span id="L18" class="LineNr"> 18 </span><span class="subxComment"># Expected result is a successful lookup followed by a hard abort:</span>
 <span id="L19" class="LineNr"> 19 </span><span class="subxComment">#   lookup succeeded</span>
 <span id="L20" class="LineNr"> 20 </span><span class="subxComment">#   lookup failed</span>
diff --git a/html/apps/hex.subx.html b/html/apps/hex.subx.html
index 4018c82f..936a37e5 100644
--- a/html/apps/hex.subx.html
+++ b/html/apps/hex.subx.html
@@ -64,8 +64,8 @@ if ('onhashchange' in window) {
 <span id="L3" class="LineNr">   3 </span><span class="subxComment"># comments between '#' and newline.</span>
 <span id="L4" class="LineNr">   4 </span><span class="subxComment">#</span>
 <span id="L5" class="LineNr">   5 </span><span class="subxComment"># To run:</span>
-<span id="L6" class="LineNr">   6 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/hex.subx  -o apps/hex</span>
-<span id="L7" class="LineNr">   7 </span><span class="subxComment">#   $ echo '80 81 82  # comment'  |./subx run apps/hex  |xxd -</span>
+<span id="L6" class="LineNr">   6 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/hex.subx  -o apps/hex</span>
+<span id="L7" class="LineNr">   7 </span><span class="subxComment">#   $ echo '80 81 82  # comment'  |./bootstrap run apps/hex  |xxd -</span>
 <span id="L8" class="LineNr">   8 </span><span class="subxComment"># Expected output:</span>
 <span id="L9" class="LineNr">   9 </span><span class="subxComment">#   00000000: 8081 82</span>
 <span id="L10" class="LineNr">  10 </span><span class="subxComment">#</span>
@@ -225,7 +225,7 @@ if ('onhashchange' in window) {
 <span id="L164" class="LineNr"> 164 </span>    3d/compare-eax-and  0xffffffff/imm32/Eof
 <span id="L165" class="LineNr"> 165 </span>    74/jump-if-=  $convert-next-octet:end/disp8
 <span id="L166" class="LineNr"> 166 </span>    <span class="subxComment"># eax = from-hex-char(eax)</span>
-<span id="L167" class="LineNr"> 167 </span>    e8/call <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32
+<span id="L167" class="LineNr"> 167 </span>    e8/call <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32
 <span id="L168" class="LineNr"> 168 </span>    <span class="subxComment"># ecx = eax</span>
 <span id="L169" class="LineNr"> 169 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to ecx</span>
 <span id="L170" class="LineNr"> 170 </span>    <span class="subxComment"># eax = scan-next-byte(in, err, ed)</span>
@@ -250,7 +250,7 @@ if ('onhashchange' in window) {
 <span id="L189" class="LineNr"> 189 </span>    e8/call  <a href='../068error-byte.subx.html#L27'>error-byte</a>/disp32  <span class="subxComment"># never returns</span>
 <span id="L190" class="LineNr"> 190 </span><span class="Constant">$convert-next-octet:convert</span>:
 <span id="L191" class="LineNr"> 191 </span>    <span class="subxComment"># eax = from-hex-char(eax)</span>
-<span id="L192" class="LineNr"> 192 </span>    e8/call <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32
+<span id="L192" class="LineNr"> 192 </span>    e8/call <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32
 <span id="L193" class="LineNr"> 193 </span>    <span class="subxComment"># eax = (ecx &lt;&lt; 4) | eax</span>
 <span id="L194" class="LineNr"> 194 </span>    <span class="subxS1Comment"># . ecx &lt;&lt;= 4</span>
 <span id="L195" class="LineNr"> 195 </span>    c1/shift    4/subop/left        3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm8            <span class="subxComment"># shift ecx left by 4 bits</span>
@@ -574,7 +574,7 @@ if ('onhashchange' in window) {
 <span id="L513" class="LineNr"> 513 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L514" class="LineNr"> 514 </span>    50/push-eax
 <span id="L515" class="LineNr"> 515 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L516" class="LineNr"> 516 </span>    e8/call  <a href='../067parse-hex.subx.html#L640'>is-hex-digit?</a>/disp32
+<span id="L516" class="LineNr"> 516 </span>    e8/call  <a href='../067parse-hex.subx.html#L701'>is-hex-digit?</a>/disp32
 <span id="L517" class="LineNr"> 517 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L518" class="LineNr"> 518 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L519" class="LineNr"> 519 </span>    <span class="subxS1Comment"># . compare with 'false'</span>
diff --git a/html/apps/mu.subx.html b/html/apps/mu.subx.html
index e79d755b..cb40e41c 100644
--- a/html/apps/mu.subx.html
+++ b/html/apps/mu.subx.html
@@ -5705,9 +5705,9 @@ if ('onhashchange' in window) {
 <span id="L5848" class="LineNr"> 5848 </span>    <span class="subxComment"># Important: each block's depth during code-generation should be identical</span>
 <span id="L5849" class="LineNr"> 5849 </span>    <span class="subxComment"># to what it was during parsing.</span>
 <span id="L5850" class="LineNr"> 5850 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 1/imm32
-<span id="L5851" class="LineNr"> 5851 </span>    (<a href='mu.subx.html#L10470'>emit-subx-prologue</a> %edi)
-<span id="L5852" class="LineNr"> 5852 </span>    (<a href='mu.subx.html#L6937'>emit-subx-block</a> %edi *(ecx+0x10) %edx)  <span class="subxComment"># Function-body</span>
-<span id="L5853" class="LineNr"> 5853 </span>    (<a href='mu.subx.html#L10484'>emit-subx-epilogue</a> %edi)
+<span id="L5851" class="LineNr"> 5851 </span>    (<a href='mu.subx.html#L10458'>emit-subx-prologue</a> %edi)
+<span id="L5852" class="LineNr"> 5852 </span>    (<a href='mu.subx.html#L6933'>emit-subx-block</a> %edi *(ecx+0x10) %edx)  <span class="subxComment"># Function-body</span>
+<span id="L5853" class="LineNr"> 5853 </span>    (<a href='mu.subx.html#L10472'>emit-subx-epilogue</a> %edi)
 <span id="L5854" class="LineNr"> 5854 </span><span class="Constant">$emit-subx-function:end</span>:
 <span id="L5855" class="LineNr"> 5855 </span>    <span class="subxS1Comment"># . reclaim locals</span>
 <span id="L5856" class="LineNr"> 5856 </span>    81 0/subop/add %esp 408/imm32
@@ -5747,7 +5747,7 @@ if ('onhashchange' in window) {
 <span id="L5890" class="LineNr"> 5890 </span>        81 7/subop/compare *ecx 0/imm32/block  <span class="subxComment"># Stmt-tag</span>
 <span id="L5891" class="LineNr"> 5891 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L5892" class="LineNr"> 5892 </span><span class="Constant">$emit-subx-stmt-list:block</span>:
-<span id="L5893" class="LineNr"> 5893 </span>        (<a href='mu.subx.html#L6937'>emit-subx-block</a> *(ebp+8) %ecx *(ebp+0x10))
+<span id="L5893" class="LineNr"> 5893 </span>        (<a href='mu.subx.html#L6933'>emit-subx-block</a> *(ebp+8) %ecx *(ebp+0x10))
 <span id="L5894" class="LineNr"> 5894 </span>      }
 <span id="L5895" class="LineNr"> 5895 </span>      {
 <span id="L5896" class="LineNr"> 5896 </span><span class="Constant">$emit-subx-stmt-list:check-for-stmt</span>:
@@ -5769,7 +5769,7 @@ if ('onhashchange' in window) {
 <span id="L5987" class="Folded"> 5987 </span><span class="Folded">+-- 19 lines: # conditional branches with an explicit target ----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L6006" class="LineNr"> 6006 </span>        }
 <span id="L6007" class="LineNr"> 6007 </span><span class="Constant">$emit-subx-stmt-list:1-to-1</span>:
-<span id="L6008" class="LineNr"> 6008 </span>        (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> *_Program-functions)
+<span id="L6008" class="LineNr"> 6008 </span>        (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> *_Program-functions)
 <span id="L6009" class="LineNr"> 6009 </span>      }
 <span id="L6010" class="LineNr"> 6010 </span>      {
 <span id="L6011" class="LineNr"> 6011 </span><span class="Constant">$emit-subx-stmt-list:check-for-var-def</span>:
@@ -5791,7 +5791,7 @@ if ('onhashchange' in window) {
 <span id="L6027" class="LineNr"> 6027 </span>        <span class="subxComment"># register variable definition</span>
 <span id="L6028" class="LineNr"> 6028 </span>        (<a href='../092stack.subx.html#L110'>push</a> *(ebp+0x10) %eax)
 <span id="L6029" class="LineNr"> 6029 </span>        <span class="subxComment"># emit the instruction as usual</span>
-<span id="L6030" class="LineNr"> 6030 </span>        (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> *_Program-functions)
+<span id="L6030" class="LineNr"> 6030 </span>        (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> *(ebp+8) %ecx <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> *_Program-functions)
 <span id="L6031" class="LineNr"> 6031 </span>        <span class="subxComment"># var-seen? = true</span>
 <span id="L6032" class="LineNr"> 6032 </span>        ba/copy-to-edx 1/imm32/true
 <span id="L6033" class="LineNr"> 6033 </span>      }
@@ -5837,7 +5837,7 @@ if ('onhashchange' in window) {
 <span id="L6073" class="LineNr"> 6073 </span>    3d/compare-eax-and 0/imm32/false
 <span id="L6074" class="LineNr"> 6074 </span>    75/jump-if-!= $compute-reg-and-maybe-emit-spill:end/disp8
 <span id="L6075" class="LineNr"> 6075 </span>    <span class="subxComment"># emit spill</span>
-<span id="L6076" class="LineNr"> 6076 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6076" class="LineNr"> 6076 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6077" class="LineNr"> 6077 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;ff 6/subop/push %&quot;</span>)
 <span id="L6078" class="LineNr"> 6078 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+0x10))  <span class="subxComment"># Var-register</span>
 <span id="L6079" class="LineNr"> 6079 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
@@ -5880,7 +5880,7 @@ if ('onhashchange' in window) {
 <span id="L6116" class="LineNr"> 6116 </span>    <span class="subxComment"># clean up until target block</span>
 <span id="L6117" class="LineNr"> 6117 </span>    (<a href='mu.subx.html#L6373'>emit-cleanup-code-until-target</a> *(ebp+8) *(ebp+0x10) %edx)
 <span id="L6118" class="LineNr"> 6118 </span>    <span class="subxComment"># emit jump to target block</span>
-<span id="L6119" class="LineNr"> 6119 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6119" class="LineNr"> 6119 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6120" class="LineNr"> 6120 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;e9/jump &quot;</span>)
 <span id="L6121" class="LineNr"> 6121 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) %edx)
 <span id="L6122" class="LineNr"> 6122 </span>    (<a href='../054string-equal.subx.html#L58'>string-starts-with?</a> *(ecx+4) <span class="Constant">&quot;break&quot;</span>)
@@ -5936,7 +5936,7 @@ if ('onhashchange' in window) {
 <span id="L6172" class="LineNr"> 6172 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
 <span id="L6173" class="LineNr"> 6173 </span>    <span class="subxComment">#</span>
 <span id="L6174" class="LineNr"> 6174 </span>    (<a href='../081table.subx.html#L27'>get</a> <span class="SpecialChar"><a href='mu.subx.html#L6188'>Reverse-branch</a></span> *(eax+4) 8 <span class="Constant">&quot;reverse-branch: &quot;</span>)  <span class="subxComment"># Stmt1-operation =&gt; eax: (addr addr array byte)</span>
-<span id="L6175" class="LineNr"> 6175 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6175" class="LineNr"> 6175 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6176" class="LineNr"> 6176 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)
 <span id="L6177" class="LineNr"> 6177 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; break/disp32\n&quot;</span>)
 <span id="L6178" class="LineNr"> 6178 </span><span class="Constant">$emit-reverse-break:end</span>:
@@ -6025,7 +6025,7 @@ if ('onhashchange' in window) {
 <span id="L6261" class="LineNr"> 6261 </span>        0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L6262" class="LineNr"> 6262 </span><span class="Constant">$emit-unconditional-jump-to-depth:label-found</span>:
 <span id="L6263" class="LineNr"> 6263 </span>        <span class="subxComment"># emit unconditional jump, then return</span>
-<span id="L6264" class="LineNr"> 6264 </span>        (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6264" class="LineNr"> 6264 </span>        (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6265" class="LineNr"> 6265 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;e9/jump &quot;</span>)
 <span id="L6266" class="LineNr"> 6266 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *ebx)  <span class="subxComment"># Var-name</span>
 <span id="L6267" class="LineNr"> 6267 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:&quot;</span>)
@@ -6092,7 +6092,7 @@ if ('onhashchange' in window) {
 <span id="L6328" class="LineNr"> 6328 </span>          3d/compare-eax-and 0/imm32/false
 <span id="L6329" class="LineNr"> 6329 </span>          0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L6330" class="LineNr"> 6330 </span><span class="Constant">$emit-cleanup-code-until-depth:reclaim-var-in-register</span>:
-<span id="L6331" class="LineNr"> 6331 </span>          (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6331" class="LineNr"> 6331 </span>          (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6332" class="LineNr"> 6332 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;8f 0/subop/pop %&quot;</span>)
 <span id="L6333" class="LineNr"> 6333 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebx+0x10))
 <span id="L6334" class="LineNr"> 6334 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
@@ -6110,7 +6110,7 @@ if ('onhashchange' in window) {
 <span id="L6346" class="LineNr"> 6346 </span>        3d/compare-eax-and 0/imm32
 <span id="L6347" class="LineNr"> 6347 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L6348" class="LineNr"> 6348 </span>        <span class="subxComment">#</span>
-<span id="L6349" class="LineNr"> 6349 </span>        (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6349" class="LineNr"> 6349 </span>        (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6350" class="LineNr"> 6350 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;81 0/subop/add %esp &quot;</span>)
 <span id="L6351" class="LineNr"> 6351 </span>        (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) %eax)
 <span id="L6352" class="LineNr"> 6352 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/imm32\n&quot;</span>)
@@ -6174,7 +6174,7 @@ if ('onhashchange' in window) {
 <span id="L6410" class="LineNr"> 6410 </span>          3d/compare-eax-and 0/imm32/false
 <span id="L6411" class="LineNr"> 6411 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L6412" class="LineNr"> 6412 </span><span class="Constant">$emit-cleanup-code-until-target:reclaim-var-in-register</span>:
-<span id="L6413" class="LineNr"> 6413 </span>          (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6413" class="LineNr"> 6413 </span>          (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6414" class="LineNr"> 6414 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;8f 0/subop/pop %&quot;</span>)
 <span id="L6415" class="LineNr"> 6415 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ebx+0x10))
 <span id="L6416" class="LineNr"> 6416 </span>          (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
@@ -6191,7 +6191,7 @@ if ('onhashchange' in window) {
 <span id="L6427" class="LineNr"> 6427 </span>        3d/compare-eax-and 0/imm32
 <span id="L6428" class="LineNr"> 6428 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L6429" class="LineNr"> 6429 </span>        <span class="subxComment">#</span>
-<span id="L6430" class="LineNr"> 6430 </span>        (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6430" class="LineNr"> 6430 </span>        (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6431" class="LineNr"> 6431 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;81 0/subop/add %esp &quot;</span>)
 <span id="L6432" class="LineNr"> 6432 </span>        (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) %eax)
 <span id="L6433" class="LineNr"> 6433 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/imm32\n&quot;</span>)
@@ -6404,7 +6404,7 @@ if ('onhashchange' in window) {
 <span id="L6640" class="LineNr"> 6640 </span>    {
 <span id="L6641" class="LineNr"> 6641 </span>      3d/compare-eax-with 0/imm32
 <span id="L6642" class="LineNr"> 6642 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
-<span id="L6643" class="LineNr"> 6643 </span>      (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6643" class="LineNr"> 6643 </span>      (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
 <span id="L6644" class="LineNr"> 6644 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;68/push 0/imm32\n&quot;</span>)
 <span id="L6645" class="LineNr"> 6645 </span>      <span class="subxComment"># n -= 4</span>
 <span id="L6646" class="LineNr"> 6646 </span>      2d/subtract-from-eax 4/imm32
@@ -6438,25 +6438,25 @@ if ('onhashchange' in window) {
 <span id="L6795" class="LineNr"> 6795 </span>    <span class="subxComment"># if stmt matches a primitive, emit it</span>
 <span id="L6796" class="LineNr"> 6796 </span>    {
 <span id="L6797" class="LineNr"> 6797 </span><span class="Constant">$emit-subx-stmt:check-for-primitive</span>:
-<span id="L6798" class="LineNr"> 6798 </span>      (<a href='mu.subx.html#L8793'>find-matching-primitive</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># primitives, stmt =&gt; curr/eax</span>
+<span id="L6798" class="LineNr"> 6798 </span>      (<a href='mu.subx.html#L8789'>find-matching-primitive</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># primitives, stmt =&gt; curr/eax</span>
 <span id="L6799" class="LineNr"> 6799 </span>      3d/compare-eax-and 0/imm32
 <span id="L6800" class="LineNr"> 6800 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L6801" class="LineNr"> 6801 </span><span class="Constant">$emit-subx-stmt:primitive</span>:
-<span id="L6802" class="LineNr"> 6802 </span>      (<a href='mu.subx.html#L8364'>emit-subx-primitive</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
+<span id="L6802" class="LineNr"> 6802 </span>      (<a href='mu.subx.html#L8360'>emit-subx-primitive</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
 <span id="L6803" class="LineNr"> 6803 </span>      e9/jump $emit-subx-stmt:end/disp32
 <span id="L6804" class="LineNr"> 6804 </span>    }
 <span id="L6805" class="LineNr"> 6805 </span>    <span class="subxComment"># else if stmt matches a function, emit a call to it</span>
 <span id="L6806" class="LineNr"> 6806 </span>    {
 <span id="L6807" class="LineNr"> 6807 </span><span class="Constant">$emit-subx-stmt:check-for-call</span>:
-<span id="L6808" class="LineNr"> 6808 </span>      (<a href='mu.subx.html#L8759'>find-matching-function</a> *(ebp+0x14) *(ebp+0xc))  <span class="subxComment"># functions, stmt =&gt; curr/eax</span>
+<span id="L6808" class="LineNr"> 6808 </span>      (<a href='mu.subx.html#L8755'>find-matching-function</a> *(ebp+0x14) *(ebp+0xc))  <span class="subxComment"># functions, stmt =&gt; curr/eax</span>
 <span id="L6809" class="LineNr"> 6809 </span>      3d/compare-eax-and 0/imm32
 <span id="L6810" class="LineNr"> 6810 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L6811" class="LineNr"> 6811 </span><span class="Constant">$emit-subx-stmt:call</span>:
-<span id="L6812" class="LineNr"> 6812 </span>      (<a href='mu.subx.html#L8564'>emit-subx-call</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
+<span id="L6812" class="LineNr"> 6812 </span>      (<a href='mu.subx.html#L8560'>emit-subx-call</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
 <span id="L6813" class="LineNr"> 6813 </span>      e9/jump $emit-subx-stmt:end/disp32
 <span id="L6814" class="LineNr"> 6814 </span>    }
 <span id="L6815" class="LineNr"> 6815 </span>    <span class="subxComment"># else assume it's a SubX function (TODO: how to type-check?!)</span>
-<span id="L6816" class="LineNr"> 6816 </span>    (<a href='mu.subx.html#L8602'>emit-hailmary-call</a> *(ebp+8) *(ebp+0xc))
+<span id="L6816" class="LineNr"> 6816 </span>    (<a href='mu.subx.html#L8598'>emit-hailmary-call</a> *(ebp+8) *(ebp+0xc))
 <span id="L6817" class="LineNr"> 6817 </span><span class="Constant">$emit-subx-stmt:end</span>:
 <span id="L6818" class="LineNr"> 6818 </span>    <span class="subxS1Comment"># . restore registers</span>
 <span id="L6819" class="LineNr"> 6819 </span>    5b/pop-to-ebx
@@ -6510,3539 +6510,3527 @@ if ('onhashchange' in window) {
 <span id="L6867" class="LineNr"> 6867 </span>    48/decrement-eax
 <span id="L6868" class="LineNr"> 6868 </span>    <span class="subxComment"># var tmp2/eax: int = n &amp; tmp</span>
 <span id="L6869" class="LineNr"> 6869 </span>    0b/and-&gt; *(ebp+8) 0/r32/eax
-<span id="L6870" class="LineNr"> 6870 </span>    <span class="subxComment"># return (tmp2 == 0)  # TODO: replace with setcc</span>
+<span id="L6870" class="LineNr"> 6870 </span>    <span class="subxComment"># return (tmp2 == 0)</span>
 <span id="L6871" class="LineNr"> 6871 </span>    3d/compare-eax-and 0/imm32
-<span id="L6872" class="LineNr"> 6872 </span>    74/jump-if-= $power-of-2?:true/disp8
-<span id="L6873" class="LineNr"> 6873 </span><span class="Constant">$power-of-2?:false</span>:
-<span id="L6874" class="LineNr"> 6874 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L6875" class="LineNr"> 6875 </span>    eb/jump $power-of-2?:end/disp8
-<span id="L6876" class="LineNr"> 6876 </span><span class="Constant">$power-of-2?:true</span>:
-<span id="L6877" class="LineNr"> 6877 </span>    b8/copy-to-eax 1/imm32/true
-<span id="L6878" class="LineNr"> 6878 </span><span class="Constant">$power-of-2?:end</span>:
-<span id="L6879" class="LineNr"> 6879 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L6880" class="LineNr"> 6880 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L6881" class="LineNr"> 6881 </span>    5d/pop-to-ebp
-<span id="L6882" class="LineNr"> 6882 </span>    c3/return
-<span id="L6883" class="LineNr"> 6883 </span>
-<span id="L6884" class="LineNr"> 6884 </span><span class="subxFunction">num-shift-rights</span>:  <span class="subxComment"># n: int -&gt; result/eax: int</span>
-<span id="L6885" class="LineNr"> 6885 </span>    <span class="subxComment"># precondition: n is a positive power of 2</span>
-<span id="L6886" class="LineNr"> 6886 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L6887" class="LineNr"> 6887 </span>    55/push-ebp
-<span id="L6888" class="LineNr"> 6888 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L6889" class="LineNr"> 6889 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L6890" class="LineNr"> 6890 </span>    51/push-ecx
-<span id="L6891" class="LineNr"> 6891 </span>    <span class="subxComment"># var curr/ecx: int = n</span>
-<span id="L6892" class="LineNr"> 6892 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L6893" class="LineNr"> 6893 </span>    <span class="subxComment"># result = 0</span>
-<span id="L6894" class="LineNr"> 6894 </span>    b8/copy-to-eax 0/imm32
-<span id="L6895" class="LineNr"> 6895 </span>    {
-<span id="L6896" class="LineNr"> 6896 </span>      <span class="subxComment"># if (curr &lt;= 1) break</span>
-<span id="L6897" class="LineNr"> 6897 </span>      81 7/subop/compare %ecx 1/imm32
-<span id="L6898" class="LineNr"> 6898 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
-<span id="L6899" class="LineNr"> 6899 </span>      40/increment-eax
-<span id="L6900" class="LineNr"> 6900 </span>      c1/shift 5/subop/arithmetic-right %ecx 1/imm8
-<span id="L6901" class="LineNr"> 6901 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L6902" class="LineNr"> 6902 </span>    }
-<span id="L6903" class="LineNr"> 6903 </span><span class="Constant">$num-shift-rights:end</span>:
-<span id="L6904" class="LineNr"> 6904 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L6905" class="LineNr"> 6905 </span>    59/pop-to-ecx
-<span id="L6906" class="LineNr"> 6906 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L6907" class="LineNr"> 6907 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L6908" class="LineNr"> 6908 </span>    5d/pop-to-ebp
-<span id="L6909" class="LineNr"> 6909 </span>    c3/return
-<span id="L6910" class="LineNr"> 6910 </span>
-<span id="L6911" class="LineNr"> 6911 </span><span class="subxFunction">print-mu-get-offset</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt)</span>
-<span id="L6912" class="LineNr"> 6912 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L6913" class="LineNr"> 6913 </span>    55/push-ebp
-<span id="L6914" class="LineNr"> 6914 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L6915" class="LineNr"> 6915 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L6916" class="LineNr"> 6916 </span>    50/push-eax
-<span id="L6917" class="LineNr"> 6917 </span>    <span class="subxComment"># var second-inout/eax: (handle stmt-var) = stmt-&gt;inouts-&gt;next</span>
-<span id="L6918" class="LineNr"> 6918 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
-<span id="L6919" class="LineNr"> 6919 </span>    8b/-&gt; *(eax+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts</span>
-<span id="L6920" class="LineNr"> 6920 </span>    8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Stmt-var-next</span>
-<span id="L6921" class="LineNr"> 6921 </span>    <span class="subxComment"># var output-var/eax: (handle var) = second-inout-&gt;value</span>
-<span id="L6922" class="LineNr"> 6922 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
-<span id="L6923" class="LineNr"> 6923 </span>    <span class="subxComment"># print offset</span>
-<span id="L6924" class="LineNr"> 6924 </span><span class="CommentedCode">#?     (write-buffered Stderr &quot;emitting offset from output var &quot;)</span>
-<span id="L6925" class="LineNr"> 6925 </span><span class="CommentedCode">#?     (print-int32-buffered Stderr %eax)</span>
-<span id="L6926" class="LineNr"> 6926 </span><span class="CommentedCode">#?     (write-buffered Stderr Newline)</span>
-<span id="L6927" class="LineNr"> 6927 </span><span class="CommentedCode">#?     (flush Stderr)</span>
-<span id="L6928" class="LineNr"> 6928 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(eax+0xc))  <span class="subxComment"># Var-offset</span>
-<span id="L6929" class="LineNr"> 6929 </span><span class="Constant">$emit-get-offset:end</span>:
-<span id="L6930" class="LineNr"> 6930 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L6931" class="LineNr"> 6931 </span>    58/pop-to-eax
-<span id="L6932" class="LineNr"> 6932 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L6933" class="LineNr"> 6933 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L6934" class="LineNr"> 6934 </span>    5d/pop-to-ebp
-<span id="L6935" class="LineNr"> 6935 </span>    c3/return
-<span id="L6936" class="LineNr"> 6936 </span>
-<span id="L6937" class="LineNr"> 6937 </span><span class="subxFunction">emit-subx-block</span>:  <span class="subxComment"># out: (addr buffered-file), block: (handle block), vars: (addr stack (handle var))</span>
-<span id="L6938" class="LineNr"> 6938 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L6939" class="LineNr"> 6939 </span>    55/push-ebp
-<span id="L6940" class="LineNr"> 6940 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L6941" class="LineNr"> 6941 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L6942" class="LineNr"> 6942 </span>    50/push-eax
-<span id="L6943" class="LineNr"> 6943 </span>    51/push-ecx
-<span id="L6944" class="LineNr"> 6944 </span>    56/push-esi
-<span id="L6945" class="LineNr"> 6945 </span>    <span class="subxComment"># esi = block</span>
-<span id="L6946" class="LineNr"> 6946 </span>    8b/-&gt; *(ebp+0xc) 6/r32/esi
-<span id="L6947" class="LineNr"> 6947 </span>    <span class="subxComment"># var stmts/eax: (handle list stmt) = block-&gt;statements</span>
-<span id="L6948" class="LineNr"> 6948 </span>    8b/-&gt; *(esi+4) 0/r32/eax  <span class="subxComment"># Block-stmts</span>
-<span id="L6949" class="LineNr"> 6949 </span>    <span class="subxComment">#</span>
-<span id="L6950" class="LineNr"> 6950 </span>    {
-<span id="L6951" class="LineNr"> 6951 </span><span class="Constant">$emit-subx-block:check-empty</span>:
-<span id="L6952" class="LineNr"> 6952 </span>      3d/compare-eax-and 0/imm32
-<span id="L6953" class="LineNr"> 6953 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
-<span id="L6954" class="LineNr"> 6954 </span>      (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
-<span id="L6955" class="LineNr"> 6955 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;{\n&quot;</span>)
-<span id="L6956" class="LineNr"> 6956 </span>      <span class="subxComment"># var v/ecx: (addr array byte) = block-&gt;var-&gt;name</span>
-<span id="L6957" class="LineNr"> 6957 </span>      8b/-&gt; *(esi+8) 1/r32/ecx  <span class="subxComment"># Block-var</span>
-<span id="L6958" class="LineNr"> 6958 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *ecx)  <span class="subxComment"># Var-name</span>
-<span id="L6959" class="LineNr"> 6959 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:loop:\n&quot;</span>)
-<span id="L6960" class="LineNr"> 6960 </span>      ff 0/subop/increment *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>
-<span id="L6961" class="LineNr"> 6961 </span>      (<a href='../092stack.subx.html#L110'>push</a> *(ebp+0x10) %ecx)
-<span id="L6962" class="LineNr"> 6962 </span>      (<a href='mu.subx.html#L5867'>emit-subx-stmt-list</a> *(ebp+8) %eax *(ebp+0x10))
-<span id="L6963" class="LineNr"> 6963 </span>      (<a href='../092stack.subx.html#L230'>pop</a> *(ebp+0x10))  <span class="subxComment"># =&gt; eax</span>
-<span id="L6964" class="LineNr"> 6964 </span>      ff 1/subop/decrement *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>
-<span id="L6965" class="LineNr"> 6965 </span>      (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
-<span id="L6966" class="LineNr"> 6966 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;}\n&quot;</span>)
-<span id="L6967" class="LineNr"> 6967 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *ecx)  <span class="subxComment"># Var-name</span>
-<span id="L6968" class="LineNr"> 6968 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:break:\n&quot;</span>)
-<span id="L6969" class="LineNr"> 6969 </span>    }
-<span id="L6970" class="LineNr"> 6970 </span><span class="Constant">$emit-subx-block:end</span>:
-<span id="L6971" class="LineNr"> 6971 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L6972" class="LineNr"> 6972 </span>    5e/pop-to-esi
-<span id="L6973" class="LineNr"> 6973 </span>    59/pop-to-ecx
-<span id="L6974" class="LineNr"> 6974 </span>    58/pop-to-eax
-<span id="L6975" class="LineNr"> 6975 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L6976" class="LineNr"> 6976 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L6977" class="LineNr"> 6977 </span>    5d/pop-to-ebp
-<span id="L6978" class="LineNr"> 6978 </span>    c3/return
-<span id="L6979" class="LineNr"> 6979 </span>
-<span id="L6980" class="LineNr"> 6980 </span><span class="subxComment"># Primitives supported</span>
-<span id="L6981" class="LineNr"> 6981 </span><span class="subxComment"># For each operation, put variants with hard-coded registers before flexible ones.</span>
-<span id="L6982" class="LineNr"> 6982 </span>== data
-<span id="L6983" class="LineNr"> 6983 </span><span class="SpecialChar">Primitives</span>:
-<span id="L6984" class="LineNr"> 6984 </span><span class="subxH1Comment"># - increment/decrement</span>
-<span id="L6985" class="LineNr"> 6985 </span><span class="subxMinorFunction">_Primitive-inc-eax</span>:
-<span id="L6986" class="LineNr"> 6986 </span>    <span class="subxComment"># var/eax &lt;- increment =&gt; 40/increment-eax</span>
-<span id="L6987" class="LineNr"> 6987 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L6988" class="LineNr"> 6988 </span>    0/imm32/no-inouts
-<span id="L6989" class="LineNr"> 6989 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L6990" class="LineNr"> 6990 </span>    <span class="Constant">&quot;40/increment-eax&quot;</span>/imm32/subx-name
-<span id="L6991" class="LineNr"> 6991 </span>    0/imm32/no-rm32
-<span id="L6992" class="LineNr"> 6992 </span>    0/imm32/no-r32
-<span id="L6993" class="LineNr"> 6993 </span>    0/imm32/no-imm32
-<span id="L6994" class="LineNr"> 6994 </span>    0/imm32/no-disp32
-<span id="L6995" class="LineNr"> 6995 </span>    0/imm32/output-is-write-only
-<span id="L6996" class="LineNr"> 6996 </span>    <a href='mu.subx.html#L6997'>_Primitive-inc-ecx</a>/imm32/next
-<span id="L6997" class="LineNr"> 6997 </span><span class="subxMinorFunction">_Primitive-inc-ecx</span>:
-<span id="L6998" class="LineNr"> 6998 </span>    <span class="subxComment"># var/ecx &lt;- increment =&gt; 41/increment-ecx</span>
-<span id="L6999" class="LineNr"> 6999 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7000" class="LineNr"> 7000 </span>    0/imm32/no-inouts
-<span id="L7001" class="LineNr"> 7001 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8289'>Single-int-var-in-ecx</a></span>/imm32/outputs
-<span id="L7002" class="LineNr"> 7002 </span>    <span class="Constant">&quot;41/increment-ecx&quot;</span>/imm32/subx-name
-<span id="L7003" class="LineNr"> 7003 </span>    0/imm32/no-rm32
-<span id="L7004" class="LineNr"> 7004 </span>    0/imm32/no-r32
-<span id="L7005" class="LineNr"> 7005 </span>    0/imm32/no-imm32
-<span id="L7006" class="LineNr"> 7006 </span>    0/imm32/no-disp32
-<span id="L7007" class="LineNr"> 7007 </span>    0/imm32/output-is-write-only
-<span id="L7008" class="LineNr"> 7008 </span>    <a href='mu.subx.html#L7009'>_Primitive-inc-edx</a>/imm32/next
-<span id="L7009" class="LineNr"> 7009 </span><span class="subxMinorFunction">_Primitive-inc-edx</span>:
-<span id="L7010" class="LineNr"> 7010 </span>    <span class="subxComment"># var/edx &lt;- increment =&gt; 42/increment-edx</span>
-<span id="L7011" class="LineNr"> 7011 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7012" class="LineNr"> 7012 </span>    0/imm32/no-inouts
-<span id="L7013" class="LineNr"> 7013 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8300'>Single-int-var-in-edx</a></span>/imm32/outputs
-<span id="L7014" class="LineNr"> 7014 </span>    <span class="Constant">&quot;42/increment-edx&quot;</span>/imm32/subx-name
-<span id="L7015" class="LineNr"> 7015 </span>    0/imm32/no-rm32
-<span id="L7016" class="LineNr"> 7016 </span>    0/imm32/no-r32
-<span id="L7017" class="LineNr"> 7017 </span>    0/imm32/no-imm32
-<span id="L7018" class="LineNr"> 7018 </span>    0/imm32/no-disp32
-<span id="L7019" class="LineNr"> 7019 </span>    0/imm32/output-is-write-only
-<span id="L7020" class="LineNr"> 7020 </span>    <a href='mu.subx.html#L7021'>_Primitive-inc-ebx</a>/imm32/next
-<span id="L7021" class="LineNr"> 7021 </span><span class="subxMinorFunction">_Primitive-inc-ebx</span>:
-<span id="L7022" class="LineNr"> 7022 </span>    <span class="subxComment"># var/ebx &lt;- increment =&gt; 43/increment-ebx</span>
-<span id="L7023" class="LineNr"> 7023 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7024" class="LineNr"> 7024 </span>    0/imm32/no-inouts
-<span id="L7025" class="LineNr"> 7025 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8311'>Single-int-var-in-ebx</a></span>/imm32/outputs
-<span id="L7026" class="LineNr"> 7026 </span>    <span class="Constant">&quot;43/increment-ebx&quot;</span>/imm32/subx-name
-<span id="L7027" class="LineNr"> 7027 </span>    0/imm32/no-rm32
-<span id="L7028" class="LineNr"> 7028 </span>    0/imm32/no-r32
-<span id="L7029" class="LineNr"> 7029 </span>    0/imm32/no-imm32
-<span id="L7030" class="LineNr"> 7030 </span>    0/imm32/no-disp32
-<span id="L7031" class="LineNr"> 7031 </span>    0/imm32/output-is-write-only
-<span id="L7032" class="LineNr"> 7032 </span>    <a href='mu.subx.html#L7033'>_Primitive-inc-esi</a>/imm32/next
-<span id="L7033" class="LineNr"> 7033 </span><span class="subxMinorFunction">_Primitive-inc-esi</span>:
-<span id="L7034" class="LineNr"> 7034 </span>    <span class="subxComment"># var/esi &lt;- increment =&gt; 46/increment-esi</span>
-<span id="L7035" class="LineNr"> 7035 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7036" class="LineNr"> 7036 </span>    0/imm32/no-inouts
-<span id="L7037" class="LineNr"> 7037 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8322'>Single-int-var-in-esi</a></span>/imm32/outputs
-<span id="L7038" class="LineNr"> 7038 </span>    <span class="Constant">&quot;46/increment-esi&quot;</span>/imm32/subx-name
-<span id="L7039" class="LineNr"> 7039 </span>    0/imm32/no-rm32
-<span id="L7040" class="LineNr"> 7040 </span>    0/imm32/no-r32
-<span id="L7041" class="LineNr"> 7041 </span>    0/imm32/no-imm32
-<span id="L7042" class="LineNr"> 7042 </span>    0/imm32/no-disp32
-<span id="L7043" class="LineNr"> 7043 </span>    0/imm32/output-is-write-only
-<span id="L7044" class="LineNr"> 7044 </span>    <a href='mu.subx.html#L7045'>_Primitive-inc-edi</a>/imm32/next
-<span id="L7045" class="LineNr"> 7045 </span><span class="subxMinorFunction">_Primitive-inc-edi</span>:
-<span id="L7046" class="LineNr"> 7046 </span>    <span class="subxComment"># var/edi &lt;- increment =&gt; 47/increment-edi</span>
-<span id="L7047" class="LineNr"> 7047 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7048" class="LineNr"> 7048 </span>    0/imm32/no-inouts
-<span id="L7049" class="LineNr"> 7049 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8333'>Single-int-var-in-edi</a></span>/imm32/outputs
-<span id="L7050" class="LineNr"> 7050 </span>    <span class="Constant">&quot;47/increment-edi&quot;</span>/imm32/subx-name
-<span id="L7051" class="LineNr"> 7051 </span>    0/imm32/no-rm32
-<span id="L7052" class="LineNr"> 7052 </span>    0/imm32/no-r32
-<span id="L7053" class="LineNr"> 7053 </span>    0/imm32/no-imm32
-<span id="L7054" class="LineNr"> 7054 </span>    0/imm32/no-disp32
-<span id="L7055" class="LineNr"> 7055 </span>    0/imm32/output-is-write-only
-<span id="L7056" class="LineNr"> 7056 </span>    <a href='mu.subx.html#L7057'>_Primitive-dec-eax</a>/imm32/next
-<span id="L7057" class="LineNr"> 7057 </span><span class="subxMinorFunction">_Primitive-dec-eax</span>:
-<span id="L7058" class="LineNr"> 7058 </span>    <span class="subxComment"># var/eax &lt;- decrement =&gt; 48/decrement-eax</span>
-<span id="L7059" class="LineNr"> 7059 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7060" class="LineNr"> 7060 </span>    0/imm32/no-inouts
-<span id="L7061" class="LineNr"> 7061 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7062" class="LineNr"> 7062 </span>    <span class="Constant">&quot;48/decrement-eax&quot;</span>/imm32/subx-name
-<span id="L7063" class="LineNr"> 7063 </span>    0/imm32/no-rm32
-<span id="L7064" class="LineNr"> 7064 </span>    0/imm32/no-r32
-<span id="L7065" class="LineNr"> 7065 </span>    0/imm32/no-imm32
-<span id="L7066" class="LineNr"> 7066 </span>    0/imm32/no-disp32
-<span id="L7067" class="LineNr"> 7067 </span>    0/imm32/output-is-write-only
-<span id="L7068" class="LineNr"> 7068 </span>    <a href='mu.subx.html#L7069'>_Primitive-dec-ecx</a>/imm32/next
-<span id="L7069" class="LineNr"> 7069 </span><span class="subxMinorFunction">_Primitive-dec-ecx</span>:
-<span id="L7070" class="LineNr"> 7070 </span>    <span class="subxComment"># var/ecx &lt;- decrement =&gt; 49/decrement-ecx</span>
-<span id="L7071" class="LineNr"> 7071 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7072" class="LineNr"> 7072 </span>    0/imm32/no-inouts
-<span id="L7073" class="LineNr"> 7073 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8289'>Single-int-var-in-ecx</a></span>/imm32/outputs
-<span id="L7074" class="LineNr"> 7074 </span>    <span class="Constant">&quot;49/decrement-ecx&quot;</span>/imm32/subx-name
-<span id="L7075" class="LineNr"> 7075 </span>    0/imm32/no-rm32
-<span id="L7076" class="LineNr"> 7076 </span>    0/imm32/no-r32
-<span id="L7077" class="LineNr"> 7077 </span>    0/imm32/no-imm32
-<span id="L7078" class="LineNr"> 7078 </span>    0/imm32/no-disp32
-<span id="L7079" class="LineNr"> 7079 </span>    0/imm32/output-is-write-only
-<span id="L7080" class="LineNr"> 7080 </span>    <a href='mu.subx.html#L7081'>_Primitive-dec-edx</a>/imm32/next
-<span id="L7081" class="LineNr"> 7081 </span><span class="subxMinorFunction">_Primitive-dec-edx</span>:
-<span id="L7082" class="LineNr"> 7082 </span>    <span class="subxComment"># var/edx &lt;- decrement =&gt; 4a/decrement-edx</span>
-<span id="L7083" class="LineNr"> 7083 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7084" class="LineNr"> 7084 </span>    0/imm32/no-inouts
-<span id="L7085" class="LineNr"> 7085 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8300'>Single-int-var-in-edx</a></span>/imm32/outputs
-<span id="L7086" class="LineNr"> 7086 </span>    <span class="Constant">&quot;4a/decrement-edx&quot;</span>/imm32/subx-name
-<span id="L7087" class="LineNr"> 7087 </span>    0/imm32/no-rm32
-<span id="L7088" class="LineNr"> 7088 </span>    0/imm32/no-r32
-<span id="L7089" class="LineNr"> 7089 </span>    0/imm32/no-imm32
-<span id="L7090" class="LineNr"> 7090 </span>    0/imm32/no-disp32
-<span id="L7091" class="LineNr"> 7091 </span>    0/imm32/output-is-write-only
-<span id="L7092" class="LineNr"> 7092 </span>    <a href='mu.subx.html#L7093'>_Primitive-dec-ebx</a>/imm32/next
-<span id="L7093" class="LineNr"> 7093 </span><span class="subxMinorFunction">_Primitive-dec-ebx</span>:
-<span id="L7094" class="LineNr"> 7094 </span>    <span class="subxComment"># var/ebx &lt;- decrement =&gt; 4b/decrement-ebx</span>
-<span id="L7095" class="LineNr"> 7095 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7096" class="LineNr"> 7096 </span>    0/imm32/no-inouts
-<span id="L7097" class="LineNr"> 7097 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8311'>Single-int-var-in-ebx</a></span>/imm32/outputs
-<span id="L7098" class="LineNr"> 7098 </span>    <span class="Constant">&quot;4b/decrement-ebx&quot;</span>/imm32/subx-name
-<span id="L7099" class="LineNr"> 7099 </span>    0/imm32/no-rm32
-<span id="L7100" class="LineNr"> 7100 </span>    0/imm32/no-r32
-<span id="L7101" class="LineNr"> 7101 </span>    0/imm32/no-imm32
-<span id="L7102" class="LineNr"> 7102 </span>    0/imm32/no-disp32
-<span id="L7103" class="LineNr"> 7103 </span>    0/imm32/output-is-write-only
-<span id="L7104" class="LineNr"> 7104 </span>    <a href='mu.subx.html#L7105'>_Primitive-dec-esi</a>/imm32/next
-<span id="L7105" class="LineNr"> 7105 </span><span class="subxMinorFunction">_Primitive-dec-esi</span>:
-<span id="L7106" class="LineNr"> 7106 </span>    <span class="subxComment"># var/esi &lt;- decrement =&gt; 4e/decrement-esi</span>
-<span id="L7107" class="LineNr"> 7107 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7108" class="LineNr"> 7108 </span>    0/imm32/no-inouts
-<span id="L7109" class="LineNr"> 7109 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8322'>Single-int-var-in-esi</a></span>/imm32/outputs
-<span id="L7110" class="LineNr"> 7110 </span>    <span class="Constant">&quot;4e/decrement-esi&quot;</span>/imm32/subx-name
-<span id="L7111" class="LineNr"> 7111 </span>    0/imm32/no-rm32
-<span id="L7112" class="LineNr"> 7112 </span>    0/imm32/no-r32
-<span id="L7113" class="LineNr"> 7113 </span>    0/imm32/no-imm32
-<span id="L7114" class="LineNr"> 7114 </span>    0/imm32/no-disp32
-<span id="L7115" class="LineNr"> 7115 </span>    0/imm32/output-is-write-only
-<span id="L7116" class="LineNr"> 7116 </span>    <a href='mu.subx.html#L7117'>_Primitive-dec-edi</a>/imm32/next
-<span id="L7117" class="LineNr"> 7117 </span><span class="subxMinorFunction">_Primitive-dec-edi</span>:
-<span id="L7118" class="LineNr"> 7118 </span>    <span class="subxComment"># var/edi &lt;- decrement =&gt; 4f/decrement-edi</span>
-<span id="L7119" class="LineNr"> 7119 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7120" class="LineNr"> 7120 </span>    0/imm32/no-inouts
-<span id="L7121" class="LineNr"> 7121 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8333'>Single-int-var-in-edi</a></span>/imm32/outputs
-<span id="L7122" class="LineNr"> 7122 </span>    <span class="Constant">&quot;4f/decrement-edi&quot;</span>/imm32/subx-name
-<span id="L7123" class="LineNr"> 7123 </span>    0/imm32/no-rm32
-<span id="L7124" class="LineNr"> 7124 </span>    0/imm32/no-r32
-<span id="L7125" class="LineNr"> 7125 </span>    0/imm32/no-imm32
-<span id="L7126" class="LineNr"> 7126 </span>    0/imm32/no-disp32
-<span id="L7127" class="LineNr"> 7127 </span>    0/imm32/output-is-write-only
-<span id="L7128" class="LineNr"> 7128 </span>    <a href='mu.subx.html#L7129'>_Primitive-inc-mem</a>/imm32/next
-<span id="L7129" class="LineNr"> 7129 </span><span class="subxMinorFunction">_Primitive-inc-mem</span>:
-<span id="L7130" class="LineNr"> 7130 </span>    <span class="subxComment"># increment var =&gt; ff 0/subop/increment *(ebp+__)</span>
-<span id="L7131" class="LineNr"> 7131 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7132" class="LineNr"> 7132 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7133" class="LineNr"> 7133 </span>    0/imm32/no-outputs
-<span id="L7134" class="LineNr"> 7134 </span>    <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L7135" class="LineNr"> 7135 </span>    1/imm32/rm32-is-first-inout
-<span id="L7136" class="LineNr"> 7136 </span>    0/imm32/no-r32
-<span id="L7137" class="LineNr"> 7137 </span>    0/imm32/no-imm32
-<span id="L7138" class="LineNr"> 7138 </span>    0/imm32/no-disp32
-<span id="L7139" class="LineNr"> 7139 </span>    0/imm32/output-is-write-only
-<span id="L7140" class="LineNr"> 7140 </span>    <a href='mu.subx.html#L7141'>_Primitive-inc-reg</a>/imm32/next
-<span id="L7141" class="LineNr"> 7141 </span><span class="subxMinorFunction">_Primitive-inc-reg</span>:
-<span id="L7142" class="LineNr"> 7142 </span>    <span class="subxComment"># var/reg &lt;- increment =&gt; ff 0/subop/increment %__</span>
-<span id="L7143" class="LineNr"> 7143 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L7144" class="LineNr"> 7144 </span>    0/imm32/no-inouts
-<span id="L7145" class="LineNr"> 7145 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7146" class="LineNr"> 7146 </span>    <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L7147" class="LineNr"> 7147 </span>    3/imm32/rm32-is-first-output
-<span id="L7148" class="LineNr"> 7148 </span>    0/imm32/no-r32
-<span id="L7149" class="LineNr"> 7149 </span>    0/imm32/no-imm32
-<span id="L7150" class="LineNr"> 7150 </span>    0/imm32/no-disp32
-<span id="L7151" class="LineNr"> 7151 </span>    0/imm32/output-is-write-only
-<span id="L7152" class="LineNr"> 7152 </span>    <a href='mu.subx.html#L7153'>_Primitive-dec-mem</a>/imm32/next
-<span id="L7153" class="LineNr"> 7153 </span><span class="subxMinorFunction">_Primitive-dec-mem</span>:
-<span id="L7154" class="LineNr"> 7154 </span>    <span class="subxComment"># decrement var =&gt; ff 1/subop/decrement *(ebp+__)</span>
-<span id="L7155" class="LineNr"> 7155 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7156" class="LineNr"> 7156 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7157" class="LineNr"> 7157 </span>    0/imm32/no-outputs
-<span id="L7158" class="LineNr"> 7158 </span>    <span class="Constant">&quot;ff 1/subop/decrement&quot;</span>/imm32/subx-name
-<span id="L7159" class="LineNr"> 7159 </span>    1/imm32/rm32-is-first-inout
-<span id="L7160" class="LineNr"> 7160 </span>    0/imm32/no-r32
-<span id="L7161" class="LineNr"> 7161 </span>    0/imm32/no-imm32
-<span id="L7162" class="LineNr"> 7162 </span>    0/imm32/no-disp32
-<span id="L7163" class="LineNr"> 7163 </span>    0/imm32/output-is-write-only
-<span id="L7164" class="LineNr"> 7164 </span>    <a href='mu.subx.html#L7165'>_Primitive-dec-reg</a>/imm32/next
-<span id="L7165" class="LineNr"> 7165 </span><span class="subxMinorFunction">_Primitive-dec-reg</span>:
-<span id="L7166" class="LineNr"> 7166 </span>    <span class="subxComment"># var/reg &lt;- decrement =&gt; ff 1/subop/decrement %__</span>
-<span id="L7167" class="LineNr"> 7167 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
-<span id="L7168" class="LineNr"> 7168 </span>    0/imm32/no-inouts
-<span id="L7169" class="LineNr"> 7169 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7170" class="LineNr"> 7170 </span>    <span class="Constant">&quot;ff 1/subop/decrement&quot;</span>/imm32/subx-name
-<span id="L7171" class="LineNr"> 7171 </span>    3/imm32/rm32-is-first-output
-<span id="L7172" class="LineNr"> 7172 </span>    0/imm32/no-r32
-<span id="L7173" class="LineNr"> 7173 </span>    0/imm32/no-imm32
-<span id="L7174" class="LineNr"> 7174 </span>    0/imm32/no-disp32
-<span id="L7175" class="LineNr"> 7175 </span>    0/imm32/output-is-write-only
-<span id="L7176" class="LineNr"> 7176 </span>    <a href='mu.subx.html#L7178'>_Primitive-add-to-eax</a>/imm32/next
-<span id="L7177" class="LineNr"> 7177 </span><span class="subxH1Comment"># - add</span>
-<span id="L7178" class="LineNr"> 7178 </span><span class="subxMinorFunction">_Primitive-add-to-eax</span>:
-<span id="L7179" class="LineNr"> 7179 </span>    <span class="subxComment"># var/eax &lt;- add lit =&gt; 05/add-to-eax lit/imm32</span>
-<span id="L7180" class="LineNr"> 7180 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
-<span id="L7181" class="LineNr"> 7181 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7182" class="LineNr"> 7182 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7183" class="LineNr"> 7183 </span>    <span class="Constant">&quot;05/add-to-eax&quot;</span>/imm32/subx-name
-<span id="L7184" class="LineNr"> 7184 </span>    0/imm32/no-rm32
-<span id="L7185" class="LineNr"> 7185 </span>    0/imm32/no-r32
-<span id="L7186" class="LineNr"> 7186 </span>    1/imm32/imm32-is-first-inout
-<span id="L7187" class="LineNr"> 7187 </span>    0/imm32/no-disp32
-<span id="L7188" class="LineNr"> 7188 </span>    0/imm32/output-is-write-only
-<span id="L7189" class="LineNr"> 7189 </span>    <a href='mu.subx.html#L7190'>_Primitive-add-reg-to-reg</a>/imm32/next
-<span id="L7190" class="LineNr"> 7190 </span><span class="subxMinorFunction">_Primitive-add-reg-to-reg</span>:
-<span id="L7191" class="LineNr"> 7191 </span>    <span class="subxComment"># var1/reg &lt;- add var2/reg =&gt; 01/add-to var1/rm32 var2/r32</span>
-<span id="L7192" class="LineNr"> 7192 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
-<span id="L7193" class="LineNr"> 7193 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7194" class="LineNr"> 7194 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7195" class="LineNr"> 7195 </span>    <span class="Constant">&quot;01/add-to&quot;</span>/imm32/subx-name
-<span id="L7196" class="LineNr"> 7196 </span>    3/imm32/rm32-is-first-output
-<span id="L7197" class="LineNr"> 7197 </span>    1/imm32/r32-is-first-inout
-<span id="L7198" class="LineNr"> 7198 </span>    0/imm32/no-imm32
-<span id="L7199" class="LineNr"> 7199 </span>    0/imm32/no-disp32
-<span id="L7200" class="LineNr"> 7200 </span>    0/imm32/output-is-write-only
-<span id="L7201" class="LineNr"> 7201 </span>    <a href='mu.subx.html#L7202'>_Primitive-add-reg-to-mem</a>/imm32/next
-<span id="L7202" class="LineNr"> 7202 </span><span class="subxMinorFunction">_Primitive-add-reg-to-mem</span>:
-<span id="L7203" class="LineNr"> 7203 </span>    <span class="subxComment"># add-to var1 var2/reg =&gt; 01/add-to var1 var2/r32</span>
-<span id="L7204" class="LineNr"> 7204 </span>    <span class="Constant">&quot;add-to&quot;</span>/imm32/name
-<span id="L7205" class="LineNr"> 7205 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7206" class="LineNr"> 7206 </span>    0/imm32/outputs
-<span id="L7207" class="LineNr"> 7207 </span>    <span class="Constant">&quot;01/add-to&quot;</span>/imm32/subx-name
-<span id="L7208" class="LineNr"> 7208 </span>    1/imm32/rm32-is-first-inout
-<span id="L7209" class="LineNr"> 7209 </span>    2/imm32/r32-is-second-inout
-<span id="L7210" class="LineNr"> 7210 </span>    0/imm32/no-imm32
-<span id="L7211" class="LineNr"> 7211 </span>    0/imm32/no-disp32
-<span id="L7212" class="LineNr"> 7212 </span>    0/imm32/output-is-write-only
-<span id="L7213" class="LineNr"> 7213 </span>    <a href='mu.subx.html#L7214'>_Primitive-add-mem-to-reg</a>/imm32/next
-<span id="L7214" class="LineNr"> 7214 </span><span class="subxMinorFunction">_Primitive-add-mem-to-reg</span>:
-<span id="L7215" class="LineNr"> 7215 </span>    <span class="subxComment"># var1/reg &lt;- add var2 =&gt; 03/add var2/rm32 var1/r32</span>
-<span id="L7216" class="LineNr"> 7216 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
-<span id="L7217" class="LineNr"> 7217 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7218" class="LineNr"> 7218 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7219" class="LineNr"> 7219 </span>    <span class="Constant">&quot;03/add&quot;</span>/imm32/subx-name
-<span id="L7220" class="LineNr"> 7220 </span>    1/imm32/rm32-is-first-inout
-<span id="L7221" class="LineNr"> 7221 </span>    3/imm32/r32-is-first-output
-<span id="L7222" class="LineNr"> 7222 </span>    0/imm32/no-imm32
-<span id="L7223" class="LineNr"> 7223 </span>    0/imm32/no-disp32
-<span id="L7224" class="LineNr"> 7224 </span>    0/imm32/output-is-write-only
-<span id="L7225" class="LineNr"> 7225 </span>    <a href='mu.subx.html#L7226'>_Primitive-add-lit-to-reg</a>/imm32/next
-<span id="L7226" class="LineNr"> 7226 </span><span class="subxMinorFunction">_Primitive-add-lit-to-reg</span>:
-<span id="L7227" class="LineNr"> 7227 </span>    <span class="subxComment"># var1/reg &lt;- add lit =&gt; 81 0/subop/add var1/rm32 lit/imm32</span>
-<span id="L7228" class="LineNr"> 7228 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
-<span id="L7229" class="LineNr"> 7229 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7230" class="LineNr"> 7230 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7231" class="LineNr"> 7231 </span>    <span class="Constant">&quot;81 0/subop/add&quot;</span>/imm32/subx-name
-<span id="L7232" class="LineNr"> 7232 </span>    3/imm32/rm32-is-first-output
-<span id="L7233" class="LineNr"> 7233 </span>    0/imm32/no-r32
-<span id="L7234" class="LineNr"> 7234 </span>    1/imm32/imm32-is-first-inout
-<span id="L7235" class="LineNr"> 7235 </span>    0/imm32/no-disp32
-<span id="L7236" class="LineNr"> 7236 </span>    0/imm32/output-is-write-only
-<span id="L7237" class="LineNr"> 7237 </span>    <a href='mu.subx.html#L7238'>_Primitive-add-lit-to-mem</a>/imm32/next
-<span id="L7238" class="LineNr"> 7238 </span><span class="subxMinorFunction">_Primitive-add-lit-to-mem</span>:
-<span id="L7239" class="LineNr"> 7239 </span>    <span class="subxComment"># add-to var1, lit =&gt; 81 0/subop/add var1/rm32 lit/imm32</span>
-<span id="L7240" class="LineNr"> 7240 </span>    <span class="Constant">&quot;add-to&quot;</span>/imm32/name
-<span id="L7241" class="LineNr"> 7241 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7242" class="LineNr"> 7242 </span>    0/imm32/outputs
-<span id="L7243" class="LineNr"> 7243 </span>    <span class="Constant">&quot;81 0/subop/add&quot;</span>/imm32/subx-name
-<span id="L7244" class="LineNr"> 7244 </span>    1/imm32/rm32-is-first-inout
-<span id="L7245" class="LineNr"> 7245 </span>    0/imm32/no-r32
-<span id="L7246" class="LineNr"> 7246 </span>    2/imm32/imm32-is-second-inout
-<span id="L7247" class="LineNr"> 7247 </span>    0/imm32/no-disp32
-<span id="L7248" class="LineNr"> 7248 </span>    0/imm32/output-is-write-only
-<span id="L7249" class="LineNr"> 7249 </span>    <a href='mu.subx.html#L7251'>_Primitive-subtract-from-eax</a>/imm32/next
-<span id="L7250" class="LineNr"> 7250 </span><span class="subxH1Comment"># - subtract</span>
-<span id="L7251" class="LineNr"> 7251 </span><span class="subxMinorFunction">_Primitive-subtract-from-eax</span>:
-<span id="L7252" class="LineNr"> 7252 </span>    <span class="subxComment"># var/eax &lt;- subtract lit =&gt; 2d/subtract-from-eax lit/imm32</span>
-<span id="L7253" class="LineNr"> 7253 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
-<span id="L7254" class="LineNr"> 7254 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7255" class="LineNr"> 7255 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7256" class="LineNr"> 7256 </span>    <span class="Constant">&quot;2d/subtract-from-eax&quot;</span>/imm32/subx-name
-<span id="L7257" class="LineNr"> 7257 </span>    0/imm32/no-rm32
-<span id="L7258" class="LineNr"> 7258 </span>    0/imm32/no-r32
-<span id="L7259" class="LineNr"> 7259 </span>    1/imm32/imm32-is-first-inout
-<span id="L7260" class="LineNr"> 7260 </span>    0/imm32/no-disp32
-<span id="L7261" class="LineNr"> 7261 </span>    0/imm32/output-is-write-only
-<span id="L7262" class="LineNr"> 7262 </span>    <a href='mu.subx.html#L7263'>_Primitive-subtract-reg-from-reg</a>/imm32/next
-<span id="L7263" class="LineNr"> 7263 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-reg</span>:
-<span id="L7264" class="LineNr"> 7264 </span>    <span class="subxComment"># var1/reg &lt;- subtract var2/reg =&gt; 29/subtract-from var1/rm32 var2/r32</span>
-<span id="L7265" class="LineNr"> 7265 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
-<span id="L7266" class="LineNr"> 7266 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7267" class="LineNr"> 7267 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7268" class="LineNr"> 7268 </span>    <span class="Constant">&quot;29/subtract-from&quot;</span>/imm32/subx-name
-<span id="L7269" class="LineNr"> 7269 </span>    3/imm32/rm32-is-first-output
-<span id="L7270" class="LineNr"> 7270 </span>    1/imm32/r32-is-first-inout
-<span id="L7271" class="LineNr"> 7271 </span>    0/imm32/no-imm32
-<span id="L7272" class="LineNr"> 7272 </span>    0/imm32/no-disp32
-<span id="L7273" class="LineNr"> 7273 </span>    0/imm32/output-is-write-only
-<span id="L7274" class="LineNr"> 7274 </span>    <a href='mu.subx.html#L7275'>_Primitive-subtract-reg-from-mem</a>/imm32/next
-<span id="L7275" class="LineNr"> 7275 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-mem</span>:
-<span id="L7276" class="LineNr"> 7276 </span>    <span class="subxComment"># subtract-from var1 var2/reg =&gt; 29/subtract-from var1 var2/r32</span>
-<span id="L7277" class="LineNr"> 7277 </span>    <span class="Constant">&quot;subtract-from&quot;</span>/imm32/name
-<span id="L7278" class="LineNr"> 7278 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7279" class="LineNr"> 7279 </span>    0/imm32/outputs
-<span id="L7280" class="LineNr"> 7280 </span>    <span class="Constant">&quot;29/subtract-from&quot;</span>/imm32/subx-name
-<span id="L7281" class="LineNr"> 7281 </span>    1/imm32/rm32-is-first-inout
-<span id="L7282" class="LineNr"> 7282 </span>    2/imm32/r32-is-second-inout
-<span id="L7283" class="LineNr"> 7283 </span>    0/imm32/no-imm32
-<span id="L7284" class="LineNr"> 7284 </span>    0/imm32/no-disp32
-<span id="L7285" class="LineNr"> 7285 </span>    0/imm32/output-is-write-only
-<span id="L7286" class="LineNr"> 7286 </span>    <a href='mu.subx.html#L7287'>_Primitive-subtract-mem-from-reg</a>/imm32/next
-<span id="L7287" class="LineNr"> 7287 </span><span class="subxMinorFunction">_Primitive-subtract-mem-from-reg</span>:
-<span id="L7288" class="LineNr"> 7288 </span>    <span class="subxComment"># var1/reg &lt;- subtract var2 =&gt; 2b/subtract var2/rm32 var1/r32</span>
-<span id="L7289" class="LineNr"> 7289 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
-<span id="L7290" class="LineNr"> 7290 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7291" class="LineNr"> 7291 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7292" class="LineNr"> 7292 </span>    <span class="Constant">&quot;2b/subtract&quot;</span>/imm32/subx-name
-<span id="L7293" class="LineNr"> 7293 </span>    1/imm32/rm32-is-first-inout
-<span id="L7294" class="LineNr"> 7294 </span>    3/imm32/r32-is-first-output
-<span id="L7295" class="LineNr"> 7295 </span>    0/imm32/no-imm32
-<span id="L7296" class="LineNr"> 7296 </span>    0/imm32/no-disp32
-<span id="L7297" class="LineNr"> 7297 </span>    0/imm32/output-is-write-only
-<span id="L7298" class="LineNr"> 7298 </span>    <a href='mu.subx.html#L7299'>_Primitive-subtract-lit-from-reg</a>/imm32/next
-<span id="L7299" class="LineNr"> 7299 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-reg</span>:
-<span id="L7300" class="LineNr"> 7300 </span>    <span class="subxComment"># var1/reg &lt;- subtract lit =&gt; 81 5/subop/subtract var1/rm32 lit/imm32</span>
-<span id="L7301" class="LineNr"> 7301 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
-<span id="L7302" class="LineNr"> 7302 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7303" class="LineNr"> 7303 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7304" class="LineNr"> 7304 </span>    <span class="Constant">&quot;81 5/subop/subtract&quot;</span>/imm32/subx-name
-<span id="L7305" class="LineNr"> 7305 </span>    3/imm32/rm32-is-first-output
-<span id="L7306" class="LineNr"> 7306 </span>    0/imm32/no-r32
-<span id="L7307" class="LineNr"> 7307 </span>    1/imm32/imm32-is-first-inout
-<span id="L7308" class="LineNr"> 7308 </span>    0/imm32/no-disp32
-<span id="L7309" class="LineNr"> 7309 </span>    0/imm32/output-is-write-only
-<span id="L7310" class="LineNr"> 7310 </span>    <a href='mu.subx.html#L7311'>_Primitive-subtract-lit-from-mem</a>/imm32/next
-<span id="L7311" class="LineNr"> 7311 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-mem</span>:
-<span id="L7312" class="LineNr"> 7312 </span>    <span class="subxComment"># subtract-from var1, lit =&gt; 81 5/subop/subtract var1/rm32 lit/imm32</span>
-<span id="L7313" class="LineNr"> 7313 </span>    <span class="Constant">&quot;subtract-from&quot;</span>/imm32/name
-<span id="L7314" class="LineNr"> 7314 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7315" class="LineNr"> 7315 </span>    0/imm32/outputs
-<span id="L7316" class="LineNr"> 7316 </span>    <span class="Constant">&quot;81 5/subop/subtract&quot;</span>/imm32/subx-name
-<span id="L7317" class="LineNr"> 7317 </span>    1/imm32/rm32-is-first-inout
-<span id="L7318" class="LineNr"> 7318 </span>    0/imm32/no-r32
-<span id="L7319" class="LineNr"> 7319 </span>    2/imm32/imm32-is-first-inout
-<span id="L7320" class="LineNr"> 7320 </span>    0/imm32/no-disp32
-<span id="L7321" class="LineNr"> 7321 </span>    0/imm32/output-is-write-only
-<span id="L7322" class="LineNr"> 7322 </span>    <a href='mu.subx.html#L7324'>_Primitive-and-with-eax</a>/imm32/next
-<span id="L7323" class="LineNr"> 7323 </span><span class="subxH1Comment"># - and</span>
-<span id="L7324" class="LineNr"> 7324 </span><span class="subxMinorFunction">_Primitive-and-with-eax</span>:
-<span id="L7325" class="LineNr"> 7325 </span>    <span class="subxComment"># var/eax &lt;- and lit =&gt; 25/and-with-eax lit/imm32</span>
-<span id="L7326" class="LineNr"> 7326 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
-<span id="L7327" class="LineNr"> 7327 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7328" class="LineNr"> 7328 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7329" class="LineNr"> 7329 </span>    <span class="Constant">&quot;25/and-with-eax&quot;</span>/imm32/subx-name
-<span id="L7330" class="LineNr"> 7330 </span>    0/imm32/no-rm32
-<span id="L7331" class="LineNr"> 7331 </span>    0/imm32/no-r32
-<span id="L7332" class="LineNr"> 7332 </span>    1/imm32/imm32-is-first-inout
-<span id="L7333" class="LineNr"> 7333 </span>    0/imm32/no-disp32
-<span id="L7334" class="LineNr"> 7334 </span>    0/imm32/output-is-write-only
-<span id="L7335" class="LineNr"> 7335 </span>    <a href='mu.subx.html#L7336'>_Primitive-and-reg-with-reg</a>/imm32/next
-<span id="L7336" class="LineNr"> 7336 </span><span class="subxMinorFunction">_Primitive-and-reg-with-reg</span>:
-<span id="L7337" class="LineNr"> 7337 </span>    <span class="subxComment"># var1/reg &lt;- and var2/reg =&gt; 21/and-with var1/rm32 var2/r32</span>
-<span id="L7338" class="LineNr"> 7338 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
-<span id="L7339" class="LineNr"> 7339 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7340" class="LineNr"> 7340 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7341" class="LineNr"> 7341 </span>    <span class="Constant">&quot;21/and-with&quot;</span>/imm32/subx-name
-<span id="L7342" class="LineNr"> 7342 </span>    3/imm32/rm32-is-first-output
-<span id="L7343" class="LineNr"> 7343 </span>    1/imm32/r32-is-first-inout
-<span id="L7344" class="LineNr"> 7344 </span>    0/imm32/no-imm32
-<span id="L7345" class="LineNr"> 7345 </span>    0/imm32/no-disp32
-<span id="L7346" class="LineNr"> 7346 </span>    0/imm32/output-is-write-only
-<span id="L7347" class="LineNr"> 7347 </span>    <a href='mu.subx.html#L7348'>_Primitive-and-reg-with-mem</a>/imm32/next
-<span id="L7348" class="LineNr"> 7348 </span><span class="subxMinorFunction">_Primitive-and-reg-with-mem</span>:
-<span id="L7349" class="LineNr"> 7349 </span>    <span class="subxComment"># and-with var1 var2/reg =&gt; 21/and-with var1 var2/r32</span>
-<span id="L7350" class="LineNr"> 7350 </span>    <span class="Constant">&quot;and-with&quot;</span>/imm32/name
-<span id="L7351" class="LineNr"> 7351 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7352" class="LineNr"> 7352 </span>    0/imm32/outputs
-<span id="L7353" class="LineNr"> 7353 </span>    <span class="Constant">&quot;21/and-with&quot;</span>/imm32/subx-name
-<span id="L7354" class="LineNr"> 7354 </span>    1/imm32/rm32-is-first-inout
-<span id="L7355" class="LineNr"> 7355 </span>    2/imm32/r32-is-second-inout
-<span id="L7356" class="LineNr"> 7356 </span>    0/imm32/no-imm32
-<span id="L7357" class="LineNr"> 7357 </span>    0/imm32/no-disp32
-<span id="L7358" class="LineNr"> 7358 </span>    0/imm32/output-is-write-only
-<span id="L7359" class="LineNr"> 7359 </span>    <a href='mu.subx.html#L7360'>_Primitive-and-mem-with-reg</a>/imm32/next
-<span id="L7360" class="LineNr"> 7360 </span><span class="subxMinorFunction">_Primitive-and-mem-with-reg</span>:
-<span id="L7361" class="LineNr"> 7361 </span>    <span class="subxComment"># var1/reg &lt;- and var2 =&gt; 23/and var2/rm32 var1/r32</span>
-<span id="L7362" class="LineNr"> 7362 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
-<span id="L7363" class="LineNr"> 7363 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7364" class="LineNr"> 7364 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7365" class="LineNr"> 7365 </span>    <span class="Constant">&quot;23/and&quot;</span>/imm32/subx-name
-<span id="L7366" class="LineNr"> 7366 </span>    1/imm32/rm32-is-first-inout
-<span id="L7367" class="LineNr"> 7367 </span>    3/imm32/r32-is-first-output
-<span id="L7368" class="LineNr"> 7368 </span>    0/imm32/no-imm32
-<span id="L7369" class="LineNr"> 7369 </span>    0/imm32/no-disp32
-<span id="L7370" class="LineNr"> 7370 </span>    0/imm32/output-is-write-only
-<span id="L7371" class="LineNr"> 7371 </span>    <a href='mu.subx.html#L7372'>_Primitive-and-lit-with-reg</a>/imm32/next
-<span id="L7372" class="LineNr"> 7372 </span><span class="subxMinorFunction">_Primitive-and-lit-with-reg</span>:
-<span id="L7373" class="LineNr"> 7373 </span>    <span class="subxComment"># var1/reg &lt;- and lit =&gt; 81 4/subop/and var1/rm32 lit/imm32</span>
-<span id="L7374" class="LineNr"> 7374 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
-<span id="L7375" class="LineNr"> 7375 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7376" class="LineNr"> 7376 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7377" class="LineNr"> 7377 </span>    <span class="Constant">&quot;81 4/subop/and&quot;</span>/imm32/subx-name
-<span id="L7378" class="LineNr"> 7378 </span>    3/imm32/rm32-is-first-output
-<span id="L7379" class="LineNr"> 7379 </span>    0/imm32/no-r32
-<span id="L7380" class="LineNr"> 7380 </span>    1/imm32/imm32-is-first-inout
-<span id="L7381" class="LineNr"> 7381 </span>    0/imm32/no-disp32
-<span id="L7382" class="LineNr"> 7382 </span>    0/imm32/output-is-write-only
-<span id="L7383" class="LineNr"> 7383 </span>    <a href='mu.subx.html#L7384'>_Primitive-and-lit-with-mem</a>/imm32/next
-<span id="L7384" class="LineNr"> 7384 </span><span class="subxMinorFunction">_Primitive-and-lit-with-mem</span>:
-<span id="L7385" class="LineNr"> 7385 </span>    <span class="subxComment"># and-with var1, lit =&gt; 81 4/subop/and var1/rm32 lit/imm32</span>
-<span id="L7386" class="LineNr"> 7386 </span>    <span class="Constant">&quot;and-with&quot;</span>/imm32/name
-<span id="L7387" class="LineNr"> 7387 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7388" class="LineNr"> 7388 </span>    0/imm32/outputs
-<span id="L7389" class="LineNr"> 7389 </span>    <span class="Constant">&quot;81 4/subop/and&quot;</span>/imm32/subx-name
-<span id="L7390" class="LineNr"> 7390 </span>    1/imm32/rm32-is-first-inout
-<span id="L7391" class="LineNr"> 7391 </span>    0/imm32/no-r32
-<span id="L7392" class="LineNr"> 7392 </span>    2/imm32/imm32-is-first-inout
-<span id="L7393" class="LineNr"> 7393 </span>    0/imm32/no-disp32
-<span id="L7394" class="LineNr"> 7394 </span>    0/imm32/output-is-write-only
-<span id="L7395" class="LineNr"> 7395 </span>    <a href='mu.subx.html#L7397'>_Primitive-or-with-eax</a>/imm32/next
-<span id="L7396" class="LineNr"> 7396 </span><span class="subxH1Comment"># - or</span>
-<span id="L7397" class="LineNr"> 7397 </span><span class="subxMinorFunction">_Primitive-or-with-eax</span>:
-<span id="L7398" class="LineNr"> 7398 </span>    <span class="subxComment"># var/eax &lt;- or lit =&gt; 0d/or-with-eax lit/imm32</span>
-<span id="L7399" class="LineNr"> 7399 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
-<span id="L7400" class="LineNr"> 7400 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7401" class="LineNr"> 7401 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7402" class="LineNr"> 7402 </span>    <span class="Constant">&quot;0d/or-with-eax&quot;</span>/imm32/subx-name
-<span id="L7403" class="LineNr"> 7403 </span>    0/imm32/no-rm32
-<span id="L7404" class="LineNr"> 7404 </span>    0/imm32/no-r32
-<span id="L7405" class="LineNr"> 7405 </span>    1/imm32/imm32-is-first-inout
-<span id="L7406" class="LineNr"> 7406 </span>    0/imm32/no-disp32
-<span id="L7407" class="LineNr"> 7407 </span>    0/imm32/output-is-write-only
-<span id="L7408" class="LineNr"> 7408 </span>    <a href='mu.subx.html#L7409'>_Primitive-or-reg-with-reg</a>/imm32/next
-<span id="L7409" class="LineNr"> 7409 </span><span class="subxMinorFunction">_Primitive-or-reg-with-reg</span>:
-<span id="L7410" class="LineNr"> 7410 </span>    <span class="subxComment"># var1/reg &lt;- or var2/reg =&gt; 09/or-with var1/rm32 var2/r32</span>
-<span id="L7411" class="LineNr"> 7411 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
-<span id="L7412" class="LineNr"> 7412 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7413" class="LineNr"> 7413 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7414" class="LineNr"> 7414 </span>    <span class="Constant">&quot;09/or-with&quot;</span>/imm32/subx-name
-<span id="L7415" class="LineNr"> 7415 </span>    3/imm32/rm32-is-first-output
-<span id="L7416" class="LineNr"> 7416 </span>    1/imm32/r32-is-first-inout
-<span id="L7417" class="LineNr"> 7417 </span>    0/imm32/no-imm32
-<span id="L7418" class="LineNr"> 7418 </span>    0/imm32/no-disp32
-<span id="L7419" class="LineNr"> 7419 </span>    0/imm32/output-is-write-only
-<span id="L7420" class="LineNr"> 7420 </span>    <a href='mu.subx.html#L7421'>_Primitive-or-reg-with-mem</a>/imm32/next
-<span id="L7421" class="LineNr"> 7421 </span><span class="subxMinorFunction">_Primitive-or-reg-with-mem</span>:
-<span id="L7422" class="LineNr"> 7422 </span>    <span class="subxComment"># or-with var1 var2/reg =&gt; 09/or-with var1 var2/r32</span>
-<span id="L7423" class="LineNr"> 7423 </span>    <span class="Constant">&quot;or-with&quot;</span>/imm32/name
-<span id="L7424" class="LineNr"> 7424 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7425" class="LineNr"> 7425 </span>    0/imm32/outputs
-<span id="L7426" class="LineNr"> 7426 </span>    <span class="Constant">&quot;09/or-with&quot;</span>/imm32/subx-name
-<span id="L7427" class="LineNr"> 7427 </span>    1/imm32/rm32-is-first-inout
-<span id="L7428" class="LineNr"> 7428 </span>    2/imm32/r32-is-second-inout
-<span id="L7429" class="LineNr"> 7429 </span>    0/imm32/no-imm32
-<span id="L7430" class="LineNr"> 7430 </span>    0/imm32/no-disp32
-<span id="L7431" class="LineNr"> 7431 </span>    0/imm32/output-is-write-only
-<span id="L7432" class="LineNr"> 7432 </span>    <a href='mu.subx.html#L7433'>_Primitive-or-mem-with-reg</a>/imm32/next
-<span id="L7433" class="LineNr"> 7433 </span><span class="subxMinorFunction">_Primitive-or-mem-with-reg</span>:
-<span id="L7434" class="LineNr"> 7434 </span>    <span class="subxComment"># var1/reg &lt;- or var2 =&gt; 0b/or var2/rm32 var1/r32</span>
-<span id="L7435" class="LineNr"> 7435 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
-<span id="L7436" class="LineNr"> 7436 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7437" class="LineNr"> 7437 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7438" class="LineNr"> 7438 </span>    <span class="Constant">&quot;0b/or&quot;</span>/imm32/subx-name
-<span id="L7439" class="LineNr"> 7439 </span>    1/imm32/rm32-is-first-inout
-<span id="L7440" class="LineNr"> 7440 </span>    3/imm32/r32-is-first-output
-<span id="L7441" class="LineNr"> 7441 </span>    0/imm32/no-imm32
-<span id="L7442" class="LineNr"> 7442 </span>    0/imm32/no-disp32
-<span id="L7443" class="LineNr"> 7443 </span>    0/imm32/output-is-write-only
-<span id="L7444" class="LineNr"> 7444 </span>    <a href='mu.subx.html#L7445'>_Primitive-or-lit-with-reg</a>/imm32/next
-<span id="L7445" class="LineNr"> 7445 </span><span class="subxMinorFunction">_Primitive-or-lit-with-reg</span>:
-<span id="L7446" class="LineNr"> 7446 </span>    <span class="subxComment"># var1/reg &lt;- or lit =&gt; 81 1/subop/or var1/rm32 lit/imm32</span>
-<span id="L7447" class="LineNr"> 7447 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
-<span id="L7448" class="LineNr"> 7448 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7449" class="LineNr"> 7449 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7450" class="LineNr"> 7450 </span>    <span class="Constant">&quot;81 1/subop/or&quot;</span>/imm32/subx-name
-<span id="L7451" class="LineNr"> 7451 </span>    3/imm32/rm32-is-first-output
-<span id="L7452" class="LineNr"> 7452 </span>    0/imm32/no-r32
-<span id="L7453" class="LineNr"> 7453 </span>    1/imm32/imm32-is-first-inout
-<span id="L7454" class="LineNr"> 7454 </span>    0/imm32/no-disp32
-<span id="L7455" class="LineNr"> 7455 </span>    0/imm32/output-is-write-only
-<span id="L7456" class="LineNr"> 7456 </span>    <a href='mu.subx.html#L7457'>_Primitive-or-lit-with-mem</a>/imm32/next
-<span id="L7457" class="LineNr"> 7457 </span><span class="subxMinorFunction">_Primitive-or-lit-with-mem</span>:
-<span id="L7458" class="LineNr"> 7458 </span>    <span class="subxComment"># or-with var1, lit =&gt; 81 1/subop/or var1/rm32 lit/imm32</span>
-<span id="L7459" class="LineNr"> 7459 </span>    <span class="Constant">&quot;or-with&quot;</span>/imm32/name
-<span id="L7460" class="LineNr"> 7460 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7461" class="LineNr"> 7461 </span>    0/imm32/outputs
-<span id="L7462" class="LineNr"> 7462 </span>    <span class="Constant">&quot;81 1/subop/or&quot;</span>/imm32/subx-name
-<span id="L7463" class="LineNr"> 7463 </span>    1/imm32/rm32-is-first-inout
-<span id="L7464" class="LineNr"> 7464 </span>    0/imm32/no-r32
-<span id="L7465" class="LineNr"> 7465 </span>    2/imm32/imm32-is-second-inout
-<span id="L7466" class="LineNr"> 7466 </span>    0/imm32/no-disp32
-<span id="L7467" class="LineNr"> 7467 </span>    0/imm32/output-is-write-only
-<span id="L7468" class="LineNr"> 7468 </span>    <a href='mu.subx.html#L7470'>_Primitive-xor-with-eax</a>/imm32/next
-<span id="L7469" class="LineNr"> 7469 </span><span class="subxH1Comment"># - xor</span>
-<span id="L7470" class="LineNr"> 7470 </span><span class="subxMinorFunction">_Primitive-xor-with-eax</span>:
-<span id="L7471" class="LineNr"> 7471 </span>    <span class="subxComment"># var/eax &lt;- xor lit =&gt; 35/xor-with-eax lit/imm32</span>
-<span id="L7472" class="LineNr"> 7472 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
-<span id="L7473" class="LineNr"> 7473 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7474" class="LineNr"> 7474 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7475" class="LineNr"> 7475 </span>    <span class="Constant">&quot;35/xor-with-eax&quot;</span>/imm32/subx-name
-<span id="L7476" class="LineNr"> 7476 </span>    0/imm32/no-rm32
-<span id="L7477" class="LineNr"> 7477 </span>    0/imm32/no-r32
-<span id="L7478" class="LineNr"> 7478 </span>    1/imm32/imm32-is-first-inout
-<span id="L7479" class="LineNr"> 7479 </span>    0/imm32/no-disp32
-<span id="L7480" class="LineNr"> 7480 </span>    0/imm32/output-is-write-only
-<span id="L7481" class="LineNr"> 7481 </span>    <a href='mu.subx.html#L7482'>_Primitive-xor-reg-with-reg</a>/imm32/next
-<span id="L7482" class="LineNr"> 7482 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-reg</span>:
-<span id="L7483" class="LineNr"> 7483 </span>    <span class="subxComment"># var1/reg &lt;- xor var2/reg =&gt; 31/xor-with var1/rm32 var2/r32</span>
-<span id="L7484" class="LineNr"> 7484 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
-<span id="L7485" class="LineNr"> 7485 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7486" class="LineNr"> 7486 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7487" class="LineNr"> 7487 </span>    <span class="Constant">&quot;31/xor-with&quot;</span>/imm32/subx-name
-<span id="L7488" class="LineNr"> 7488 </span>    3/imm32/rm32-is-first-output
-<span id="L7489" class="LineNr"> 7489 </span>    1/imm32/r32-is-first-inout
-<span id="L7490" class="LineNr"> 7490 </span>    0/imm32/no-imm32
-<span id="L7491" class="LineNr"> 7491 </span>    0/imm32/no-disp32
-<span id="L7492" class="LineNr"> 7492 </span>    0/imm32/output-is-write-only
-<span id="L7493" class="LineNr"> 7493 </span>    <a href='mu.subx.html#L7494'>_Primitive-xor-reg-with-mem</a>/imm32/next
-<span id="L7494" class="LineNr"> 7494 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-mem</span>:
-<span id="L7495" class="LineNr"> 7495 </span>    <span class="subxComment"># xor-with var1 var2/reg =&gt; 31/xor-with var1 var2/r32</span>
-<span id="L7496" class="LineNr"> 7496 </span>    <span class="Constant">&quot;xor-with&quot;</span>/imm32/name
-<span id="L7497" class="LineNr"> 7497 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7498" class="LineNr"> 7498 </span>    0/imm32/outputs
-<span id="L7499" class="LineNr"> 7499 </span>    <span class="Constant">&quot;31/xor-with&quot;</span>/imm32/subx-name
-<span id="L7500" class="LineNr"> 7500 </span>    1/imm32/rm32-is-first-inout
-<span id="L7501" class="LineNr"> 7501 </span>    2/imm32/r32-is-second-inout
-<span id="L7502" class="LineNr"> 7502 </span>    0/imm32/no-imm32
-<span id="L7503" class="LineNr"> 7503 </span>    0/imm32/no-disp32
-<span id="L7504" class="LineNr"> 7504 </span>    0/imm32/output-is-write-only
-<span id="L7505" class="LineNr"> 7505 </span>    <a href='mu.subx.html#L7506'>_Primitive-xor-mem-with-reg</a>/imm32/next
-<span id="L7506" class="LineNr"> 7506 </span><span class="subxMinorFunction">_Primitive-xor-mem-with-reg</span>:
-<span id="L7507" class="LineNr"> 7507 </span>    <span class="subxComment"># var1/reg &lt;- xor var2 =&gt; 33/xor var2/rm32 var1/r32</span>
-<span id="L7508" class="LineNr"> 7508 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
-<span id="L7509" class="LineNr"> 7509 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7510" class="LineNr"> 7510 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7511" class="LineNr"> 7511 </span>    <span class="Constant">&quot;33/xor&quot;</span>/imm32/subx-name
-<span id="L7512" class="LineNr"> 7512 </span>    1/imm32/rm32-is-first-inout
-<span id="L7513" class="LineNr"> 7513 </span>    3/imm32/r32-is-first-output
-<span id="L7514" class="LineNr"> 7514 </span>    0/imm32/no-imm32
-<span id="L7515" class="LineNr"> 7515 </span>    0/imm32/no-disp32
-<span id="L7516" class="LineNr"> 7516 </span>    0/imm32/output-is-write-only
-<span id="L7517" class="LineNr"> 7517 </span>    <a href='mu.subx.html#L7518'>_Primitive-xor-lit-with-reg</a>/imm32/next
-<span id="L7518" class="LineNr"> 7518 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-reg</span>:
-<span id="L7519" class="LineNr"> 7519 </span>    <span class="subxComment"># var1/reg &lt;- xor lit =&gt; 81 6/subop/xor var1/rm32 lit/imm32</span>
-<span id="L7520" class="LineNr"> 7520 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
-<span id="L7521" class="LineNr"> 7521 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7522" class="LineNr"> 7522 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7523" class="LineNr"> 7523 </span>    <span class="Constant">&quot;81 6/subop/xor&quot;</span>/imm32/subx-name
-<span id="L7524" class="LineNr"> 7524 </span>    3/imm32/rm32-is-first-output
-<span id="L7525" class="LineNr"> 7525 </span>    0/imm32/no-r32
-<span id="L7526" class="LineNr"> 7526 </span>    1/imm32/imm32-is-first-inout
-<span id="L7527" class="LineNr"> 7527 </span>    0/imm32/no-disp32
-<span id="L7528" class="LineNr"> 7528 </span>    0/imm32/output-is-write-only
-<span id="L7529" class="LineNr"> 7529 </span>    <a href='mu.subx.html#L7530'>_Primitive-xor-lit-with-mem</a>/imm32/next
-<span id="L7530" class="LineNr"> 7530 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-mem</span>:
-<span id="L7531" class="LineNr"> 7531 </span>    <span class="subxComment"># xor-with var1, lit =&gt; 81 6/subop/xor var1/rm32 lit/imm32</span>
-<span id="L7532" class="LineNr"> 7532 </span>    <span class="Constant">&quot;xor-with&quot;</span>/imm32/name
-<span id="L7533" class="LineNr"> 7533 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7534" class="LineNr"> 7534 </span>    0/imm32/outputs
-<span id="L7535" class="LineNr"> 7535 </span>    <span class="Constant">&quot;81 6/subop/xor&quot;</span>/imm32/subx-name
-<span id="L7536" class="LineNr"> 7536 </span>    1/imm32/rm32-is-first-inout
-<span id="L7537" class="LineNr"> 7537 </span>    0/imm32/no-r32
-<span id="L7538" class="LineNr"> 7538 </span>    2/imm32/imm32-is-first-inout
-<span id="L7539" class="LineNr"> 7539 </span>    0/imm32/no-disp32
-<span id="L7540" class="LineNr"> 7540 </span>    0/imm32/output-is-write-only
-<span id="L7541" class="LineNr"> 7541 </span>    <a href='mu.subx.html#L7543'>_Primitive-copy-to-eax</a>/imm32/next
-<span id="L7542" class="LineNr"> 7542 </span><span class="subxH1Comment"># - copy</span>
-<span id="L7543" class="LineNr"> 7543 </span><span class="subxMinorFunction">_Primitive-copy-to-eax</span>:
-<span id="L7544" class="LineNr"> 7544 </span>    <span class="subxComment"># var/eax &lt;- copy lit =&gt; b8/copy-to-eax lit/imm32</span>
-<span id="L7545" class="LineNr"> 7545 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7546" class="LineNr"> 7546 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7547" class="LineNr"> 7547 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Single-int-var-in-eax</a></span>/imm32/outputs
-<span id="L7548" class="LineNr"> 7548 </span>    <span class="Constant">&quot;b8/copy-to-eax&quot;</span>/imm32/subx-name
-<span id="L7549" class="LineNr"> 7549 </span>    0/imm32/no-rm32
-<span id="L7550" class="LineNr"> 7550 </span>    0/imm32/no-r32
-<span id="L7551" class="LineNr"> 7551 </span>    1/imm32/imm32-is-first-inout
-<span id="L7552" class="LineNr"> 7552 </span>    0/imm32/no-disp32
-<span id="L7553" class="LineNr"> 7553 </span>    1/imm32/output-is-write-only
-<span id="L7554" class="LineNr"> 7554 </span>    <a href='mu.subx.html#L7555'>_Primitive-copy-to-ecx</a>/imm32/next
-<span id="L7555" class="LineNr"> 7555 </span><span class="subxMinorFunction">_Primitive-copy-to-ecx</span>:
-<span id="L7556" class="LineNr"> 7556 </span>    <span class="subxComment"># var/ecx &lt;- copy lit =&gt; b9/copy-to-ecx lit/imm32</span>
-<span id="L7557" class="LineNr"> 7557 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7558" class="LineNr"> 7558 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7559" class="LineNr"> 7559 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8289'>Single-int-var-in-ecx</a></span>/imm32/outputs
-<span id="L7560" class="LineNr"> 7560 </span>    <span class="Constant">&quot;b9/copy-to-ecx&quot;</span>/imm32/subx-name
-<span id="L7561" class="LineNr"> 7561 </span>    0/imm32/no-rm32
-<span id="L7562" class="LineNr"> 7562 </span>    0/imm32/no-r32
-<span id="L7563" class="LineNr"> 7563 </span>    1/imm32/imm32-is-first-inout
-<span id="L7564" class="LineNr"> 7564 </span>    0/imm32/no-disp32
-<span id="L7565" class="LineNr"> 7565 </span>    1/imm32/output-is-write-only
-<span id="L7566" class="LineNr"> 7566 </span>    <a href='mu.subx.html#L7567'>_Primitive-copy-to-edx</a>/imm32/next
-<span id="L7567" class="LineNr"> 7567 </span><span class="subxMinorFunction">_Primitive-copy-to-edx</span>:
-<span id="L7568" class="LineNr"> 7568 </span>    <span class="subxComment"># var/edx &lt;- copy lit =&gt; ba/copy-to-edx lit/imm32</span>
-<span id="L7569" class="LineNr"> 7569 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7570" class="LineNr"> 7570 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7571" class="LineNr"> 7571 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8300'>Single-int-var-in-edx</a></span>/imm32/outputs
-<span id="L7572" class="LineNr"> 7572 </span>    <span class="Constant">&quot;ba/copy-to-edx&quot;</span>/imm32/subx-name
-<span id="L7573" class="LineNr"> 7573 </span>    0/imm32/no-rm32
-<span id="L7574" class="LineNr"> 7574 </span>    0/imm32/no-r32
-<span id="L7575" class="LineNr"> 7575 </span>    1/imm32/imm32-is-first-inout
-<span id="L7576" class="LineNr"> 7576 </span>    0/imm32/no-disp32
-<span id="L7577" class="LineNr"> 7577 </span>    1/imm32/output-is-write-only
-<span id="L7578" class="LineNr"> 7578 </span>    <a href='mu.subx.html#L7579'>_Primitive-copy-to-ebx</a>/imm32/next
-<span id="L7579" class="LineNr"> 7579 </span><span class="subxMinorFunction">_Primitive-copy-to-ebx</span>:
-<span id="L7580" class="LineNr"> 7580 </span>    <span class="subxComment"># var/ebx &lt;- copy lit =&gt; bb/copy-to-ebx lit/imm32</span>
-<span id="L7581" class="LineNr"> 7581 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7582" class="LineNr"> 7582 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7583" class="LineNr"> 7583 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8311'>Single-int-var-in-ebx</a></span>/imm32/outputs
-<span id="L7584" class="LineNr"> 7584 </span>    <span class="Constant">&quot;bb/copy-to-ebx&quot;</span>/imm32/subx-name
-<span id="L7585" class="LineNr"> 7585 </span>    0/imm32/no-rm32
-<span id="L7586" class="LineNr"> 7586 </span>    0/imm32/no-r32
-<span id="L7587" class="LineNr"> 7587 </span>    1/imm32/imm32-is-first-inout
-<span id="L7588" class="LineNr"> 7588 </span>    0/imm32/no-disp32
-<span id="L7589" class="LineNr"> 7589 </span>    1/imm32/output-is-write-only
-<span id="L7590" class="LineNr"> 7590 </span>    <a href='mu.subx.html#L7591'>_Primitive-copy-to-esi</a>/imm32/next
-<span id="L7591" class="LineNr"> 7591 </span><span class="subxMinorFunction">_Primitive-copy-to-esi</span>:
-<span id="L7592" class="LineNr"> 7592 </span>    <span class="subxComment"># var/esi &lt;- copy lit =&gt; be/copy-to-esi lit/imm32</span>
-<span id="L7593" class="LineNr"> 7593 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7594" class="LineNr"> 7594 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7595" class="LineNr"> 7595 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8322'>Single-int-var-in-esi</a></span>/imm32/outputs
-<span id="L7596" class="LineNr"> 7596 </span>    <span class="Constant">&quot;be/copy-to-esi&quot;</span>/imm32/subx-name
-<span id="L7597" class="LineNr"> 7597 </span>    0/imm32/no-rm32
-<span id="L7598" class="LineNr"> 7598 </span>    0/imm32/no-r32
-<span id="L7599" class="LineNr"> 7599 </span>    1/imm32/imm32-is-first-inout
-<span id="L7600" class="LineNr"> 7600 </span>    0/imm32/no-disp32
-<span id="L7601" class="LineNr"> 7601 </span>    1/imm32/output-is-write-only
-<span id="L7602" class="LineNr"> 7602 </span>    <a href='mu.subx.html#L7603'>_Primitive-copy-to-edi</a>/imm32/next
-<span id="L7603" class="LineNr"> 7603 </span><span class="subxMinorFunction">_Primitive-copy-to-edi</span>:
-<span id="L7604" class="LineNr"> 7604 </span>    <span class="subxComment"># var/edi &lt;- copy lit =&gt; bf/copy-to-edi lit/imm32</span>
-<span id="L7605" class="LineNr"> 7605 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7606" class="LineNr"> 7606 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7607" class="LineNr"> 7607 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8333'>Single-int-var-in-edi</a></span>/imm32/outputs
-<span id="L7608" class="LineNr"> 7608 </span>    <span class="Constant">&quot;bf/copy-to-edi&quot;</span>/imm32/subx-name
-<span id="L7609" class="LineNr"> 7609 </span>    0/imm32/no-rm32
-<span id="L7610" class="LineNr"> 7610 </span>    0/imm32/no-r32
-<span id="L7611" class="LineNr"> 7611 </span>    1/imm32/imm32-is-first-inout
-<span id="L7612" class="LineNr"> 7612 </span>    0/imm32/no-disp32
-<span id="L7613" class="LineNr"> 7613 </span>    1/imm32/output-is-write-only
-<span id="L7614" class="LineNr"> 7614 </span>    <a href='mu.subx.html#L7615'>_Primitive-copy-reg-to-reg</a>/imm32/next
-<span id="L7615" class="LineNr"> 7615 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-reg</span>:
-<span id="L7616" class="LineNr"> 7616 </span>    <span class="subxComment"># var1/reg &lt;- copy var2/reg =&gt; 89/copy-to var1/rm32 var2/r32</span>
-<span id="L7617" class="LineNr"> 7617 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7618" class="LineNr"> 7618 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/inouts
-<span id="L7619" class="LineNr"> 7619 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7620" class="LineNr"> 7620 </span>    <span class="Constant">&quot;89/copy-to&quot;</span>/imm32/subx-name
-<span id="L7621" class="LineNr"> 7621 </span>    3/imm32/rm32-is-first-output
-<span id="L7622" class="LineNr"> 7622 </span>    1/imm32/r32-is-first-inout
-<span id="L7623" class="LineNr"> 7623 </span>    0/imm32/no-imm32
-<span id="L7624" class="LineNr"> 7624 </span>    0/imm32/no-disp32
-<span id="L7625" class="LineNr"> 7625 </span>    1/imm32/output-is-write-only
-<span id="L7626" class="LineNr"> 7626 </span>    <a href='mu.subx.html#L7627'>_Primitive-copy-reg-to-mem</a>/imm32/next
-<span id="L7627" class="LineNr"> 7627 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-mem</span>:
-<span id="L7628" class="LineNr"> 7628 </span>    <span class="subxComment"># copy-to var1 var2/reg =&gt; 89/copy-to var1 var2/r32</span>
-<span id="L7629" class="LineNr"> 7629 </span>    <span class="Constant">&quot;copy-to&quot;</span>/imm32/name
-<span id="L7630" class="LineNr"> 7630 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7631" class="LineNr"> 7631 </span>    0/imm32/outputs
-<span id="L7632" class="LineNr"> 7632 </span>    <span class="Constant">&quot;89/copy-to&quot;</span>/imm32/subx-name
-<span id="L7633" class="LineNr"> 7633 </span>    1/imm32/rm32-is-first-inout
-<span id="L7634" class="LineNr"> 7634 </span>    2/imm32/r32-is-second-inout
-<span id="L7635" class="LineNr"> 7635 </span>    0/imm32/no-imm32
-<span id="L7636" class="LineNr"> 7636 </span>    0/imm32/no-disp32
-<span id="L7637" class="LineNr"> 7637 </span>    1/imm32/output-is-write-only
-<span id="L7638" class="LineNr"> 7638 </span>    <a href='mu.subx.html#L7639'>_Primitive-copy-mem-to-reg</a>/imm32/next
-<span id="L7639" class="LineNr"> 7639 </span><span class="subxMinorFunction">_Primitive-copy-mem-to-reg</span>:
-<span id="L7640" class="LineNr"> 7640 </span>    <span class="subxComment"># var1/reg &lt;- copy var2 =&gt; 8b/copy-from var2/rm32 var1/r32</span>
-<span id="L7641" class="LineNr"> 7641 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7642" class="LineNr"> 7642 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7643" class="LineNr"> 7643 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7644" class="LineNr"> 7644 </span>    <span class="Constant">&quot;8b/copy-from&quot;</span>/imm32/subx-name
-<span id="L7645" class="LineNr"> 7645 </span>    1/imm32/rm32-is-first-inout
-<span id="L7646" class="LineNr"> 7646 </span>    3/imm32/r32-is-first-output
-<span id="L7647" class="LineNr"> 7647 </span>    0/imm32/no-imm32
-<span id="L7648" class="LineNr"> 7648 </span>    0/imm32/no-disp32
-<span id="L7649" class="LineNr"> 7649 </span>    1/imm32/output-is-write-only
-<span id="L7650" class="LineNr"> 7650 </span>    <a href='mu.subx.html#L7651'>_Primitive-copy-lit-to-reg</a>/imm32/next
-<span id="L7651" class="LineNr"> 7651 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-reg</span>:
-<span id="L7652" class="LineNr"> 7652 </span>    <span class="subxComment"># var1/reg &lt;- copy lit =&gt; c7 0/subop/copy var1/rm32 lit/imm32</span>
-<span id="L7653" class="LineNr"> 7653 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
-<span id="L7654" class="LineNr"> 7654 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7655" class="LineNr"> 7655 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7656" class="LineNr"> 7656 </span>    <span class="Constant">&quot;c7 0/subop/copy&quot;</span>/imm32/subx-name
-<span id="L7657" class="LineNr"> 7657 </span>    3/imm32/rm32-is-first-output
-<span id="L7658" class="LineNr"> 7658 </span>    0/imm32/no-r32
-<span id="L7659" class="LineNr"> 7659 </span>    1/imm32/imm32-is-first-inout
-<span id="L7660" class="LineNr"> 7660 </span>    0/imm32/no-disp32
-<span id="L7661" class="LineNr"> 7661 </span>    1/imm32/output-is-write-only
-<span id="L7662" class="LineNr"> 7662 </span>    <a href='mu.subx.html#L7663'>_Primitive-copy-lit-to-mem</a>/imm32/next
-<span id="L7663" class="LineNr"> 7663 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-mem</span>:
-<span id="L7664" class="LineNr"> 7664 </span>    <span class="subxComment"># copy-to var1, lit =&gt; c7 0/subop/copy var1/rm32 lit/imm32</span>
-<span id="L7665" class="LineNr"> 7665 </span>    <span class="Constant">&quot;copy-to&quot;</span>/imm32/name
-<span id="L7666" class="LineNr"> 7666 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7667" class="LineNr"> 7667 </span>    0/imm32/outputs
-<span id="L7668" class="LineNr"> 7668 </span>    <span class="Constant">&quot;c7 0/subop/copy&quot;</span>/imm32/subx-name
-<span id="L7669" class="LineNr"> 7669 </span>    1/imm32/rm32-is-first-inout
-<span id="L7670" class="LineNr"> 7670 </span>    0/imm32/no-r32
-<span id="L7671" class="LineNr"> 7671 </span>    2/imm32/imm32-is-first-inout
-<span id="L7672" class="LineNr"> 7672 </span>    0/imm32/no-disp32
-<span id="L7673" class="LineNr"> 7673 </span>    1/imm32/output-is-write-only
-<span id="L7674" class="LineNr"> 7674 </span>    <a href='mu.subx.html#L7676'>_Primitive-compare-mem-with-reg</a>/imm32/next
-<span id="L7675" class="LineNr"> 7675 </span><span class="subxH1Comment"># - compare</span>
-<span id="L7676" class="LineNr"> 7676 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-reg</span>:
-<span id="L7677" class="LineNr"> 7677 </span>    <span class="subxComment"># compare var1 var2/reg =&gt; 39/compare-&gt; var1/rm32 var2/r32</span>
-<span id="L7678" class="LineNr"> 7678 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
-<span id="L7679" class="LineNr"> 7679 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
-<span id="L7680" class="LineNr"> 7680 </span>    0/imm32/outputs
-<span id="L7681" class="LineNr"> 7681 </span>    <span class="Constant">&quot;39/compare-&gt;&quot;</span>/imm32/subx-name
-<span id="L7682" class="LineNr"> 7682 </span>    1/imm32/rm32-is-first-inout
-<span id="L7683" class="LineNr"> 7683 </span>    2/imm32/r32-is-second-inout
-<span id="L7684" class="LineNr"> 7684 </span>    0/imm32/no-imm32
-<span id="L7685" class="LineNr"> 7685 </span>    0/imm32/no-disp32
-<span id="L7686" class="LineNr"> 7686 </span>    0/imm32/output-is-write-only
-<span id="L7687" class="LineNr"> 7687 </span>    <a href='mu.subx.html#L7688'>_Primitive-compare-reg-with-mem</a>/imm32/next
-<span id="L7688" class="LineNr"> 7688 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-mem</span>:
-<span id="L7689" class="LineNr"> 7689 </span>    <span class="subxComment"># compare var1/reg var2 =&gt; 3b/compare&lt;- var2/rm32 var1/r32</span>
-<span id="L7690" class="LineNr"> 7690 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
-<span id="L7691" class="LineNr"> 7691 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8251'>Two-args-int-reg-int-stack</a></span>/imm32/inouts
-<span id="L7692" class="LineNr"> 7692 </span>    0/imm32/outputs
-<span id="L7693" class="LineNr"> 7693 </span>    <span class="Constant">&quot;3b/compare&lt;-&quot;</span>/imm32/subx-name
-<span id="L7694" class="LineNr"> 7694 </span>    2/imm32/rm32-is-second-inout
-<span id="L7695" class="LineNr"> 7695 </span>    1/imm32/r32-is-first-inout
-<span id="L7696" class="LineNr"> 7696 </span>    0/imm32/no-imm32
-<span id="L7697" class="LineNr"> 7697 </span>    0/imm32/no-disp32
-<span id="L7698" class="LineNr"> 7698 </span>    0/imm32/output-is-write-only
-<span id="L7699" class="LineNr"> 7699 </span>    <a href='mu.subx.html#L7700'>_Primitive-compare-eax-with-literal</a>/imm32/next
-<span id="L7700" class="LineNr"> 7700 </span><span class="subxMinorFunction">_Primitive-compare-eax-with-literal</span>:
-<span id="L7701" class="LineNr"> 7701 </span>    <span class="subxComment"># compare var1/eax n =&gt; 3d/compare-eax-with n/imm32</span>
-<span id="L7702" class="LineNr"> 7702 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
-<span id="L7703" class="LineNr"> 7703 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Two-args-int-eax-int-literal</a></span>/imm32/inouts
-<span id="L7704" class="LineNr"> 7704 </span>    0/imm32/outputs
-<span id="L7705" class="LineNr"> 7705 </span>    <span class="Constant">&quot;3d/compare-eax-with&quot;</span>/imm32/subx-name
-<span id="L7706" class="LineNr"> 7706 </span>    0/imm32/no-rm32
-<span id="L7707" class="LineNr"> 7707 </span>    0/imm32/no-r32
-<span id="L7708" class="LineNr"> 7708 </span>    2/imm32/imm32-is-second-inout
-<span id="L7709" class="LineNr"> 7709 </span>    0/imm32/no-disp32
-<span id="L7710" class="LineNr"> 7710 </span>    0/imm32/output-is-write-only
-<span id="L7711" class="LineNr"> 7711 </span>    <a href='mu.subx.html#L7712'>_Primitive-compare-reg-with-literal</a>/imm32/next
-<span id="L7712" class="LineNr"> 7712 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-literal</span>:
-<span id="L7713" class="LineNr"> 7713 </span>    <span class="subxComment"># compare var1/reg n =&gt; 81 7/subop/compare %reg n/imm32</span>
-<span id="L7714" class="LineNr"> 7714 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
-<span id="L7715" class="LineNr"> 7715 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Int-var-in-register-and-literal</a></span>/imm32/inouts
-<span id="L7716" class="LineNr"> 7716 </span>    0/imm32/outputs
-<span id="L7717" class="LineNr"> 7717 </span>    <span class="Constant">&quot;81 7/subop/compare&quot;</span>/imm32/subx-name
-<span id="L7718" class="LineNr"> 7718 </span>    1/imm32/rm32-is-first-inout
-<span id="L7719" class="LineNr"> 7719 </span>    0/imm32/no-r32
-<span id="L7720" class="LineNr"> 7720 </span>    2/imm32/imm32-is-second-inout
-<span id="L7721" class="LineNr"> 7721 </span>    0/imm32/no-disp32
-<span id="L7722" class="LineNr"> 7722 </span>    0/imm32/output-is-write-only
-<span id="L7723" class="LineNr"> 7723 </span>    <a href='mu.subx.html#L7724'>_Primitive-compare-mem-with-literal</a>/imm32/next
-<span id="L7724" class="LineNr"> 7724 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-literal</span>:
-<span id="L7725" class="LineNr"> 7725 </span>    <span class="subxComment"># compare var1 n =&gt; 81 7/subop/compare *(ebp+___) n/imm32</span>
-<span id="L7726" class="LineNr"> 7726 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
-<span id="L7727" class="LineNr"> 7727 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-and-literal</a></span>/imm32/inouts
-<span id="L7728" class="LineNr"> 7728 </span>    0/imm32/outputs
-<span id="L7729" class="LineNr"> 7729 </span>    <span class="Constant">&quot;81 7/subop/compare&quot;</span>/imm32/subx-name
-<span id="L7730" class="LineNr"> 7730 </span>    1/imm32/rm32-is-first-inout
-<span id="L7731" class="LineNr"> 7731 </span>    0/imm32/no-r32
-<span id="L7732" class="LineNr"> 7732 </span>    2/imm32/imm32-is-second-inout
-<span id="L7733" class="LineNr"> 7733 </span>    0/imm32/no-disp32
-<span id="L7734" class="LineNr"> 7734 </span>    0/imm32/output-is-write-only
-<span id="L7735" class="LineNr"> 7735 </span>    <a href='mu.subx.html#L7737'>_Primitive-multiply-reg-by-mem</a>/imm32/next
-<span id="L7736" class="LineNr"> 7736 </span><span class="subxH1Comment"># - multiply</span>
-<span id="L7737" class="LineNr"> 7737 </span><span class="subxMinorFunction">_Primitive-multiply-reg-by-mem</span>:
-<span id="L7738" class="LineNr"> 7738 </span>    <span class="subxComment"># var1/reg &lt;- multiply var2 =&gt; 0f af/multiply var2/rm32 var1/r32</span>
-<span id="L7739" class="LineNr"> 7739 </span>    <span class="Constant">&quot;multiply&quot;</span>/imm32/name
-<span id="L7740" class="LineNr"> 7740 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/inouts
-<span id="L7741" class="LineNr"> 7741 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/outputs
-<span id="L7742" class="LineNr"> 7742 </span>    <span class="Constant">&quot;0f af/multiply&quot;</span>/imm32/subx-name
-<span id="L7743" class="LineNr"> 7743 </span>    1/imm32/rm32-is-first-inout
-<span id="L7744" class="LineNr"> 7744 </span>    3/imm32/r32-is-first-output
-<span id="L7745" class="LineNr"> 7745 </span>    0/imm32/no-imm32
-<span id="L7746" class="LineNr"> 7746 </span>    0/imm32/no-disp32
-<span id="L7747" class="LineNr"> 7747 </span>    0/imm32/output-is-write-only
-<span id="L7748" class="LineNr"> 7748 </span>    <a href='mu.subx.html#L7750'>_Primitive-break-if-addr&lt;</a>/imm32/next
-<span id="L7749" class="LineNr"> 7749 </span><span class="subxH1Comment"># - branches</span>
-<span id="L7750" class="LineNr"> 7750 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;</span>:
-<span id="L7751" class="LineNr"> 7751 </span>    <span class="Constant">&quot;break-if-addr&lt;&quot;</span>/imm32/name
-<span id="L7752" class="LineNr"> 7752 </span>    0/imm32/inouts
-<span id="L7753" class="LineNr"> 7753 </span>    0/imm32/outputs
-<span id="L7754" class="LineNr"> 7754 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt; break/disp32&quot;</span>/imm32/subx-name
-<span id="L7755" class="LineNr"> 7755 </span>    0/imm32/no-rm32
-<span id="L7756" class="LineNr"> 7756 </span>    0/imm32/no-r32
-<span id="L7757" class="LineNr"> 7757 </span>    0/imm32/no-imm32
-<span id="L7758" class="LineNr"> 7758 </span>    0/imm32/no-disp32
-<span id="L7759" class="LineNr"> 7759 </span>    0/imm32/no-output
-<span id="L7760" class="LineNr"> 7760 </span>    <a href='mu.subx.html#L7761'>_Primitive-break-if-addr&gt;=</a>/imm32/next
-<span id="L7761" class="LineNr"> 7761 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;=</span>:
-<span id="L7762" class="LineNr"> 7762 </span>    <span class="Constant">&quot;break-if-addr&gt;=&quot;</span>/imm32/name
-<span id="L7763" class="LineNr"> 7763 </span>    0/imm32/inouts
-<span id="L7764" class="LineNr"> 7764 </span>    0/imm32/outputs
-<span id="L7765" class="LineNr"> 7765 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7766" class="LineNr"> 7766 </span>    0/imm32/no-rm32
-<span id="L7767" class="LineNr"> 7767 </span>    0/imm32/no-r32
-<span id="L7768" class="LineNr"> 7768 </span>    0/imm32/no-imm32
-<span id="L7769" class="LineNr"> 7769 </span>    0/imm32/no-disp32
-<span id="L7770" class="LineNr"> 7770 </span>    0/imm32/no-output
-<span id="L7771" class="LineNr"> 7771 </span>    <a href='mu.subx.html#L7772'>_Primitive-break-if-=</a>/imm32/next
-<span id="L7772" class="LineNr"> 7772 </span><span class="subxMinorFunction">_Primitive-break-if-=</span>:
-<span id="L7773" class="LineNr"> 7773 </span>    <span class="Constant">&quot;break-if-=&quot;</span>/imm32/name
-<span id="L7774" class="LineNr"> 7774 </span>    0/imm32/inouts
-<span id="L7775" class="LineNr"> 7775 </span>    0/imm32/outputs
-<span id="L7776" class="LineNr"> 7776 </span>    <span class="Constant">&quot;0f 84/jump-if-= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7777" class="LineNr"> 7777 </span>    0/imm32/no-rm32
-<span id="L7778" class="LineNr"> 7778 </span>    0/imm32/no-r32
-<span id="L7779" class="LineNr"> 7779 </span>    0/imm32/no-imm32
-<span id="L7780" class="LineNr"> 7780 </span>    0/imm32/no-disp32
-<span id="L7781" class="LineNr"> 7781 </span>    0/imm32/no-output
-<span id="L7782" class="LineNr"> 7782 </span>    <a href='mu.subx.html#L7783'>_Primitive-break-if-!=</a>/imm32/next
-<span id="L7783" class="LineNr"> 7783 </span><span class="subxMinorFunction">_Primitive-break-if-!=</span>:
-<span id="L7784" class="LineNr"> 7784 </span>    <span class="Constant">&quot;break-if-!=&quot;</span>/imm32/name
-<span id="L7785" class="LineNr"> 7785 </span>    0/imm32/inouts
-<span id="L7786" class="LineNr"> 7786 </span>    0/imm32/outputs
-<span id="L7787" class="LineNr"> 7787 </span>    <span class="Constant">&quot;0f 85/jump-if-!= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7788" class="LineNr"> 7788 </span>    0/imm32/no-rm32
-<span id="L7789" class="LineNr"> 7789 </span>    0/imm32/no-r32
-<span id="L7790" class="LineNr"> 7790 </span>    0/imm32/no-imm32
-<span id="L7791" class="LineNr"> 7791 </span>    0/imm32/no-disp32
-<span id="L7792" class="LineNr"> 7792 </span>    0/imm32/no-output
-<span id="L7793" class="LineNr"> 7793 </span>    <a href='mu.subx.html#L7794'>_Primitive-break-if-addr&lt;=</a>/imm32/next
-<span id="L7794" class="LineNr"> 7794 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;=</span>:
-<span id="L7795" class="LineNr"> 7795 </span>    <span class="Constant">&quot;break-if-addr&lt;=&quot;</span>/imm32/name
-<span id="L7796" class="LineNr"> 7796 </span>    0/imm32/inouts
-<span id="L7797" class="LineNr"> 7797 </span>    0/imm32/outputs
-<span id="L7798" class="LineNr"> 7798 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7799" class="LineNr"> 7799 </span>    0/imm32/no-rm32
-<span id="L7800" class="LineNr"> 7800 </span>    0/imm32/no-r32
-<span id="L7801" class="LineNr"> 7801 </span>    0/imm32/no-imm32
-<span id="L7802" class="LineNr"> 7802 </span>    0/imm32/no-disp32
-<span id="L7803" class="LineNr"> 7803 </span>    0/imm32/no-output
-<span id="L7804" class="LineNr"> 7804 </span>    <a href='mu.subx.html#L7805'>_Primitive-break-if-addr&gt;</a>/imm32/next
-<span id="L7805" class="LineNr"> 7805 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;</span>:
-<span id="L7806" class="LineNr"> 7806 </span>    <span class="Constant">&quot;break-if-addr&gt;&quot;</span>/imm32/name
-<span id="L7807" class="LineNr"> 7807 </span>    0/imm32/inouts
-<span id="L7808" class="LineNr"> 7808 </span>    0/imm32/outputs
-<span id="L7809" class="LineNr"> 7809 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt; break/disp32&quot;</span>/imm32/subx-name
-<span id="L7810" class="LineNr"> 7810 </span>    0/imm32/no-rm32
-<span id="L7811" class="LineNr"> 7811 </span>    0/imm32/no-r32
-<span id="L7812" class="LineNr"> 7812 </span>    0/imm32/no-imm32
-<span id="L7813" class="LineNr"> 7813 </span>    0/imm32/no-disp32
-<span id="L7814" class="LineNr"> 7814 </span>    0/imm32/no-output
-<span id="L7815" class="LineNr"> 7815 </span>    <a href='mu.subx.html#L7816'>_Primitive-break-if-&lt;</a>/imm32/next
-<span id="L7816" class="LineNr"> 7816 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;</span>:
-<span id="L7817" class="LineNr"> 7817 </span>    <span class="Constant">&quot;break-if-&lt;&quot;</span>/imm32/name
-<span id="L7818" class="LineNr"> 7818 </span>    0/imm32/inouts
-<span id="L7819" class="LineNr"> 7819 </span>    0/imm32/outputs
-<span id="L7820" class="LineNr"> 7820 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt; break/disp32&quot;</span>/imm32/subx-name
-<span id="L7821" class="LineNr"> 7821 </span>    0/imm32/no-rm32
-<span id="L7822" class="LineNr"> 7822 </span>    0/imm32/no-r32
-<span id="L7823" class="LineNr"> 7823 </span>    0/imm32/no-imm32
-<span id="L7824" class="LineNr"> 7824 </span>    0/imm32/no-disp32
-<span id="L7825" class="LineNr"> 7825 </span>    0/imm32/no-output
-<span id="L7826" class="LineNr"> 7826 </span>    <a href='mu.subx.html#L7827'>_Primitive-break-if-&gt;=</a>/imm32/next
-<span id="L7827" class="LineNr"> 7827 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;=</span>:
-<span id="L7828" class="LineNr"> 7828 </span>    <span class="Constant">&quot;break-if-&gt;=&quot;</span>/imm32/name
-<span id="L7829" class="LineNr"> 7829 </span>    0/imm32/inouts
-<span id="L7830" class="LineNr"> 7830 </span>    0/imm32/outputs
-<span id="L7831" class="LineNr"> 7831 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7832" class="LineNr"> 7832 </span>    0/imm32/no-rm32
-<span id="L7833" class="LineNr"> 7833 </span>    0/imm32/no-r32
-<span id="L7834" class="LineNr"> 7834 </span>    0/imm32/no-imm32
-<span id="L7835" class="LineNr"> 7835 </span>    0/imm32/no-disp32
-<span id="L7836" class="LineNr"> 7836 </span>    0/imm32/no-output
-<span id="L7837" class="LineNr"> 7837 </span>    <a href='mu.subx.html#L7838'>_Primitive-break-if-&lt;=</a>/imm32/next
-<span id="L7838" class="LineNr"> 7838 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;=</span>:
-<span id="L7839" class="LineNr"> 7839 </span>    <span class="Constant">&quot;break-if-&lt;=&quot;</span>/imm32/name
-<span id="L7840" class="LineNr"> 7840 </span>    0/imm32/inouts
-<span id="L7841" class="LineNr"> 7841 </span>    0/imm32/outputs
-<span id="L7842" class="LineNr"> 7842 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;= break/disp32&quot;</span>/imm32/subx-name
-<span id="L7843" class="LineNr"> 7843 </span>    0/imm32/no-rm32
-<span id="L7844" class="LineNr"> 7844 </span>    0/imm32/no-r32
-<span id="L7845" class="LineNr"> 7845 </span>    0/imm32/no-imm32
-<span id="L7846" class="LineNr"> 7846 </span>    0/imm32/no-disp32
-<span id="L7847" class="LineNr"> 7847 </span>    0/imm32/no-output
-<span id="L7848" class="LineNr"> 7848 </span>    <a href='mu.subx.html#L7849'>_Primitive-break-if-&gt;</a>/imm32/next
-<span id="L7849" class="LineNr"> 7849 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;</span>:
-<span id="L7850" class="LineNr"> 7850 </span>    <span class="Constant">&quot;break-if-&gt;&quot;</span>/imm32/name
-<span id="L7851" class="LineNr"> 7851 </span>    0/imm32/inouts
-<span id="L7852" class="LineNr"> 7852 </span>    0/imm32/outputs
-<span id="L7853" class="LineNr"> 7853 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt; break/disp32&quot;</span>/imm32/subx-name
-<span id="L7854" class="LineNr"> 7854 </span>    0/imm32/no-rm32
-<span id="L7855" class="LineNr"> 7855 </span>    0/imm32/no-r32
-<span id="L7856" class="LineNr"> 7856 </span>    0/imm32/no-imm32
-<span id="L7857" class="LineNr"> 7857 </span>    0/imm32/no-disp32
-<span id="L7858" class="LineNr"> 7858 </span>    0/imm32/no-output
-<span id="L7859" class="LineNr"> 7859 </span>    <a href='mu.subx.html#L7860'>_Primitive-break</a>/imm32/next
-<span id="L7860" class="LineNr"> 7860 </span><span class="subxMinorFunction">_Primitive-break</span>:
-<span id="L7861" class="LineNr"> 7861 </span>    <span class="Constant">&quot;break&quot;</span>/imm32/name
-<span id="L7862" class="LineNr"> 7862 </span>    0/imm32/inouts
-<span id="L7863" class="LineNr"> 7863 </span>    0/imm32/outputs
-<span id="L7864" class="LineNr"> 7864 </span>    <span class="Constant">&quot;e9/jump break/disp32&quot;</span>/imm32/subx-name
-<span id="L7865" class="LineNr"> 7865 </span>    0/imm32/no-rm32
-<span id="L7866" class="LineNr"> 7866 </span>    0/imm32/no-r32
-<span id="L7867" class="LineNr"> 7867 </span>    0/imm32/no-imm32
-<span id="L7868" class="LineNr"> 7868 </span>    0/imm32/no-disp32
-<span id="L7869" class="LineNr"> 7869 </span>    0/imm32/no-output
-<span id="L7870" class="LineNr"> 7870 </span>    <a href='mu.subx.html#L7871'>_Primitive-loop-if-addr&lt;</a>/imm32/next
-<span id="L7871" class="LineNr"> 7871 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;</span>:
-<span id="L7872" class="LineNr"> 7872 </span>    <span class="Constant">&quot;loop-if-addr&lt;&quot;</span>/imm32/name
-<span id="L7873" class="LineNr"> 7873 </span>    0/imm32/inouts
-<span id="L7874" class="LineNr"> 7874 </span>    0/imm32/outputs
-<span id="L7875" class="LineNr"> 7875 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt; loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7876" class="LineNr"> 7876 </span>    0/imm32/no-rm32
-<span id="L7877" class="LineNr"> 7877 </span>    0/imm32/no-r32
-<span id="L7878" class="LineNr"> 7878 </span>    0/imm32/no-imm32
-<span id="L7879" class="LineNr"> 7879 </span>    0/imm32/no-disp32
-<span id="L7880" class="LineNr"> 7880 </span>    0/imm32/no-output
-<span id="L7881" class="LineNr"> 7881 </span>    <a href='mu.subx.html#L7882'>_Primitive-loop-if-addr&gt;=</a>/imm32/next
-<span id="L7882" class="LineNr"> 7882 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;=</span>:
-<span id="L7883" class="LineNr"> 7883 </span>    <span class="Constant">&quot;loop-if-addr&gt;=&quot;</span>/imm32/name
-<span id="L7884" class="LineNr"> 7884 </span>    0/imm32/inouts
-<span id="L7885" class="LineNr"> 7885 </span>    0/imm32/outputs
-<span id="L7886" class="LineNr"> 7886 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7887" class="LineNr"> 7887 </span>    0/imm32/no-rm32
-<span id="L7888" class="LineNr"> 7888 </span>    0/imm32/no-r32
-<span id="L7889" class="LineNr"> 7889 </span>    0/imm32/no-imm32
-<span id="L7890" class="LineNr"> 7890 </span>    0/imm32/no-disp32
-<span id="L7891" class="LineNr"> 7891 </span>    0/imm32/no-output
-<span id="L7892" class="LineNr"> 7892 </span>    <a href='mu.subx.html#L7893'>_Primitive-loop-if-=</a>/imm32/next
-<span id="L7893" class="LineNr"> 7893 </span><span class="subxMinorFunction">_Primitive-loop-if-=</span>:
-<span id="L7894" class="LineNr"> 7894 </span>    <span class="Constant">&quot;loop-if-=&quot;</span>/imm32/name
-<span id="L7895" class="LineNr"> 7895 </span>    0/imm32/inouts
-<span id="L7896" class="LineNr"> 7896 </span>    0/imm32/outputs
-<span id="L7897" class="LineNr"> 7897 </span>    <span class="Constant">&quot;0f 84/jump-if-= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7898" class="LineNr"> 7898 </span>    0/imm32/no-rm32
-<span id="L7899" class="LineNr"> 7899 </span>    0/imm32/no-r32
-<span id="L7900" class="LineNr"> 7900 </span>    0/imm32/no-imm32
-<span id="L7901" class="LineNr"> 7901 </span>    0/imm32/no-disp32
-<span id="L7902" class="LineNr"> 7902 </span>    0/imm32/no-output
-<span id="L7903" class="LineNr"> 7903 </span>    <a href='mu.subx.html#L7904'>_Primitive-loop-if-!=</a>/imm32/next
-<span id="L7904" class="LineNr"> 7904 </span><span class="subxMinorFunction">_Primitive-loop-if-!=</span>:
-<span id="L7905" class="LineNr"> 7905 </span>    <span class="Constant">&quot;loop-if-!=&quot;</span>/imm32/name
-<span id="L7906" class="LineNr"> 7906 </span>    0/imm32/inouts
-<span id="L7907" class="LineNr"> 7907 </span>    0/imm32/outputs
-<span id="L7908" class="LineNr"> 7908 </span>    <span class="Constant">&quot;0f 85/jump-if-!= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7909" class="LineNr"> 7909 </span>    0/imm32/no-rm32
-<span id="L7910" class="LineNr"> 7910 </span>    0/imm32/no-r32
-<span id="L7911" class="LineNr"> 7911 </span>    0/imm32/no-imm32
-<span id="L7912" class="LineNr"> 7912 </span>    0/imm32/no-disp32
-<span id="L7913" class="LineNr"> 7913 </span>    0/imm32/no-output
-<span id="L7914" class="LineNr"> 7914 </span>    <a href='mu.subx.html#L7915'>_Primitive-loop-if-addr&lt;=</a>/imm32/next
-<span id="L7915" class="LineNr"> 7915 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;=</span>:
-<span id="L7916" class="LineNr"> 7916 </span>    <span class="Constant">&quot;loop-if-addr&lt;=&quot;</span>/imm32/name
-<span id="L7917" class="LineNr"> 7917 </span>    0/imm32/inouts
-<span id="L7918" class="LineNr"> 7918 </span>    0/imm32/outputs
-<span id="L7919" class="LineNr"> 7919 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7920" class="LineNr"> 7920 </span>    0/imm32/no-rm32
-<span id="L7921" class="LineNr"> 7921 </span>    0/imm32/no-r32
-<span id="L7922" class="LineNr"> 7922 </span>    0/imm32/no-imm32
-<span id="L7923" class="LineNr"> 7923 </span>    0/imm32/no-disp32
-<span id="L7924" class="LineNr"> 7924 </span>    0/imm32/no-output
-<span id="L7925" class="LineNr"> 7925 </span>    <a href='mu.subx.html#L7926'>_Primitive-loop-if-addr&gt;</a>/imm32/next
-<span id="L7926" class="LineNr"> 7926 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;</span>:
-<span id="L7927" class="LineNr"> 7927 </span>    <span class="Constant">&quot;loop-if-addr&gt;&quot;</span>/imm32/name
-<span id="L7928" class="LineNr"> 7928 </span>    0/imm32/inouts
-<span id="L7929" class="LineNr"> 7929 </span>    0/imm32/outputs
-<span id="L7930" class="LineNr"> 7930 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt; loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7931" class="LineNr"> 7931 </span>    0/imm32/no-rm32
-<span id="L7932" class="LineNr"> 7932 </span>    0/imm32/no-r32
-<span id="L7933" class="LineNr"> 7933 </span>    0/imm32/no-imm32
-<span id="L7934" class="LineNr"> 7934 </span>    0/imm32/no-disp32
-<span id="L7935" class="LineNr"> 7935 </span>    0/imm32/no-output
-<span id="L7936" class="LineNr"> 7936 </span>    <a href='mu.subx.html#L7937'>_Primitive-loop-if-&lt;</a>/imm32/next
-<span id="L7937" class="LineNr"> 7937 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;</span>:
-<span id="L7938" class="LineNr"> 7938 </span>    <span class="Constant">&quot;loop-if-&lt;&quot;</span>/imm32/name
-<span id="L7939" class="LineNr"> 7939 </span>    0/imm32/inouts
-<span id="L7940" class="LineNr"> 7940 </span>    0/imm32/outputs
-<span id="L7941" class="LineNr"> 7941 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt; loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7942" class="LineNr"> 7942 </span>    0/imm32/no-rm32
-<span id="L7943" class="LineNr"> 7943 </span>    0/imm32/no-r32
-<span id="L7944" class="LineNr"> 7944 </span>    0/imm32/no-imm32
-<span id="L7945" class="LineNr"> 7945 </span>    0/imm32/no-disp32
-<span id="L7946" class="LineNr"> 7946 </span>    0/imm32/no-output
-<span id="L7947" class="LineNr"> 7947 </span>    <a href='mu.subx.html#L7948'>_Primitive-loop-if-&gt;=</a>/imm32/next
-<span id="L7948" class="LineNr"> 7948 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;=</span>:
-<span id="L7949" class="LineNr"> 7949 </span>    <span class="Constant">&quot;loop-if-&gt;=&quot;</span>/imm32/name
-<span id="L7950" class="LineNr"> 7950 </span>    0/imm32/inouts
-<span id="L7951" class="LineNr"> 7951 </span>    0/imm32/outputs
-<span id="L7952" class="LineNr"> 7952 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7953" class="LineNr"> 7953 </span>    0/imm32/no-rm32
-<span id="L7954" class="LineNr"> 7954 </span>    0/imm32/no-r32
-<span id="L7955" class="LineNr"> 7955 </span>    0/imm32/no-imm32
-<span id="L7956" class="LineNr"> 7956 </span>    0/imm32/no-disp32
-<span id="L7957" class="LineNr"> 7957 </span>    0/imm32/no-output
-<span id="L7958" class="LineNr"> 7958 </span>    <a href='mu.subx.html#L7959'>_Primitive-loop-if-&lt;=</a>/imm32/next
-<span id="L7959" class="LineNr"> 7959 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;=</span>:
-<span id="L7960" class="LineNr"> 7960 </span>    <span class="Constant">&quot;loop-if-&lt;=&quot;</span>/imm32/name
-<span id="L7961" class="LineNr"> 7961 </span>    0/imm32/inouts
-<span id="L7962" class="LineNr"> 7962 </span>    0/imm32/outputs
-<span id="L7963" class="LineNr"> 7963 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;= loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7964" class="LineNr"> 7964 </span>    0/imm32/no-rm32
-<span id="L7965" class="LineNr"> 7965 </span>    0/imm32/no-r32
-<span id="L7966" class="LineNr"> 7966 </span>    0/imm32/no-imm32
-<span id="L7967" class="LineNr"> 7967 </span>    0/imm32/no-disp32
-<span id="L7968" class="LineNr"> 7968 </span>    0/imm32/no-output
-<span id="L7969" class="LineNr"> 7969 </span>    <a href='mu.subx.html#L7970'>_Primitive-loop-if-&gt;</a>/imm32/next
-<span id="L7970" class="LineNr"> 7970 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;</span>:
-<span id="L7971" class="LineNr"> 7971 </span>    <span class="Constant">&quot;loop-if-&gt;&quot;</span>/imm32/name
-<span id="L7972" class="LineNr"> 7972 </span>    0/imm32/inouts
-<span id="L7973" class="LineNr"> 7973 </span>    0/imm32/outputs
-<span id="L7974" class="LineNr"> 7974 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt; loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7975" class="LineNr"> 7975 </span>    0/imm32/no-rm32
-<span id="L7976" class="LineNr"> 7976 </span>    0/imm32/no-r32
-<span id="L7977" class="LineNr"> 7977 </span>    0/imm32/no-imm32
-<span id="L7978" class="LineNr"> 7978 </span>    0/imm32/no-disp32
-<span id="L7979" class="LineNr"> 7979 </span>    0/imm32/no-output
-<span id="L7980" class="LineNr"> 7980 </span>    <a href='mu.subx.html#L7981'>_Primitive-loop</a>/imm32/next  <span class="subxComment"># we probably don't need an unconditional break</span>
-<span id="L7981" class="LineNr"> 7981 </span><span class="subxMinorFunction">_Primitive-loop</span>:
-<span id="L7982" class="LineNr"> 7982 </span>    <span class="Constant">&quot;loop&quot;</span>/imm32/name
-<span id="L7983" class="LineNr"> 7983 </span>    0/imm32/inouts
-<span id="L7984" class="LineNr"> 7984 </span>    0/imm32/outputs
-<span id="L7985" class="LineNr"> 7985 </span>    <span class="Constant">&quot;e9/jump loop/disp32&quot;</span>/imm32/subx-name
-<span id="L7986" class="LineNr"> 7986 </span>    0/imm32/no-rm32
-<span id="L7987" class="LineNr"> 7987 </span>    0/imm32/no-r32
-<span id="L7988" class="LineNr"> 7988 </span>    0/imm32/no-imm32
-<span id="L7989" class="LineNr"> 7989 </span>    0/imm32/no-disp32
-<span id="L7990" class="LineNr"> 7990 </span>    0/imm32/no-output
-<span id="L7991" class="LineNr"> 7991 </span>    <a href='mu.subx.html#L7993'>_Primitive-break-if-addr&lt;-named</a>/imm32/next
-<span id="L7992" class="LineNr"> 7992 </span><span class="subxH1Comment"># - branches to named blocks</span>
-<span id="L7993" class="LineNr"> 7993 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;-named</span>:
-<span id="L7994" class="LineNr"> 7994 </span>    <span class="Constant">&quot;break-if-addr&lt;&quot;</span>/imm32/name
-<span id="L7995" class="LineNr"> 7995 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L7996" class="LineNr"> 7996 </span>    0/imm32/outputs
-<span id="L7997" class="LineNr"> 7997 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt;&quot;</span>/imm32/subx-name
-<span id="L7998" class="LineNr"> 7998 </span>    0/imm32/no-rm32
-<span id="L7999" class="LineNr"> 7999 </span>    0/imm32/no-r32
-<span id="L8000" class="LineNr"> 8000 </span>    0/imm32/no-imm32
-<span id="L8001" class="LineNr"> 8001 </span>    1/imm32/disp32-is-first-inout
-<span id="L8002" class="LineNr"> 8002 </span>    0/imm32/no-output
-<span id="L8003" class="LineNr"> 8003 </span>    <a href='mu.subx.html#L8004'>_Primitive-break-if-addr&gt;=-named</a>/imm32/next
-<span id="L8004" class="LineNr"> 8004 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;=-named</span>:
-<span id="L8005" class="LineNr"> 8005 </span>    <span class="Constant">&quot;break-if-addr&gt;=&quot;</span>/imm32/name
-<span id="L8006" class="LineNr"> 8006 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8007" class="LineNr"> 8007 </span>    0/imm32/outputs
-<span id="L8008" class="LineNr"> 8008 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;=&quot;</span>/imm32/subx-name
-<span id="L8009" class="LineNr"> 8009 </span>    0/imm32/no-rm32
-<span id="L8010" class="LineNr"> 8010 </span>    0/imm32/no-r32
-<span id="L8011" class="LineNr"> 8011 </span>    0/imm32/no-imm32
-<span id="L8012" class="LineNr"> 8012 </span>    1/imm32/disp32-is-first-inout
-<span id="L8013" class="LineNr"> 8013 </span>    0/imm32/no-output
-<span id="L8014" class="LineNr"> 8014 </span>    <a href='mu.subx.html#L8015'>_Primitive-break-if-=-named</a>/imm32/next
-<span id="L8015" class="LineNr"> 8015 </span><span class="subxMinorFunction">_Primitive-break-if-=-named</span>:
-<span id="L8016" class="LineNr"> 8016 </span>    <span class="Constant">&quot;break-if-=&quot;</span>/imm32/name
-<span id="L8017" class="LineNr"> 8017 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8018" class="LineNr"> 8018 </span>    0/imm32/outputs
-<span id="L8019" class="LineNr"> 8019 </span>    <span class="Constant">&quot;0f 84/jump-if-=&quot;</span>/imm32/subx-name
-<span id="L8020" class="LineNr"> 8020 </span>    0/imm32/no-rm32
-<span id="L8021" class="LineNr"> 8021 </span>    0/imm32/no-r32
-<span id="L8022" class="LineNr"> 8022 </span>    0/imm32/no-imm32
-<span id="L8023" class="LineNr"> 8023 </span>    1/imm32/disp32-is-first-inout
-<span id="L8024" class="LineNr"> 8024 </span>    0/imm32/no-output
-<span id="L8025" class="LineNr"> 8025 </span>    <a href='mu.subx.html#L8026'>_Primitive-break-if-!=-named</a>/imm32/next
-<span id="L8026" class="LineNr"> 8026 </span><span class="subxMinorFunction">_Primitive-break-if-!=-named</span>:
-<span id="L8027" class="LineNr"> 8027 </span>    <span class="Constant">&quot;break-if-!=&quot;</span>/imm32/name
-<span id="L8028" class="LineNr"> 8028 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8029" class="LineNr"> 8029 </span>    0/imm32/outputs
-<span id="L8030" class="LineNr"> 8030 </span>    <span class="Constant">&quot;0f 85/jump-if-!=&quot;</span>/imm32/subx-name
-<span id="L8031" class="LineNr"> 8031 </span>    0/imm32/no-rm32
-<span id="L8032" class="LineNr"> 8032 </span>    0/imm32/no-r32
-<span id="L8033" class="LineNr"> 8033 </span>    0/imm32/no-imm32
-<span id="L8034" class="LineNr"> 8034 </span>    1/imm32/disp32-is-first-inout
-<span id="L8035" class="LineNr"> 8035 </span>    0/imm32/no-output
-<span id="L8036" class="LineNr"> 8036 </span>    <a href='mu.subx.html#L8037'>_Primitive-break-if-addr&lt;=-named</a>/imm32/next
-<span id="L8037" class="LineNr"> 8037 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;=-named</span>:
-<span id="L8038" class="LineNr"> 8038 </span>    <span class="Constant">&quot;break-if-addr&lt;=&quot;</span>/imm32/name
-<span id="L8039" class="LineNr"> 8039 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8040" class="LineNr"> 8040 </span>    0/imm32/outputs
-<span id="L8041" class="LineNr"> 8041 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;=&quot;</span>/imm32/subx-name
-<span id="L8042" class="LineNr"> 8042 </span>    0/imm32/no-rm32
-<span id="L8043" class="LineNr"> 8043 </span>    0/imm32/no-r32
-<span id="L8044" class="LineNr"> 8044 </span>    0/imm32/no-imm32
-<span id="L8045" class="LineNr"> 8045 </span>    1/imm32/disp32-is-first-inout
-<span id="L8046" class="LineNr"> 8046 </span>    0/imm32/no-output
-<span id="L8047" class="LineNr"> 8047 </span>    <a href='mu.subx.html#L8048'>_Primitive-break-if-addr&gt;-named</a>/imm32/next
-<span id="L8048" class="LineNr"> 8048 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;-named</span>:
-<span id="L8049" class="LineNr"> 8049 </span>    <span class="Constant">&quot;break-if-addr&gt;&quot;</span>/imm32/name
-<span id="L8050" class="LineNr"> 8050 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8051" class="LineNr"> 8051 </span>    0/imm32/outputs
-<span id="L8052" class="LineNr"> 8052 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt;&quot;</span>/imm32/subx-name
-<span id="L8053" class="LineNr"> 8053 </span>    0/imm32/no-rm32
-<span id="L8054" class="LineNr"> 8054 </span>    0/imm32/no-r32
-<span id="L8055" class="LineNr"> 8055 </span>    0/imm32/no-imm32
-<span id="L8056" class="LineNr"> 8056 </span>    1/imm32/disp32-is-first-inout
-<span id="L8057" class="LineNr"> 8057 </span>    0/imm32/no-output
-<span id="L8058" class="LineNr"> 8058 </span>    <a href='mu.subx.html#L8059'>_Primitive-break-if-&lt;-named</a>/imm32/next
-<span id="L8059" class="LineNr"> 8059 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;-named</span>:
-<span id="L8060" class="LineNr"> 8060 </span>    <span class="Constant">&quot;break-if-&lt;&quot;</span>/imm32/name
-<span id="L8061" class="LineNr"> 8061 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8062" class="LineNr"> 8062 </span>    0/imm32/outputs
-<span id="L8063" class="LineNr"> 8063 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt;&quot;</span>/imm32/subx-name
-<span id="L8064" class="LineNr"> 8064 </span>    0/imm32/no-rm32
-<span id="L8065" class="LineNr"> 8065 </span>    0/imm32/no-r32
-<span id="L8066" class="LineNr"> 8066 </span>    0/imm32/no-imm32
-<span id="L8067" class="LineNr"> 8067 </span>    1/imm32/disp32-is-first-inout
-<span id="L8068" class="LineNr"> 8068 </span>    0/imm32/no-output
-<span id="L8069" class="LineNr"> 8069 </span>    <a href='mu.subx.html#L8070'>_Primitive-break-if-&gt;=-named</a>/imm32/next
-<span id="L8070" class="LineNr"> 8070 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;=-named</span>:
-<span id="L8071" class="LineNr"> 8071 </span>    <span class="Constant">&quot;break-if-&gt;=&quot;</span>/imm32/name
-<span id="L8072" class="LineNr"> 8072 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8073" class="LineNr"> 8073 </span>    0/imm32/outputs
-<span id="L8074" class="LineNr"> 8074 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;=&quot;</span>/imm32/subx-name
-<span id="L8075" class="LineNr"> 8075 </span>    0/imm32/no-rm32
-<span id="L8076" class="LineNr"> 8076 </span>    0/imm32/no-r32
-<span id="L8077" class="LineNr"> 8077 </span>    0/imm32/no-imm32
-<span id="L8078" class="LineNr"> 8078 </span>    1/imm32/disp32-is-first-inout
-<span id="L8079" class="LineNr"> 8079 </span>    0/imm32/no-output
-<span id="L8080" class="LineNr"> 8080 </span>    <a href='mu.subx.html#L8081'>_Primitive-break-if-&lt;=-named</a>/imm32/next
-<span id="L8081" class="LineNr"> 8081 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;=-named</span>:
-<span id="L8082" class="LineNr"> 8082 </span>    <span class="Constant">&quot;break-if-&lt;=&quot;</span>/imm32/name
-<span id="L8083" class="LineNr"> 8083 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8084" class="LineNr"> 8084 </span>    0/imm32/outputs
-<span id="L8085" class="LineNr"> 8085 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;=&quot;</span>/imm32/subx-name
-<span id="L8086" class="LineNr"> 8086 </span>    0/imm32/no-rm32
-<span id="L8087" class="LineNr"> 8087 </span>    0/imm32/no-r32
-<span id="L8088" class="LineNr"> 8088 </span>    0/imm32/no-imm32
-<span id="L8089" class="LineNr"> 8089 </span>    1/imm32/disp32-is-first-inout
-<span id="L8090" class="LineNr"> 8090 </span>    0/imm32/no-output
-<span id="L8091" class="LineNr"> 8091 </span>    <a href='mu.subx.html#L8092'>_Primitive-break-if-&gt;-named</a>/imm32/next
-<span id="L8092" class="LineNr"> 8092 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;-named</span>:
-<span id="L8093" class="LineNr"> 8093 </span>    <span class="Constant">&quot;break-if-&gt;&quot;</span>/imm32/name
-<span id="L8094" class="LineNr"> 8094 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8095" class="LineNr"> 8095 </span>    0/imm32/outputs
-<span id="L8096" class="LineNr"> 8096 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt;&quot;</span>/imm32/subx-name
-<span id="L8097" class="LineNr"> 8097 </span>    0/imm32/no-rm32
-<span id="L8098" class="LineNr"> 8098 </span>    0/imm32/no-r32
-<span id="L8099" class="LineNr"> 8099 </span>    0/imm32/no-imm32
-<span id="L8100" class="LineNr"> 8100 </span>    1/imm32/disp32-is-first-inout
-<span id="L8101" class="LineNr"> 8101 </span>    0/imm32/no-output
-<span id="L8102" class="LineNr"> 8102 </span>    <a href='mu.subx.html#L8103'>_Primitive-break-named</a>/imm32/next
-<span id="L8103" class="LineNr"> 8103 </span><span class="subxMinorFunction">_Primitive-break-named</span>:
-<span id="L8104" class="LineNr"> 8104 </span>    <span class="Constant">&quot;break&quot;</span>/imm32/name
-<span id="L8105" class="LineNr"> 8105 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8106" class="LineNr"> 8106 </span>    0/imm32/outputs
-<span id="L8107" class="LineNr"> 8107 </span>    <span class="Constant">&quot;e9/jump&quot;</span>/imm32/subx-name
-<span id="L8108" class="LineNr"> 8108 </span>    0/imm32/no-rm32
-<span id="L8109" class="LineNr"> 8109 </span>    0/imm32/no-r32
-<span id="L8110" class="LineNr"> 8110 </span>    0/imm32/no-imm32
-<span id="L8111" class="LineNr"> 8111 </span>    1/imm32/disp32-is-first-inout
-<span id="L8112" class="LineNr"> 8112 </span>    0/imm32/no-output
-<span id="L8113" class="LineNr"> 8113 </span>    <a href='mu.subx.html#L8114'>_Primitive-loop-if-addr&lt;-named</a>/imm32/next
-<span id="L8114" class="LineNr"> 8114 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;-named</span>:
-<span id="L8115" class="LineNr"> 8115 </span>    <span class="Constant">&quot;loop-if-addr&lt;&quot;</span>/imm32/name
-<span id="L8116" class="LineNr"> 8116 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8117" class="LineNr"> 8117 </span>    0/imm32/outputs
-<span id="L8118" class="LineNr"> 8118 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt;&quot;</span>/imm32/subx-name
-<span id="L8119" class="LineNr"> 8119 </span>    0/imm32/no-rm32
-<span id="L8120" class="LineNr"> 8120 </span>    0/imm32/no-r32
-<span id="L8121" class="LineNr"> 8121 </span>    0/imm32/no-imm32
-<span id="L8122" class="LineNr"> 8122 </span>    1/imm32/disp32-is-first-inout
-<span id="L8123" class="LineNr"> 8123 </span>    0/imm32/no-output
-<span id="L8124" class="LineNr"> 8124 </span>    <a href='mu.subx.html#L8125'>_Primitive-loop-if-addr&gt;=-named</a>/imm32/next
-<span id="L8125" class="LineNr"> 8125 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;=-named</span>:
-<span id="L8126" class="LineNr"> 8126 </span>    <span class="Constant">&quot;loop-if-addr&gt;=&quot;</span>/imm32/name
-<span id="L8127" class="LineNr"> 8127 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8128" class="LineNr"> 8128 </span>    0/imm32/outputs
-<span id="L8129" class="LineNr"> 8129 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;=&quot;</span>/imm32/subx-name
-<span id="L8130" class="LineNr"> 8130 </span>    0/imm32/no-rm32
-<span id="L8131" class="LineNr"> 8131 </span>    0/imm32/no-r32
-<span id="L8132" class="LineNr"> 8132 </span>    0/imm32/no-imm32
-<span id="L8133" class="LineNr"> 8133 </span>    1/imm32/disp32-is-first-inout
-<span id="L8134" class="LineNr"> 8134 </span>    0/imm32/no-output
-<span id="L8135" class="LineNr"> 8135 </span>    <a href='mu.subx.html#L8136'>_Primitive-loop-if-=-named</a>/imm32/next
-<span id="L8136" class="LineNr"> 8136 </span><span class="subxMinorFunction">_Primitive-loop-if-=-named</span>:
-<span id="L8137" class="LineNr"> 8137 </span>    <span class="Constant">&quot;loop-if-=&quot;</span>/imm32/name
-<span id="L8138" class="LineNr"> 8138 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8139" class="LineNr"> 8139 </span>    0/imm32/outputs
-<span id="L8140" class="LineNr"> 8140 </span>    <span class="Constant">&quot;0f 84/jump-if-=&quot;</span>/imm32/subx-name
-<span id="L8141" class="LineNr"> 8141 </span>    0/imm32/no-rm32
-<span id="L8142" class="LineNr"> 8142 </span>    0/imm32/no-r32
-<span id="L8143" class="LineNr"> 8143 </span>    0/imm32/no-imm32
-<span id="L8144" class="LineNr"> 8144 </span>    1/imm32/disp32-is-first-inout
-<span id="L8145" class="LineNr"> 8145 </span>    0/imm32/no-output
-<span id="L8146" class="LineNr"> 8146 </span>    <a href='mu.subx.html#L8147'>_Primitive-loop-if-!=-named</a>/imm32/next
-<span id="L8147" class="LineNr"> 8147 </span><span class="subxMinorFunction">_Primitive-loop-if-!=-named</span>:
-<span id="L8148" class="LineNr"> 8148 </span>    <span class="Constant">&quot;loop-if-!=&quot;</span>/imm32/name
-<span id="L8149" class="LineNr"> 8149 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8150" class="LineNr"> 8150 </span>    0/imm32/outputs
-<span id="L8151" class="LineNr"> 8151 </span>    <span class="Constant">&quot;0f 85/jump-if-!=&quot;</span>/imm32/subx-name
-<span id="L8152" class="LineNr"> 8152 </span>    0/imm32/no-rm32
-<span id="L8153" class="LineNr"> 8153 </span>    0/imm32/no-r32
-<span id="L8154" class="LineNr"> 8154 </span>    0/imm32/no-imm32
-<span id="L8155" class="LineNr"> 8155 </span>    1/imm32/disp32-is-first-inout
-<span id="L8156" class="LineNr"> 8156 </span>    0/imm32/no-output
-<span id="L8157" class="LineNr"> 8157 </span>    <a href='mu.subx.html#L8158'>_Primitive-loop-if-addr&lt;=-named</a>/imm32/next
-<span id="L8158" class="LineNr"> 8158 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;=-named</span>:
-<span id="L8159" class="LineNr"> 8159 </span>    <span class="Constant">&quot;loop-if-addr&lt;=&quot;</span>/imm32/name
-<span id="L8160" class="LineNr"> 8160 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8161" class="LineNr"> 8161 </span>    0/imm32/outputs
-<span id="L8162" class="LineNr"> 8162 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;=&quot;</span>/imm32/subx-name
-<span id="L8163" class="LineNr"> 8163 </span>    0/imm32/no-rm32
-<span id="L8164" class="LineNr"> 8164 </span>    0/imm32/no-r32
-<span id="L8165" class="LineNr"> 8165 </span>    0/imm32/no-imm32
-<span id="L8166" class="LineNr"> 8166 </span>    1/imm32/disp32-is-first-inout
-<span id="L8167" class="LineNr"> 8167 </span>    0/imm32/no-output
-<span id="L8168" class="LineNr"> 8168 </span>    <a href='mu.subx.html#L8169'>_Primitive-loop-if-addr&gt;-named</a>/imm32/next
-<span id="L8169" class="LineNr"> 8169 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;-named</span>:
-<span id="L8170" class="LineNr"> 8170 </span>    <span class="Constant">&quot;loop-if-addr&gt;&quot;</span>/imm32/name
-<span id="L8171" class="LineNr"> 8171 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8172" class="LineNr"> 8172 </span>    0/imm32/outputs
-<span id="L8173" class="LineNr"> 8173 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt;&quot;</span>/imm32/subx-name
-<span id="L8174" class="LineNr"> 8174 </span>    0/imm32/no-rm32
-<span id="L8175" class="LineNr"> 8175 </span>    0/imm32/no-r32
-<span id="L8176" class="LineNr"> 8176 </span>    0/imm32/no-imm32
-<span id="L8177" class="LineNr"> 8177 </span>    1/imm32/disp32-is-first-inout
-<span id="L8178" class="LineNr"> 8178 </span>    0/imm32/no-output
-<span id="L8179" class="LineNr"> 8179 </span>    <a href='mu.subx.html#L8180'>_Primitive-loop-if-&lt;-named</a>/imm32/next
-<span id="L8180" class="LineNr"> 8180 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;-named</span>:
-<span id="L8181" class="LineNr"> 8181 </span>    <span class="Constant">&quot;loop-if-&lt;&quot;</span>/imm32/name
-<span id="L8182" class="LineNr"> 8182 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8183" class="LineNr"> 8183 </span>    0/imm32/outputs
-<span id="L8184" class="LineNr"> 8184 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt;&quot;</span>/imm32/subx-name
-<span id="L8185" class="LineNr"> 8185 </span>    0/imm32/no-rm32
-<span id="L8186" class="LineNr"> 8186 </span>    0/imm32/no-r32
-<span id="L8187" class="LineNr"> 8187 </span>    0/imm32/no-imm32
-<span id="L8188" class="LineNr"> 8188 </span>    1/imm32/disp32-is-first-inout
-<span id="L8189" class="LineNr"> 8189 </span>    0/imm32/no-output
-<span id="L8190" class="LineNr"> 8190 </span>    <a href='mu.subx.html#L8191'>_Primitive-loop-if-&gt;=-named</a>/imm32/next
-<span id="L8191" class="LineNr"> 8191 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;=-named</span>:
-<span id="L8192" class="LineNr"> 8192 </span>    <span class="Constant">&quot;loop-if-&gt;=&quot;</span>/imm32/name
-<span id="L8193" class="LineNr"> 8193 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8194" class="LineNr"> 8194 </span>    0/imm32/outputs
-<span id="L8195" class="LineNr"> 8195 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;=&quot;</span>/imm32/subx-name
-<span id="L8196" class="LineNr"> 8196 </span>    0/imm32/no-rm32
-<span id="L8197" class="LineNr"> 8197 </span>    0/imm32/no-r32
-<span id="L8198" class="LineNr"> 8198 </span>    0/imm32/no-imm32
-<span id="L8199" class="LineNr"> 8199 </span>    1/imm32/disp32-is-first-inout
-<span id="L8200" class="LineNr"> 8200 </span>    0/imm32/no-output
-<span id="L8201" class="LineNr"> 8201 </span>    <a href='mu.subx.html#L8202'>_Primitive-loop-if-&lt;=-named</a>/imm32/next
-<span id="L8202" class="LineNr"> 8202 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;=-named</span>:
-<span id="L8203" class="LineNr"> 8203 </span>    <span class="Constant">&quot;loop-if-&lt;=&quot;</span>/imm32/name
-<span id="L8204" class="LineNr"> 8204 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8205" class="LineNr"> 8205 </span>    0/imm32/outputs
-<span id="L8206" class="LineNr"> 8206 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;=&quot;</span>/imm32/subx-name
-<span id="L8207" class="LineNr"> 8207 </span>    0/imm32/no-rm32
-<span id="L8208" class="LineNr"> 8208 </span>    0/imm32/no-r32
-<span id="L8209" class="LineNr"> 8209 </span>    0/imm32/no-imm32
-<span id="L8210" class="LineNr"> 8210 </span>    1/imm32/disp32-is-first-inout
-<span id="L8211" class="LineNr"> 8211 </span>    0/imm32/no-output
-<span id="L8212" class="LineNr"> 8212 </span>    <a href='mu.subx.html#L8213'>_Primitive-loop-if-&gt;-named</a>/imm32/next
-<span id="L8213" class="LineNr"> 8213 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;-named</span>:
-<span id="L8214" class="LineNr"> 8214 </span>    <span class="Constant">&quot;loop-if-&gt;&quot;</span>/imm32/name
-<span id="L8215" class="LineNr"> 8215 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8216" class="LineNr"> 8216 </span>    0/imm32/outputs
-<span id="L8217" class="LineNr"> 8217 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt;&quot;</span>/imm32/subx-name
-<span id="L8218" class="LineNr"> 8218 </span>    0/imm32/no-rm32
-<span id="L8219" class="LineNr"> 8219 </span>    0/imm32/no-r32
-<span id="L8220" class="LineNr"> 8220 </span>    0/imm32/no-imm32
-<span id="L8221" class="LineNr"> 8221 </span>    1/imm32/disp32-is-first-inout
-<span id="L8222" class="LineNr"> 8222 </span>    0/imm32/no-output
-<span id="L8223" class="LineNr"> 8223 </span>    <a href='mu.subx.html#L8224'>_Primitive-loop-named</a>/imm32/next  <span class="subxComment"># we probably don't need an unconditional break</span>
-<span id="L8224" class="LineNr"> 8224 </span><span class="subxMinorFunction">_Primitive-loop-named</span>:
-<span id="L8225" class="LineNr"> 8225 </span>    <span class="Constant">&quot;loop&quot;</span>/imm32/name
-<span id="L8226" class="LineNr"> 8226 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/inouts
-<span id="L8227" class="LineNr"> 8227 </span>    0/imm32/outputs
-<span id="L8228" class="LineNr"> 8228 </span>    <span class="Constant">&quot;e9/jump&quot;</span>/imm32/subx-name
-<span id="L8229" class="LineNr"> 8229 </span>    0/imm32/no-rm32
-<span id="L8230" class="LineNr"> 8230 </span>    0/imm32/no-r32
-<span id="L8231" class="LineNr"> 8231 </span>    0/imm32/no-imm32
-<span id="L8232" class="LineNr"> 8232 </span>    1/imm32/disp32-is-first-inout
-<span id="L8233" class="LineNr"> 8233 </span>    0/imm32/no-output
+<span id="L6872" class="LineNr"> 6872 </span>    0f 94/set-if-= %eax
+<span id="L6873" class="LineNr"> 6873 </span>    81 4/subop/and %eax 0xff/imm32
+<span id="L6874" class="LineNr"> 6874 </span><span class="Constant">$power-of-2?:end</span>:
+<span id="L6875" class="LineNr"> 6875 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L6876" class="LineNr"> 6876 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L6877" class="LineNr"> 6877 </span>    5d/pop-to-ebp
+<span id="L6878" class="LineNr"> 6878 </span>    c3/return
+<span id="L6879" class="LineNr"> 6879 </span>
+<span id="L6880" class="LineNr"> 6880 </span><span class="subxFunction">num-shift-rights</span>:  <span class="subxComment"># n: int -&gt; result/eax: int</span>
+<span id="L6881" class="LineNr"> 6881 </span>    <span class="subxComment"># precondition: n is a positive power of 2</span>
+<span id="L6882" class="LineNr"> 6882 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L6883" class="LineNr"> 6883 </span>    55/push-ebp
+<span id="L6884" class="LineNr"> 6884 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L6885" class="LineNr"> 6885 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L6886" class="LineNr"> 6886 </span>    51/push-ecx
+<span id="L6887" class="LineNr"> 6887 </span>    <span class="subxComment"># var curr/ecx: int = n</span>
+<span id="L6888" class="LineNr"> 6888 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L6889" class="LineNr"> 6889 </span>    <span class="subxComment"># result = 0</span>
+<span id="L6890" class="LineNr"> 6890 </span>    b8/copy-to-eax 0/imm32
+<span id="L6891" class="LineNr"> 6891 </span>    {
+<span id="L6892" class="LineNr"> 6892 </span>      <span class="subxComment"># if (curr &lt;= 1) break</span>
+<span id="L6893" class="LineNr"> 6893 </span>      81 7/subop/compare %ecx 1/imm32
+<span id="L6894" class="LineNr"> 6894 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
+<span id="L6895" class="LineNr"> 6895 </span>      40/increment-eax
+<span id="L6896" class="LineNr"> 6896 </span>      c1/shift 5/subop/arithmetic-right %ecx 1/imm8
+<span id="L6897" class="LineNr"> 6897 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L6898" class="LineNr"> 6898 </span>    }
+<span id="L6899" class="LineNr"> 6899 </span><span class="Constant">$num-shift-rights:end</span>:
+<span id="L6900" class="LineNr"> 6900 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L6901" class="LineNr"> 6901 </span>    59/pop-to-ecx
+<span id="L6902" class="LineNr"> 6902 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L6903" class="LineNr"> 6903 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L6904" class="LineNr"> 6904 </span>    5d/pop-to-ebp
+<span id="L6905" class="LineNr"> 6905 </span>    c3/return
+<span id="L6906" class="LineNr"> 6906 </span>
+<span id="L6907" class="LineNr"> 6907 </span><span class="subxFunction">print-mu-get-offset</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt)</span>
+<span id="L6908" class="LineNr"> 6908 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L6909" class="LineNr"> 6909 </span>    55/push-ebp
+<span id="L6910" class="LineNr"> 6910 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L6911" class="LineNr"> 6911 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L6912" class="LineNr"> 6912 </span>    50/push-eax
+<span id="L6913" class="LineNr"> 6913 </span>    <span class="subxComment"># var second-inout/eax: (handle stmt-var) = stmt-&gt;inouts-&gt;next</span>
+<span id="L6914" class="LineNr"> 6914 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
+<span id="L6915" class="LineNr"> 6915 </span>    8b/-&gt; *(eax+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts</span>
+<span id="L6916" class="LineNr"> 6916 </span>    8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Stmt-var-next</span>
+<span id="L6917" class="LineNr"> 6917 </span>    <span class="subxComment"># var output-var/eax: (handle var) = second-inout-&gt;value</span>
+<span id="L6918" class="LineNr"> 6918 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
+<span id="L6919" class="LineNr"> 6919 </span>    <span class="subxComment"># print offset</span>
+<span id="L6920" class="LineNr"> 6920 </span><span class="CommentedCode">#?     (write-buffered Stderr &quot;emitting offset from output var &quot;)</span>
+<span id="L6921" class="LineNr"> 6921 </span><span class="CommentedCode">#?     (print-int32-buffered Stderr %eax)</span>
+<span id="L6922" class="LineNr"> 6922 </span><span class="CommentedCode">#?     (write-buffered Stderr Newline)</span>
+<span id="L6923" class="LineNr"> 6923 </span><span class="CommentedCode">#?     (flush Stderr)</span>
+<span id="L6924" class="LineNr"> 6924 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(eax+0xc))  <span class="subxComment"># Var-offset</span>
+<span id="L6925" class="LineNr"> 6925 </span><span class="Constant">$emit-get-offset:end</span>:
+<span id="L6926" class="LineNr"> 6926 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L6927" class="LineNr"> 6927 </span>    58/pop-to-eax
+<span id="L6928" class="LineNr"> 6928 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L6929" class="LineNr"> 6929 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L6930" class="LineNr"> 6930 </span>    5d/pop-to-ebp
+<span id="L6931" class="LineNr"> 6931 </span>    c3/return
+<span id="L6932" class="LineNr"> 6932 </span>
+<span id="L6933" class="LineNr"> 6933 </span><span class="subxFunction">emit-subx-block</span>:  <span class="subxComment"># out: (addr buffered-file), block: (handle block), vars: (addr stack (handle var))</span>
+<span id="L6934" class="LineNr"> 6934 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L6935" class="LineNr"> 6935 </span>    55/push-ebp
+<span id="L6936" class="LineNr"> 6936 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L6937" class="LineNr"> 6937 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L6938" class="LineNr"> 6938 </span>    50/push-eax
+<span id="L6939" class="LineNr"> 6939 </span>    51/push-ecx
+<span id="L6940" class="LineNr"> 6940 </span>    56/push-esi
+<span id="L6941" class="LineNr"> 6941 </span>    <span class="subxComment"># esi = block</span>
+<span id="L6942" class="LineNr"> 6942 </span>    8b/-&gt; *(ebp+0xc) 6/r32/esi
+<span id="L6943" class="LineNr"> 6943 </span>    <span class="subxComment"># var stmts/eax: (handle list stmt) = block-&gt;statements</span>
+<span id="L6944" class="LineNr"> 6944 </span>    8b/-&gt; *(esi+4) 0/r32/eax  <span class="subxComment"># Block-stmts</span>
+<span id="L6945" class="LineNr"> 6945 </span>    <span class="subxComment">#</span>
+<span id="L6946" class="LineNr"> 6946 </span>    {
+<span id="L6947" class="LineNr"> 6947 </span><span class="Constant">$emit-subx-block:check-empty</span>:
+<span id="L6948" class="LineNr"> 6948 </span>      3d/compare-eax-and 0/imm32
+<span id="L6949" class="LineNr"> 6949 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
+<span id="L6950" class="LineNr"> 6950 </span>      (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6951" class="LineNr"> 6951 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;{\n&quot;</span>)
+<span id="L6952" class="LineNr"> 6952 </span>      <span class="subxComment"># var v/ecx: (addr array byte) = block-&gt;var-&gt;name</span>
+<span id="L6953" class="LineNr"> 6953 </span>      8b/-&gt; *(esi+8) 1/r32/ecx  <span class="subxComment"># Block-var</span>
+<span id="L6954" class="LineNr"> 6954 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *ecx)  <span class="subxComment"># Var-name</span>
+<span id="L6955" class="LineNr"> 6955 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:loop:\n&quot;</span>)
+<span id="L6956" class="LineNr"> 6956 </span>      ff 0/subop/increment *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>
+<span id="L6957" class="LineNr"> 6957 </span>      (<a href='../092stack.subx.html#L110'>push</a> *(ebp+0x10) %ecx)
+<span id="L6958" class="LineNr"> 6958 </span>      (<a href='mu.subx.html#L5867'>emit-subx-stmt-list</a> *(ebp+8) %eax *(ebp+0x10))
+<span id="L6959" class="LineNr"> 6959 </span>      (<a href='../092stack.subx.html#L230'>pop</a> *(ebp+0x10))  <span class="subxComment"># =&gt; eax</span>
+<span id="L6960" class="LineNr"> 6960 </span>      ff 1/subop/decrement *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>
+<span id="L6961" class="LineNr"> 6961 </span>      (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L6962" class="LineNr"> 6962 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;}\n&quot;</span>)
+<span id="L6963" class="LineNr"> 6963 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *ecx)  <span class="subxComment"># Var-name</span>
+<span id="L6964" class="LineNr"> 6964 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:break:\n&quot;</span>)
+<span id="L6965" class="LineNr"> 6965 </span>    }
+<span id="L6966" class="LineNr"> 6966 </span><span class="Constant">$emit-subx-block:end</span>:
+<span id="L6967" class="LineNr"> 6967 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L6968" class="LineNr"> 6968 </span>    5e/pop-to-esi
+<span id="L6969" class="LineNr"> 6969 </span>    59/pop-to-ecx
+<span id="L6970" class="LineNr"> 6970 </span>    58/pop-to-eax
+<span id="L6971" class="LineNr"> 6971 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L6972" class="LineNr"> 6972 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L6973" class="LineNr"> 6973 </span>    5d/pop-to-ebp
+<span id="L6974" class="LineNr"> 6974 </span>    c3/return
+<span id="L6975" class="LineNr"> 6975 </span>
+<span id="L6976" class="LineNr"> 6976 </span><span class="subxComment"># Primitives supported</span>
+<span id="L6977" class="LineNr"> 6977 </span><span class="subxComment"># For each operation, put variants with hard-coded registers before flexible ones.</span>
+<span id="L6978" class="LineNr"> 6978 </span>== data
+<span id="L6979" class="LineNr"> 6979 </span><span class="SpecialChar">Primitives</span>:
+<span id="L6980" class="LineNr"> 6980 </span><span class="subxH1Comment"># - increment/decrement</span>
+<span id="L6981" class="LineNr"> 6981 </span><span class="subxMinorFunction">_Primitive-inc-eax</span>:
+<span id="L6982" class="LineNr"> 6982 </span>    <span class="subxComment"># var/eax &lt;- increment =&gt; 40/increment-eax</span>
+<span id="L6983" class="LineNr"> 6983 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L6984" class="LineNr"> 6984 </span>    0/imm32/no-inouts
+<span id="L6985" class="LineNr"> 6985 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L6986" class="LineNr"> 6986 </span>    <span class="Constant">&quot;40/increment-eax&quot;</span>/imm32/subx-name
+<span id="L6987" class="LineNr"> 6987 </span>    0/imm32/no-rm32
+<span id="L6988" class="LineNr"> 6988 </span>    0/imm32/no-r32
+<span id="L6989" class="LineNr"> 6989 </span>    0/imm32/no-imm32
+<span id="L6990" class="LineNr"> 6990 </span>    0/imm32/no-disp32
+<span id="L6991" class="LineNr"> 6991 </span>    0/imm32/output-is-write-only
+<span id="L6992" class="LineNr"> 6992 </span>    <a href='mu.subx.html#L6993'>_Primitive-inc-ecx</a>/imm32/next
+<span id="L6993" class="LineNr"> 6993 </span><span class="subxMinorFunction">_Primitive-inc-ecx</span>:
+<span id="L6994" class="LineNr"> 6994 </span>    <span class="subxComment"># var/ecx &lt;- increment =&gt; 41/increment-ecx</span>
+<span id="L6995" class="LineNr"> 6995 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L6996" class="LineNr"> 6996 </span>    0/imm32/no-inouts
+<span id="L6997" class="LineNr"> 6997 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8285'>Single-int-var-in-ecx</a></span>/imm32/outputs
+<span id="L6998" class="LineNr"> 6998 </span>    <span class="Constant">&quot;41/increment-ecx&quot;</span>/imm32/subx-name
+<span id="L6999" class="LineNr"> 6999 </span>    0/imm32/no-rm32
+<span id="L7000" class="LineNr"> 7000 </span>    0/imm32/no-r32
+<span id="L7001" class="LineNr"> 7001 </span>    0/imm32/no-imm32
+<span id="L7002" class="LineNr"> 7002 </span>    0/imm32/no-disp32
+<span id="L7003" class="LineNr"> 7003 </span>    0/imm32/output-is-write-only
+<span id="L7004" class="LineNr"> 7004 </span>    <a href='mu.subx.html#L7005'>_Primitive-inc-edx</a>/imm32/next
+<span id="L7005" class="LineNr"> 7005 </span><span class="subxMinorFunction">_Primitive-inc-edx</span>:
+<span id="L7006" class="LineNr"> 7006 </span>    <span class="subxComment"># var/edx &lt;- increment =&gt; 42/increment-edx</span>
+<span id="L7007" class="LineNr"> 7007 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7008" class="LineNr"> 7008 </span>    0/imm32/no-inouts
+<span id="L7009" class="LineNr"> 7009 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8296'>Single-int-var-in-edx</a></span>/imm32/outputs
+<span id="L7010" class="LineNr"> 7010 </span>    <span class="Constant">&quot;42/increment-edx&quot;</span>/imm32/subx-name
+<span id="L7011" class="LineNr"> 7011 </span>    0/imm32/no-rm32
+<span id="L7012" class="LineNr"> 7012 </span>    0/imm32/no-r32
+<span id="L7013" class="LineNr"> 7013 </span>    0/imm32/no-imm32
+<span id="L7014" class="LineNr"> 7014 </span>    0/imm32/no-disp32
+<span id="L7015" class="LineNr"> 7015 </span>    0/imm32/output-is-write-only
+<span id="L7016" class="LineNr"> 7016 </span>    <a href='mu.subx.html#L7017'>_Primitive-inc-ebx</a>/imm32/next
+<span id="L7017" class="LineNr"> 7017 </span><span class="subxMinorFunction">_Primitive-inc-ebx</span>:
+<span id="L7018" class="LineNr"> 7018 </span>    <span class="subxComment"># var/ebx &lt;- increment =&gt; 43/increment-ebx</span>
+<span id="L7019" class="LineNr"> 7019 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7020" class="LineNr"> 7020 </span>    0/imm32/no-inouts
+<span id="L7021" class="LineNr"> 7021 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8307'>Single-int-var-in-ebx</a></span>/imm32/outputs
+<span id="L7022" class="LineNr"> 7022 </span>    <span class="Constant">&quot;43/increment-ebx&quot;</span>/imm32/subx-name
+<span id="L7023" class="LineNr"> 7023 </span>    0/imm32/no-rm32
+<span id="L7024" class="LineNr"> 7024 </span>    0/imm32/no-r32
+<span id="L7025" class="LineNr"> 7025 </span>    0/imm32/no-imm32
+<span id="L7026" class="LineNr"> 7026 </span>    0/imm32/no-disp32
+<span id="L7027" class="LineNr"> 7027 </span>    0/imm32/output-is-write-only
+<span id="L7028" class="LineNr"> 7028 </span>    <a href='mu.subx.html#L7029'>_Primitive-inc-esi</a>/imm32/next
+<span id="L7029" class="LineNr"> 7029 </span><span class="subxMinorFunction">_Primitive-inc-esi</span>:
+<span id="L7030" class="LineNr"> 7030 </span>    <span class="subxComment"># var/esi &lt;- increment =&gt; 46/increment-esi</span>
+<span id="L7031" class="LineNr"> 7031 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7032" class="LineNr"> 7032 </span>    0/imm32/no-inouts
+<span id="L7033" class="LineNr"> 7033 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8318'>Single-int-var-in-esi</a></span>/imm32/outputs
+<span id="L7034" class="LineNr"> 7034 </span>    <span class="Constant">&quot;46/increment-esi&quot;</span>/imm32/subx-name
+<span id="L7035" class="LineNr"> 7035 </span>    0/imm32/no-rm32
+<span id="L7036" class="LineNr"> 7036 </span>    0/imm32/no-r32
+<span id="L7037" class="LineNr"> 7037 </span>    0/imm32/no-imm32
+<span id="L7038" class="LineNr"> 7038 </span>    0/imm32/no-disp32
+<span id="L7039" class="LineNr"> 7039 </span>    0/imm32/output-is-write-only
+<span id="L7040" class="LineNr"> 7040 </span>    <a href='mu.subx.html#L7041'>_Primitive-inc-edi</a>/imm32/next
+<span id="L7041" class="LineNr"> 7041 </span><span class="subxMinorFunction">_Primitive-inc-edi</span>:
+<span id="L7042" class="LineNr"> 7042 </span>    <span class="subxComment"># var/edi &lt;- increment =&gt; 47/increment-edi</span>
+<span id="L7043" class="LineNr"> 7043 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7044" class="LineNr"> 7044 </span>    0/imm32/no-inouts
+<span id="L7045" class="LineNr"> 7045 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8329'>Single-int-var-in-edi</a></span>/imm32/outputs
+<span id="L7046" class="LineNr"> 7046 </span>    <span class="Constant">&quot;47/increment-edi&quot;</span>/imm32/subx-name
+<span id="L7047" class="LineNr"> 7047 </span>    0/imm32/no-rm32
+<span id="L7048" class="LineNr"> 7048 </span>    0/imm32/no-r32
+<span id="L7049" class="LineNr"> 7049 </span>    0/imm32/no-imm32
+<span id="L7050" class="LineNr"> 7050 </span>    0/imm32/no-disp32
+<span id="L7051" class="LineNr"> 7051 </span>    0/imm32/output-is-write-only
+<span id="L7052" class="LineNr"> 7052 </span>    <a href='mu.subx.html#L7053'>_Primitive-dec-eax</a>/imm32/next
+<span id="L7053" class="LineNr"> 7053 </span><span class="subxMinorFunction">_Primitive-dec-eax</span>:
+<span id="L7054" class="LineNr"> 7054 </span>    <span class="subxComment"># var/eax &lt;- decrement =&gt; 48/decrement-eax</span>
+<span id="L7055" class="LineNr"> 7055 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7056" class="LineNr"> 7056 </span>    0/imm32/no-inouts
+<span id="L7057" class="LineNr"> 7057 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7058" class="LineNr"> 7058 </span>    <span class="Constant">&quot;48/decrement-eax&quot;</span>/imm32/subx-name
+<span id="L7059" class="LineNr"> 7059 </span>    0/imm32/no-rm32
+<span id="L7060" class="LineNr"> 7060 </span>    0/imm32/no-r32
+<span id="L7061" class="LineNr"> 7061 </span>    0/imm32/no-imm32
+<span id="L7062" class="LineNr"> 7062 </span>    0/imm32/no-disp32
+<span id="L7063" class="LineNr"> 7063 </span>    0/imm32/output-is-write-only
+<span id="L7064" class="LineNr"> 7064 </span>    <a href='mu.subx.html#L7065'>_Primitive-dec-ecx</a>/imm32/next
+<span id="L7065" class="LineNr"> 7065 </span><span class="subxMinorFunction">_Primitive-dec-ecx</span>:
+<span id="L7066" class="LineNr"> 7066 </span>    <span class="subxComment"># var/ecx &lt;- decrement =&gt; 49/decrement-ecx</span>
+<span id="L7067" class="LineNr"> 7067 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7068" class="LineNr"> 7068 </span>    0/imm32/no-inouts
+<span id="L7069" class="LineNr"> 7069 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8285'>Single-int-var-in-ecx</a></span>/imm32/outputs
+<span id="L7070" class="LineNr"> 7070 </span>    <span class="Constant">&quot;49/decrement-ecx&quot;</span>/imm32/subx-name
+<span id="L7071" class="LineNr"> 7071 </span>    0/imm32/no-rm32
+<span id="L7072" class="LineNr"> 7072 </span>    0/imm32/no-r32
+<span id="L7073" class="LineNr"> 7073 </span>    0/imm32/no-imm32
+<span id="L7074" class="LineNr"> 7074 </span>    0/imm32/no-disp32
+<span id="L7075" class="LineNr"> 7075 </span>    0/imm32/output-is-write-only
+<span id="L7076" class="LineNr"> 7076 </span>    <a href='mu.subx.html#L7077'>_Primitive-dec-edx</a>/imm32/next
+<span id="L7077" class="LineNr"> 7077 </span><span class="subxMinorFunction">_Primitive-dec-edx</span>:
+<span id="L7078" class="LineNr"> 7078 </span>    <span class="subxComment"># var/edx &lt;- decrement =&gt; 4a/decrement-edx</span>
+<span id="L7079" class="LineNr"> 7079 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7080" class="LineNr"> 7080 </span>    0/imm32/no-inouts
+<span id="L7081" class="LineNr"> 7081 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8296'>Single-int-var-in-edx</a></span>/imm32/outputs
+<span id="L7082" class="LineNr"> 7082 </span>    <span class="Constant">&quot;4a/decrement-edx&quot;</span>/imm32/subx-name
+<span id="L7083" class="LineNr"> 7083 </span>    0/imm32/no-rm32
+<span id="L7084" class="LineNr"> 7084 </span>    0/imm32/no-r32
+<span id="L7085" class="LineNr"> 7085 </span>    0/imm32/no-imm32
+<span id="L7086" class="LineNr"> 7086 </span>    0/imm32/no-disp32
+<span id="L7087" class="LineNr"> 7087 </span>    0/imm32/output-is-write-only
+<span id="L7088" class="LineNr"> 7088 </span>    <a href='mu.subx.html#L7089'>_Primitive-dec-ebx</a>/imm32/next
+<span id="L7089" class="LineNr"> 7089 </span><span class="subxMinorFunction">_Primitive-dec-ebx</span>:
+<span id="L7090" class="LineNr"> 7090 </span>    <span class="subxComment"># var/ebx &lt;- decrement =&gt; 4b/decrement-ebx</span>
+<span id="L7091" class="LineNr"> 7091 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7092" class="LineNr"> 7092 </span>    0/imm32/no-inouts
+<span id="L7093" class="LineNr"> 7093 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8307'>Single-int-var-in-ebx</a></span>/imm32/outputs
+<span id="L7094" class="LineNr"> 7094 </span>    <span class="Constant">&quot;4b/decrement-ebx&quot;</span>/imm32/subx-name
+<span id="L7095" class="LineNr"> 7095 </span>    0/imm32/no-rm32
+<span id="L7096" class="LineNr"> 7096 </span>    0/imm32/no-r32
+<span id="L7097" class="LineNr"> 7097 </span>    0/imm32/no-imm32
+<span id="L7098" class="LineNr"> 7098 </span>    0/imm32/no-disp32
+<span id="L7099" class="LineNr"> 7099 </span>    0/imm32/output-is-write-only
+<span id="L7100" class="LineNr"> 7100 </span>    <a href='mu.subx.html#L7101'>_Primitive-dec-esi</a>/imm32/next
+<span id="L7101" class="LineNr"> 7101 </span><span class="subxMinorFunction">_Primitive-dec-esi</span>:
+<span id="L7102" class="LineNr"> 7102 </span>    <span class="subxComment"># var/esi &lt;- decrement =&gt; 4e/decrement-esi</span>
+<span id="L7103" class="LineNr"> 7103 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7104" class="LineNr"> 7104 </span>    0/imm32/no-inouts
+<span id="L7105" class="LineNr"> 7105 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8318'>Single-int-var-in-esi</a></span>/imm32/outputs
+<span id="L7106" class="LineNr"> 7106 </span>    <span class="Constant">&quot;4e/decrement-esi&quot;</span>/imm32/subx-name
+<span id="L7107" class="LineNr"> 7107 </span>    0/imm32/no-rm32
+<span id="L7108" class="LineNr"> 7108 </span>    0/imm32/no-r32
+<span id="L7109" class="LineNr"> 7109 </span>    0/imm32/no-imm32
+<span id="L7110" class="LineNr"> 7110 </span>    0/imm32/no-disp32
+<span id="L7111" class="LineNr"> 7111 </span>    0/imm32/output-is-write-only
+<span id="L7112" class="LineNr"> 7112 </span>    <a href='mu.subx.html#L7113'>_Primitive-dec-edi</a>/imm32/next
+<span id="L7113" class="LineNr"> 7113 </span><span class="subxMinorFunction">_Primitive-dec-edi</span>:
+<span id="L7114" class="LineNr"> 7114 </span>    <span class="subxComment"># var/edi &lt;- decrement =&gt; 4f/decrement-edi</span>
+<span id="L7115" class="LineNr"> 7115 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7116" class="LineNr"> 7116 </span>    0/imm32/no-inouts
+<span id="L7117" class="LineNr"> 7117 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8329'>Single-int-var-in-edi</a></span>/imm32/outputs
+<span id="L7118" class="LineNr"> 7118 </span>    <span class="Constant">&quot;4f/decrement-edi&quot;</span>/imm32/subx-name
+<span id="L7119" class="LineNr"> 7119 </span>    0/imm32/no-rm32
+<span id="L7120" class="LineNr"> 7120 </span>    0/imm32/no-r32
+<span id="L7121" class="LineNr"> 7121 </span>    0/imm32/no-imm32
+<span id="L7122" class="LineNr"> 7122 </span>    0/imm32/no-disp32
+<span id="L7123" class="LineNr"> 7123 </span>    0/imm32/output-is-write-only
+<span id="L7124" class="LineNr"> 7124 </span>    <a href='mu.subx.html#L7125'>_Primitive-inc-mem</a>/imm32/next
+<span id="L7125" class="LineNr"> 7125 </span><span class="subxMinorFunction">_Primitive-inc-mem</span>:
+<span id="L7126" class="LineNr"> 7126 </span>    <span class="subxComment"># increment var =&gt; ff 0/subop/increment *(ebp+__)</span>
+<span id="L7127" class="LineNr"> 7127 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7128" class="LineNr"> 7128 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7129" class="LineNr"> 7129 </span>    0/imm32/no-outputs
+<span id="L7130" class="LineNr"> 7130 </span>    <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L7131" class="LineNr"> 7131 </span>    1/imm32/rm32-is-first-inout
+<span id="L7132" class="LineNr"> 7132 </span>    0/imm32/no-r32
+<span id="L7133" class="LineNr"> 7133 </span>    0/imm32/no-imm32
+<span id="L7134" class="LineNr"> 7134 </span>    0/imm32/no-disp32
+<span id="L7135" class="LineNr"> 7135 </span>    0/imm32/output-is-write-only
+<span id="L7136" class="LineNr"> 7136 </span>    <a href='mu.subx.html#L7137'>_Primitive-inc-reg</a>/imm32/next
+<span id="L7137" class="LineNr"> 7137 </span><span class="subxMinorFunction">_Primitive-inc-reg</span>:
+<span id="L7138" class="LineNr"> 7138 </span>    <span class="subxComment"># var/reg &lt;- increment =&gt; ff 0/subop/increment %__</span>
+<span id="L7139" class="LineNr"> 7139 </span>    <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L7140" class="LineNr"> 7140 </span>    0/imm32/no-inouts
+<span id="L7141" class="LineNr"> 7141 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7142" class="LineNr"> 7142 </span>    <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L7143" class="LineNr"> 7143 </span>    3/imm32/rm32-is-first-output
+<span id="L7144" class="LineNr"> 7144 </span>    0/imm32/no-r32
+<span id="L7145" class="LineNr"> 7145 </span>    0/imm32/no-imm32
+<span id="L7146" class="LineNr"> 7146 </span>    0/imm32/no-disp32
+<span id="L7147" class="LineNr"> 7147 </span>    0/imm32/output-is-write-only
+<span id="L7148" class="LineNr"> 7148 </span>    <a href='mu.subx.html#L7149'>_Primitive-dec-mem</a>/imm32/next
+<span id="L7149" class="LineNr"> 7149 </span><span class="subxMinorFunction">_Primitive-dec-mem</span>:
+<span id="L7150" class="LineNr"> 7150 </span>    <span class="subxComment"># decrement var =&gt; ff 1/subop/decrement *(ebp+__)</span>
+<span id="L7151" class="LineNr"> 7151 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7152" class="LineNr"> 7152 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7153" class="LineNr"> 7153 </span>    0/imm32/no-outputs
+<span id="L7154" class="LineNr"> 7154 </span>    <span class="Constant">&quot;ff 1/subop/decrement&quot;</span>/imm32/subx-name
+<span id="L7155" class="LineNr"> 7155 </span>    1/imm32/rm32-is-first-inout
+<span id="L7156" class="LineNr"> 7156 </span>    0/imm32/no-r32
+<span id="L7157" class="LineNr"> 7157 </span>    0/imm32/no-imm32
+<span id="L7158" class="LineNr"> 7158 </span>    0/imm32/no-disp32
+<span id="L7159" class="LineNr"> 7159 </span>    0/imm32/output-is-write-only
+<span id="L7160" class="LineNr"> 7160 </span>    <a href='mu.subx.html#L7161'>_Primitive-dec-reg</a>/imm32/next
+<span id="L7161" class="LineNr"> 7161 </span><span class="subxMinorFunction">_Primitive-dec-reg</span>:
+<span id="L7162" class="LineNr"> 7162 </span>    <span class="subxComment"># var/reg &lt;- decrement =&gt; ff 1/subop/decrement %__</span>
+<span id="L7163" class="LineNr"> 7163 </span>    <span class="Constant">&quot;decrement&quot;</span>/imm32/name
+<span id="L7164" class="LineNr"> 7164 </span>    0/imm32/no-inouts
+<span id="L7165" class="LineNr"> 7165 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7166" class="LineNr"> 7166 </span>    <span class="Constant">&quot;ff 1/subop/decrement&quot;</span>/imm32/subx-name
+<span id="L7167" class="LineNr"> 7167 </span>    3/imm32/rm32-is-first-output
+<span id="L7168" class="LineNr"> 7168 </span>    0/imm32/no-r32
+<span id="L7169" class="LineNr"> 7169 </span>    0/imm32/no-imm32
+<span id="L7170" class="LineNr"> 7170 </span>    0/imm32/no-disp32
+<span id="L7171" class="LineNr"> 7171 </span>    0/imm32/output-is-write-only
+<span id="L7172" class="LineNr"> 7172 </span>    <a href='mu.subx.html#L7174'>_Primitive-add-to-eax</a>/imm32/next
+<span id="L7173" class="LineNr"> 7173 </span><span class="subxH1Comment"># - add</span>
+<span id="L7174" class="LineNr"> 7174 </span><span class="subxMinorFunction">_Primitive-add-to-eax</span>:
+<span id="L7175" class="LineNr"> 7175 </span>    <span class="subxComment"># var/eax &lt;- add lit =&gt; 05/add-to-eax lit/imm32</span>
+<span id="L7176" class="LineNr"> 7176 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
+<span id="L7177" class="LineNr"> 7177 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7178" class="LineNr"> 7178 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7179" class="LineNr"> 7179 </span>    <span class="Constant">&quot;05/add-to-eax&quot;</span>/imm32/subx-name
+<span id="L7180" class="LineNr"> 7180 </span>    0/imm32/no-rm32
+<span id="L7181" class="LineNr"> 7181 </span>    0/imm32/no-r32
+<span id="L7182" class="LineNr"> 7182 </span>    1/imm32/imm32-is-first-inout
+<span id="L7183" class="LineNr"> 7183 </span>    0/imm32/no-disp32
+<span id="L7184" class="LineNr"> 7184 </span>    0/imm32/output-is-write-only
+<span id="L7185" class="LineNr"> 7185 </span>    <a href='mu.subx.html#L7186'>_Primitive-add-reg-to-reg</a>/imm32/next
+<span id="L7186" class="LineNr"> 7186 </span><span class="subxMinorFunction">_Primitive-add-reg-to-reg</span>:
+<span id="L7187" class="LineNr"> 7187 </span>    <span class="subxComment"># var1/reg &lt;- add var2/reg =&gt; 01/add-to var1/rm32 var2/r32</span>
+<span id="L7188" class="LineNr"> 7188 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
+<span id="L7189" class="LineNr"> 7189 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7190" class="LineNr"> 7190 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7191" class="LineNr"> 7191 </span>    <span class="Constant">&quot;01/add-to&quot;</span>/imm32/subx-name
+<span id="L7192" class="LineNr"> 7192 </span>    3/imm32/rm32-is-first-output
+<span id="L7193" class="LineNr"> 7193 </span>    1/imm32/r32-is-first-inout
+<span id="L7194" class="LineNr"> 7194 </span>    0/imm32/no-imm32
+<span id="L7195" class="LineNr"> 7195 </span>    0/imm32/no-disp32
+<span id="L7196" class="LineNr"> 7196 </span>    0/imm32/output-is-write-only
+<span id="L7197" class="LineNr"> 7197 </span>    <a href='mu.subx.html#L7198'>_Primitive-add-reg-to-mem</a>/imm32/next
+<span id="L7198" class="LineNr"> 7198 </span><span class="subxMinorFunction">_Primitive-add-reg-to-mem</span>:
+<span id="L7199" class="LineNr"> 7199 </span>    <span class="subxComment"># add-to var1 var2/reg =&gt; 01/add-to var1 var2/r32</span>
+<span id="L7200" class="LineNr"> 7200 </span>    <span class="Constant">&quot;add-to&quot;</span>/imm32/name
+<span id="L7201" class="LineNr"> 7201 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7202" class="LineNr"> 7202 </span>    0/imm32/outputs
+<span id="L7203" class="LineNr"> 7203 </span>    <span class="Constant">&quot;01/add-to&quot;</span>/imm32/subx-name
+<span id="L7204" class="LineNr"> 7204 </span>    1/imm32/rm32-is-first-inout
+<span id="L7205" class="LineNr"> 7205 </span>    2/imm32/r32-is-second-inout
+<span id="L7206" class="LineNr"> 7206 </span>    0/imm32/no-imm32
+<span id="L7207" class="LineNr"> 7207 </span>    0/imm32/no-disp32
+<span id="L7208" class="LineNr"> 7208 </span>    0/imm32/output-is-write-only
+<span id="L7209" class="LineNr"> 7209 </span>    <a href='mu.subx.html#L7210'>_Primitive-add-mem-to-reg</a>/imm32/next
+<span id="L7210" class="LineNr"> 7210 </span><span class="subxMinorFunction">_Primitive-add-mem-to-reg</span>:
+<span id="L7211" class="LineNr"> 7211 </span>    <span class="subxComment"># var1/reg &lt;- add var2 =&gt; 03/add var2/rm32 var1/r32</span>
+<span id="L7212" class="LineNr"> 7212 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
+<span id="L7213" class="LineNr"> 7213 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7214" class="LineNr"> 7214 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7215" class="LineNr"> 7215 </span>    <span class="Constant">&quot;03/add&quot;</span>/imm32/subx-name
+<span id="L7216" class="LineNr"> 7216 </span>    1/imm32/rm32-is-first-inout
+<span id="L7217" class="LineNr"> 7217 </span>    3/imm32/r32-is-first-output
+<span id="L7218" class="LineNr"> 7218 </span>    0/imm32/no-imm32
+<span id="L7219" class="LineNr"> 7219 </span>    0/imm32/no-disp32
+<span id="L7220" class="LineNr"> 7220 </span>    0/imm32/output-is-write-only
+<span id="L7221" class="LineNr"> 7221 </span>    <a href='mu.subx.html#L7222'>_Primitive-add-lit-to-reg</a>/imm32/next
+<span id="L7222" class="LineNr"> 7222 </span><span class="subxMinorFunction">_Primitive-add-lit-to-reg</span>:
+<span id="L7223" class="LineNr"> 7223 </span>    <span class="subxComment"># var1/reg &lt;- add lit =&gt; 81 0/subop/add var1/rm32 lit/imm32</span>
+<span id="L7224" class="LineNr"> 7224 </span>    <span class="Constant">&quot;add&quot;</span>/imm32/name
+<span id="L7225" class="LineNr"> 7225 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7226" class="LineNr"> 7226 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7227" class="LineNr"> 7227 </span>    <span class="Constant">&quot;81 0/subop/add&quot;</span>/imm32/subx-name
+<span id="L7228" class="LineNr"> 7228 </span>    3/imm32/rm32-is-first-output
+<span id="L7229" class="LineNr"> 7229 </span>    0/imm32/no-r32
+<span id="L7230" class="LineNr"> 7230 </span>    1/imm32/imm32-is-first-inout
+<span id="L7231" class="LineNr"> 7231 </span>    0/imm32/no-disp32
+<span id="L7232" class="LineNr"> 7232 </span>    0/imm32/output-is-write-only
+<span id="L7233" class="LineNr"> 7233 </span>    <a href='mu.subx.html#L7234'>_Primitive-add-lit-to-mem</a>/imm32/next
+<span id="L7234" class="LineNr"> 7234 </span><span class="subxMinorFunction">_Primitive-add-lit-to-mem</span>:
+<span id="L7235" class="LineNr"> 7235 </span>    <span class="subxComment"># add-to var1, lit =&gt; 81 0/subop/add var1/rm32 lit/imm32</span>
+<span id="L7236" class="LineNr"> 7236 </span>    <span class="Constant">&quot;add-to&quot;</span>/imm32/name
+<span id="L7237" class="LineNr"> 7237 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7238" class="LineNr"> 7238 </span>    0/imm32/outputs
+<span id="L7239" class="LineNr"> 7239 </span>    <span class="Constant">&quot;81 0/subop/add&quot;</span>/imm32/subx-name
+<span id="L7240" class="LineNr"> 7240 </span>    1/imm32/rm32-is-first-inout
+<span id="L7241" class="LineNr"> 7241 </span>    0/imm32/no-r32
+<span id="L7242" class="LineNr"> 7242 </span>    2/imm32/imm32-is-second-inout
+<span id="L7243" class="LineNr"> 7243 </span>    0/imm32/no-disp32
+<span id="L7244" class="LineNr"> 7244 </span>    0/imm32/output-is-write-only
+<span id="L7245" class="LineNr"> 7245 </span>    <a href='mu.subx.html#L7247'>_Primitive-subtract-from-eax</a>/imm32/next
+<span id="L7246" class="LineNr"> 7246 </span><span class="subxH1Comment"># - subtract</span>
+<span id="L7247" class="LineNr"> 7247 </span><span class="subxMinorFunction">_Primitive-subtract-from-eax</span>:
+<span id="L7248" class="LineNr"> 7248 </span>    <span class="subxComment"># var/eax &lt;- subtract lit =&gt; 2d/subtract-from-eax lit/imm32</span>
+<span id="L7249" class="LineNr"> 7249 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
+<span id="L7250" class="LineNr"> 7250 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7251" class="LineNr"> 7251 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7252" class="LineNr"> 7252 </span>    <span class="Constant">&quot;2d/subtract-from-eax&quot;</span>/imm32/subx-name
+<span id="L7253" class="LineNr"> 7253 </span>    0/imm32/no-rm32
+<span id="L7254" class="LineNr"> 7254 </span>    0/imm32/no-r32
+<span id="L7255" class="LineNr"> 7255 </span>    1/imm32/imm32-is-first-inout
+<span id="L7256" class="LineNr"> 7256 </span>    0/imm32/no-disp32
+<span id="L7257" class="LineNr"> 7257 </span>    0/imm32/output-is-write-only
+<span id="L7258" class="LineNr"> 7258 </span>    <a href='mu.subx.html#L7259'>_Primitive-subtract-reg-from-reg</a>/imm32/next
+<span id="L7259" class="LineNr"> 7259 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-reg</span>:
+<span id="L7260" class="LineNr"> 7260 </span>    <span class="subxComment"># var1/reg &lt;- subtract var2/reg =&gt; 29/subtract-from var1/rm32 var2/r32</span>
+<span id="L7261" class="LineNr"> 7261 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
+<span id="L7262" class="LineNr"> 7262 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7263" class="LineNr"> 7263 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7264" class="LineNr"> 7264 </span>    <span class="Constant">&quot;29/subtract-from&quot;</span>/imm32/subx-name
+<span id="L7265" class="LineNr"> 7265 </span>    3/imm32/rm32-is-first-output
+<span id="L7266" class="LineNr"> 7266 </span>    1/imm32/r32-is-first-inout
+<span id="L7267" class="LineNr"> 7267 </span>    0/imm32/no-imm32
+<span id="L7268" class="LineNr"> 7268 </span>    0/imm32/no-disp32
+<span id="L7269" class="LineNr"> 7269 </span>    0/imm32/output-is-write-only
+<span id="L7270" class="LineNr"> 7270 </span>    <a href='mu.subx.html#L7271'>_Primitive-subtract-reg-from-mem</a>/imm32/next
+<span id="L7271" class="LineNr"> 7271 </span><span class="subxMinorFunction">_Primitive-subtract-reg-from-mem</span>:
+<span id="L7272" class="LineNr"> 7272 </span>    <span class="subxComment"># subtract-from var1 var2/reg =&gt; 29/subtract-from var1 var2/r32</span>
+<span id="L7273" class="LineNr"> 7273 </span>    <span class="Constant">&quot;subtract-from&quot;</span>/imm32/name
+<span id="L7274" class="LineNr"> 7274 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7275" class="LineNr"> 7275 </span>    0/imm32/outputs
+<span id="L7276" class="LineNr"> 7276 </span>    <span class="Constant">&quot;29/subtract-from&quot;</span>/imm32/subx-name
+<span id="L7277" class="LineNr"> 7277 </span>    1/imm32/rm32-is-first-inout
+<span id="L7278" class="LineNr"> 7278 </span>    2/imm32/r32-is-second-inout
+<span id="L7279" class="LineNr"> 7279 </span>    0/imm32/no-imm32
+<span id="L7280" class="LineNr"> 7280 </span>    0/imm32/no-disp32
+<span id="L7281" class="LineNr"> 7281 </span>    0/imm32/output-is-write-only
+<span id="L7282" class="LineNr"> 7282 </span>    <a href='mu.subx.html#L7283'>_Primitive-subtract-mem-from-reg</a>/imm32/next
+<span id="L7283" class="LineNr"> 7283 </span><span class="subxMinorFunction">_Primitive-subtract-mem-from-reg</span>:
+<span id="L7284" class="LineNr"> 7284 </span>    <span class="subxComment"># var1/reg &lt;- subtract var2 =&gt; 2b/subtract var2/rm32 var1/r32</span>
+<span id="L7285" class="LineNr"> 7285 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
+<span id="L7286" class="LineNr"> 7286 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7287" class="LineNr"> 7287 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7288" class="LineNr"> 7288 </span>    <span class="Constant">&quot;2b/subtract&quot;</span>/imm32/subx-name
+<span id="L7289" class="LineNr"> 7289 </span>    1/imm32/rm32-is-first-inout
+<span id="L7290" class="LineNr"> 7290 </span>    3/imm32/r32-is-first-output
+<span id="L7291" class="LineNr"> 7291 </span>    0/imm32/no-imm32
+<span id="L7292" class="LineNr"> 7292 </span>    0/imm32/no-disp32
+<span id="L7293" class="LineNr"> 7293 </span>    0/imm32/output-is-write-only
+<span id="L7294" class="LineNr"> 7294 </span>    <a href='mu.subx.html#L7295'>_Primitive-subtract-lit-from-reg</a>/imm32/next
+<span id="L7295" class="LineNr"> 7295 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-reg</span>:
+<span id="L7296" class="LineNr"> 7296 </span>    <span class="subxComment"># var1/reg &lt;- subtract lit =&gt; 81 5/subop/subtract var1/rm32 lit/imm32</span>
+<span id="L7297" class="LineNr"> 7297 </span>    <span class="Constant">&quot;subtract&quot;</span>/imm32/name
+<span id="L7298" class="LineNr"> 7298 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7299" class="LineNr"> 7299 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7300" class="LineNr"> 7300 </span>    <span class="Constant">&quot;81 5/subop/subtract&quot;</span>/imm32/subx-name
+<span id="L7301" class="LineNr"> 7301 </span>    3/imm32/rm32-is-first-output
+<span id="L7302" class="LineNr"> 7302 </span>    0/imm32/no-r32
+<span id="L7303" class="LineNr"> 7303 </span>    1/imm32/imm32-is-first-inout
+<span id="L7304" class="LineNr"> 7304 </span>    0/imm32/no-disp32
+<span id="L7305" class="LineNr"> 7305 </span>    0/imm32/output-is-write-only
+<span id="L7306" class="LineNr"> 7306 </span>    <a href='mu.subx.html#L7307'>_Primitive-subtract-lit-from-mem</a>/imm32/next
+<span id="L7307" class="LineNr"> 7307 </span><span class="subxMinorFunction">_Primitive-subtract-lit-from-mem</span>:
+<span id="L7308" class="LineNr"> 7308 </span>    <span class="subxComment"># subtract-from var1, lit =&gt; 81 5/subop/subtract var1/rm32 lit/imm32</span>
+<span id="L7309" class="LineNr"> 7309 </span>    <span class="Constant">&quot;subtract-from&quot;</span>/imm32/name
+<span id="L7310" class="LineNr"> 7310 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7311" class="LineNr"> 7311 </span>    0/imm32/outputs
+<span id="L7312" class="LineNr"> 7312 </span>    <span class="Constant">&quot;81 5/subop/subtract&quot;</span>/imm32/subx-name
+<span id="L7313" class="LineNr"> 7313 </span>    1/imm32/rm32-is-first-inout
+<span id="L7314" class="LineNr"> 7314 </span>    0/imm32/no-r32
+<span id="L7315" class="LineNr"> 7315 </span>    2/imm32/imm32-is-first-inout
+<span id="L7316" class="LineNr"> 7316 </span>    0/imm32/no-disp32
+<span id="L7317" class="LineNr"> 7317 </span>    0/imm32/output-is-write-only
+<span id="L7318" class="LineNr"> 7318 </span>    <a href='mu.subx.html#L7320'>_Primitive-and-with-eax</a>/imm32/next
+<span id="L7319" class="LineNr"> 7319 </span><span class="subxH1Comment"># - and</span>
+<span id="L7320" class="LineNr"> 7320 </span><span class="subxMinorFunction">_Primitive-and-with-eax</span>:
+<span id="L7321" class="LineNr"> 7321 </span>    <span class="subxComment"># var/eax &lt;- and lit =&gt; 25/and-with-eax lit/imm32</span>
+<span id="L7322" class="LineNr"> 7322 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
+<span id="L7323" class="LineNr"> 7323 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7324" class="LineNr"> 7324 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7325" class="LineNr"> 7325 </span>    <span class="Constant">&quot;25/and-with-eax&quot;</span>/imm32/subx-name
+<span id="L7326" class="LineNr"> 7326 </span>    0/imm32/no-rm32
+<span id="L7327" class="LineNr"> 7327 </span>    0/imm32/no-r32
+<span id="L7328" class="LineNr"> 7328 </span>    1/imm32/imm32-is-first-inout
+<span id="L7329" class="LineNr"> 7329 </span>    0/imm32/no-disp32
+<span id="L7330" class="LineNr"> 7330 </span>    0/imm32/output-is-write-only
+<span id="L7331" class="LineNr"> 7331 </span>    <a href='mu.subx.html#L7332'>_Primitive-and-reg-with-reg</a>/imm32/next
+<span id="L7332" class="LineNr"> 7332 </span><span class="subxMinorFunction">_Primitive-and-reg-with-reg</span>:
+<span id="L7333" class="LineNr"> 7333 </span>    <span class="subxComment"># var1/reg &lt;- and var2/reg =&gt; 21/and-with var1/rm32 var2/r32</span>
+<span id="L7334" class="LineNr"> 7334 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
+<span id="L7335" class="LineNr"> 7335 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7336" class="LineNr"> 7336 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7337" class="LineNr"> 7337 </span>    <span class="Constant">&quot;21/and-with&quot;</span>/imm32/subx-name
+<span id="L7338" class="LineNr"> 7338 </span>    3/imm32/rm32-is-first-output
+<span id="L7339" class="LineNr"> 7339 </span>    1/imm32/r32-is-first-inout
+<span id="L7340" class="LineNr"> 7340 </span>    0/imm32/no-imm32
+<span id="L7341" class="LineNr"> 7341 </span>    0/imm32/no-disp32
+<span id="L7342" class="LineNr"> 7342 </span>    0/imm32/output-is-write-only
+<span id="L7343" class="LineNr"> 7343 </span>    <a href='mu.subx.html#L7344'>_Primitive-and-reg-with-mem</a>/imm32/next
+<span id="L7344" class="LineNr"> 7344 </span><span class="subxMinorFunction">_Primitive-and-reg-with-mem</span>:
+<span id="L7345" class="LineNr"> 7345 </span>    <span class="subxComment"># and-with var1 var2/reg =&gt; 21/and-with var1 var2/r32</span>
+<span id="L7346" class="LineNr"> 7346 </span>    <span class="Constant">&quot;and-with&quot;</span>/imm32/name
+<span id="L7347" class="LineNr"> 7347 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7348" class="LineNr"> 7348 </span>    0/imm32/outputs
+<span id="L7349" class="LineNr"> 7349 </span>    <span class="Constant">&quot;21/and-with&quot;</span>/imm32/subx-name
+<span id="L7350" class="LineNr"> 7350 </span>    1/imm32/rm32-is-first-inout
+<span id="L7351" class="LineNr"> 7351 </span>    2/imm32/r32-is-second-inout
+<span id="L7352" class="LineNr"> 7352 </span>    0/imm32/no-imm32
+<span id="L7353" class="LineNr"> 7353 </span>    0/imm32/no-disp32
+<span id="L7354" class="LineNr"> 7354 </span>    0/imm32/output-is-write-only
+<span id="L7355" class="LineNr"> 7355 </span>    <a href='mu.subx.html#L7356'>_Primitive-and-mem-with-reg</a>/imm32/next
+<span id="L7356" class="LineNr"> 7356 </span><span class="subxMinorFunction">_Primitive-and-mem-with-reg</span>:
+<span id="L7357" class="LineNr"> 7357 </span>    <span class="subxComment"># var1/reg &lt;- and var2 =&gt; 23/and var2/rm32 var1/r32</span>
+<span id="L7358" class="LineNr"> 7358 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
+<span id="L7359" class="LineNr"> 7359 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7360" class="LineNr"> 7360 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7361" class="LineNr"> 7361 </span>    <span class="Constant">&quot;23/and&quot;</span>/imm32/subx-name
+<span id="L7362" class="LineNr"> 7362 </span>    1/imm32/rm32-is-first-inout
+<span id="L7363" class="LineNr"> 7363 </span>    3/imm32/r32-is-first-output
+<span id="L7364" class="LineNr"> 7364 </span>    0/imm32/no-imm32
+<span id="L7365" class="LineNr"> 7365 </span>    0/imm32/no-disp32
+<span id="L7366" class="LineNr"> 7366 </span>    0/imm32/output-is-write-only
+<span id="L7367" class="LineNr"> 7367 </span>    <a href='mu.subx.html#L7368'>_Primitive-and-lit-with-reg</a>/imm32/next
+<span id="L7368" class="LineNr"> 7368 </span><span class="subxMinorFunction">_Primitive-and-lit-with-reg</span>:
+<span id="L7369" class="LineNr"> 7369 </span>    <span class="subxComment"># var1/reg &lt;- and lit =&gt; 81 4/subop/and var1/rm32 lit/imm32</span>
+<span id="L7370" class="LineNr"> 7370 </span>    <span class="Constant">&quot;and&quot;</span>/imm32/name
+<span id="L7371" class="LineNr"> 7371 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7372" class="LineNr"> 7372 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7373" class="LineNr"> 7373 </span>    <span class="Constant">&quot;81 4/subop/and&quot;</span>/imm32/subx-name
+<span id="L7374" class="LineNr"> 7374 </span>    3/imm32/rm32-is-first-output
+<span id="L7375" class="LineNr"> 7375 </span>    0/imm32/no-r32
+<span id="L7376" class="LineNr"> 7376 </span>    1/imm32/imm32-is-first-inout
+<span id="L7377" class="LineNr"> 7377 </span>    0/imm32/no-disp32
+<span id="L7378" class="LineNr"> 7378 </span>    0/imm32/output-is-write-only
+<span id="L7379" class="LineNr"> 7379 </span>    <a href='mu.subx.html#L7380'>_Primitive-and-lit-with-mem</a>/imm32/next
+<span id="L7380" class="LineNr"> 7380 </span><span class="subxMinorFunction">_Primitive-and-lit-with-mem</span>:
+<span id="L7381" class="LineNr"> 7381 </span>    <span class="subxComment"># and-with var1, lit =&gt; 81 4/subop/and var1/rm32 lit/imm32</span>
+<span id="L7382" class="LineNr"> 7382 </span>    <span class="Constant">&quot;and-with&quot;</span>/imm32/name
+<span id="L7383" class="LineNr"> 7383 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7384" class="LineNr"> 7384 </span>    0/imm32/outputs
+<span id="L7385" class="LineNr"> 7385 </span>    <span class="Constant">&quot;81 4/subop/and&quot;</span>/imm32/subx-name
+<span id="L7386" class="LineNr"> 7386 </span>    1/imm32/rm32-is-first-inout
+<span id="L7387" class="LineNr"> 7387 </span>    0/imm32/no-r32
+<span id="L7388" class="LineNr"> 7388 </span>    2/imm32/imm32-is-first-inout
+<span id="L7389" class="LineNr"> 7389 </span>    0/imm32/no-disp32
+<span id="L7390" class="LineNr"> 7390 </span>    0/imm32/output-is-write-only
+<span id="L7391" class="LineNr"> 7391 </span>    <a href='mu.subx.html#L7393'>_Primitive-or-with-eax</a>/imm32/next
+<span id="L7392" class="LineNr"> 7392 </span><span class="subxH1Comment"># - or</span>
+<span id="L7393" class="LineNr"> 7393 </span><span class="subxMinorFunction">_Primitive-or-with-eax</span>:
+<span id="L7394" class="LineNr"> 7394 </span>    <span class="subxComment"># var/eax &lt;- or lit =&gt; 0d/or-with-eax lit/imm32</span>
+<span id="L7395" class="LineNr"> 7395 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
+<span id="L7396" class="LineNr"> 7396 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7397" class="LineNr"> 7397 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7398" class="LineNr"> 7398 </span>    <span class="Constant">&quot;0d/or-with-eax&quot;</span>/imm32/subx-name
+<span id="L7399" class="LineNr"> 7399 </span>    0/imm32/no-rm32
+<span id="L7400" class="LineNr"> 7400 </span>    0/imm32/no-r32
+<span id="L7401" class="LineNr"> 7401 </span>    1/imm32/imm32-is-first-inout
+<span id="L7402" class="LineNr"> 7402 </span>    0/imm32/no-disp32
+<span id="L7403" class="LineNr"> 7403 </span>    0/imm32/output-is-write-only
+<span id="L7404" class="LineNr"> 7404 </span>    <a href='mu.subx.html#L7405'>_Primitive-or-reg-with-reg</a>/imm32/next
+<span id="L7405" class="LineNr"> 7405 </span><span class="subxMinorFunction">_Primitive-or-reg-with-reg</span>:
+<span id="L7406" class="LineNr"> 7406 </span>    <span class="subxComment"># var1/reg &lt;- or var2/reg =&gt; 09/or-with var1/rm32 var2/r32</span>
+<span id="L7407" class="LineNr"> 7407 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
+<span id="L7408" class="LineNr"> 7408 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7409" class="LineNr"> 7409 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7410" class="LineNr"> 7410 </span>    <span class="Constant">&quot;09/or-with&quot;</span>/imm32/subx-name
+<span id="L7411" class="LineNr"> 7411 </span>    3/imm32/rm32-is-first-output
+<span id="L7412" class="LineNr"> 7412 </span>    1/imm32/r32-is-first-inout
+<span id="L7413" class="LineNr"> 7413 </span>    0/imm32/no-imm32
+<span id="L7414" class="LineNr"> 7414 </span>    0/imm32/no-disp32
+<span id="L7415" class="LineNr"> 7415 </span>    0/imm32/output-is-write-only
+<span id="L7416" class="LineNr"> 7416 </span>    <a href='mu.subx.html#L7417'>_Primitive-or-reg-with-mem</a>/imm32/next
+<span id="L7417" class="LineNr"> 7417 </span><span class="subxMinorFunction">_Primitive-or-reg-with-mem</span>:
+<span id="L7418" class="LineNr"> 7418 </span>    <span class="subxComment"># or-with var1 var2/reg =&gt; 09/or-with var1 var2/r32</span>
+<span id="L7419" class="LineNr"> 7419 </span>    <span class="Constant">&quot;or-with&quot;</span>/imm32/name
+<span id="L7420" class="LineNr"> 7420 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7421" class="LineNr"> 7421 </span>    0/imm32/outputs
+<span id="L7422" class="LineNr"> 7422 </span>    <span class="Constant">&quot;09/or-with&quot;</span>/imm32/subx-name
+<span id="L7423" class="LineNr"> 7423 </span>    1/imm32/rm32-is-first-inout
+<span id="L7424" class="LineNr"> 7424 </span>    2/imm32/r32-is-second-inout
+<span id="L7425" class="LineNr"> 7425 </span>    0/imm32/no-imm32
+<span id="L7426" class="LineNr"> 7426 </span>    0/imm32/no-disp32
+<span id="L7427" class="LineNr"> 7427 </span>    0/imm32/output-is-write-only
+<span id="L7428" class="LineNr"> 7428 </span>    <a href='mu.subx.html#L7429'>_Primitive-or-mem-with-reg</a>/imm32/next
+<span id="L7429" class="LineNr"> 7429 </span><span class="subxMinorFunction">_Primitive-or-mem-with-reg</span>:
+<span id="L7430" class="LineNr"> 7430 </span>    <span class="subxComment"># var1/reg &lt;- or var2 =&gt; 0b/or var2/rm32 var1/r32</span>
+<span id="L7431" class="LineNr"> 7431 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
+<span id="L7432" class="LineNr"> 7432 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7433" class="LineNr"> 7433 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7434" class="LineNr"> 7434 </span>    <span class="Constant">&quot;0b/or&quot;</span>/imm32/subx-name
+<span id="L7435" class="LineNr"> 7435 </span>    1/imm32/rm32-is-first-inout
+<span id="L7436" class="LineNr"> 7436 </span>    3/imm32/r32-is-first-output
+<span id="L7437" class="LineNr"> 7437 </span>    0/imm32/no-imm32
+<span id="L7438" class="LineNr"> 7438 </span>    0/imm32/no-disp32
+<span id="L7439" class="LineNr"> 7439 </span>    0/imm32/output-is-write-only
+<span id="L7440" class="LineNr"> 7440 </span>    <a href='mu.subx.html#L7441'>_Primitive-or-lit-with-reg</a>/imm32/next
+<span id="L7441" class="LineNr"> 7441 </span><span class="subxMinorFunction">_Primitive-or-lit-with-reg</span>:
+<span id="L7442" class="LineNr"> 7442 </span>    <span class="subxComment"># var1/reg &lt;- or lit =&gt; 81 1/subop/or var1/rm32 lit/imm32</span>
+<span id="L7443" class="LineNr"> 7443 </span>    <span class="Constant">&quot;or&quot;</span>/imm32/name
+<span id="L7444" class="LineNr"> 7444 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7445" class="LineNr"> 7445 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7446" class="LineNr"> 7446 </span>    <span class="Constant">&quot;81 1/subop/or&quot;</span>/imm32/subx-name
+<span id="L7447" class="LineNr"> 7447 </span>    3/imm32/rm32-is-first-output
+<span id="L7448" class="LineNr"> 7448 </span>    0/imm32/no-r32
+<span id="L7449" class="LineNr"> 7449 </span>    1/imm32/imm32-is-first-inout
+<span id="L7450" class="LineNr"> 7450 </span>    0/imm32/no-disp32
+<span id="L7451" class="LineNr"> 7451 </span>    0/imm32/output-is-write-only
+<span id="L7452" class="LineNr"> 7452 </span>    <a href='mu.subx.html#L7453'>_Primitive-or-lit-with-mem</a>/imm32/next
+<span id="L7453" class="LineNr"> 7453 </span><span class="subxMinorFunction">_Primitive-or-lit-with-mem</span>:
+<span id="L7454" class="LineNr"> 7454 </span>    <span class="subxComment"># or-with var1, lit =&gt; 81 1/subop/or var1/rm32 lit/imm32</span>
+<span id="L7455" class="LineNr"> 7455 </span>    <span class="Constant">&quot;or-with&quot;</span>/imm32/name
+<span id="L7456" class="LineNr"> 7456 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7457" class="LineNr"> 7457 </span>    0/imm32/outputs
+<span id="L7458" class="LineNr"> 7458 </span>    <span class="Constant">&quot;81 1/subop/or&quot;</span>/imm32/subx-name
+<span id="L7459" class="LineNr"> 7459 </span>    1/imm32/rm32-is-first-inout
+<span id="L7460" class="LineNr"> 7460 </span>    0/imm32/no-r32
+<span id="L7461" class="LineNr"> 7461 </span>    2/imm32/imm32-is-second-inout
+<span id="L7462" class="LineNr"> 7462 </span>    0/imm32/no-disp32
+<span id="L7463" class="LineNr"> 7463 </span>    0/imm32/output-is-write-only
+<span id="L7464" class="LineNr"> 7464 </span>    <a href='mu.subx.html#L7466'>_Primitive-xor-with-eax</a>/imm32/next
+<span id="L7465" class="LineNr"> 7465 </span><span class="subxH1Comment"># - xor</span>
+<span id="L7466" class="LineNr"> 7466 </span><span class="subxMinorFunction">_Primitive-xor-with-eax</span>:
+<span id="L7467" class="LineNr"> 7467 </span>    <span class="subxComment"># var/eax &lt;- xor lit =&gt; 35/xor-with-eax lit/imm32</span>
+<span id="L7468" class="LineNr"> 7468 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
+<span id="L7469" class="LineNr"> 7469 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7470" class="LineNr"> 7470 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7471" class="LineNr"> 7471 </span>    <span class="Constant">&quot;35/xor-with-eax&quot;</span>/imm32/subx-name
+<span id="L7472" class="LineNr"> 7472 </span>    0/imm32/no-rm32
+<span id="L7473" class="LineNr"> 7473 </span>    0/imm32/no-r32
+<span id="L7474" class="LineNr"> 7474 </span>    1/imm32/imm32-is-first-inout
+<span id="L7475" class="LineNr"> 7475 </span>    0/imm32/no-disp32
+<span id="L7476" class="LineNr"> 7476 </span>    0/imm32/output-is-write-only
+<span id="L7477" class="LineNr"> 7477 </span>    <a href='mu.subx.html#L7478'>_Primitive-xor-reg-with-reg</a>/imm32/next
+<span id="L7478" class="LineNr"> 7478 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-reg</span>:
+<span id="L7479" class="LineNr"> 7479 </span>    <span class="subxComment"># var1/reg &lt;- xor var2/reg =&gt; 31/xor-with var1/rm32 var2/r32</span>
+<span id="L7480" class="LineNr"> 7480 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
+<span id="L7481" class="LineNr"> 7481 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7482" class="LineNr"> 7482 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7483" class="LineNr"> 7483 </span>    <span class="Constant">&quot;31/xor-with&quot;</span>/imm32/subx-name
+<span id="L7484" class="LineNr"> 7484 </span>    3/imm32/rm32-is-first-output
+<span id="L7485" class="LineNr"> 7485 </span>    1/imm32/r32-is-first-inout
+<span id="L7486" class="LineNr"> 7486 </span>    0/imm32/no-imm32
+<span id="L7487" class="LineNr"> 7487 </span>    0/imm32/no-disp32
+<span id="L7488" class="LineNr"> 7488 </span>    0/imm32/output-is-write-only
+<span id="L7489" class="LineNr"> 7489 </span>    <a href='mu.subx.html#L7490'>_Primitive-xor-reg-with-mem</a>/imm32/next
+<span id="L7490" class="LineNr"> 7490 </span><span class="subxMinorFunction">_Primitive-xor-reg-with-mem</span>:
+<span id="L7491" class="LineNr"> 7491 </span>    <span class="subxComment"># xor-with var1 var2/reg =&gt; 31/xor-with var1 var2/r32</span>
+<span id="L7492" class="LineNr"> 7492 </span>    <span class="Constant">&quot;xor-with&quot;</span>/imm32/name
+<span id="L7493" class="LineNr"> 7493 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7494" class="LineNr"> 7494 </span>    0/imm32/outputs
+<span id="L7495" class="LineNr"> 7495 </span>    <span class="Constant">&quot;31/xor-with&quot;</span>/imm32/subx-name
+<span id="L7496" class="LineNr"> 7496 </span>    1/imm32/rm32-is-first-inout
+<span id="L7497" class="LineNr"> 7497 </span>    2/imm32/r32-is-second-inout
+<span id="L7498" class="LineNr"> 7498 </span>    0/imm32/no-imm32
+<span id="L7499" class="LineNr"> 7499 </span>    0/imm32/no-disp32
+<span id="L7500" class="LineNr"> 7500 </span>    0/imm32/output-is-write-only
+<span id="L7501" class="LineNr"> 7501 </span>    <a href='mu.subx.html#L7502'>_Primitive-xor-mem-with-reg</a>/imm32/next
+<span id="L7502" class="LineNr"> 7502 </span><span class="subxMinorFunction">_Primitive-xor-mem-with-reg</span>:
+<span id="L7503" class="LineNr"> 7503 </span>    <span class="subxComment"># var1/reg &lt;- xor var2 =&gt; 33/xor var2/rm32 var1/r32</span>
+<span id="L7504" class="LineNr"> 7504 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
+<span id="L7505" class="LineNr"> 7505 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7506" class="LineNr"> 7506 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7507" class="LineNr"> 7507 </span>    <span class="Constant">&quot;33/xor&quot;</span>/imm32/subx-name
+<span id="L7508" class="LineNr"> 7508 </span>    1/imm32/rm32-is-first-inout
+<span id="L7509" class="LineNr"> 7509 </span>    3/imm32/r32-is-first-output
+<span id="L7510" class="LineNr"> 7510 </span>    0/imm32/no-imm32
+<span id="L7511" class="LineNr"> 7511 </span>    0/imm32/no-disp32
+<span id="L7512" class="LineNr"> 7512 </span>    0/imm32/output-is-write-only
+<span id="L7513" class="LineNr"> 7513 </span>    <a href='mu.subx.html#L7514'>_Primitive-xor-lit-with-reg</a>/imm32/next
+<span id="L7514" class="LineNr"> 7514 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-reg</span>:
+<span id="L7515" class="LineNr"> 7515 </span>    <span class="subxComment"># var1/reg &lt;- xor lit =&gt; 81 6/subop/xor var1/rm32 lit/imm32</span>
+<span id="L7516" class="LineNr"> 7516 </span>    <span class="Constant">&quot;xor&quot;</span>/imm32/name
+<span id="L7517" class="LineNr"> 7517 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7518" class="LineNr"> 7518 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7519" class="LineNr"> 7519 </span>    <span class="Constant">&quot;81 6/subop/xor&quot;</span>/imm32/subx-name
+<span id="L7520" class="LineNr"> 7520 </span>    3/imm32/rm32-is-first-output
+<span id="L7521" class="LineNr"> 7521 </span>    0/imm32/no-r32
+<span id="L7522" class="LineNr"> 7522 </span>    1/imm32/imm32-is-first-inout
+<span id="L7523" class="LineNr"> 7523 </span>    0/imm32/no-disp32
+<span id="L7524" class="LineNr"> 7524 </span>    0/imm32/output-is-write-only
+<span id="L7525" class="LineNr"> 7525 </span>    <a href='mu.subx.html#L7526'>_Primitive-xor-lit-with-mem</a>/imm32/next
+<span id="L7526" class="LineNr"> 7526 </span><span class="subxMinorFunction">_Primitive-xor-lit-with-mem</span>:
+<span id="L7527" class="LineNr"> 7527 </span>    <span class="subxComment"># xor-with var1, lit =&gt; 81 6/subop/xor var1/rm32 lit/imm32</span>
+<span id="L7528" class="LineNr"> 7528 </span>    <span class="Constant">&quot;xor-with&quot;</span>/imm32/name
+<span id="L7529" class="LineNr"> 7529 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7530" class="LineNr"> 7530 </span>    0/imm32/outputs
+<span id="L7531" class="LineNr"> 7531 </span>    <span class="Constant">&quot;81 6/subop/xor&quot;</span>/imm32/subx-name
+<span id="L7532" class="LineNr"> 7532 </span>    1/imm32/rm32-is-first-inout
+<span id="L7533" class="LineNr"> 7533 </span>    0/imm32/no-r32
+<span id="L7534" class="LineNr"> 7534 </span>    2/imm32/imm32-is-first-inout
+<span id="L7535" class="LineNr"> 7535 </span>    0/imm32/no-disp32
+<span id="L7536" class="LineNr"> 7536 </span>    0/imm32/output-is-write-only
+<span id="L7537" class="LineNr"> 7537 </span>    <a href='mu.subx.html#L7539'>_Primitive-copy-to-eax</a>/imm32/next
+<span id="L7538" class="LineNr"> 7538 </span><span class="subxH1Comment"># - copy</span>
+<span id="L7539" class="LineNr"> 7539 </span><span class="subxMinorFunction">_Primitive-copy-to-eax</span>:
+<span id="L7540" class="LineNr"> 7540 </span>    <span class="subxComment"># var/eax &lt;- copy lit =&gt; b8/copy-to-eax lit/imm32</span>
+<span id="L7541" class="LineNr"> 7541 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7542" class="LineNr"> 7542 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7543" class="LineNr"> 7543 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8274'>Single-int-var-in-eax</a></span>/imm32/outputs
+<span id="L7544" class="LineNr"> 7544 </span>    <span class="Constant">&quot;b8/copy-to-eax&quot;</span>/imm32/subx-name
+<span id="L7545" class="LineNr"> 7545 </span>    0/imm32/no-rm32
+<span id="L7546" class="LineNr"> 7546 </span>    0/imm32/no-r32
+<span id="L7547" class="LineNr"> 7547 </span>    1/imm32/imm32-is-first-inout
+<span id="L7548" class="LineNr"> 7548 </span>    0/imm32/no-disp32
+<span id="L7549" class="LineNr"> 7549 </span>    1/imm32/output-is-write-only
+<span id="L7550" class="LineNr"> 7550 </span>    <a href='mu.subx.html#L7551'>_Primitive-copy-to-ecx</a>/imm32/next
+<span id="L7551" class="LineNr"> 7551 </span><span class="subxMinorFunction">_Primitive-copy-to-ecx</span>:
+<span id="L7552" class="LineNr"> 7552 </span>    <span class="subxComment"># var/ecx &lt;- copy lit =&gt; b9/copy-to-ecx lit/imm32</span>
+<span id="L7553" class="LineNr"> 7553 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7554" class="LineNr"> 7554 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7555" class="LineNr"> 7555 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8285'>Single-int-var-in-ecx</a></span>/imm32/outputs
+<span id="L7556" class="LineNr"> 7556 </span>    <span class="Constant">&quot;b9/copy-to-ecx&quot;</span>/imm32/subx-name
+<span id="L7557" class="LineNr"> 7557 </span>    0/imm32/no-rm32
+<span id="L7558" class="LineNr"> 7558 </span>    0/imm32/no-r32
+<span id="L7559" class="LineNr"> 7559 </span>    1/imm32/imm32-is-first-inout
+<span id="L7560" class="LineNr"> 7560 </span>    0/imm32/no-disp32
+<span id="L7561" class="LineNr"> 7561 </span>    1/imm32/output-is-write-only
+<span id="L7562" class="LineNr"> 7562 </span>    <a href='mu.subx.html#L7563'>_Primitive-copy-to-edx</a>/imm32/next
+<span id="L7563" class="LineNr"> 7563 </span><span class="subxMinorFunction">_Primitive-copy-to-edx</span>:
+<span id="L7564" class="LineNr"> 7564 </span>    <span class="subxComment"># var/edx &lt;- copy lit =&gt; ba/copy-to-edx lit/imm32</span>
+<span id="L7565" class="LineNr"> 7565 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7566" class="LineNr"> 7566 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7567" class="LineNr"> 7567 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8296'>Single-int-var-in-edx</a></span>/imm32/outputs
+<span id="L7568" class="LineNr"> 7568 </span>    <span class="Constant">&quot;ba/copy-to-edx&quot;</span>/imm32/subx-name
+<span id="L7569" class="LineNr"> 7569 </span>    0/imm32/no-rm32
+<span id="L7570" class="LineNr"> 7570 </span>    0/imm32/no-r32
+<span id="L7571" class="LineNr"> 7571 </span>    1/imm32/imm32-is-first-inout
+<span id="L7572" class="LineNr"> 7572 </span>    0/imm32/no-disp32
+<span id="L7573" class="LineNr"> 7573 </span>    1/imm32/output-is-write-only
+<span id="L7574" class="LineNr"> 7574 </span>    <a href='mu.subx.html#L7575'>_Primitive-copy-to-ebx</a>/imm32/next
+<span id="L7575" class="LineNr"> 7575 </span><span class="subxMinorFunction">_Primitive-copy-to-ebx</span>:
+<span id="L7576" class="LineNr"> 7576 </span>    <span class="subxComment"># var/ebx &lt;- copy lit =&gt; bb/copy-to-ebx lit/imm32</span>
+<span id="L7577" class="LineNr"> 7577 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7578" class="LineNr"> 7578 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7579" class="LineNr"> 7579 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8307'>Single-int-var-in-ebx</a></span>/imm32/outputs
+<span id="L7580" class="LineNr"> 7580 </span>    <span class="Constant">&quot;bb/copy-to-ebx&quot;</span>/imm32/subx-name
+<span id="L7581" class="LineNr"> 7581 </span>    0/imm32/no-rm32
+<span id="L7582" class="LineNr"> 7582 </span>    0/imm32/no-r32
+<span id="L7583" class="LineNr"> 7583 </span>    1/imm32/imm32-is-first-inout
+<span id="L7584" class="LineNr"> 7584 </span>    0/imm32/no-disp32
+<span id="L7585" class="LineNr"> 7585 </span>    1/imm32/output-is-write-only
+<span id="L7586" class="LineNr"> 7586 </span>    <a href='mu.subx.html#L7587'>_Primitive-copy-to-esi</a>/imm32/next
+<span id="L7587" class="LineNr"> 7587 </span><span class="subxMinorFunction">_Primitive-copy-to-esi</span>:
+<span id="L7588" class="LineNr"> 7588 </span>    <span class="subxComment"># var/esi &lt;- copy lit =&gt; be/copy-to-esi lit/imm32</span>
+<span id="L7589" class="LineNr"> 7589 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7590" class="LineNr"> 7590 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7591" class="LineNr"> 7591 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8318'>Single-int-var-in-esi</a></span>/imm32/outputs
+<span id="L7592" class="LineNr"> 7592 </span>    <span class="Constant">&quot;be/copy-to-esi&quot;</span>/imm32/subx-name
+<span id="L7593" class="LineNr"> 7593 </span>    0/imm32/no-rm32
+<span id="L7594" class="LineNr"> 7594 </span>    0/imm32/no-r32
+<span id="L7595" class="LineNr"> 7595 </span>    1/imm32/imm32-is-first-inout
+<span id="L7596" class="LineNr"> 7596 </span>    0/imm32/no-disp32
+<span id="L7597" class="LineNr"> 7597 </span>    1/imm32/output-is-write-only
+<span id="L7598" class="LineNr"> 7598 </span>    <a href='mu.subx.html#L7599'>_Primitive-copy-to-edi</a>/imm32/next
+<span id="L7599" class="LineNr"> 7599 </span><span class="subxMinorFunction">_Primitive-copy-to-edi</span>:
+<span id="L7600" class="LineNr"> 7600 </span>    <span class="subxComment"># var/edi &lt;- copy lit =&gt; bf/copy-to-edi lit/imm32</span>
+<span id="L7601" class="LineNr"> 7601 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7602" class="LineNr"> 7602 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7603" class="LineNr"> 7603 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8329'>Single-int-var-in-edi</a></span>/imm32/outputs
+<span id="L7604" class="LineNr"> 7604 </span>    <span class="Constant">&quot;bf/copy-to-edi&quot;</span>/imm32/subx-name
+<span id="L7605" class="LineNr"> 7605 </span>    0/imm32/no-rm32
+<span id="L7606" class="LineNr"> 7606 </span>    0/imm32/no-r32
+<span id="L7607" class="LineNr"> 7607 </span>    1/imm32/imm32-is-first-inout
+<span id="L7608" class="LineNr"> 7608 </span>    0/imm32/no-disp32
+<span id="L7609" class="LineNr"> 7609 </span>    1/imm32/output-is-write-only
+<span id="L7610" class="LineNr"> 7610 </span>    <a href='mu.subx.html#L7611'>_Primitive-copy-reg-to-reg</a>/imm32/next
+<span id="L7611" class="LineNr"> 7611 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-reg</span>:
+<span id="L7612" class="LineNr"> 7612 </span>    <span class="subxComment"># var1/reg &lt;- copy var2/reg =&gt; 89/copy-to var1/rm32 var2/r32</span>
+<span id="L7613" class="LineNr"> 7613 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7614" class="LineNr"> 7614 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/inouts
+<span id="L7615" class="LineNr"> 7615 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7616" class="LineNr"> 7616 </span>    <span class="Constant">&quot;89/copy-to&quot;</span>/imm32/subx-name
+<span id="L7617" class="LineNr"> 7617 </span>    3/imm32/rm32-is-first-output
+<span id="L7618" class="LineNr"> 7618 </span>    1/imm32/r32-is-first-inout
+<span id="L7619" class="LineNr"> 7619 </span>    0/imm32/no-imm32
+<span id="L7620" class="LineNr"> 7620 </span>    0/imm32/no-disp32
+<span id="L7621" class="LineNr"> 7621 </span>    1/imm32/output-is-write-only
+<span id="L7622" class="LineNr"> 7622 </span>    <a href='mu.subx.html#L7623'>_Primitive-copy-reg-to-mem</a>/imm32/next
+<span id="L7623" class="LineNr"> 7623 </span><span class="subxMinorFunction">_Primitive-copy-reg-to-mem</span>:
+<span id="L7624" class="LineNr"> 7624 </span>    <span class="subxComment"># copy-to var1 var2/reg =&gt; 89/copy-to var1 var2/r32</span>
+<span id="L7625" class="LineNr"> 7625 </span>    <span class="Constant">&quot;copy-to&quot;</span>/imm32/name
+<span id="L7626" class="LineNr"> 7626 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7627" class="LineNr"> 7627 </span>    0/imm32/outputs
+<span id="L7628" class="LineNr"> 7628 </span>    <span class="Constant">&quot;89/copy-to&quot;</span>/imm32/subx-name
+<span id="L7629" class="LineNr"> 7629 </span>    1/imm32/rm32-is-first-inout
+<span id="L7630" class="LineNr"> 7630 </span>    2/imm32/r32-is-second-inout
+<span id="L7631" class="LineNr"> 7631 </span>    0/imm32/no-imm32
+<span id="L7632" class="LineNr"> 7632 </span>    0/imm32/no-disp32
+<span id="L7633" class="LineNr"> 7633 </span>    1/imm32/output-is-write-only
+<span id="L7634" class="LineNr"> 7634 </span>    <a href='mu.subx.html#L7635'>_Primitive-copy-mem-to-reg</a>/imm32/next
+<span id="L7635" class="LineNr"> 7635 </span><span class="subxMinorFunction">_Primitive-copy-mem-to-reg</span>:
+<span id="L7636" class="LineNr"> 7636 </span>    <span class="subxComment"># var1/reg &lt;- copy var2 =&gt; 8b/copy-from var2/rm32 var1/r32</span>
+<span id="L7637" class="LineNr"> 7637 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7638" class="LineNr"> 7638 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7639" class="LineNr"> 7639 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7640" class="LineNr"> 7640 </span>    <span class="Constant">&quot;8b/copy-from&quot;</span>/imm32/subx-name
+<span id="L7641" class="LineNr"> 7641 </span>    1/imm32/rm32-is-first-inout
+<span id="L7642" class="LineNr"> 7642 </span>    3/imm32/r32-is-first-output
+<span id="L7643" class="LineNr"> 7643 </span>    0/imm32/no-imm32
+<span id="L7644" class="LineNr"> 7644 </span>    0/imm32/no-disp32
+<span id="L7645" class="LineNr"> 7645 </span>    1/imm32/output-is-write-only
+<span id="L7646" class="LineNr"> 7646 </span>    <a href='mu.subx.html#L7647'>_Primitive-copy-lit-to-reg</a>/imm32/next
+<span id="L7647" class="LineNr"> 7647 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-reg</span>:
+<span id="L7648" class="LineNr"> 7648 </span>    <span class="subxComment"># var1/reg &lt;- copy lit =&gt; c7 0/subop/copy var1/rm32 lit/imm32</span>
+<span id="L7649" class="LineNr"> 7649 </span>    <span class="Constant">&quot;copy&quot;</span>/imm32/name
+<span id="L7650" class="LineNr"> 7650 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7651" class="LineNr"> 7651 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7652" class="LineNr"> 7652 </span>    <span class="Constant">&quot;c7 0/subop/copy&quot;</span>/imm32/subx-name
+<span id="L7653" class="LineNr"> 7653 </span>    3/imm32/rm32-is-first-output
+<span id="L7654" class="LineNr"> 7654 </span>    0/imm32/no-r32
+<span id="L7655" class="LineNr"> 7655 </span>    1/imm32/imm32-is-first-inout
+<span id="L7656" class="LineNr"> 7656 </span>    0/imm32/no-disp32
+<span id="L7657" class="LineNr"> 7657 </span>    1/imm32/output-is-write-only
+<span id="L7658" class="LineNr"> 7658 </span>    <a href='mu.subx.html#L7659'>_Primitive-copy-lit-to-mem</a>/imm32/next
+<span id="L7659" class="LineNr"> 7659 </span><span class="subxMinorFunction">_Primitive-copy-lit-to-mem</span>:
+<span id="L7660" class="LineNr"> 7660 </span>    <span class="subxComment"># copy-to var1, lit =&gt; c7 0/subop/copy var1/rm32 lit/imm32</span>
+<span id="L7661" class="LineNr"> 7661 </span>    <span class="Constant">&quot;copy-to&quot;</span>/imm32/name
+<span id="L7662" class="LineNr"> 7662 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7663" class="LineNr"> 7663 </span>    0/imm32/outputs
+<span id="L7664" class="LineNr"> 7664 </span>    <span class="Constant">&quot;c7 0/subop/copy&quot;</span>/imm32/subx-name
+<span id="L7665" class="LineNr"> 7665 </span>    1/imm32/rm32-is-first-inout
+<span id="L7666" class="LineNr"> 7666 </span>    0/imm32/no-r32
+<span id="L7667" class="LineNr"> 7667 </span>    2/imm32/imm32-is-first-inout
+<span id="L7668" class="LineNr"> 7668 </span>    0/imm32/no-disp32
+<span id="L7669" class="LineNr"> 7669 </span>    1/imm32/output-is-write-only
+<span id="L7670" class="LineNr"> 7670 </span>    <a href='mu.subx.html#L7672'>_Primitive-compare-mem-with-reg</a>/imm32/next
+<span id="L7671" class="LineNr"> 7671 </span><span class="subxH1Comment"># - compare</span>
+<span id="L7672" class="LineNr"> 7672 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-reg</span>:
+<span id="L7673" class="LineNr"> 7673 </span>    <span class="subxComment"># compare var1 var2/reg =&gt; 39/compare-&gt; var1/rm32 var2/r32</span>
+<span id="L7674" class="LineNr"> 7674 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
+<span id="L7675" class="LineNr"> 7675 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8243'>Two-args-int-stack-int-reg</a></span>/imm32/inouts
+<span id="L7676" class="LineNr"> 7676 </span>    0/imm32/outputs
+<span id="L7677" class="LineNr"> 7677 </span>    <span class="Constant">&quot;39/compare-&gt;&quot;</span>/imm32/subx-name
+<span id="L7678" class="LineNr"> 7678 </span>    1/imm32/rm32-is-first-inout
+<span id="L7679" class="LineNr"> 7679 </span>    2/imm32/r32-is-second-inout
+<span id="L7680" class="LineNr"> 7680 </span>    0/imm32/no-imm32
+<span id="L7681" class="LineNr"> 7681 </span>    0/imm32/no-disp32
+<span id="L7682" class="LineNr"> 7682 </span>    0/imm32/output-is-write-only
+<span id="L7683" class="LineNr"> 7683 </span>    <a href='mu.subx.html#L7684'>_Primitive-compare-reg-with-mem</a>/imm32/next
+<span id="L7684" class="LineNr"> 7684 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-mem</span>:
+<span id="L7685" class="LineNr"> 7685 </span>    <span class="subxComment"># compare var1/reg var2 =&gt; 3b/compare&lt;- var2/rm32 var1/r32</span>
+<span id="L7686" class="LineNr"> 7686 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
+<span id="L7687" class="LineNr"> 7687 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8247'>Two-args-int-reg-int-stack</a></span>/imm32/inouts
+<span id="L7688" class="LineNr"> 7688 </span>    0/imm32/outputs
+<span id="L7689" class="LineNr"> 7689 </span>    <span class="Constant">&quot;3b/compare&lt;-&quot;</span>/imm32/subx-name
+<span id="L7690" class="LineNr"> 7690 </span>    2/imm32/rm32-is-second-inout
+<span id="L7691" class="LineNr"> 7691 </span>    1/imm32/r32-is-first-inout
+<span id="L7692" class="LineNr"> 7692 </span>    0/imm32/no-imm32
+<span id="L7693" class="LineNr"> 7693 </span>    0/imm32/no-disp32
+<span id="L7694" class="LineNr"> 7694 </span>    0/imm32/output-is-write-only
+<span id="L7695" class="LineNr"> 7695 </span>    <a href='mu.subx.html#L7696'>_Primitive-compare-eax-with-literal</a>/imm32/next
+<span id="L7696" class="LineNr"> 7696 </span><span class="subxMinorFunction">_Primitive-compare-eax-with-literal</span>:
+<span id="L7697" class="LineNr"> 7697 </span>    <span class="subxComment"># compare var1/eax n =&gt; 3d/compare-eax-with n/imm32</span>
+<span id="L7698" class="LineNr"> 7698 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
+<span id="L7699" class="LineNr"> 7699 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8251'>Two-args-int-eax-int-literal</a></span>/imm32/inouts
+<span id="L7700" class="LineNr"> 7700 </span>    0/imm32/outputs
+<span id="L7701" class="LineNr"> 7701 </span>    <span class="Constant">&quot;3d/compare-eax-with&quot;</span>/imm32/subx-name
+<span id="L7702" class="LineNr"> 7702 </span>    0/imm32/no-rm32
+<span id="L7703" class="LineNr"> 7703 </span>    0/imm32/no-r32
+<span id="L7704" class="LineNr"> 7704 </span>    2/imm32/imm32-is-second-inout
+<span id="L7705" class="LineNr"> 7705 </span>    0/imm32/no-disp32
+<span id="L7706" class="LineNr"> 7706 </span>    0/imm32/output-is-write-only
+<span id="L7707" class="LineNr"> 7707 </span>    <a href='mu.subx.html#L7708'>_Primitive-compare-reg-with-literal</a>/imm32/next
+<span id="L7708" class="LineNr"> 7708 </span><span class="subxMinorFunction">_Primitive-compare-reg-with-literal</span>:
+<span id="L7709" class="LineNr"> 7709 </span>    <span class="subxComment"># compare var1/reg n =&gt; 81 7/subop/compare %reg n/imm32</span>
+<span id="L7710" class="LineNr"> 7710 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
+<span id="L7711" class="LineNr"> 7711 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8259'>Int-var-in-register-and-literal</a></span>/imm32/inouts
+<span id="L7712" class="LineNr"> 7712 </span>    0/imm32/outputs
+<span id="L7713" class="LineNr"> 7713 </span>    <span class="Constant">&quot;81 7/subop/compare&quot;</span>/imm32/subx-name
+<span id="L7714" class="LineNr"> 7714 </span>    1/imm32/rm32-is-first-inout
+<span id="L7715" class="LineNr"> 7715 </span>    0/imm32/no-r32
+<span id="L7716" class="LineNr"> 7716 </span>    2/imm32/imm32-is-second-inout
+<span id="L7717" class="LineNr"> 7717 </span>    0/imm32/no-disp32
+<span id="L7718" class="LineNr"> 7718 </span>    0/imm32/output-is-write-only
+<span id="L7719" class="LineNr"> 7719 </span>    <a href='mu.subx.html#L7720'>_Primitive-compare-mem-with-literal</a>/imm32/next
+<span id="L7720" class="LineNr"> 7720 </span><span class="subxMinorFunction">_Primitive-compare-mem-with-literal</span>:
+<span id="L7721" class="LineNr"> 7721 </span>    <span class="subxComment"># compare var1 n =&gt; 81 7/subop/compare *(ebp+___) n/imm32</span>
+<span id="L7722" class="LineNr"> 7722 </span>    <span class="Constant">&quot;compare&quot;</span>/imm32/name
+<span id="L7723" class="LineNr"> 7723 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8255'>Int-var-and-literal</a></span>/imm32/inouts
+<span id="L7724" class="LineNr"> 7724 </span>    0/imm32/outputs
+<span id="L7725" class="LineNr"> 7725 </span>    <span class="Constant">&quot;81 7/subop/compare&quot;</span>/imm32/subx-name
+<span id="L7726" class="LineNr"> 7726 </span>    1/imm32/rm32-is-first-inout
+<span id="L7727" class="LineNr"> 7727 </span>    0/imm32/no-r32
+<span id="L7728" class="LineNr"> 7728 </span>    2/imm32/imm32-is-second-inout
+<span id="L7729" class="LineNr"> 7729 </span>    0/imm32/no-disp32
+<span id="L7730" class="LineNr"> 7730 </span>    0/imm32/output-is-write-only
+<span id="L7731" class="LineNr"> 7731 </span>    <a href='mu.subx.html#L7733'>_Primitive-multiply-reg-by-mem</a>/imm32/next
+<span id="L7732" class="LineNr"> 7732 </span><span class="subxH1Comment"># - multiply</span>
+<span id="L7733" class="LineNr"> 7733 </span><span class="subxMinorFunction">_Primitive-multiply-reg-by-mem</span>:
+<span id="L7734" class="LineNr"> 7734 </span>    <span class="subxComment"># var1/reg &lt;- multiply var2 =&gt; 0f af/multiply var2/rm32 var1/r32</span>
+<span id="L7735" class="LineNr"> 7735 </span>    <span class="Constant">&quot;multiply&quot;</span>/imm32/name
+<span id="L7736" class="LineNr"> 7736 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/inouts
+<span id="L7737" class="LineNr"> 7737 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/outputs
+<span id="L7738" class="LineNr"> 7738 </span>    <span class="Constant">&quot;0f af/multiply&quot;</span>/imm32/subx-name
+<span id="L7739" class="LineNr"> 7739 </span>    1/imm32/rm32-is-first-inout
+<span id="L7740" class="LineNr"> 7740 </span>    3/imm32/r32-is-first-output
+<span id="L7741" class="LineNr"> 7741 </span>    0/imm32/no-imm32
+<span id="L7742" class="LineNr"> 7742 </span>    0/imm32/no-disp32
+<span id="L7743" class="LineNr"> 7743 </span>    0/imm32/output-is-write-only
+<span id="L7744" class="LineNr"> 7744 </span>    <a href='mu.subx.html#L7746'>_Primitive-break-if-addr&lt;</a>/imm32/next
+<span id="L7745" class="LineNr"> 7745 </span><span class="subxH1Comment"># - branches</span>
+<span id="L7746" class="LineNr"> 7746 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;</span>:
+<span id="L7747" class="LineNr"> 7747 </span>    <span class="Constant">&quot;break-if-addr&lt;&quot;</span>/imm32/name
+<span id="L7748" class="LineNr"> 7748 </span>    0/imm32/inouts
+<span id="L7749" class="LineNr"> 7749 </span>    0/imm32/outputs
+<span id="L7750" class="LineNr"> 7750 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt; break/disp32&quot;</span>/imm32/subx-name
+<span id="L7751" class="LineNr"> 7751 </span>    0/imm32/no-rm32
+<span id="L7752" class="LineNr"> 7752 </span>    0/imm32/no-r32
+<span id="L7753" class="LineNr"> 7753 </span>    0/imm32/no-imm32
+<span id="L7754" class="LineNr"> 7754 </span>    0/imm32/no-disp32
+<span id="L7755" class="LineNr"> 7755 </span>    0/imm32/no-output
+<span id="L7756" class="LineNr"> 7756 </span>    <a href='mu.subx.html#L7757'>_Primitive-break-if-addr&gt;=</a>/imm32/next
+<span id="L7757" class="LineNr"> 7757 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;=</span>:
+<span id="L7758" class="LineNr"> 7758 </span>    <span class="Constant">&quot;break-if-addr&gt;=&quot;</span>/imm32/name
+<span id="L7759" class="LineNr"> 7759 </span>    0/imm32/inouts
+<span id="L7760" class="LineNr"> 7760 </span>    0/imm32/outputs
+<span id="L7761" class="LineNr"> 7761 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7762" class="LineNr"> 7762 </span>    0/imm32/no-rm32
+<span id="L7763" class="LineNr"> 7763 </span>    0/imm32/no-r32
+<span id="L7764" class="LineNr"> 7764 </span>    0/imm32/no-imm32
+<span id="L7765" class="LineNr"> 7765 </span>    0/imm32/no-disp32
+<span id="L7766" class="LineNr"> 7766 </span>    0/imm32/no-output
+<span id="L7767" class="LineNr"> 7767 </span>    <a href='mu.subx.html#L7768'>_Primitive-break-if-=</a>/imm32/next
+<span id="L7768" class="LineNr"> 7768 </span><span class="subxMinorFunction">_Primitive-break-if-=</span>:
+<span id="L7769" class="LineNr"> 7769 </span>    <span class="Constant">&quot;break-if-=&quot;</span>/imm32/name
+<span id="L7770" class="LineNr"> 7770 </span>    0/imm32/inouts
+<span id="L7771" class="LineNr"> 7771 </span>    0/imm32/outputs
+<span id="L7772" class="LineNr"> 7772 </span>    <span class="Constant">&quot;0f 84/jump-if-= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7773" class="LineNr"> 7773 </span>    0/imm32/no-rm32
+<span id="L7774" class="LineNr"> 7774 </span>    0/imm32/no-r32
+<span id="L7775" class="LineNr"> 7775 </span>    0/imm32/no-imm32
+<span id="L7776" class="LineNr"> 7776 </span>    0/imm32/no-disp32
+<span id="L7777" class="LineNr"> 7777 </span>    0/imm32/no-output
+<span id="L7778" class="LineNr"> 7778 </span>    <a href='mu.subx.html#L7779'>_Primitive-break-if-!=</a>/imm32/next
+<span id="L7779" class="LineNr"> 7779 </span><span class="subxMinorFunction">_Primitive-break-if-!=</span>:
+<span id="L7780" class="LineNr"> 7780 </span>    <span class="Constant">&quot;break-if-!=&quot;</span>/imm32/name
+<span id="L7781" class="LineNr"> 7781 </span>    0/imm32/inouts
+<span id="L7782" class="LineNr"> 7782 </span>    0/imm32/outputs
+<span id="L7783" class="LineNr"> 7783 </span>    <span class="Constant">&quot;0f 85/jump-if-!= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7784" class="LineNr"> 7784 </span>    0/imm32/no-rm32
+<span id="L7785" class="LineNr"> 7785 </span>    0/imm32/no-r32
+<span id="L7786" class="LineNr"> 7786 </span>    0/imm32/no-imm32
+<span id="L7787" class="LineNr"> 7787 </span>    0/imm32/no-disp32
+<span id="L7788" class="LineNr"> 7788 </span>    0/imm32/no-output
+<span id="L7789" class="LineNr"> 7789 </span>    <a href='mu.subx.html#L7790'>_Primitive-break-if-addr&lt;=</a>/imm32/next
+<span id="L7790" class="LineNr"> 7790 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;=</span>:
+<span id="L7791" class="LineNr"> 7791 </span>    <span class="Constant">&quot;break-if-addr&lt;=&quot;</span>/imm32/name
+<span id="L7792" class="LineNr"> 7792 </span>    0/imm32/inouts
+<span id="L7793" class="LineNr"> 7793 </span>    0/imm32/outputs
+<span id="L7794" class="LineNr"> 7794 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7795" class="LineNr"> 7795 </span>    0/imm32/no-rm32
+<span id="L7796" class="LineNr"> 7796 </span>    0/imm32/no-r32
+<span id="L7797" class="LineNr"> 7797 </span>    0/imm32/no-imm32
+<span id="L7798" class="LineNr"> 7798 </span>    0/imm32/no-disp32
+<span id="L7799" class="LineNr"> 7799 </span>    0/imm32/no-output
+<span id="L7800" class="LineNr"> 7800 </span>    <a href='mu.subx.html#L7801'>_Primitive-break-if-addr&gt;</a>/imm32/next
+<span id="L7801" class="LineNr"> 7801 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;</span>:
+<span id="L7802" class="LineNr"> 7802 </span>    <span class="Constant">&quot;break-if-addr&gt;&quot;</span>/imm32/name
+<span id="L7803" class="LineNr"> 7803 </span>    0/imm32/inouts
+<span id="L7804" class="LineNr"> 7804 </span>    0/imm32/outputs
+<span id="L7805" class="LineNr"> 7805 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt; break/disp32&quot;</span>/imm32/subx-name
+<span id="L7806" class="LineNr"> 7806 </span>    0/imm32/no-rm32
+<span id="L7807" class="LineNr"> 7807 </span>    0/imm32/no-r32
+<span id="L7808" class="LineNr"> 7808 </span>    0/imm32/no-imm32
+<span id="L7809" class="LineNr"> 7809 </span>    0/imm32/no-disp32
+<span id="L7810" class="LineNr"> 7810 </span>    0/imm32/no-output
+<span id="L7811" class="LineNr"> 7811 </span>    <a href='mu.subx.html#L7812'>_Primitive-break-if-&lt;</a>/imm32/next
+<span id="L7812" class="LineNr"> 7812 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;</span>:
+<span id="L7813" class="LineNr"> 7813 </span>    <span class="Constant">&quot;break-if-&lt;&quot;</span>/imm32/name
+<span id="L7814" class="LineNr"> 7814 </span>    0/imm32/inouts
+<span id="L7815" class="LineNr"> 7815 </span>    0/imm32/outputs
+<span id="L7816" class="LineNr"> 7816 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt; break/disp32&quot;</span>/imm32/subx-name
+<span id="L7817" class="LineNr"> 7817 </span>    0/imm32/no-rm32
+<span id="L7818" class="LineNr"> 7818 </span>    0/imm32/no-r32
+<span id="L7819" class="LineNr"> 7819 </span>    0/imm32/no-imm32
+<span id="L7820" class="LineNr"> 7820 </span>    0/imm32/no-disp32
+<span id="L7821" class="LineNr"> 7821 </span>    0/imm32/no-output
+<span id="L7822" class="LineNr"> 7822 </span>    <a href='mu.subx.html#L7823'>_Primitive-break-if-&gt;=</a>/imm32/next
+<span id="L7823" class="LineNr"> 7823 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;=</span>:
+<span id="L7824" class="LineNr"> 7824 </span>    <span class="Constant">&quot;break-if-&gt;=&quot;</span>/imm32/name
+<span id="L7825" class="LineNr"> 7825 </span>    0/imm32/inouts
+<span id="L7826" class="LineNr"> 7826 </span>    0/imm32/outputs
+<span id="L7827" class="LineNr"> 7827 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7828" class="LineNr"> 7828 </span>    0/imm32/no-rm32
+<span id="L7829" class="LineNr"> 7829 </span>    0/imm32/no-r32
+<span id="L7830" class="LineNr"> 7830 </span>    0/imm32/no-imm32
+<span id="L7831" class="LineNr"> 7831 </span>    0/imm32/no-disp32
+<span id="L7832" class="LineNr"> 7832 </span>    0/imm32/no-output
+<span id="L7833" class="LineNr"> 7833 </span>    <a href='mu.subx.html#L7834'>_Primitive-break-if-&lt;=</a>/imm32/next
+<span id="L7834" class="LineNr"> 7834 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;=</span>:
+<span id="L7835" class="LineNr"> 7835 </span>    <span class="Constant">&quot;break-if-&lt;=&quot;</span>/imm32/name
+<span id="L7836" class="LineNr"> 7836 </span>    0/imm32/inouts
+<span id="L7837" class="LineNr"> 7837 </span>    0/imm32/outputs
+<span id="L7838" class="LineNr"> 7838 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;= break/disp32&quot;</span>/imm32/subx-name
+<span id="L7839" class="LineNr"> 7839 </span>    0/imm32/no-rm32
+<span id="L7840" class="LineNr"> 7840 </span>    0/imm32/no-r32
+<span id="L7841" class="LineNr"> 7841 </span>    0/imm32/no-imm32
+<span id="L7842" class="LineNr"> 7842 </span>    0/imm32/no-disp32
+<span id="L7843" class="LineNr"> 7843 </span>    0/imm32/no-output
+<span id="L7844" class="LineNr"> 7844 </span>    <a href='mu.subx.html#L7845'>_Primitive-break-if-&gt;</a>/imm32/next
+<span id="L7845" class="LineNr"> 7845 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;</span>:
+<span id="L7846" class="LineNr"> 7846 </span>    <span class="Constant">&quot;break-if-&gt;&quot;</span>/imm32/name
+<span id="L7847" class="LineNr"> 7847 </span>    0/imm32/inouts
+<span id="L7848" class="LineNr"> 7848 </span>    0/imm32/outputs
+<span id="L7849" class="LineNr"> 7849 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt; break/disp32&quot;</span>/imm32/subx-name
+<span id="L7850" class="LineNr"> 7850 </span>    0/imm32/no-rm32
+<span id="L7851" class="LineNr"> 7851 </span>    0/imm32/no-r32
+<span id="L7852" class="LineNr"> 7852 </span>    0/imm32/no-imm32
+<span id="L7853" class="LineNr"> 7853 </span>    0/imm32/no-disp32
+<span id="L7854" class="LineNr"> 7854 </span>    0/imm32/no-output
+<span id="L7855" class="LineNr"> 7855 </span>    <a href='mu.subx.html#L7856'>_Primitive-break</a>/imm32/next
+<span id="L7856" class="LineNr"> 7856 </span><span class="subxMinorFunction">_Primitive-break</span>:
+<span id="L7857" class="LineNr"> 7857 </span>    <span class="Constant">&quot;break&quot;</span>/imm32/name
+<span id="L7858" class="LineNr"> 7858 </span>    0/imm32/inouts
+<span id="L7859" class="LineNr"> 7859 </span>    0/imm32/outputs
+<span id="L7860" class="LineNr"> 7860 </span>    <span class="Constant">&quot;e9/jump break/disp32&quot;</span>/imm32/subx-name
+<span id="L7861" class="LineNr"> 7861 </span>    0/imm32/no-rm32
+<span id="L7862" class="LineNr"> 7862 </span>    0/imm32/no-r32
+<span id="L7863" class="LineNr"> 7863 </span>    0/imm32/no-imm32
+<span id="L7864" class="LineNr"> 7864 </span>    0/imm32/no-disp32
+<span id="L7865" class="LineNr"> 7865 </span>    0/imm32/no-output
+<span id="L7866" class="LineNr"> 7866 </span>    <a href='mu.subx.html#L7867'>_Primitive-loop-if-addr&lt;</a>/imm32/next
+<span id="L7867" class="LineNr"> 7867 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;</span>:
+<span id="L7868" class="LineNr"> 7868 </span>    <span class="Constant">&quot;loop-if-addr&lt;&quot;</span>/imm32/name
+<span id="L7869" class="LineNr"> 7869 </span>    0/imm32/inouts
+<span id="L7870" class="LineNr"> 7870 </span>    0/imm32/outputs
+<span id="L7871" class="LineNr"> 7871 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt; loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7872" class="LineNr"> 7872 </span>    0/imm32/no-rm32
+<span id="L7873" class="LineNr"> 7873 </span>    0/imm32/no-r32
+<span id="L7874" class="LineNr"> 7874 </span>    0/imm32/no-imm32
+<span id="L7875" class="LineNr"> 7875 </span>    0/imm32/no-disp32
+<span id="L7876" class="LineNr"> 7876 </span>    0/imm32/no-output
+<span id="L7877" class="LineNr"> 7877 </span>    <a href='mu.subx.html#L7878'>_Primitive-loop-if-addr&gt;=</a>/imm32/next
+<span id="L7878" class="LineNr"> 7878 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;=</span>:
+<span id="L7879" class="LineNr"> 7879 </span>    <span class="Constant">&quot;loop-if-addr&gt;=&quot;</span>/imm32/name
+<span id="L7880" class="LineNr"> 7880 </span>    0/imm32/inouts
+<span id="L7881" class="LineNr"> 7881 </span>    0/imm32/outputs
+<span id="L7882" class="LineNr"> 7882 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7883" class="LineNr"> 7883 </span>    0/imm32/no-rm32
+<span id="L7884" class="LineNr"> 7884 </span>    0/imm32/no-r32
+<span id="L7885" class="LineNr"> 7885 </span>    0/imm32/no-imm32
+<span id="L7886" class="LineNr"> 7886 </span>    0/imm32/no-disp32
+<span id="L7887" class="LineNr"> 7887 </span>    0/imm32/no-output
+<span id="L7888" class="LineNr"> 7888 </span>    <a href='mu.subx.html#L7889'>_Primitive-loop-if-=</a>/imm32/next
+<span id="L7889" class="LineNr"> 7889 </span><span class="subxMinorFunction">_Primitive-loop-if-=</span>:
+<span id="L7890" class="LineNr"> 7890 </span>    <span class="Constant">&quot;loop-if-=&quot;</span>/imm32/name
+<span id="L7891" class="LineNr"> 7891 </span>    0/imm32/inouts
+<span id="L7892" class="LineNr"> 7892 </span>    0/imm32/outputs
+<span id="L7893" class="LineNr"> 7893 </span>    <span class="Constant">&quot;0f 84/jump-if-= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7894" class="LineNr"> 7894 </span>    0/imm32/no-rm32
+<span id="L7895" class="LineNr"> 7895 </span>    0/imm32/no-r32
+<span id="L7896" class="LineNr"> 7896 </span>    0/imm32/no-imm32
+<span id="L7897" class="LineNr"> 7897 </span>    0/imm32/no-disp32
+<span id="L7898" class="LineNr"> 7898 </span>    0/imm32/no-output
+<span id="L7899" class="LineNr"> 7899 </span>    <a href='mu.subx.html#L7900'>_Primitive-loop-if-!=</a>/imm32/next
+<span id="L7900" class="LineNr"> 7900 </span><span class="subxMinorFunction">_Primitive-loop-if-!=</span>:
+<span id="L7901" class="LineNr"> 7901 </span>    <span class="Constant">&quot;loop-if-!=&quot;</span>/imm32/name
+<span id="L7902" class="LineNr"> 7902 </span>    0/imm32/inouts
+<span id="L7903" class="LineNr"> 7903 </span>    0/imm32/outputs
+<span id="L7904" class="LineNr"> 7904 </span>    <span class="Constant">&quot;0f 85/jump-if-!= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7905" class="LineNr"> 7905 </span>    0/imm32/no-rm32
+<span id="L7906" class="LineNr"> 7906 </span>    0/imm32/no-r32
+<span id="L7907" class="LineNr"> 7907 </span>    0/imm32/no-imm32
+<span id="L7908" class="LineNr"> 7908 </span>    0/imm32/no-disp32
+<span id="L7909" class="LineNr"> 7909 </span>    0/imm32/no-output
+<span id="L7910" class="LineNr"> 7910 </span>    <a href='mu.subx.html#L7911'>_Primitive-loop-if-addr&lt;=</a>/imm32/next
+<span id="L7911" class="LineNr"> 7911 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;=</span>:
+<span id="L7912" class="LineNr"> 7912 </span>    <span class="Constant">&quot;loop-if-addr&lt;=&quot;</span>/imm32/name
+<span id="L7913" class="LineNr"> 7913 </span>    0/imm32/inouts
+<span id="L7914" class="LineNr"> 7914 </span>    0/imm32/outputs
+<span id="L7915" class="LineNr"> 7915 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7916" class="LineNr"> 7916 </span>    0/imm32/no-rm32
+<span id="L7917" class="LineNr"> 7917 </span>    0/imm32/no-r32
+<span id="L7918" class="LineNr"> 7918 </span>    0/imm32/no-imm32
+<span id="L7919" class="LineNr"> 7919 </span>    0/imm32/no-disp32
+<span id="L7920" class="LineNr"> 7920 </span>    0/imm32/no-output
+<span id="L7921" class="LineNr"> 7921 </span>    <a href='mu.subx.html#L7922'>_Primitive-loop-if-addr&gt;</a>/imm32/next
+<span id="L7922" class="LineNr"> 7922 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;</span>:
+<span id="L7923" class="LineNr"> 7923 </span>    <span class="Constant">&quot;loop-if-addr&gt;&quot;</span>/imm32/name
+<span id="L7924" class="LineNr"> 7924 </span>    0/imm32/inouts
+<span id="L7925" class="LineNr"> 7925 </span>    0/imm32/outputs
+<span id="L7926" class="LineNr"> 7926 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt; loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7927" class="LineNr"> 7927 </span>    0/imm32/no-rm32
+<span id="L7928" class="LineNr"> 7928 </span>    0/imm32/no-r32
+<span id="L7929" class="LineNr"> 7929 </span>    0/imm32/no-imm32
+<span id="L7930" class="LineNr"> 7930 </span>    0/imm32/no-disp32
+<span id="L7931" class="LineNr"> 7931 </span>    0/imm32/no-output
+<span id="L7932" class="LineNr"> 7932 </span>    <a href='mu.subx.html#L7933'>_Primitive-loop-if-&lt;</a>/imm32/next
+<span id="L7933" class="LineNr"> 7933 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;</span>:
+<span id="L7934" class="LineNr"> 7934 </span>    <span class="Constant">&quot;loop-if-&lt;&quot;</span>/imm32/name
+<span id="L7935" class="LineNr"> 7935 </span>    0/imm32/inouts
+<span id="L7936" class="LineNr"> 7936 </span>    0/imm32/outputs
+<span id="L7937" class="LineNr"> 7937 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt; loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7938" class="LineNr"> 7938 </span>    0/imm32/no-rm32
+<span id="L7939" class="LineNr"> 7939 </span>    0/imm32/no-r32
+<span id="L7940" class="LineNr"> 7940 </span>    0/imm32/no-imm32
+<span id="L7941" class="LineNr"> 7941 </span>    0/imm32/no-disp32
+<span id="L7942" class="LineNr"> 7942 </span>    0/imm32/no-output
+<span id="L7943" class="LineNr"> 7943 </span>    <a href='mu.subx.html#L7944'>_Primitive-loop-if-&gt;=</a>/imm32/next
+<span id="L7944" class="LineNr"> 7944 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;=</span>:
+<span id="L7945" class="LineNr"> 7945 </span>    <span class="Constant">&quot;loop-if-&gt;=&quot;</span>/imm32/name
+<span id="L7946" class="LineNr"> 7946 </span>    0/imm32/inouts
+<span id="L7947" class="LineNr"> 7947 </span>    0/imm32/outputs
+<span id="L7948" class="LineNr"> 7948 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7949" class="LineNr"> 7949 </span>    0/imm32/no-rm32
+<span id="L7950" class="LineNr"> 7950 </span>    0/imm32/no-r32
+<span id="L7951" class="LineNr"> 7951 </span>    0/imm32/no-imm32
+<span id="L7952" class="LineNr"> 7952 </span>    0/imm32/no-disp32
+<span id="L7953" class="LineNr"> 7953 </span>    0/imm32/no-output
+<span id="L7954" class="LineNr"> 7954 </span>    <a href='mu.subx.html#L7955'>_Primitive-loop-if-&lt;=</a>/imm32/next
+<span id="L7955" class="LineNr"> 7955 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;=</span>:
+<span id="L7956" class="LineNr"> 7956 </span>    <span class="Constant">&quot;loop-if-&lt;=&quot;</span>/imm32/name
+<span id="L7957" class="LineNr"> 7957 </span>    0/imm32/inouts
+<span id="L7958" class="LineNr"> 7958 </span>    0/imm32/outputs
+<span id="L7959" class="LineNr"> 7959 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;= loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7960" class="LineNr"> 7960 </span>    0/imm32/no-rm32
+<span id="L7961" class="LineNr"> 7961 </span>    0/imm32/no-r32
+<span id="L7962" class="LineNr"> 7962 </span>    0/imm32/no-imm32
+<span id="L7963" class="LineNr"> 7963 </span>    0/imm32/no-disp32
+<span id="L7964" class="LineNr"> 7964 </span>    0/imm32/no-output
+<span id="L7965" class="LineNr"> 7965 </span>    <a href='mu.subx.html#L7966'>_Primitive-loop-if-&gt;</a>/imm32/next
+<span id="L7966" class="LineNr"> 7966 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;</span>:
+<span id="L7967" class="LineNr"> 7967 </span>    <span class="Constant">&quot;loop-if-&gt;&quot;</span>/imm32/name
+<span id="L7968" class="LineNr"> 7968 </span>    0/imm32/inouts
+<span id="L7969" class="LineNr"> 7969 </span>    0/imm32/outputs
+<span id="L7970" class="LineNr"> 7970 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt; loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7971" class="LineNr"> 7971 </span>    0/imm32/no-rm32
+<span id="L7972" class="LineNr"> 7972 </span>    0/imm32/no-r32
+<span id="L7973" class="LineNr"> 7973 </span>    0/imm32/no-imm32
+<span id="L7974" class="LineNr"> 7974 </span>    0/imm32/no-disp32
+<span id="L7975" class="LineNr"> 7975 </span>    0/imm32/no-output
+<span id="L7976" class="LineNr"> 7976 </span>    <a href='mu.subx.html#L7977'>_Primitive-loop</a>/imm32/next  <span class="subxComment"># we probably don't need an unconditional break</span>
+<span id="L7977" class="LineNr"> 7977 </span><span class="subxMinorFunction">_Primitive-loop</span>:
+<span id="L7978" class="LineNr"> 7978 </span>    <span class="Constant">&quot;loop&quot;</span>/imm32/name
+<span id="L7979" class="LineNr"> 7979 </span>    0/imm32/inouts
+<span id="L7980" class="LineNr"> 7980 </span>    0/imm32/outputs
+<span id="L7981" class="LineNr"> 7981 </span>    <span class="Constant">&quot;e9/jump loop/disp32&quot;</span>/imm32/subx-name
+<span id="L7982" class="LineNr"> 7982 </span>    0/imm32/no-rm32
+<span id="L7983" class="LineNr"> 7983 </span>    0/imm32/no-r32
+<span id="L7984" class="LineNr"> 7984 </span>    0/imm32/no-imm32
+<span id="L7985" class="LineNr"> 7985 </span>    0/imm32/no-disp32
+<span id="L7986" class="LineNr"> 7986 </span>    0/imm32/no-output
+<span id="L7987" class="LineNr"> 7987 </span>    <a href='mu.subx.html#L7989'>_Primitive-break-if-addr&lt;-named</a>/imm32/next
+<span id="L7988" class="LineNr"> 7988 </span><span class="subxH1Comment"># - branches to named blocks</span>
+<span id="L7989" class="LineNr"> 7989 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;-named</span>:
+<span id="L7990" class="LineNr"> 7990 </span>    <span class="Constant">&quot;break-if-addr&lt;&quot;</span>/imm32/name
+<span id="L7991" class="LineNr"> 7991 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L7992" class="LineNr"> 7992 </span>    0/imm32/outputs
+<span id="L7993" class="LineNr"> 7993 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt;&quot;</span>/imm32/subx-name
+<span id="L7994" class="LineNr"> 7994 </span>    0/imm32/no-rm32
+<span id="L7995" class="LineNr"> 7995 </span>    0/imm32/no-r32
+<span id="L7996" class="LineNr"> 7996 </span>    0/imm32/no-imm32
+<span id="L7997" class="LineNr"> 7997 </span>    1/imm32/disp32-is-first-inout
+<span id="L7998" class="LineNr"> 7998 </span>    0/imm32/no-output
+<span id="L7999" class="LineNr"> 7999 </span>    <a href='mu.subx.html#L8000'>_Primitive-break-if-addr&gt;=-named</a>/imm32/next
+<span id="L8000" class="LineNr"> 8000 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;=-named</span>:
+<span id="L8001" class="LineNr"> 8001 </span>    <span class="Constant">&quot;break-if-addr&gt;=&quot;</span>/imm32/name
+<span id="L8002" class="LineNr"> 8002 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8003" class="LineNr"> 8003 </span>    0/imm32/outputs
+<span id="L8004" class="LineNr"> 8004 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;=&quot;</span>/imm32/subx-name
+<span id="L8005" class="LineNr"> 8005 </span>    0/imm32/no-rm32
+<span id="L8006" class="LineNr"> 8006 </span>    0/imm32/no-r32
+<span id="L8007" class="LineNr"> 8007 </span>    0/imm32/no-imm32
+<span id="L8008" class="LineNr"> 8008 </span>    1/imm32/disp32-is-first-inout
+<span id="L8009" class="LineNr"> 8009 </span>    0/imm32/no-output
+<span id="L8010" class="LineNr"> 8010 </span>    <a href='mu.subx.html#L8011'>_Primitive-break-if-=-named</a>/imm32/next
+<span id="L8011" class="LineNr"> 8011 </span><span class="subxMinorFunction">_Primitive-break-if-=-named</span>:
+<span id="L8012" class="LineNr"> 8012 </span>    <span class="Constant">&quot;break-if-=&quot;</span>/imm32/name
+<span id="L8013" class="LineNr"> 8013 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8014" class="LineNr"> 8014 </span>    0/imm32/outputs
+<span id="L8015" class="LineNr"> 8015 </span>    <span class="Constant">&quot;0f 84/jump-if-=&quot;</span>/imm32/subx-name
+<span id="L8016" class="LineNr"> 8016 </span>    0/imm32/no-rm32
+<span id="L8017" class="LineNr"> 8017 </span>    0/imm32/no-r32
+<span id="L8018" class="LineNr"> 8018 </span>    0/imm32/no-imm32
+<span id="L8019" class="LineNr"> 8019 </span>    1/imm32/disp32-is-first-inout
+<span id="L8020" class="LineNr"> 8020 </span>    0/imm32/no-output
+<span id="L8021" class="LineNr"> 8021 </span>    <a href='mu.subx.html#L8022'>_Primitive-break-if-!=-named</a>/imm32/next
+<span id="L8022" class="LineNr"> 8022 </span><span class="subxMinorFunction">_Primitive-break-if-!=-named</span>:
+<span id="L8023" class="LineNr"> 8023 </span>    <span class="Constant">&quot;break-if-!=&quot;</span>/imm32/name
+<span id="L8024" class="LineNr"> 8024 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8025" class="LineNr"> 8025 </span>    0/imm32/outputs
+<span id="L8026" class="LineNr"> 8026 </span>    <span class="Constant">&quot;0f 85/jump-if-!=&quot;</span>/imm32/subx-name
+<span id="L8027" class="LineNr"> 8027 </span>    0/imm32/no-rm32
+<span id="L8028" class="LineNr"> 8028 </span>    0/imm32/no-r32
+<span id="L8029" class="LineNr"> 8029 </span>    0/imm32/no-imm32
+<span id="L8030" class="LineNr"> 8030 </span>    1/imm32/disp32-is-first-inout
+<span id="L8031" class="LineNr"> 8031 </span>    0/imm32/no-output
+<span id="L8032" class="LineNr"> 8032 </span>    <a href='mu.subx.html#L8033'>_Primitive-break-if-addr&lt;=-named</a>/imm32/next
+<span id="L8033" class="LineNr"> 8033 </span><span class="subxMinorFunction">_Primitive-break-if-addr&lt;=-named</span>:
+<span id="L8034" class="LineNr"> 8034 </span>    <span class="Constant">&quot;break-if-addr&lt;=&quot;</span>/imm32/name
+<span id="L8035" class="LineNr"> 8035 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8036" class="LineNr"> 8036 </span>    0/imm32/outputs
+<span id="L8037" class="LineNr"> 8037 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;=&quot;</span>/imm32/subx-name
+<span id="L8038" class="LineNr"> 8038 </span>    0/imm32/no-rm32
+<span id="L8039" class="LineNr"> 8039 </span>    0/imm32/no-r32
+<span id="L8040" class="LineNr"> 8040 </span>    0/imm32/no-imm32
+<span id="L8041" class="LineNr"> 8041 </span>    1/imm32/disp32-is-first-inout
+<span id="L8042" class="LineNr"> 8042 </span>    0/imm32/no-output
+<span id="L8043" class="LineNr"> 8043 </span>    <a href='mu.subx.html#L8044'>_Primitive-break-if-addr&gt;-named</a>/imm32/next
+<span id="L8044" class="LineNr"> 8044 </span><span class="subxMinorFunction">_Primitive-break-if-addr&gt;-named</span>:
+<span id="L8045" class="LineNr"> 8045 </span>    <span class="Constant">&quot;break-if-addr&gt;&quot;</span>/imm32/name
+<span id="L8046" class="LineNr"> 8046 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8047" class="LineNr"> 8047 </span>    0/imm32/outputs
+<span id="L8048" class="LineNr"> 8048 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt;&quot;</span>/imm32/subx-name
+<span id="L8049" class="LineNr"> 8049 </span>    0/imm32/no-rm32
+<span id="L8050" class="LineNr"> 8050 </span>    0/imm32/no-r32
+<span id="L8051" class="LineNr"> 8051 </span>    0/imm32/no-imm32
+<span id="L8052" class="LineNr"> 8052 </span>    1/imm32/disp32-is-first-inout
+<span id="L8053" class="LineNr"> 8053 </span>    0/imm32/no-output
+<span id="L8054" class="LineNr"> 8054 </span>    <a href='mu.subx.html#L8055'>_Primitive-break-if-&lt;-named</a>/imm32/next
+<span id="L8055" class="LineNr"> 8055 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;-named</span>:
+<span id="L8056" class="LineNr"> 8056 </span>    <span class="Constant">&quot;break-if-&lt;&quot;</span>/imm32/name
+<span id="L8057" class="LineNr"> 8057 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8058" class="LineNr"> 8058 </span>    0/imm32/outputs
+<span id="L8059" class="LineNr"> 8059 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt;&quot;</span>/imm32/subx-name
+<span id="L8060" class="LineNr"> 8060 </span>    0/imm32/no-rm32
+<span id="L8061" class="LineNr"> 8061 </span>    0/imm32/no-r32
+<span id="L8062" class="LineNr"> 8062 </span>    0/imm32/no-imm32
+<span id="L8063" class="LineNr"> 8063 </span>    1/imm32/disp32-is-first-inout
+<span id="L8064" class="LineNr"> 8064 </span>    0/imm32/no-output
+<span id="L8065" class="LineNr"> 8065 </span>    <a href='mu.subx.html#L8066'>_Primitive-break-if-&gt;=-named</a>/imm32/next
+<span id="L8066" class="LineNr"> 8066 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;=-named</span>:
+<span id="L8067" class="LineNr"> 8067 </span>    <span class="Constant">&quot;break-if-&gt;=&quot;</span>/imm32/name
+<span id="L8068" class="LineNr"> 8068 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8069" class="LineNr"> 8069 </span>    0/imm32/outputs
+<span id="L8070" class="LineNr"> 8070 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;=&quot;</span>/imm32/subx-name
+<span id="L8071" class="LineNr"> 8071 </span>    0/imm32/no-rm32
+<span id="L8072" class="LineNr"> 8072 </span>    0/imm32/no-r32
+<span id="L8073" class="LineNr"> 8073 </span>    0/imm32/no-imm32
+<span id="L8074" class="LineNr"> 8074 </span>    1/imm32/disp32-is-first-inout
+<span id="L8075" class="LineNr"> 8075 </span>    0/imm32/no-output
+<span id="L8076" class="LineNr"> 8076 </span>    <a href='mu.subx.html#L8077'>_Primitive-break-if-&lt;=-named</a>/imm32/next
+<span id="L8077" class="LineNr"> 8077 </span><span class="subxMinorFunction">_Primitive-break-if-&lt;=-named</span>:
+<span id="L8078" class="LineNr"> 8078 </span>    <span class="Constant">&quot;break-if-&lt;=&quot;</span>/imm32/name
+<span id="L8079" class="LineNr"> 8079 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8080" class="LineNr"> 8080 </span>    0/imm32/outputs
+<span id="L8081" class="LineNr"> 8081 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;=&quot;</span>/imm32/subx-name
+<span id="L8082" class="LineNr"> 8082 </span>    0/imm32/no-rm32
+<span id="L8083" class="LineNr"> 8083 </span>    0/imm32/no-r32
+<span id="L8084" class="LineNr"> 8084 </span>    0/imm32/no-imm32
+<span id="L8085" class="LineNr"> 8085 </span>    1/imm32/disp32-is-first-inout
+<span id="L8086" class="LineNr"> 8086 </span>    0/imm32/no-output
+<span id="L8087" class="LineNr"> 8087 </span>    <a href='mu.subx.html#L8088'>_Primitive-break-if-&gt;-named</a>/imm32/next
+<span id="L8088" class="LineNr"> 8088 </span><span class="subxMinorFunction">_Primitive-break-if-&gt;-named</span>:
+<span id="L8089" class="LineNr"> 8089 </span>    <span class="Constant">&quot;break-if-&gt;&quot;</span>/imm32/name
+<span id="L8090" class="LineNr"> 8090 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8091" class="LineNr"> 8091 </span>    0/imm32/outputs
+<span id="L8092" class="LineNr"> 8092 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt;&quot;</span>/imm32/subx-name
+<span id="L8093" class="LineNr"> 8093 </span>    0/imm32/no-rm32
+<span id="L8094" class="LineNr"> 8094 </span>    0/imm32/no-r32
+<span id="L8095" class="LineNr"> 8095 </span>    0/imm32/no-imm32
+<span id="L8096" class="LineNr"> 8096 </span>    1/imm32/disp32-is-first-inout
+<span id="L8097" class="LineNr"> 8097 </span>    0/imm32/no-output
+<span id="L8098" class="LineNr"> 8098 </span>    <a href='mu.subx.html#L8099'>_Primitive-break-named</a>/imm32/next
+<span id="L8099" class="LineNr"> 8099 </span><span class="subxMinorFunction">_Primitive-break-named</span>:
+<span id="L8100" class="LineNr"> 8100 </span>    <span class="Constant">&quot;break&quot;</span>/imm32/name
+<span id="L8101" class="LineNr"> 8101 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8102" class="LineNr"> 8102 </span>    0/imm32/outputs
+<span id="L8103" class="LineNr"> 8103 </span>    <span class="Constant">&quot;e9/jump&quot;</span>/imm32/subx-name
+<span id="L8104" class="LineNr"> 8104 </span>    0/imm32/no-rm32
+<span id="L8105" class="LineNr"> 8105 </span>    0/imm32/no-r32
+<span id="L8106" class="LineNr"> 8106 </span>    0/imm32/no-imm32
+<span id="L8107" class="LineNr"> 8107 </span>    1/imm32/disp32-is-first-inout
+<span id="L8108" class="LineNr"> 8108 </span>    0/imm32/no-output
+<span id="L8109" class="LineNr"> 8109 </span>    <a href='mu.subx.html#L8110'>_Primitive-loop-if-addr&lt;-named</a>/imm32/next
+<span id="L8110" class="LineNr"> 8110 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;-named</span>:
+<span id="L8111" class="LineNr"> 8111 </span>    <span class="Constant">&quot;loop-if-addr&lt;&quot;</span>/imm32/name
+<span id="L8112" class="LineNr"> 8112 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8113" class="LineNr"> 8113 </span>    0/imm32/outputs
+<span id="L8114" class="LineNr"> 8114 </span>    <span class="Constant">&quot;0f 82/jump-if-addr&lt;&quot;</span>/imm32/subx-name
+<span id="L8115" class="LineNr"> 8115 </span>    0/imm32/no-rm32
+<span id="L8116" class="LineNr"> 8116 </span>    0/imm32/no-r32
+<span id="L8117" class="LineNr"> 8117 </span>    0/imm32/no-imm32
+<span id="L8118" class="LineNr"> 8118 </span>    1/imm32/disp32-is-first-inout
+<span id="L8119" class="LineNr"> 8119 </span>    0/imm32/no-output
+<span id="L8120" class="LineNr"> 8120 </span>    <a href='mu.subx.html#L8121'>_Primitive-loop-if-addr&gt;=-named</a>/imm32/next
+<span id="L8121" class="LineNr"> 8121 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;=-named</span>:
+<span id="L8122" class="LineNr"> 8122 </span>    <span class="Constant">&quot;loop-if-addr&gt;=&quot;</span>/imm32/name
+<span id="L8123" class="LineNr"> 8123 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8124" class="LineNr"> 8124 </span>    0/imm32/outputs
+<span id="L8125" class="LineNr"> 8125 </span>    <span class="Constant">&quot;0f 83/jump-if-addr&gt;=&quot;</span>/imm32/subx-name
+<span id="L8126" class="LineNr"> 8126 </span>    0/imm32/no-rm32
+<span id="L8127" class="LineNr"> 8127 </span>    0/imm32/no-r32
+<span id="L8128" class="LineNr"> 8128 </span>    0/imm32/no-imm32
+<span id="L8129" class="LineNr"> 8129 </span>    1/imm32/disp32-is-first-inout
+<span id="L8130" class="LineNr"> 8130 </span>    0/imm32/no-output
+<span id="L8131" class="LineNr"> 8131 </span>    <a href='mu.subx.html#L8132'>_Primitive-loop-if-=-named</a>/imm32/next
+<span id="L8132" class="LineNr"> 8132 </span><span class="subxMinorFunction">_Primitive-loop-if-=-named</span>:
+<span id="L8133" class="LineNr"> 8133 </span>    <span class="Constant">&quot;loop-if-=&quot;</span>/imm32/name
+<span id="L8134" class="LineNr"> 8134 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8135" class="LineNr"> 8135 </span>    0/imm32/outputs
+<span id="L8136" class="LineNr"> 8136 </span>    <span class="Constant">&quot;0f 84/jump-if-=&quot;</span>/imm32/subx-name
+<span id="L8137" class="LineNr"> 8137 </span>    0/imm32/no-rm32
+<span id="L8138" class="LineNr"> 8138 </span>    0/imm32/no-r32
+<span id="L8139" class="LineNr"> 8139 </span>    0/imm32/no-imm32
+<span id="L8140" class="LineNr"> 8140 </span>    1/imm32/disp32-is-first-inout
+<span id="L8141" class="LineNr"> 8141 </span>    0/imm32/no-output
+<span id="L8142" class="LineNr"> 8142 </span>    <a href='mu.subx.html#L8143'>_Primitive-loop-if-!=-named</a>/imm32/next
+<span id="L8143" class="LineNr"> 8143 </span><span class="subxMinorFunction">_Primitive-loop-if-!=-named</span>:
+<span id="L8144" class="LineNr"> 8144 </span>    <span class="Constant">&quot;loop-if-!=&quot;</span>/imm32/name
+<span id="L8145" class="LineNr"> 8145 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8146" class="LineNr"> 8146 </span>    0/imm32/outputs
+<span id="L8147" class="LineNr"> 8147 </span>    <span class="Constant">&quot;0f 85/jump-if-!=&quot;</span>/imm32/subx-name
+<span id="L8148" class="LineNr"> 8148 </span>    0/imm32/no-rm32
+<span id="L8149" class="LineNr"> 8149 </span>    0/imm32/no-r32
+<span id="L8150" class="LineNr"> 8150 </span>    0/imm32/no-imm32
+<span id="L8151" class="LineNr"> 8151 </span>    1/imm32/disp32-is-first-inout
+<span id="L8152" class="LineNr"> 8152 </span>    0/imm32/no-output
+<span id="L8153" class="LineNr"> 8153 </span>    <a href='mu.subx.html#L8154'>_Primitive-loop-if-addr&lt;=-named</a>/imm32/next
+<span id="L8154" class="LineNr"> 8154 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&lt;=-named</span>:
+<span id="L8155" class="LineNr"> 8155 </span>    <span class="Constant">&quot;loop-if-addr&lt;=&quot;</span>/imm32/name
+<span id="L8156" class="LineNr"> 8156 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8157" class="LineNr"> 8157 </span>    0/imm32/outputs
+<span id="L8158" class="LineNr"> 8158 </span>    <span class="Constant">&quot;0f 86/jump-if-addr&lt;=&quot;</span>/imm32/subx-name
+<span id="L8159" class="LineNr"> 8159 </span>    0/imm32/no-rm32
+<span id="L8160" class="LineNr"> 8160 </span>    0/imm32/no-r32
+<span id="L8161" class="LineNr"> 8161 </span>    0/imm32/no-imm32
+<span id="L8162" class="LineNr"> 8162 </span>    1/imm32/disp32-is-first-inout
+<span id="L8163" class="LineNr"> 8163 </span>    0/imm32/no-output
+<span id="L8164" class="LineNr"> 8164 </span>    <a href='mu.subx.html#L8165'>_Primitive-loop-if-addr&gt;-named</a>/imm32/next
+<span id="L8165" class="LineNr"> 8165 </span><span class="subxMinorFunction">_Primitive-loop-if-addr&gt;-named</span>:
+<span id="L8166" class="LineNr"> 8166 </span>    <span class="Constant">&quot;loop-if-addr&gt;&quot;</span>/imm32/name
+<span id="L8167" class="LineNr"> 8167 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8168" class="LineNr"> 8168 </span>    0/imm32/outputs
+<span id="L8169" class="LineNr"> 8169 </span>    <span class="Constant">&quot;0f 87/jump-if-addr&gt;&quot;</span>/imm32/subx-name
+<span id="L8170" class="LineNr"> 8170 </span>    0/imm32/no-rm32
+<span id="L8171" class="LineNr"> 8171 </span>    0/imm32/no-r32
+<span id="L8172" class="LineNr"> 8172 </span>    0/imm32/no-imm32
+<span id="L8173" class="LineNr"> 8173 </span>    1/imm32/disp32-is-first-inout
+<span id="L8174" class="LineNr"> 8174 </span>    0/imm32/no-output
+<span id="L8175" class="LineNr"> 8175 </span>    <a href='mu.subx.html#L8176'>_Primitive-loop-if-&lt;-named</a>/imm32/next
+<span id="L8176" class="LineNr"> 8176 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;-named</span>:
+<span id="L8177" class="LineNr"> 8177 </span>    <span class="Constant">&quot;loop-if-&lt;&quot;</span>/imm32/name
+<span id="L8178" class="LineNr"> 8178 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8179" class="LineNr"> 8179 </span>    0/imm32/outputs
+<span id="L8180" class="LineNr"> 8180 </span>    <span class="Constant">&quot;0f 8c/jump-if-&lt;&quot;</span>/imm32/subx-name
+<span id="L8181" class="LineNr"> 8181 </span>    0/imm32/no-rm32
+<span id="L8182" class="LineNr"> 8182 </span>    0/imm32/no-r32
+<span id="L8183" class="LineNr"> 8183 </span>    0/imm32/no-imm32
+<span id="L8184" class="LineNr"> 8184 </span>    1/imm32/disp32-is-first-inout
+<span id="L8185" class="LineNr"> 8185 </span>    0/imm32/no-output
+<span id="L8186" class="LineNr"> 8186 </span>    <a href='mu.subx.html#L8187'>_Primitive-loop-if-&gt;=-named</a>/imm32/next
+<span id="L8187" class="LineNr"> 8187 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;=-named</span>:
+<span id="L8188" class="LineNr"> 8188 </span>    <span class="Constant">&quot;loop-if-&gt;=&quot;</span>/imm32/name
+<span id="L8189" class="LineNr"> 8189 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8190" class="LineNr"> 8190 </span>    0/imm32/outputs
+<span id="L8191" class="LineNr"> 8191 </span>    <span class="Constant">&quot;0f 8d/jump-if-&gt;=&quot;</span>/imm32/subx-name
+<span id="L8192" class="LineNr"> 8192 </span>    0/imm32/no-rm32
+<span id="L8193" class="LineNr"> 8193 </span>    0/imm32/no-r32
+<span id="L8194" class="LineNr"> 8194 </span>    0/imm32/no-imm32
+<span id="L8195" class="LineNr"> 8195 </span>    1/imm32/disp32-is-first-inout
+<span id="L8196" class="LineNr"> 8196 </span>    0/imm32/no-output
+<span id="L8197" class="LineNr"> 8197 </span>    <a href='mu.subx.html#L8198'>_Primitive-loop-if-&lt;=-named</a>/imm32/next
+<span id="L8198" class="LineNr"> 8198 </span><span class="subxMinorFunction">_Primitive-loop-if-&lt;=-named</span>:
+<span id="L8199" class="LineNr"> 8199 </span>    <span class="Constant">&quot;loop-if-&lt;=&quot;</span>/imm32/name
+<span id="L8200" class="LineNr"> 8200 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8201" class="LineNr"> 8201 </span>    0/imm32/outputs
+<span id="L8202" class="LineNr"> 8202 </span>    <span class="Constant">&quot;0f 8e/jump-if-&lt;=&quot;</span>/imm32/subx-name
+<span id="L8203" class="LineNr"> 8203 </span>    0/imm32/no-rm32
+<span id="L8204" class="LineNr"> 8204 </span>    0/imm32/no-r32
+<span id="L8205" class="LineNr"> 8205 </span>    0/imm32/no-imm32
+<span id="L8206" class="LineNr"> 8206 </span>    1/imm32/disp32-is-first-inout
+<span id="L8207" class="LineNr"> 8207 </span>    0/imm32/no-output
+<span id="L8208" class="LineNr"> 8208 </span>    <a href='mu.subx.html#L8209'>_Primitive-loop-if-&gt;-named</a>/imm32/next
+<span id="L8209" class="LineNr"> 8209 </span><span class="subxMinorFunction">_Primitive-loop-if-&gt;-named</span>:
+<span id="L8210" class="LineNr"> 8210 </span>    <span class="Constant">&quot;loop-if-&gt;&quot;</span>/imm32/name
+<span id="L8211" class="LineNr"> 8211 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8212" class="LineNr"> 8212 </span>    0/imm32/outputs
+<span id="L8213" class="LineNr"> 8213 </span>    <span class="Constant">&quot;0f 8f/jump-if-&gt;&quot;</span>/imm32/subx-name
+<span id="L8214" class="LineNr"> 8214 </span>    0/imm32/no-rm32
+<span id="L8215" class="LineNr"> 8215 </span>    0/imm32/no-r32
+<span id="L8216" class="LineNr"> 8216 </span>    0/imm32/no-imm32
+<span id="L8217" class="LineNr"> 8217 </span>    1/imm32/disp32-is-first-inout
+<span id="L8218" class="LineNr"> 8218 </span>    0/imm32/no-output
+<span id="L8219" class="LineNr"> 8219 </span>    <a href='mu.subx.html#L8220'>_Primitive-loop-named</a>/imm32/next  <span class="subxComment"># we probably don't need an unconditional break</span>
+<span id="L8220" class="LineNr"> 8220 </span><span class="subxMinorFunction">_Primitive-loop-named</span>:
+<span id="L8221" class="LineNr"> 8221 </span>    <span class="Constant">&quot;loop&quot;</span>/imm32/name
+<span id="L8222" class="LineNr"> 8222 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/inouts
+<span id="L8223" class="LineNr"> 8223 </span>    0/imm32/outputs
+<span id="L8224" class="LineNr"> 8224 </span>    <span class="Constant">&quot;e9/jump&quot;</span>/imm32/subx-name
+<span id="L8225" class="LineNr"> 8225 </span>    0/imm32/no-rm32
+<span id="L8226" class="LineNr"> 8226 </span>    0/imm32/no-r32
+<span id="L8227" class="LineNr"> 8227 </span>    0/imm32/no-imm32
+<span id="L8228" class="LineNr"> 8228 </span>    1/imm32/disp32-is-first-inout
+<span id="L8229" class="LineNr"> 8229 </span>    0/imm32/no-output
+<span id="L8230" class="LineNr"> 8230 </span>    0/imm32/next
+<span id="L8231" class="LineNr"> 8231 </span>
+<span id="L8232" class="LineNr"> 8232 </span><span class="SpecialChar">Single-int-var-in-mem</span>:
+<span id="L8233" class="LineNr"> 8233 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Int-var-in-mem</a></span>/imm32
 <span id="L8234" class="LineNr"> 8234 </span>    0/imm32/next
 <span id="L8235" class="LineNr"> 8235 </span>
-<span id="L8236" class="LineNr"> 8236 </span><span class="SpecialChar">Single-int-var-in-mem</span>:
-<span id="L8237" class="LineNr"> 8237 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8240'>Int-var-in-mem</a></span>/imm32
-<span id="L8238" class="LineNr"> 8238 </span>    0/imm32/next
-<span id="L8239" class="LineNr"> 8239 </span>
-<span id="L8240" class="LineNr"> 8240 </span><span class="SpecialChar">Int-var-in-mem</span>:
-<span id="L8241" class="LineNr"> 8241 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8242" class="LineNr"> 8242 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8243" class="LineNr"> 8243 </span>    1/imm32/some-block-depth
-<span id="L8244" class="LineNr"> 8244 </span>    1/imm32/some-stack-offset
-<span id="L8245" class="LineNr"> 8245 </span>    0/imm32/no-register
+<span id="L8236" class="LineNr"> 8236 </span><span class="SpecialChar">Int-var-in-mem</span>:
+<span id="L8237" class="LineNr"> 8237 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8238" class="LineNr"> 8238 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8239" class="LineNr"> 8239 </span>    1/imm32/some-block-depth
+<span id="L8240" class="LineNr"> 8240 </span>    1/imm32/some-stack-offset
+<span id="L8241" class="LineNr"> 8241 </span>    0/imm32/no-register
+<span id="L8242" class="LineNr"> 8242 </span>
+<span id="L8243" class="LineNr"> 8243 </span><span class="SpecialChar">Two-args-int-stack-int-reg</span>:
+<span id="L8244" class="LineNr"> 8244 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Int-var-in-mem</a></span>/imm32
+<span id="L8245" class="LineNr"> 8245 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8263'>Single-int-var-in-some-register</a></span>/imm32/next
 <span id="L8246" class="LineNr"> 8246 </span>
-<span id="L8247" class="LineNr"> 8247 </span><span class="SpecialChar">Two-args-int-stack-int-reg</span>:
-<span id="L8248" class="LineNr"> 8248 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8240'>Int-var-in-mem</a></span>/imm32
-<span id="L8249" class="LineNr"> 8249 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Single-int-var-in-some-register</a></span>/imm32/next
+<span id="L8247" class="LineNr"> 8247 </span><span class="SpecialChar">Two-args-int-reg-int-stack</span>:
+<span id="L8248" class="LineNr"> 8248 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Int-var-in-some-register</a></span>/imm32
+<span id="L8249" class="LineNr"> 8249 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8232'>Single-int-var-in-mem</a></span>/imm32/next
 <span id="L8250" class="LineNr"> 8250 </span>
-<span id="L8251" class="LineNr"> 8251 </span><span class="SpecialChar">Two-args-int-reg-int-stack</span>:
-<span id="L8252" class="LineNr"> 8252 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8271'>Int-var-in-some-register</a></span>/imm32
-<span id="L8253" class="LineNr"> 8253 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Single-int-var-in-mem</a></span>/imm32/next
+<span id="L8251" class="LineNr"> 8251 </span><span class="SpecialChar">Two-args-int-eax-int-literal</span>:
+<span id="L8252" class="LineNr"> 8252 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Int-var-in-eax</a></span>/imm32
+<span id="L8253" class="LineNr"> 8253 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/next
 <span id="L8254" class="LineNr"> 8254 </span>
-<span id="L8255" class="LineNr"> 8255 </span><span class="SpecialChar">Two-args-int-eax-int-literal</span>:
-<span id="L8256" class="LineNr"> 8256 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8282'>Int-var-in-eax</a></span>/imm32
-<span id="L8257" class="LineNr"> 8257 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/next
+<span id="L8255" class="LineNr"> 8255 </span><span class="SpecialChar">Int-var-and-literal</span>:
+<span id="L8256" class="LineNr"> 8256 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8236'>Int-var-in-mem</a></span>/imm32
+<span id="L8257" class="LineNr"> 8257 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/next
 <span id="L8258" class="LineNr"> 8258 </span>
-<span id="L8259" class="LineNr"> 8259 </span><span class="SpecialChar">Int-var-and-literal</span>:
-<span id="L8260" class="LineNr"> 8260 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8240'>Int-var-in-mem</a></span>/imm32
-<span id="L8261" class="LineNr"> 8261 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/next
+<span id="L8259" class="LineNr"> 8259 </span><span class="SpecialChar">Int-var-in-register-and-literal</span>:
+<span id="L8260" class="LineNr"> 8260 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Int-var-in-some-register</a></span>/imm32
+<span id="L8261" class="LineNr"> 8261 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8340'>Single-lit-var</a></span>/imm32/next
 <span id="L8262" class="LineNr"> 8262 </span>
-<span id="L8263" class="LineNr"> 8263 </span><span class="SpecialChar">Int-var-in-register-and-literal</span>:
-<span id="L8264" class="LineNr"> 8264 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8271'>Int-var-in-some-register</a></span>/imm32
-<span id="L8265" class="LineNr"> 8265 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Single-lit-var</a></span>/imm32/next
+<span id="L8263" class="LineNr"> 8263 </span><span class="SpecialChar">Single-int-var-in-some-register</span>:
+<span id="L8264" class="LineNr"> 8264 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8267'>Int-var-in-some-register</a></span>/imm32
+<span id="L8265" class="LineNr"> 8265 </span>    0/imm32/next
 <span id="L8266" class="LineNr"> 8266 </span>
-<span id="L8267" class="LineNr"> 8267 </span><span class="SpecialChar">Single-int-var-in-some-register</span>:
-<span id="L8268" class="LineNr"> 8268 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8271'>Int-var-in-some-register</a></span>/imm32
-<span id="L8269" class="LineNr"> 8269 </span>    0/imm32/next
-<span id="L8270" class="LineNr"> 8270 </span>
-<span id="L8271" class="LineNr"> 8271 </span><span class="SpecialChar">Int-var-in-some-register</span>:
-<span id="L8272" class="LineNr"> 8272 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8273" class="LineNr"> 8273 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8274" class="LineNr"> 8274 </span>    1/imm32/some-block-depth
-<span id="L8275" class="LineNr"> 8275 </span>    0/imm32/no-stack-offset
-<span id="L8276" class="LineNr"> 8276 </span>    <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
+<span id="L8267" class="LineNr"> 8267 </span><span class="SpecialChar">Int-var-in-some-register</span>:
+<span id="L8268" class="LineNr"> 8268 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8269" class="LineNr"> 8269 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8270" class="LineNr"> 8270 </span>    1/imm32/some-block-depth
+<span id="L8271" class="LineNr"> 8271 </span>    0/imm32/no-stack-offset
+<span id="L8272" class="LineNr"> 8272 </span>    <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
+<span id="L8273" class="LineNr"> 8273 </span>
+<span id="L8274" class="LineNr"> 8274 </span><span class="SpecialChar">Single-int-var-in-eax</span>:
+<span id="L8275" class="LineNr"> 8275 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8278'>Int-var-in-eax</a></span>/imm32
+<span id="L8276" class="LineNr"> 8276 </span>    0/imm32/next
 <span id="L8277" class="LineNr"> 8277 </span>
-<span id="L8278" class="LineNr"> 8278 </span><span class="SpecialChar">Single-int-var-in-eax</span>:
-<span id="L8279" class="LineNr"> 8279 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8282'>Int-var-in-eax</a></span>/imm32
-<span id="L8280" class="LineNr"> 8280 </span>    0/imm32/next
-<span id="L8281" class="LineNr"> 8281 </span>
-<span id="L8282" class="LineNr"> 8282 </span><span class="SpecialChar">Int-var-in-eax</span>:
-<span id="L8283" class="LineNr"> 8283 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8284" class="LineNr"> 8284 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8285" class="LineNr"> 8285 </span>    1/imm32/some-block-depth
-<span id="L8286" class="LineNr"> 8286 </span>    0/imm32/no-stack-offset
-<span id="L8287" class="LineNr"> 8287 </span>    <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L8278" class="LineNr"> 8278 </span><span class="SpecialChar">Int-var-in-eax</span>:
+<span id="L8279" class="LineNr"> 8279 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8280" class="LineNr"> 8280 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8281" class="LineNr"> 8281 </span>    1/imm32/some-block-depth
+<span id="L8282" class="LineNr"> 8282 </span>    0/imm32/no-stack-offset
+<span id="L8283" class="LineNr"> 8283 </span>    <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L8284" class="LineNr"> 8284 </span>
+<span id="L8285" class="LineNr"> 8285 </span><span class="SpecialChar">Single-int-var-in-ecx</span>:
+<span id="L8286" class="LineNr"> 8286 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8289'>Int-var-in-ecx</a></span>/imm32
+<span id="L8287" class="LineNr"> 8287 </span>    0/imm32/next
 <span id="L8288" class="LineNr"> 8288 </span>
-<span id="L8289" class="LineNr"> 8289 </span><span class="SpecialChar">Single-int-var-in-ecx</span>:
-<span id="L8290" class="LineNr"> 8290 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8293'>Int-var-in-ecx</a></span>/imm32
-<span id="L8291" class="LineNr"> 8291 </span>    0/imm32/next
-<span id="L8292" class="LineNr"> 8292 </span>
-<span id="L8293" class="LineNr"> 8293 </span><span class="SpecialChar">Int-var-in-ecx</span>:
-<span id="L8294" class="LineNr"> 8294 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8295" class="LineNr"> 8295 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8296" class="LineNr"> 8296 </span>    1/imm32/some-block-depth
-<span id="L8297" class="LineNr"> 8297 </span>    0/imm32/no-stack-offset
-<span id="L8298" class="LineNr"> 8298 </span>    <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L8289" class="LineNr"> 8289 </span><span class="SpecialChar">Int-var-in-ecx</span>:
+<span id="L8290" class="LineNr"> 8290 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8291" class="LineNr"> 8291 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8292" class="LineNr"> 8292 </span>    1/imm32/some-block-depth
+<span id="L8293" class="LineNr"> 8293 </span>    0/imm32/no-stack-offset
+<span id="L8294" class="LineNr"> 8294 </span>    <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L8295" class="LineNr"> 8295 </span>
+<span id="L8296" class="LineNr"> 8296 </span><span class="SpecialChar">Single-int-var-in-edx</span>:
+<span id="L8297" class="LineNr"> 8297 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8300'>Int-var-in-edx</a></span>/imm32
+<span id="L8298" class="LineNr"> 8298 </span>    0/imm32/next
 <span id="L8299" class="LineNr"> 8299 </span>
-<span id="L8300" class="LineNr"> 8300 </span><span class="SpecialChar">Single-int-var-in-edx</span>:
-<span id="L8301" class="LineNr"> 8301 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8304'>Int-var-in-edx</a></span>/imm32
-<span id="L8302" class="LineNr"> 8302 </span>    0/imm32/next
-<span id="L8303" class="LineNr"> 8303 </span>
-<span id="L8304" class="LineNr"> 8304 </span><span class="SpecialChar">Int-var-in-edx</span>:
-<span id="L8305" class="LineNr"> 8305 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8306" class="LineNr"> 8306 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8307" class="LineNr"> 8307 </span>    1/imm32/some-block-depth
-<span id="L8308" class="LineNr"> 8308 </span>    0/imm32/no-stack-offset
-<span id="L8309" class="LineNr"> 8309 </span>    <span class="Constant">&quot;edx&quot;</span>/imm32/register
+<span id="L8300" class="LineNr"> 8300 </span><span class="SpecialChar">Int-var-in-edx</span>:
+<span id="L8301" class="LineNr"> 8301 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8302" class="LineNr"> 8302 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8303" class="LineNr"> 8303 </span>    1/imm32/some-block-depth
+<span id="L8304" class="LineNr"> 8304 </span>    0/imm32/no-stack-offset
+<span id="L8305" class="LineNr"> 8305 </span>    <span class="Constant">&quot;edx&quot;</span>/imm32/register
+<span id="L8306" class="LineNr"> 8306 </span>
+<span id="L8307" class="LineNr"> 8307 </span><span class="SpecialChar">Single-int-var-in-ebx</span>:
+<span id="L8308" class="LineNr"> 8308 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8311'>Int-var-in-ebx</a></span>/imm32
+<span id="L8309" class="LineNr"> 8309 </span>    0/imm32/next
 <span id="L8310" class="LineNr"> 8310 </span>
-<span id="L8311" class="LineNr"> 8311 </span><span class="SpecialChar">Single-int-var-in-ebx</span>:
-<span id="L8312" class="LineNr"> 8312 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8315'>Int-var-in-ebx</a></span>/imm32
-<span id="L8313" class="LineNr"> 8313 </span>    0/imm32/next
-<span id="L8314" class="LineNr"> 8314 </span>
-<span id="L8315" class="LineNr"> 8315 </span><span class="SpecialChar">Int-var-in-ebx</span>:
-<span id="L8316" class="LineNr"> 8316 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8317" class="LineNr"> 8317 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8318" class="LineNr"> 8318 </span>    1/imm32/some-block-depth
-<span id="L8319" class="LineNr"> 8319 </span>    0/imm32/no-stack-offset
-<span id="L8320" class="LineNr"> 8320 </span>    <span class="Constant">&quot;ebx&quot;</span>/imm32/register
+<span id="L8311" class="LineNr"> 8311 </span><span class="SpecialChar">Int-var-in-ebx</span>:
+<span id="L8312" class="LineNr"> 8312 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8313" class="LineNr"> 8313 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8314" class="LineNr"> 8314 </span>    1/imm32/some-block-depth
+<span id="L8315" class="LineNr"> 8315 </span>    0/imm32/no-stack-offset
+<span id="L8316" class="LineNr"> 8316 </span>    <span class="Constant">&quot;ebx&quot;</span>/imm32/register
+<span id="L8317" class="LineNr"> 8317 </span>
+<span id="L8318" class="LineNr"> 8318 </span><span class="SpecialChar">Single-int-var-in-esi</span>:
+<span id="L8319" class="LineNr"> 8319 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8322'>Int-var-in-esi</a></span>/imm32
+<span id="L8320" class="LineNr"> 8320 </span>    0/imm32/next
 <span id="L8321" class="LineNr"> 8321 </span>
-<span id="L8322" class="LineNr"> 8322 </span><span class="SpecialChar">Single-int-var-in-esi</span>:
-<span id="L8323" class="LineNr"> 8323 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8326'>Int-var-in-esi</a></span>/imm32
-<span id="L8324" class="LineNr"> 8324 </span>    0/imm32/next
-<span id="L8325" class="LineNr"> 8325 </span>
-<span id="L8326" class="LineNr"> 8326 </span><span class="SpecialChar">Int-var-in-esi</span>:
-<span id="L8327" class="LineNr"> 8327 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8328" class="LineNr"> 8328 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8329" class="LineNr"> 8329 </span>    1/imm32/some-block-depth
-<span id="L8330" class="LineNr"> 8330 </span>    0/imm32/no-stack-offset
-<span id="L8331" class="LineNr"> 8331 </span>    <span class="Constant">&quot;esi&quot;</span>/imm32/register
+<span id="L8322" class="LineNr"> 8322 </span><span class="SpecialChar">Int-var-in-esi</span>:
+<span id="L8323" class="LineNr"> 8323 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8324" class="LineNr"> 8324 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8325" class="LineNr"> 8325 </span>    1/imm32/some-block-depth
+<span id="L8326" class="LineNr"> 8326 </span>    0/imm32/no-stack-offset
+<span id="L8327" class="LineNr"> 8327 </span>    <span class="Constant">&quot;esi&quot;</span>/imm32/register
+<span id="L8328" class="LineNr"> 8328 </span>
+<span id="L8329" class="LineNr"> 8329 </span><span class="SpecialChar">Single-int-var-in-edi</span>:
+<span id="L8330" class="LineNr"> 8330 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8333'>Int-var-in-edi</a></span>/imm32
+<span id="L8331" class="LineNr"> 8331 </span>    0/imm32/next
 <span id="L8332" class="LineNr"> 8332 </span>
-<span id="L8333" class="LineNr"> 8333 </span><span class="SpecialChar">Single-int-var-in-edi</span>:
-<span id="L8334" class="LineNr"> 8334 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8337'>Int-var-in-edi</a></span>/imm32
-<span id="L8335" class="LineNr"> 8335 </span>    0/imm32/next
-<span id="L8336" class="LineNr"> 8336 </span>
-<span id="L8337" class="LineNr"> 8337 </span><span class="SpecialChar">Int-var-in-edi</span>:
-<span id="L8338" class="LineNr"> 8338 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
-<span id="L8339" class="LineNr"> 8339 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-int</a></span>/imm32
-<span id="L8340" class="LineNr"> 8340 </span>    1/imm32/some-block-depth
-<span id="L8341" class="LineNr"> 8341 </span>    0/imm32/no-stack-offset
-<span id="L8342" class="LineNr"> 8342 </span>    <span class="Constant">&quot;edi&quot;</span>/imm32/register
+<span id="L8333" class="LineNr"> 8333 </span><span class="SpecialChar">Int-var-in-edi</span>:
+<span id="L8334" class="LineNr"> 8334 </span>    <span class="Constant">&quot;arg1&quot;</span>/imm32/name
+<span id="L8335" class="LineNr"> 8335 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8351'>Type-int</a></span>/imm32
+<span id="L8336" class="LineNr"> 8336 </span>    1/imm32/some-block-depth
+<span id="L8337" class="LineNr"> 8337 </span>    0/imm32/no-stack-offset
+<span id="L8338" class="LineNr"> 8338 </span>    <span class="Constant">&quot;edi&quot;</span>/imm32/register
+<span id="L8339" class="LineNr"> 8339 </span>
+<span id="L8340" class="LineNr"> 8340 </span><span class="SpecialChar">Single-lit-var</span>:
+<span id="L8341" class="LineNr"> 8341 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8344'>Lit-var</a></span>/imm32
+<span id="L8342" class="LineNr"> 8342 </span>    0/imm32/next
 <span id="L8343" class="LineNr"> 8343 </span>
-<span id="L8344" class="LineNr"> 8344 </span><span class="SpecialChar">Single-lit-var</span>:
-<span id="L8345" class="LineNr"> 8345 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8348'>Lit-var</a></span>/imm32
-<span id="L8346" class="LineNr"> 8346 </span>    0/imm32/next
-<span id="L8347" class="LineNr"> 8347 </span>
-<span id="L8348" class="LineNr"> 8348 </span><span class="SpecialChar">Lit-var</span>:
-<span id="L8349" class="LineNr"> 8349 </span>    <span class="Constant">&quot;literal&quot;</span>/imm32/name
-<span id="L8350" class="LineNr"> 8350 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8359'>Type-literal</a></span>/imm32
-<span id="L8351" class="LineNr"> 8351 </span>    1/imm32/some-block-depth
-<span id="L8352" class="LineNr"> 8352 </span>    0/imm32/no-stack-offset
-<span id="L8353" class="LineNr"> 8353 </span>    0/imm32/no-register
+<span id="L8344" class="LineNr"> 8344 </span><span class="SpecialChar">Lit-var</span>:
+<span id="L8345" class="LineNr"> 8345 </span>    <span class="Constant">&quot;literal&quot;</span>/imm32/name
+<span id="L8346" class="LineNr"> 8346 </span>    <span class="SpecialChar"><a href='mu.subx.html#L8355'>Type-literal</a></span>/imm32
+<span id="L8347" class="LineNr"> 8347 </span>    1/imm32/some-block-depth
+<span id="L8348" class="LineNr"> 8348 </span>    0/imm32/no-stack-offset
+<span id="L8349" class="LineNr"> 8349 </span>    0/imm32/no-register
+<span id="L8350" class="LineNr"> 8350 </span>
+<span id="L8351" class="LineNr"> 8351 </span><span class="SpecialChar">Type-int</span>:
+<span id="L8352" class="LineNr"> 8352 </span>    1/imm32/left/int
+<span id="L8353" class="LineNr"> 8353 </span>    0/imm32/right/null
 <span id="L8354" class="LineNr"> 8354 </span>
-<span id="L8355" class="LineNr"> 8355 </span><span class="SpecialChar">Type-int</span>:
-<span id="L8356" class="LineNr"> 8356 </span>    1/imm32/left/int
+<span id="L8355" class="LineNr"> 8355 </span><span class="SpecialChar">Type-literal</span>:
+<span id="L8356" class="LineNr"> 8356 </span>    0/imm32/left/literal
 <span id="L8357" class="LineNr"> 8357 </span>    0/imm32/right/null
 <span id="L8358" class="LineNr"> 8358 </span>
-<span id="L8359" class="LineNr"> 8359 </span><span class="SpecialChar">Type-literal</span>:
-<span id="L8360" class="LineNr"> 8360 </span>    0/imm32/left/literal
-<span id="L8361" class="LineNr"> 8361 </span>    0/imm32/right/null
-<span id="L8362" class="LineNr"> 8362 </span>
-<span id="L8363" class="LineNr"> 8363 </span>== code
-<span id="L8364" class="LineNr"> 8364 </span><span class="subxFunction">emit-subx-primitive</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt), primitive: (handle function)</span>
-<span id="L8365" class="LineNr"> 8365 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8366" class="LineNr"> 8366 </span>    55/push-ebp
-<span id="L8367" class="LineNr"> 8367 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8368" class="LineNr"> 8368 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8369" class="LineNr"> 8369 </span>    50/push-eax
-<span id="L8370" class="LineNr"> 8370 </span>    51/push-ecx
-<span id="L8371" class="LineNr"> 8371 </span>    <span class="subxComment"># ecx = primitive</span>
-<span id="L8372" class="LineNr"> 8372 </span>    8b/-&gt; *(ebp+0x10) 1/r32/ecx
-<span id="L8373" class="LineNr"> 8373 </span>    <span class="subxComment"># emit primitive name</span>
-<span id="L8374" class="LineNr"> 8374 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
-<span id="L8375" class="LineNr"> 8375 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+0xc))  <span class="subxComment"># Primitive-subx-name</span>
-<span id="L8376" class="LineNr"> 8376 </span>    <span class="subxComment"># emit rm32 if necessary</span>
-<span id="L8377" class="LineNr"> 8377 </span>    (<a href='mu.subx.html#L8394'>emit-subx-rm32</a> *(ebp+8) *(ecx+0x10) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-rm32, stmt</span>
-<span id="L8378" class="LineNr"> 8378 </span>    <span class="subxComment"># emit r32 if necessary</span>
-<span id="L8379" class="LineNr"> 8379 </span>    (<a href='mu.subx.html#L8471'>emit-subx-r32</a> *(ebp+8) *(ecx+0x14) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-r32, stmt</span>
-<span id="L8380" class="LineNr"> 8380 </span>    <span class="subxComment"># emit imm32 if necessary</span>
-<span id="L8381" class="LineNr"> 8381 </span>    (<a href='mu.subx.html#L8497'>emit-subx-imm32</a> *(ebp+8) *(ecx+0x18) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-imm32, stmt</span>
-<span id="L8382" class="LineNr"> 8382 </span>    <span class="subxComment"># emit disp32 if necessary</span>
-<span id="L8383" class="LineNr"> 8383 </span>    (<a href='mu.subx.html#L8522'>emit-subx-disp32</a> *(ebp+8) *(ecx+0x1c) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-disp32, stmt</span>
-<span id="L8384" class="LineNr"> 8384 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
-<span id="L8385" class="LineNr"> 8385 </span><span class="Constant">$emit-subx-primitive:end</span>:
-<span id="L8386" class="LineNr"> 8386 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8387" class="LineNr"> 8387 </span>    59/pop-to-ecx
-<span id="L8388" class="LineNr"> 8388 </span>    58/pop-to-eax
-<span id="L8389" class="LineNr"> 8389 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8390" class="LineNr"> 8390 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8391" class="LineNr"> 8391 </span>    5d/pop-to-ebp
-<span id="L8392" class="LineNr"> 8392 </span>    c3/return
-<span id="L8393" class="LineNr"> 8393 </span>
-<span id="L8394" class="LineNr"> 8394 </span><span class="subxFunction">emit-subx-rm32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
-<span id="L8395" class="LineNr"> 8395 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8396" class="LineNr"> 8396 </span>    55/push-ebp
-<span id="L8397" class="LineNr"> 8397 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8398" class="LineNr"> 8398 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8399" class="LineNr"> 8399 </span>    50/push-eax
-<span id="L8400" class="LineNr"> 8400 </span>    <span class="subxComment"># if (l == 0) return</span>
-<span id="L8401" class="LineNr"> 8401 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L8402" class="LineNr"> 8402 </span>    74/jump-if-= $emit-subx-rm32:end/disp8
-<span id="L8403" class="LineNr"> 8403 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
-<span id="L8404" class="LineNr"> 8404 </span>    (<a href='mu.subx.html#L8414'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
-<span id="L8405" class="LineNr"> 8405 </span>    (<a href='mu.subx.html#L8705'>emit-subx-var-as-rm32</a> *(ebp+8) %eax)
-<span id="L8406" class="LineNr"> 8406 </span><span class="Constant">$emit-subx-rm32:end</span>:
-<span id="L8407" class="LineNr"> 8407 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8408" class="LineNr"> 8408 </span>    58/pop-to-eax
-<span id="L8409" class="LineNr"> 8409 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8410" class="LineNr"> 8410 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8411" class="LineNr"> 8411 </span>    5d/pop-to-ebp
-<span id="L8412" class="LineNr"> 8412 </span>    c3/return
-<span id="L8413" class="LineNr"> 8413 </span>
-<span id="L8414" class="LineNr"> 8414 </span><span class="subxFunction">get-stmt-operand-from-arg-location</span>:  <span class="subxComment"># stmt: (handle stmt), l: arg-location -&gt; var/eax: (handle stmt-var)</span>
-<span id="L8415" class="LineNr"> 8415 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8416" class="LineNr"> 8416 </span>    55/push-ebp
-<span id="L8417" class="LineNr"> 8417 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8418" class="LineNr"> 8418 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8419" class="LineNr"> 8419 </span>    51/push-ecx
-<span id="L8420" class="LineNr"> 8420 </span>    <span class="subxComment"># eax = l</span>
-<span id="L8421" class="LineNr"> 8421 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
-<span id="L8422" class="LineNr"> 8422 </span>    <span class="subxComment"># ecx = stmt</span>
-<span id="L8423" class="LineNr"> 8423 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8424" class="LineNr"> 8424 </span>    <span class="subxComment"># if (l == 1) return stmt-&gt;inouts</span>
-<span id="L8425" class="LineNr"> 8425 </span>    {
-<span id="L8426" class="LineNr"> 8426 </span>      3d/compare-eax-and 1/imm32
-<span id="L8427" class="LineNr"> 8427 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8428" class="LineNr"> 8428 </span><span class="Constant">$get-stmt-operand-from-arg-location:1</span>:
-<span id="L8429" class="LineNr"> 8429 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
-<span id="L8430" class="LineNr"> 8430 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
-<span id="L8431" class="LineNr"> 8431 </span>    }
-<span id="L8432" class="LineNr"> 8432 </span>    <span class="subxComment"># if (l == 2) return stmt-&gt;inouts-&gt;next</span>
-<span id="L8433" class="LineNr"> 8433 </span>    {
-<span id="L8434" class="LineNr"> 8434 </span>      3d/compare-eax-and 2/imm32
-<span id="L8435" class="LineNr"> 8435 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8436" class="LineNr"> 8436 </span><span class="Constant">$get-stmt-operand-from-arg-location:2</span>:
-<span id="L8437" class="LineNr"> 8437 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
-<span id="L8438" class="LineNr"> 8438 </span>      8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8439" class="LineNr"> 8439 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
-<span id="L8440" class="LineNr"> 8440 </span>    }
-<span id="L8441" class="LineNr"> 8441 </span>    <span class="subxComment"># if (l == 3) return stmt-&gt;outputs</span>
-<span id="L8442" class="LineNr"> 8442 </span>    {
-<span id="L8443" class="LineNr"> 8443 </span>      3d/compare-eax-and 3/imm32
-<span id="L8444" class="LineNr"> 8444 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8445" class="LineNr"> 8445 </span><span class="Constant">$get-stmt-operand-from-arg-location:3</span>:
-<span id="L8446" class="LineNr"> 8446 </span>      8b/-&gt; *(ecx+0xc) 0/r32/eax  <span class="subxComment"># Stmt1-outputs</span>
-<span id="L8447" class="LineNr"> 8447 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
-<span id="L8448" class="LineNr"> 8448 </span>    }
-<span id="L8449" class="LineNr"> 8449 </span>    <span class="subxComment"># abort</span>
-<span id="L8450" class="LineNr"> 8450 </span>    e9/jump $get-stmt-operand-from-arg-location:abort/disp32
-<span id="L8451" class="LineNr"> 8451 </span><span class="Constant">$get-stmt-operand-from-arg-location:end</span>:
-<span id="L8452" class="LineNr"> 8452 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8453" class="LineNr"> 8453 </span>    59/pop-to-ecx
-<span id="L8454" class="LineNr"> 8454 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8455" class="LineNr"> 8455 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8456" class="LineNr"> 8456 </span>    5d/pop-to-ebp
-<span id="L8457" class="LineNr"> 8457 </span>    c3/return
-<span id="L8458" class="LineNr"> 8458 </span>
-<span id="L8459" class="LineNr"> 8459 </span><span class="Constant">$get-stmt-operand-from-arg-location:abort</span>:
-<span id="L8460" class="LineNr"> 8460 </span>    <span class="subxComment"># error(&quot;invalid arg-location &quot; eax)</span>
-<span id="L8461" class="LineNr"> 8461 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">&quot;invalid arg-location &quot;</span>)
-<span id="L8462" class="LineNr"> 8462 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %eax)
-<span id="L8463" class="LineNr"> 8463 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
-<span id="L8464" class="LineNr"> 8464 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>)
-<span id="L8465" class="LineNr"> 8465 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
-<span id="L8466" class="LineNr"> 8466 </span>    bb/copy-to-ebx  1/imm32
-<span id="L8467" class="LineNr"> 8467 </span>    b8/copy-to-eax  1/imm32/exit
-<span id="L8468" class="LineNr"> 8468 </span>    cd/syscall  0x80/imm8
-<span id="L8469" class="LineNr"> 8469 </span>    <span class="subxComment"># never gets here</span>
-<span id="L8470" class="LineNr"> 8470 </span>
-<span id="L8471" class="LineNr"> 8471 </span><span class="subxFunction">emit-subx-r32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
-<span id="L8472" class="LineNr"> 8472 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8473" class="LineNr"> 8473 </span>    55/push-ebp
-<span id="L8474" class="LineNr"> 8474 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8475" class="LineNr"> 8475 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8476" class="LineNr"> 8476 </span>    50/push-eax
-<span id="L8477" class="LineNr"> 8477 </span>    51/push-ecx
-<span id="L8478" class="LineNr"> 8478 </span>    <span class="subxComment"># if (location == 0) return</span>
-<span id="L8479" class="LineNr"> 8479 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L8480" class="LineNr"> 8480 </span>    0f 84/jump-if-= $emit-subx-r32:end/disp32
-<span id="L8481" class="LineNr"> 8481 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
-<span id="L8482" class="LineNr"> 8482 </span>    (<a href='mu.subx.html#L8414'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
-<span id="L8483" class="LineNr"> 8483 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8484" class="LineNr"> 8484 </span>    (<a href='../081table.subx.html#L1382'>maybe-get</a> <span class="SpecialChar"><a href='../090register-names.subx.html#L2'>Registers</a></span> *(eax+0x10) 8)  <span class="subxComment"># Var-register =&gt; eax: (addr register-index)</span>
-<span id="L8485" class="LineNr"> 8485 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8486" class="LineNr"> 8486 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *eax)
-<span id="L8487" class="LineNr"> 8487 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/r32&quot;</span>)
-<span id="L8488" class="LineNr"> 8488 </span><span class="Constant">$emit-subx-r32:end</span>:
-<span id="L8489" class="LineNr"> 8489 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8490" class="LineNr"> 8490 </span>    59/pop-to-ecx
-<span id="L8491" class="LineNr"> 8491 </span>    58/pop-to-eax
-<span id="L8492" class="LineNr"> 8492 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8493" class="LineNr"> 8493 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8494" class="LineNr"> 8494 </span>    5d/pop-to-ebp
-<span id="L8495" class="LineNr"> 8495 </span>    c3/return
-<span id="L8496" class="LineNr"> 8496 </span>
-<span id="L8497" class="LineNr"> 8497 </span><span class="subxFunction">emit-subx-imm32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
-<span id="L8498" class="LineNr"> 8498 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8499" class="LineNr"> 8499 </span>    55/push-ebp
-<span id="L8500" class="LineNr"> 8500 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8501" class="LineNr"> 8501 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8502" class="LineNr"> 8502 </span>    50/push-eax
-<span id="L8503" class="LineNr"> 8503 </span>    51/push-ecx
-<span id="L8504" class="LineNr"> 8504 </span>    <span class="subxComment"># if (location == 0) return</span>
-<span id="L8505" class="LineNr"> 8505 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L8506" class="LineNr"> 8506 </span>    74/jump-if-= $emit-subx-imm32:end/disp8
-<span id="L8507" class="LineNr"> 8507 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
-<span id="L8508" class="LineNr"> 8508 </span>    (<a href='mu.subx.html#L8414'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
-<span id="L8509" class="LineNr"> 8509 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8510" class="LineNr"> 8510 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8511" class="LineNr"> 8511 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)  <span class="subxComment"># Var-name</span>
-<span id="L8512" class="LineNr"> 8512 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/imm32&quot;</span>)
-<span id="L8513" class="LineNr"> 8513 </span><span class="Constant">$emit-subx-imm32:end</span>:
-<span id="L8514" class="LineNr"> 8514 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8515" class="LineNr"> 8515 </span>    59/pop-to-ecx
-<span id="L8516" class="LineNr"> 8516 </span>    58/pop-to-eax
-<span id="L8517" class="LineNr"> 8517 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8518" class="LineNr"> 8518 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8519" class="LineNr"> 8519 </span>    5d/pop-to-ebp
-<span id="L8520" class="LineNr"> 8520 </span>    c3/return
-<span id="L8521" class="LineNr"> 8521 </span>
-<span id="L8522" class="LineNr"> 8522 </span><span class="subxFunction">emit-subx-disp32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
-<span id="L8523" class="LineNr"> 8523 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8524" class="LineNr"> 8524 </span>    55/push-ebp
-<span id="L8525" class="LineNr"> 8525 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8526" class="LineNr"> 8526 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8527" class="LineNr"> 8527 </span>    50/push-eax
-<span id="L8528" class="LineNr"> 8528 </span>    51/push-ecx
-<span id="L8529" class="LineNr"> 8529 </span>    <span class="subxComment"># if (location == 0) return</span>
-<span id="L8530" class="LineNr"> 8530 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L8531" class="LineNr"> 8531 </span>    0f 84/jump-if-= $emit-subx-disp32:end/disp32
-<span id="L8532" class="LineNr"> 8532 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
-<span id="L8533" class="LineNr"> 8533 </span>    (<a href='mu.subx.html#L8414'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
-<span id="L8534" class="LineNr"> 8534 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8535" class="LineNr"> 8535 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8536" class="LineNr"> 8536 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)  <span class="subxComment"># Var-name</span>
-<span id="L8537" class="LineNr"> 8537 </span>    <span class="subxComment"># hack: if instruction operation starts with &quot;break&quot;, emit &quot;:break&quot;</span>
-<span id="L8538" class="LineNr"> 8538 </span>    <span class="subxComment"># var name/ecx: (addr array byte) = stmt-&gt;operation</span>
-<span id="L8539" class="LineNr"> 8539 </span>    8b/-&gt; *(ebp+0x10) 0/r32/eax
-<span id="L8540" class="LineNr"> 8540 </span>    8b/-&gt; *(eax+4) 1/r32/ecx
-<span id="L8541" class="LineNr"> 8541 </span>    {
-<span id="L8542" class="LineNr"> 8542 </span>      (<a href='../054string-equal.subx.html#L58'>string-starts-with?</a> %ecx <span class="Constant">&quot;break&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
-<span id="L8543" class="LineNr"> 8543 </span>      3d/compare-eax-and 0/imm32/false
-<span id="L8544" class="LineNr"> 8544 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8545" class="LineNr"> 8545 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:break&quot;</span>)
-<span id="L8546" class="LineNr"> 8546 </span>    }
-<span id="L8547" class="LineNr"> 8547 </span>    <span class="subxComment"># hack: if instruction operation starts with &quot;loop&quot;, emit &quot;:loop&quot;</span>
-<span id="L8548" class="LineNr"> 8548 </span>    {
-<span id="L8549" class="LineNr"> 8549 </span>      (<a href='../054string-equal.subx.html#L58'>string-starts-with?</a> %ecx <span class="Constant">&quot;loop&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
-<span id="L8550" class="LineNr"> 8550 </span>      3d/compare-eax-and 0/imm32/false
-<span id="L8551" class="LineNr"> 8551 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8552" class="LineNr"> 8552 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:loop&quot;</span>)
-<span id="L8553" class="LineNr"> 8553 </span>    }
-<span id="L8554" class="LineNr"> 8554 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/disp32&quot;</span>)
-<span id="L8555" class="LineNr"> 8555 </span><span class="Constant">$emit-subx-disp32:end</span>:
-<span id="L8556" class="LineNr"> 8556 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8557" class="LineNr"> 8557 </span>    59/pop-to-ecx
-<span id="L8558" class="LineNr"> 8558 </span>    58/pop-to-eax
-<span id="L8559" class="LineNr"> 8559 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8560" class="LineNr"> 8560 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8561" class="LineNr"> 8561 </span>    5d/pop-to-ebp
-<span id="L8562" class="LineNr"> 8562 </span>    c3/return
-<span id="L8563" class="LineNr"> 8563 </span>
-<span id="L8564" class="LineNr"> 8564 </span><span class="subxFunction">emit-subx-call</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt), callee: (handle function)</span>
-<span id="L8565" class="LineNr"> 8565 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8566" class="LineNr"> 8566 </span>    55/push-ebp
-<span id="L8567" class="LineNr"> 8567 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8568" class="LineNr"> 8568 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8569" class="LineNr"> 8569 </span>    51/push-ecx
-<span id="L8570" class="LineNr"> 8570 </span>    <span class="subxComment">#</span>
-<span id="L8571" class="LineNr"> 8571 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
-<span id="L8572" class="LineNr"> 8572 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;(&quot;</span>)
-<span id="L8573" class="LineNr"> 8573 </span>    <span class="subxH1Comment"># - emit function name</span>
-<span id="L8574" class="LineNr"> 8574 </span>    8b/-&gt; *(ebp+0x10) 1/r32/ecx
-<span id="L8575" class="LineNr"> 8575 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+4))  <span class="subxComment"># Function-subx-name</span>
-<span id="L8576" class="LineNr"> 8576 </span>    <span class="subxH1Comment"># - emit arguments</span>
-<span id="L8577" class="LineNr"> 8577 </span>    <span class="subxComment"># var curr/ecx: (handle stmt-var) = stmt-&gt;inouts</span>
-<span id="L8578" class="LineNr"> 8578 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
-<span id="L8579" class="LineNr"> 8579 </span>    8b/-&gt; *(ecx+8) 1/r32/ecx  <span class="subxComment"># Stmt1-inouts</span>
-<span id="L8580" class="LineNr"> 8580 </span>    {
-<span id="L8581" class="LineNr"> 8581 </span>      <span class="subxComment"># if (curr == null) break</span>
-<span id="L8582" class="LineNr"> 8582 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L8583" class="LineNr"> 8583 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8584" class="LineNr"> 8584 </span>      <span class="subxComment">#</span>
-<span id="L8585" class="LineNr"> 8585 </span>      (<a href='mu.subx.html#L8638'>emit-subx-call-operand</a> *(ebp+8) %ecx)
-<span id="L8586" class="LineNr"> 8586 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
-<span id="L8587" class="LineNr"> 8587 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8588" class="LineNr"> 8588 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L8589" class="LineNr"> 8589 </span>    }
-<span id="L8590" class="LineNr"> 8590 </span>    <span class="subxComment">#</span>
-<span id="L8591" class="LineNr"> 8591 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)\n&quot;</span>)
-<span id="L8592" class="LineNr"> 8592 </span><span class="Constant">$emit-subx-call:end</span>:
-<span id="L8593" class="LineNr"> 8593 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8594" class="LineNr"> 8594 </span>    59/pop-to-ecx
-<span id="L8595" class="LineNr"> 8595 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8596" class="LineNr"> 8596 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8597" class="LineNr"> 8597 </span>    5d/pop-to-ebp
-<span id="L8598" class="LineNr"> 8598 </span>    c3/return
-<span id="L8599" class="LineNr"> 8599 </span>
-<span id="L8600" class="LineNr"> 8600 </span><span class="subxComment"># like a function call, except we have no idea what function it is</span>
-<span id="L8601" class="LineNr"> 8601 </span><span class="subxComment"># we hope it's defined in SubX and that the types are ok</span>
-<span id="L8602" class="LineNr"> 8602 </span><span class="subxFunction">emit-hailmary-call</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt)</span>
-<span id="L8603" class="LineNr"> 8603 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8604" class="LineNr"> 8604 </span>    55/push-ebp
-<span id="L8605" class="LineNr"> 8605 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8606" class="LineNr"> 8606 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8607" class="LineNr"> 8607 </span>    51/push-ecx
-<span id="L8608" class="LineNr"> 8608 </span>    <span class="subxComment">#</span>
-<span id="L8609" class="LineNr"> 8609 </span>    (<a href='mu.subx.html#L10446'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
-<span id="L8610" class="LineNr"> 8610 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;(&quot;</span>)
-<span id="L8611" class="LineNr"> 8611 </span>    <span class="subxComment"># ecx = stmt</span>
-<span id="L8612" class="LineNr"> 8612 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
-<span id="L8613" class="LineNr"> 8613 </span>    <span class="subxH1Comment"># - emit function name</span>
-<span id="L8614" class="LineNr"> 8614 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+4))  <span class="subxComment"># Stmt1-operation</span>
-<span id="L8615" class="LineNr"> 8615 </span>    <span class="subxH1Comment"># - emit arguments</span>
-<span id="L8616" class="LineNr"> 8616 </span>    <span class="subxComment"># var curr/ecx: (handle stmt-var) = stmt-&gt;inouts</span>
-<span id="L8617" class="LineNr"> 8617 </span>    8b/-&gt; *(ecx+8) 1/r32/ecx  <span class="subxComment"># Stmt1-inouts</span>
-<span id="L8618" class="LineNr"> 8618 </span>    {
-<span id="L8619" class="LineNr"> 8619 </span>      <span class="subxComment"># if (curr == null) break</span>
-<span id="L8620" class="LineNr"> 8620 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L8621" class="LineNr"> 8621 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8622" class="LineNr"> 8622 </span>      <span class="subxComment">#</span>
-<span id="L8623" class="LineNr"> 8623 </span>      (<a href='mu.subx.html#L8638'>emit-subx-call-operand</a> *(ebp+8) %ecx)
-<span id="L8624" class="LineNr"> 8624 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
-<span id="L8625" class="LineNr"> 8625 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8626" class="LineNr"> 8626 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L8627" class="LineNr"> 8627 </span>    }
-<span id="L8628" class="LineNr"> 8628 </span>    <span class="subxComment">#</span>
-<span id="L8629" class="LineNr"> 8629 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)\n&quot;</span>)
-<span id="L8630" class="LineNr"> 8630 </span><span class="Constant">$emit-hailmary-call:end</span>:
-<span id="L8631" class="LineNr"> 8631 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8632" class="LineNr"> 8632 </span>    59/pop-to-ecx
-<span id="L8633" class="LineNr"> 8633 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8634" class="LineNr"> 8634 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8635" class="LineNr"> 8635 </span>    5d/pop-to-ebp
-<span id="L8636" class="LineNr"> 8636 </span>    c3/return
-<span id="L8637" class="LineNr"> 8637 </span>
-<span id="L8638" class="LineNr"> 8638 </span><span class="subxFunction">emit-subx-call-operand</span>:  <span class="subxComment"># out: (addr buffered-file), s: (handle stmt-var)</span>
-<span id="L8639" class="LineNr"> 8639 </span>    <span class="subxComment"># shares code with emit-subx-var-as-rm32</span>
-<span id="L8640" class="LineNr"> 8640 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8641" class="LineNr"> 8641 </span>    55/push-ebp
-<span id="L8642" class="LineNr"> 8642 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8643" class="LineNr"> 8643 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8644" class="LineNr"> 8644 </span>    50/push-eax
-<span id="L8645" class="LineNr"> 8645 </span>    51/push-ecx
-<span id="L8646" class="LineNr"> 8646 </span>    56/push-esi
-<span id="L8647" class="LineNr"> 8647 </span>    <span class="subxComment"># ecx = s</span>
-<span id="L8648" class="LineNr"> 8648 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
-<span id="L8649" class="LineNr"> 8649 </span>    <span class="subxComment"># var operand/esi: (handle var) = s-&gt;value</span>
-<span id="L8650" class="LineNr"> 8650 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8651" class="LineNr"> 8651 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; s-&gt;is-deref?) emit &quot;*__&quot;</span>
-<span id="L8652" class="LineNr"> 8652 </span>    {
-<span id="L8653" class="LineNr"> 8653 </span><span class="Constant">$emit-subx-call-operand:check-for-register-indirect</span>:
-<span id="L8654" class="LineNr"> 8654 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L8655" class="LineNr"> 8655 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8656" class="LineNr"> 8656 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L8657" class="LineNr"> 8657 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8658" class="LineNr"> 8658 </span><span class="Constant">$emit-subx-call-operand:register-indirect</span>:
-<span id="L8659" class="LineNr"> 8659 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; *&quot;</span>)
-<span id="L8660" class="LineNr"> 8660 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
-<span id="L8661" class="LineNr"> 8661 </span>      e9/jump $emit-subx-call-operand:end/disp32
-<span id="L8662" class="LineNr"> 8662 </span>    }
-<span id="L8663" class="LineNr"> 8663 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; !s-&gt;is-deref?) emit &quot;%__&quot;</span>
-<span id="L8664" class="LineNr"> 8664 </span>    {
-<span id="L8665" class="LineNr"> 8665 </span><span class="Constant">$emit-subx-call-operand:check-for-register-direct</span>:
-<span id="L8666" class="LineNr"> 8666 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L8667" class="LineNr"> 8667 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8668" class="LineNr"> 8668 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L8669" class="LineNr"> 8669 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8670" class="LineNr"> 8670 </span><span class="Constant">$emit-subx-call-operand:register-direct</span>:
-<span id="L8671" class="LineNr"> 8671 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
-<span id="L8672" class="LineNr"> 8672 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
-<span id="L8673" class="LineNr"> 8673 </span>      e9/jump $emit-subx-call-operand:end/disp32
-<span id="L8674" class="LineNr"> 8674 </span>    }
-<span id="L8675" class="LineNr"> 8675 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
-<span id="L8676" class="LineNr"> 8676 </span>    {
-<span id="L8677" class="LineNr"> 8677 </span>      81 7/subop/compare *(esi+0xc) 0/imm32  <span class="subxComment"># Var-offset</span>
-<span id="L8678" class="LineNr"> 8678 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8679" class="LineNr"> 8679 </span><span class="Constant">$emit-subx-call-operand:stack</span>:
-<span id="L8680" class="LineNr"> 8680 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8681" class="LineNr"> 8681 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
-<span id="L8682" class="LineNr"> 8682 </span>      (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(esi+0xc))  <span class="subxComment"># Var-offset</span>
-<span id="L8683" class="LineNr"> 8683 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)&quot;</span>)
-<span id="L8684" class="LineNr"> 8684 </span>      e9/jump $emit-subx-call-operand:end/disp32
-<span id="L8685" class="LineNr"> 8685 </span>    }
-<span id="L8686" class="LineNr"> 8686 </span>    <span class="subxComment"># else if (operand-&gt;type == literal) emit &quot;__&quot;</span>
-<span id="L8687" class="LineNr"> 8687 </span>    {
-<span id="L8688" class="LineNr"> 8688 </span>      8b/-&gt; *(esi+4) 0/r32/eax  <span class="subxComment"># Var-type</span>
-<span id="L8689" class="LineNr"> 8689 </span>      81 7/subop/compare *eax 0/imm32  <span class="subxComment"># Tree-left</span>
-<span id="L8690" class="LineNr"> 8690 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8691" class="LineNr"> 8691 </span><span class="Constant">$emit-subx-call-operand:literal</span>:
-<span id="L8692" class="LineNr"> 8692 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8693" class="LineNr"> 8693 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *esi)
-<span id="L8694" class="LineNr"> 8694 </span>    }
-<span id="L8695" class="LineNr"> 8695 </span><span class="Constant">$emit-subx-call-operand:end</span>:
-<span id="L8696" class="LineNr"> 8696 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8697" class="LineNr"> 8697 </span>    5e/pop-to-esi
-<span id="L8698" class="LineNr"> 8698 </span>    59/pop-to-ecx
-<span id="L8699" class="LineNr"> 8699 </span>    58/pop-to-eax
-<span id="L8700" class="LineNr"> 8700 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8701" class="LineNr"> 8701 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8702" class="LineNr"> 8702 </span>    5d/pop-to-ebp
-<span id="L8703" class="LineNr"> 8703 </span>    c3/return
-<span id="L8704" class="LineNr"> 8704 </span>
-<span id="L8705" class="LineNr"> 8705 </span><span class="subxFunction">emit-subx-var-as-rm32</span>:  <span class="subxComment"># out: (addr buffered-file), s: (handle stmt-var)</span>
-<span id="L8706" class="LineNr"> 8706 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8707" class="LineNr"> 8707 </span>    55/push-ebp
-<span id="L8708" class="LineNr"> 8708 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8709" class="LineNr"> 8709 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8710" class="LineNr"> 8710 </span>    50/push-eax
-<span id="L8711" class="LineNr"> 8711 </span>    51/push-ecx
-<span id="L8712" class="LineNr"> 8712 </span>    56/push-esi
-<span id="L8713" class="LineNr"> 8713 </span>    <span class="subxComment"># ecx = s</span>
-<span id="L8714" class="LineNr"> 8714 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
-<span id="L8715" class="LineNr"> 8715 </span>    <span class="subxComment"># var operand/esi: (handle var) = s-&gt;value</span>
-<span id="L8716" class="LineNr"> 8716 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8717" class="LineNr"> 8717 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; s-&gt;is-deref?) emit &quot;*__&quot;</span>
-<span id="L8718" class="LineNr"> 8718 </span>    {
-<span id="L8719" class="LineNr"> 8719 </span><span class="Constant">$emit-subx-var-as-rm32:check-for-register-indirect</span>:
-<span id="L8720" class="LineNr"> 8720 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L8721" class="LineNr"> 8721 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8722" class="LineNr"> 8722 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L8723" class="LineNr"> 8723 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8724" class="LineNr"> 8724 </span><span class="Constant">$emit-subx-var-as-rm32:register-indirect</span>:
-<span id="L8725" class="LineNr"> 8725 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; *&quot;</span>)
-<span id="L8726" class="LineNr"> 8726 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
-<span id="L8727" class="LineNr"> 8727 </span>    }
-<span id="L8728" class="LineNr"> 8728 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; !s-&gt;is-deref?) emit &quot;%__&quot;</span>
-<span id="L8729" class="LineNr"> 8729 </span>    {
-<span id="L8730" class="LineNr"> 8730 </span><span class="Constant">$emit-subx-var-as-rm32:check-for-register-direct</span>:
-<span id="L8731" class="LineNr"> 8731 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L8732" class="LineNr"> 8732 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8733" class="LineNr"> 8733 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L8734" class="LineNr"> 8734 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8735" class="LineNr"> 8735 </span><span class="Constant">$emit-subx-var-as-rm32:register-direct</span>:
-<span id="L8736" class="LineNr"> 8736 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
-<span id="L8737" class="LineNr"> 8737 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
-<span id="L8738" class="LineNr"> 8738 </span>    }
-<span id="L8739" class="LineNr"> 8739 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
-<span id="L8740" class="LineNr"> 8740 </span>    {
-<span id="L8741" class="LineNr"> 8741 </span>      81 7/subop/compare *(esi+0xc) 0/imm32  <span class="subxComment"># Var-offset</span>
-<span id="L8742" class="LineNr"> 8742 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8743" class="LineNr"> 8743 </span><span class="Constant">$emit-subx-var-as-rm32:stack</span>:
-<span id="L8744" class="LineNr"> 8744 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
-<span id="L8745" class="LineNr"> 8745 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
-<span id="L8746" class="LineNr"> 8746 </span>      (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(esi+0xc))  <span class="subxComment"># Var-offset</span>
-<span id="L8747" class="LineNr"> 8747 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)&quot;</span>)
-<span id="L8748" class="LineNr"> 8748 </span>    }
-<span id="L8749" class="LineNr"> 8749 </span><span class="Constant">$emit-subx-var-as-rm32:end</span>:
-<span id="L8750" class="LineNr"> 8750 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8751" class="LineNr"> 8751 </span>    5e/pop-to-esi
-<span id="L8752" class="LineNr"> 8752 </span>    59/pop-to-ecx
-<span id="L8753" class="LineNr"> 8753 </span>    58/pop-to-eax
-<span id="L8754" class="LineNr"> 8754 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8755" class="LineNr"> 8755 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8756" class="LineNr"> 8756 </span>    5d/pop-to-ebp
-<span id="L8757" class="LineNr"> 8757 </span>    c3/return
-<span id="L8758" class="LineNr"> 8758 </span>
-<span id="L8759" class="LineNr"> 8759 </span><span class="subxFunction">find-matching-function</span>:  <span class="subxComment"># functions: (addr function), stmt: (handle stmt) -&gt; result/eax: (handle function)</span>
-<span id="L8760" class="LineNr"> 8760 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8761" class="LineNr"> 8761 </span>    55/push-ebp
-<span id="L8762" class="LineNr"> 8762 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8763" class="LineNr"> 8763 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8764" class="LineNr"> 8764 </span>    51/push-ecx
-<span id="L8765" class="LineNr"> 8765 </span>    <span class="subxComment"># var curr/ecx: (handle function) = functions</span>
-<span id="L8766" class="LineNr"> 8766 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8767" class="LineNr"> 8767 </span>    {
-<span id="L8768" class="LineNr"> 8768 </span>      <span class="subxComment"># if (curr == null) break</span>
-<span id="L8769" class="LineNr"> 8769 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L8770" class="LineNr"> 8770 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8771" class="LineNr"> 8771 </span>      <span class="subxComment"># if match(stmt, curr) return curr</span>
-<span id="L8772" class="LineNr"> 8772 </span>      {
-<span id="L8773" class="LineNr"> 8773 </span>        (<a href='mu.subx.html#L8835'>mu-stmt-matches-function?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
-<span id="L8774" class="LineNr"> 8774 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L8775" class="LineNr"> 8775 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8776" class="LineNr"> 8776 </span>        89/&lt;- %eax 1/r32/ecx
-<span id="L8777" class="LineNr"> 8777 </span>        eb/jump $find-matching-function:end/disp8
-<span id="L8778" class="LineNr"> 8778 </span>      }
-<span id="L8779" class="LineNr"> 8779 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
-<span id="L8780" class="LineNr"> 8780 </span>      8b/-&gt; *(ecx+0x14) 1/r32/ecx  <span class="subxComment"># Function-next</span>
-<span id="L8781" class="LineNr"> 8781 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L8782" class="LineNr"> 8782 </span>    }
-<span id="L8783" class="LineNr"> 8783 </span>    <span class="subxComment"># return null</span>
-<span id="L8784" class="LineNr"> 8784 </span>    b8/copy-to-eax 0/imm32
-<span id="L8785" class="LineNr"> 8785 </span><span class="Constant">$find-matching-function:end</span>:
-<span id="L8786" class="LineNr"> 8786 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8787" class="LineNr"> 8787 </span>    59/pop-to-ecx
-<span id="L8788" class="LineNr"> 8788 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8789" class="LineNr"> 8789 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8790" class="LineNr"> 8790 </span>    5d/pop-to-ebp
-<span id="L8791" class="LineNr"> 8791 </span>    c3/return
-<span id="L8792" class="LineNr"> 8792 </span>
-<span id="L8793" class="LineNr"> 8793 </span><span class="subxFunction">find-matching-primitive</span>:  <span class="subxComment"># primitives: (handle primitive), stmt: (handle stmt) -&gt; result/eax: (handle primitive)</span>
-<span id="L8794" class="LineNr"> 8794 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8795" class="LineNr"> 8795 </span>    55/push-ebp
-<span id="L8796" class="LineNr"> 8796 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8797" class="LineNr"> 8797 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8798" class="LineNr"> 8798 </span>    51/push-ecx
-<span id="L8799" class="LineNr"> 8799 </span>    <span class="subxComment"># var curr/ecx: (handle primitive) = primitives</span>
-<span id="L8800" class="LineNr"> 8800 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8801" class="LineNr"> 8801 </span>    {
-<span id="L8802" class="LineNr"> 8802 </span><span class="Constant">$find-matching-primitive:loop</span>:
-<span id="L8803" class="LineNr"> 8803 </span>      <span class="subxComment"># if (curr == null) break</span>
-<span id="L8804" class="LineNr"> 8804 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L8805" class="LineNr"> 8805 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
-<span id="L8806" class="LineNr"> 8806 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot;prim: &quot;)</span>
-<span id="L8807" class="LineNr"> 8807 </span><span class="CommentedCode">#?       (write-buffered Stderr *ecx)  # Primitive-name</span>
-<span id="L8808" class="LineNr"> 8808 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot; =&gt; &quot;)</span>
-<span id="L8809" class="LineNr"> 8809 </span><span class="CommentedCode">#?       (write-buffered Stderr *(ecx+0xc))  # Primitive-subx-name</span>
-<span id="L8810" class="LineNr"> 8810 </span><span class="CommentedCode">#?       (write-buffered Stderr Newline)</span>
-<span id="L8811" class="LineNr"> 8811 </span><span class="CommentedCode">#?       (flush Stderr)</span>
-<span id="L8812" class="LineNr"> 8812 </span>      <span class="subxComment"># if match(curr, stmt) return curr</span>
-<span id="L8813" class="LineNr"> 8813 </span>      {
-<span id="L8814" class="LineNr"> 8814 </span>        (<a href='mu.subx.html#L8853'>mu-stmt-matches-primitive?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
-<span id="L8815" class="LineNr"> 8815 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L8816" class="LineNr"> 8816 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L8817" class="LineNr"> 8817 </span>        89/&lt;- %eax 1/r32/ecx
-<span id="L8818" class="LineNr"> 8818 </span>        eb/jump $find-matching-primitive:end/disp8
-<span id="L8819" class="LineNr"> 8819 </span>      }
-<span id="L8820" class="LineNr"> 8820 </span><span class="Constant">$find-matching-primitive:next-primitive</span>:
-<span id="L8821" class="LineNr"> 8821 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
-<span id="L8822" class="LineNr"> 8822 </span>      8b/-&gt; *(ecx+0x24) 1/r32/ecx  <span class="subxComment"># Primitive-next</span>
-<span id="L8823" class="LineNr"> 8823 </span>      e9/jump <span class="Constant">loop</span>/disp32
-<span id="L8824" class="LineNr"> 8824 </span>    }
-<span id="L8825" class="LineNr"> 8825 </span>    <span class="subxComment"># return null</span>
-<span id="L8826" class="LineNr"> 8826 </span>    b8/copy-to-eax 0/imm32
-<span id="L8827" class="LineNr"> 8827 </span><span class="Constant">$find-matching-primitive:end</span>:
-<span id="L8828" class="LineNr"> 8828 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8829" class="LineNr"> 8829 </span>    59/pop-to-ecx
-<span id="L8830" class="LineNr"> 8830 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8831" class="LineNr"> 8831 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8832" class="LineNr"> 8832 </span>    5d/pop-to-ebp
-<span id="L8833" class="LineNr"> 8833 </span>    c3/return
-<span id="L8834" class="LineNr"> 8834 </span>
-<span id="L8835" class="LineNr"> 8835 </span><span class="subxFunction">mu-stmt-matches-function?</span>:  <span class="subxComment"># stmt: (handle stmt), function: (handle function) -&gt; result/eax: boolean</span>
-<span id="L8836" class="LineNr"> 8836 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8837" class="LineNr"> 8837 </span>    55/push-ebp
-<span id="L8838" class="LineNr"> 8838 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8839" class="LineNr"> 8839 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8840" class="LineNr"> 8840 </span>    51/push-ecx
-<span id="L8841" class="LineNr"> 8841 </span>    <span class="subxComment"># return function-&gt;name == stmt-&gt;operation</span>
-<span id="L8842" class="LineNr"> 8842 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8843" class="LineNr"> 8843 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
-<span id="L8844" class="LineNr"> 8844 </span>    (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(ecx+4) *eax)  <span class="subxComment"># Stmt1-operation, Function-name =&gt; eax</span>
-<span id="L8845" class="LineNr"> 8845 </span><span class="Constant">$mu-stmt-matches-function?:end</span>:
-<span id="L8846" class="LineNr"> 8846 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8847" class="LineNr"> 8847 </span>    59/pop-to-ecx
-<span id="L8848" class="LineNr"> 8848 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8849" class="LineNr"> 8849 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8850" class="LineNr"> 8850 </span>    5d/pop-to-ebp
-<span id="L8851" class="LineNr"> 8851 </span>    c3/return
-<span id="L8852" class="LineNr"> 8852 </span>
-<span id="L8853" class="LineNr"> 8853 </span><span class="subxFunction">mu-stmt-matches-primitive?</span>:  <span class="subxComment"># stmt: (handle stmt), primitive: (handle primitive) -&gt; result/eax: boolean</span>
-<span id="L8854" class="LineNr"> 8854 </span>    <span class="subxComment"># A mu stmt matches a primitive if the name matches, all the inout vars</span>
-<span id="L8855" class="LineNr"> 8855 </span>    <span class="subxComment"># match, and all the output vars match.</span>
-<span id="L8856" class="LineNr"> 8856 </span>    <span class="subxComment"># Vars match if types match and registers match.</span>
-<span id="L8857" class="LineNr"> 8857 </span>    <span class="subxComment"># In addition, a stmt output matches a primitive's output if types match</span>
-<span id="L8858" class="LineNr"> 8858 </span>    <span class="subxComment"># and the primitive has a wildcard register.</span>
-<span id="L8859" class="LineNr"> 8859 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8860" class="LineNr"> 8860 </span>    55/push-ebp
-<span id="L8861" class="LineNr"> 8861 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8862" class="LineNr"> 8862 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8863" class="LineNr"> 8863 </span>    51/push-ecx
-<span id="L8864" class="LineNr"> 8864 </span>    52/push-edx
-<span id="L8865" class="LineNr"> 8865 </span>    53/push-ebx
-<span id="L8866" class="LineNr"> 8866 </span>    56/push-esi
-<span id="L8867" class="LineNr"> 8867 </span>    57/push-edi
-<span id="L8868" class="LineNr"> 8868 </span>    <span class="subxComment"># ecx = stmt</span>
-<span id="L8869" class="LineNr"> 8869 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8870" class="LineNr"> 8870 </span>    <span class="subxComment"># edx = primitive</span>
-<span id="L8871" class="LineNr"> 8871 </span>    8b/-&gt; *(ebp+0xc) 2/r32/edx
-<span id="L8872" class="LineNr"> 8872 </span>    {
-<span id="L8873" class="LineNr"> 8873 </span><span class="Constant">$mu-stmt-matches-primitive?:check-name</span>:
-<span id="L8874" class="LineNr"> 8874 </span>      <span class="subxComment"># if (primitive-&gt;name != stmt-&gt;operation) return false</span>
-<span id="L8875" class="LineNr"> 8875 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(ecx+4) *edx)  <span class="subxComment"># Stmt1-operation, Primitive-name =&gt; eax</span>
-<span id="L8876" class="LineNr"> 8876 </span>      3d/compare-eax-and 0/imm32/false
-<span id="L8877" class="LineNr"> 8877 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8878" class="LineNr"> 8878 </span>      b8/copy-to-eax 0/imm32
-<span id="L8879" class="LineNr"> 8879 </span>      e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8880" class="LineNr"> 8880 </span>    }
-<span id="L8881" class="LineNr"> 8881 </span><span class="Constant">$mu-stmt-matches-primitive?:check-inouts</span>:
-<span id="L8882" class="LineNr"> 8882 </span>    <span class="subxComment"># for (curr/esi in stmt-&gt;inouts, curr2/edi in primitive-&gt;inouts)</span>
-<span id="L8883" class="LineNr"> 8883 </span>    8b/-&gt; *(ecx+8) 6/r32/esi  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
-<span id="L8884" class="LineNr"> 8884 </span>    8b/-&gt; *(edx+4) 7/r32/edi  <span class="subxComment"># Primitive-inouts</span>
-<span id="L8885" class="LineNr"> 8885 </span>    {
-<span id="L8886" class="LineNr"> 8886 </span>      <span class="subxComment"># if (curr == 0 &amp;&amp; curr2 == 0) move on to check outputs</span>
-<span id="L8887" class="LineNr"> 8887 </span>      {
-<span id="L8888" class="LineNr"> 8888 </span>        81 7/subop/compare %esi 0/imm32
-<span id="L8889" class="LineNr"> 8889 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8890" class="LineNr"> 8890 </span><span class="Constant">$mu-stmt-matches-primitive?:stmt-inout-is-null</span>:
-<span id="L8891" class="LineNr"> 8891 </span>        {
-<span id="L8892" class="LineNr"> 8892 </span>          81 7/subop/compare %edi 0/imm32
-<span id="L8893" class="LineNr"> 8893 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8894" class="LineNr"> 8894 </span>          <span class="subxComment">#</span>
-<span id="L8895" class="LineNr"> 8895 </span>          e9/jump $mu-stmt-matches-primitive?:check-outputs/disp32
-<span id="L8896" class="LineNr"> 8896 </span>        }
-<span id="L8897" class="LineNr"> 8897 </span>        <span class="subxComment"># return false</span>
-<span id="L8898" class="LineNr"> 8898 </span>        b8/copy-to-eax 0/imm32/false
-<span id="L8899" class="LineNr"> 8899 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8900" class="LineNr"> 8900 </span>      }
-<span id="L8901" class="LineNr"> 8901 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
-<span id="L8902" class="LineNr"> 8902 </span>      {
-<span id="L8903" class="LineNr"> 8903 </span>        81 7/subop/compare %edi 0/imm32
-<span id="L8904" class="LineNr"> 8904 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8905" class="LineNr"> 8905 </span><span class="Constant">$mu-stmt-matches-primitive?:prim-inout-is-null</span>:
-<span id="L8906" class="LineNr"> 8906 </span>        b8/copy-to-eax 0/imm32/false
-<span id="L8907" class="LineNr"> 8907 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8908" class="LineNr"> 8908 </span>      }
-<span id="L8909" class="LineNr"> 8909 </span>      <span class="subxComment"># if (curr != curr2) return false</span>
-<span id="L8910" class="LineNr"> 8910 </span>      {
-<span id="L8911" class="LineNr"> 8911 </span>        (<a href='mu.subx.html#L8979'>operand-matches-primitive?</a> %esi *edi)  <span class="subxComment"># List-value =&gt; eax</span>
-<span id="L8912" class="LineNr"> 8912 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L8913" class="LineNr"> 8913 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8914" class="LineNr"> 8914 </span>        b8/copy-to-eax 0/imm32/false
-<span id="L8915" class="LineNr"> 8915 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8916" class="LineNr"> 8916 </span>      }
-<span id="L8917" class="LineNr"> 8917 </span>      <span class="subxComment"># curr=curr-&gt;next</span>
-<span id="L8918" class="LineNr"> 8918 </span>      8b/-&gt; *(esi+4) 6/r32/esi  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8919" class="LineNr"> 8919 </span>      <span class="subxComment"># curr2=curr2-&gt;next</span>
-<span id="L8920" class="LineNr"> 8920 </span>      8b/-&gt; *(edi+4) 7/r32/edi  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8921" class="LineNr"> 8921 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L8922" class="LineNr"> 8922 </span>    }
-<span id="L8923" class="LineNr"> 8923 </span><span class="Constant">$mu-stmt-matches-primitive?:check-outputs</span>:
-<span id="L8924" class="LineNr"> 8924 </span>    <span class="subxComment"># for (curr/esi in stmt-&gt;outputs, curr2/edi in primitive-&gt;outputs)</span>
-<span id="L8925" class="LineNr"> 8925 </span>    8b/-&gt; *(ecx+0xc) 6/r32/esi  <span class="subxComment"># Stmt1-outputs</span>
-<span id="L8926" class="LineNr"> 8926 </span>    8b/-&gt; *(edx+8) 7/r32/edi  <span class="subxComment"># Primitive-outputs</span>
-<span id="L8927" class="LineNr"> 8927 </span>    {
-<span id="L8928" class="LineNr"> 8928 </span>      <span class="subxComment"># if (curr == 0) return (curr2 == 0)</span>
-<span id="L8929" class="LineNr"> 8929 </span>      {
-<span id="L8930" class="LineNr"> 8930 </span><span class="Constant">$mu-stmt-matches-primitive?:check-output</span>:
-<span id="L8931" class="LineNr"> 8931 </span>        81 7/subop/compare %esi 0/imm32
-<span id="L8932" class="LineNr"> 8932 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8933" class="LineNr"> 8933 </span>        {
-<span id="L8934" class="LineNr"> 8934 </span>          81 7/subop/compare %edi 0/imm32
-<span id="L8935" class="LineNr"> 8935 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8936" class="LineNr"> 8936 </span>          <span class="subxComment"># return true</span>
-<span id="L8937" class="LineNr"> 8937 </span>          b8/copy-to-eax 1/imm32
-<span id="L8938" class="LineNr"> 8938 </span>          e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8939" class="LineNr"> 8939 </span>        }
-<span id="L8940" class="LineNr"> 8940 </span>        <span class="subxComment"># return false</span>
-<span id="L8941" class="LineNr"> 8941 </span>        b8/copy-to-eax 0/imm32
-<span id="L8942" class="LineNr"> 8942 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8943" class="LineNr"> 8943 </span>      }
-<span id="L8944" class="LineNr"> 8944 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
-<span id="L8945" class="LineNr"> 8945 </span>      {
-<span id="L8946" class="LineNr"> 8946 </span>        81 7/subop/compare %edi 0/imm32
-<span id="L8947" class="LineNr"> 8947 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8948" class="LineNr"> 8948 </span>        b8/copy-to-eax 0/imm32
-<span id="L8949" class="LineNr"> 8949 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8950" class="LineNr"> 8950 </span>      }
-<span id="L8951" class="LineNr"> 8951 </span>      <span class="subxComment"># if (curr != curr2) return false</span>
-<span id="L8952" class="LineNr"> 8952 </span>      {
-<span id="L8953" class="LineNr"> 8953 </span>        (<a href='mu.subx.html#L8979'>operand-matches-primitive?</a> %esi *edi)  <span class="subxComment"># List-value =&gt; eax</span>
-<span id="L8954" class="LineNr"> 8954 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L8955" class="LineNr"> 8955 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L8956" class="LineNr"> 8956 </span>        b8/copy-to-eax 0/imm32
-<span id="L8957" class="LineNr"> 8957 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
-<span id="L8958" class="LineNr"> 8958 </span>      }
-<span id="L8959" class="LineNr"> 8959 </span>      <span class="subxComment"># curr=curr-&gt;next</span>
-<span id="L8960" class="LineNr"> 8960 </span>      8b/-&gt; *(esi+4) 6/r32/esi  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8961" class="LineNr"> 8961 </span>      <span class="subxComment"># curr2=curr2-&gt;next</span>
-<span id="L8962" class="LineNr"> 8962 </span>      8b/-&gt; *(edi+4) 7/r32/edi  <span class="subxComment"># Stmt-var-next</span>
-<span id="L8963" class="LineNr"> 8963 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L8964" class="LineNr"> 8964 </span>    }
-<span id="L8965" class="LineNr"> 8965 </span><span class="Constant">$mu-stmt-matches-primitive?:return-true</span>:
-<span id="L8966" class="LineNr"> 8966 </span>    b8/copy-to-eax 1/imm32
-<span id="L8967" class="LineNr"> 8967 </span><span class="Constant">$mu-stmt-matches-primitive?:end</span>:
-<span id="L8968" class="LineNr"> 8968 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L8969" class="LineNr"> 8969 </span>    5f/pop-to-edi
-<span id="L8970" class="LineNr"> 8970 </span>    5e/pop-to-esi
-<span id="L8971" class="LineNr"> 8971 </span>    5b/pop-to-ebx
-<span id="L8972" class="LineNr"> 8972 </span>    5a/pop-to-edx
-<span id="L8973" class="LineNr"> 8973 </span>    59/pop-to-ecx
-<span id="L8974" class="LineNr"> 8974 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L8975" class="LineNr"> 8975 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L8976" class="LineNr"> 8976 </span>    5d/pop-to-ebp
-<span id="L8977" class="LineNr"> 8977 </span>    c3/return
-<span id="L8978" class="LineNr"> 8978 </span>
-<span id="L8979" class="LineNr"> 8979 </span><span class="subxFunction">operand-matches-primitive?</span>:  <span class="subxComment"># s: (handle stmt-var), prim-var: (handle var) -&gt; result/eax: boolean</span>
-<span id="L8980" class="LineNr"> 8980 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L8981" class="LineNr"> 8981 </span>    55/push-ebp
-<span id="L8982" class="LineNr"> 8982 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L8983" class="LineNr"> 8983 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L8984" class="LineNr"> 8984 </span>    51/push-ecx
-<span id="L8985" class="LineNr"> 8985 </span>    56/push-esi
-<span id="L8986" class="LineNr"> 8986 </span>    57/push-edi
-<span id="L8987" class="LineNr"> 8987 </span>    <span class="subxComment"># ecx = s</span>
-<span id="L8988" class="LineNr"> 8988 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
-<span id="L8989" class="LineNr"> 8989 </span>    <span class="subxComment"># var var/esi : (handle var) = s-&gt;value</span>
-<span id="L8990" class="LineNr"> 8990 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
-<span id="L8991" class="LineNr"> 8991 </span>    <span class="subxComment"># edi = prim-var</span>
-<span id="L8992" class="LineNr"> 8992 </span>    8b/-&gt; *(ebp+0xc) 7/r32/edi
-<span id="L8993" class="LineNr"> 8993 </span><span class="Constant">$operand-matches-primitive?:check-type</span>:
-<span id="L8994" class="LineNr"> 8994 </span>    <span class="subxComment"># if (var-&gt;type != prim-var-&gt;type) return false</span>
-<span id="L8995" class="LineNr"> 8995 </span>    (<a href='mu.subx.html#L9057'>subx-type-equal?</a> *(esi+4) *(edi+4))  <span class="subxComment"># Var-type, Var-type =&gt; eax</span>
-<span id="L8996" class="LineNr"> 8996 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L8997" class="LineNr"> 8997 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L8998" class="LineNr"> 8998 </span>    0f 84/jump-if-= $operand-matches-primitive?:end/disp32
-<span id="L8999" class="LineNr"> 8999 </span>    {
-<span id="L9000" class="LineNr"> 9000 </span><span class="Constant">$operand-matches-primitive?:check-register</span>:
-<span id="L9001" class="LineNr"> 9001 </span>      <span class="subxComment"># if prim-var is in memory and var is in register but dereference, match</span>
-<span id="L9002" class="LineNr"> 9002 </span>      {
-<span id="L9003" class="LineNr"> 9003 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L9004" class="LineNr"> 9004 </span>        0f 85/jump-if-!= <span class="Constant">break</span>/disp32
-<span id="L9005" class="LineNr"> 9005 </span>        81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L9006" class="LineNr"> 9006 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L9007" class="LineNr"> 9007 </span>        81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L9008" class="LineNr"> 9008 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L9009" class="LineNr"> 9009 </span>        e9/jump $operand-matches-primitive?:return-true/disp32
-<span id="L9010" class="LineNr"> 9010 </span>      }
-<span id="L9011" class="LineNr"> 9011 </span>      <span class="subxComment"># if prim-var is in register and var is in register but dereference, no match</span>
-<span id="L9012" class="LineNr"> 9012 </span>      {
-<span id="L9013" class="LineNr"> 9013 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L9014" class="LineNr"> 9014 </span>        0f 84/jump-if-= <span class="Constant">break</span>/disp32
-<span id="L9015" class="LineNr"> 9015 </span>        81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L9016" class="LineNr"> 9016 </span>        0f 84/jump-if-= <span class="Constant">break</span>/disp32
-<span id="L9017" class="LineNr"> 9017 </span>        81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
-<span id="L9018" class="LineNr"> 9018 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L9019" class="LineNr"> 9019 </span>        e9/jump $operand-matches-primitive?:return-false/disp32
-<span id="L9020" class="LineNr"> 9020 </span>      }
-<span id="L9021" class="LineNr"> 9021 </span>      <span class="subxComment"># return false if var-&gt;register doesn't match prim-var-&gt;register</span>
-<span id="L9022" class="LineNr"> 9022 </span>      {
-<span id="L9023" class="LineNr"> 9023 </span>        <span class="subxComment"># if register addresses are equal, it's a match</span>
-<span id="L9024" class="LineNr"> 9024 </span>        8b/-&gt; *(esi+0x10) 0/r32/eax  <span class="subxComment"># Var-register</span>
-<span id="L9025" class="LineNr"> 9025 </span>        39/compare *(edi+0x10) 0/r32/eax  <span class="subxComment"># Var-register</span>
-<span id="L9026" class="LineNr"> 9026 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
-<span id="L9027" class="LineNr"> 9027 </span>        <span class="subxComment"># if either address is 0, return false</span>
-<span id="L9028" class="LineNr"> 9028 </span>        3d/compare-eax-and 0/imm32
-<span id="L9029" class="LineNr"> 9029 </span>        74/jump-if-=  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
-<span id="L9030" class="LineNr"> 9030 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L9031" class="LineNr"> 9031 </span>        74/jump-if-=  $operand-matches-primitive?:return-false/disp8
-<span id="L9032" class="LineNr"> 9032 </span>        <span class="subxComment"># if prim-var-&gt;register is wildcard, it's a match</span>
-<span id="L9033" class="LineNr"> 9033 </span>        (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(edi+0x10) <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>)  <span class="subxComment"># Var-register =&gt; eax</span>
+<span id="L8359" class="LineNr"> 8359 </span>== code
+<span id="L8360" class="LineNr"> 8360 </span><span class="subxFunction">emit-subx-primitive</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt), primitive: (handle function)</span>
+<span id="L8361" class="LineNr"> 8361 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8362" class="LineNr"> 8362 </span>    55/push-ebp
+<span id="L8363" class="LineNr"> 8363 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8364" class="LineNr"> 8364 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8365" class="LineNr"> 8365 </span>    50/push-eax
+<span id="L8366" class="LineNr"> 8366 </span>    51/push-ecx
+<span id="L8367" class="LineNr"> 8367 </span>    <span class="subxComment"># ecx = primitive</span>
+<span id="L8368" class="LineNr"> 8368 </span>    8b/-&gt; *(ebp+0x10) 1/r32/ecx
+<span id="L8369" class="LineNr"> 8369 </span>    <span class="subxComment"># emit primitive name</span>
+<span id="L8370" class="LineNr"> 8370 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L8371" class="LineNr"> 8371 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+0xc))  <span class="subxComment"># Primitive-subx-name</span>
+<span id="L8372" class="LineNr"> 8372 </span>    <span class="subxComment"># emit rm32 if necessary</span>
+<span id="L8373" class="LineNr"> 8373 </span>    (<a href='mu.subx.html#L8390'>emit-subx-rm32</a> *(ebp+8) *(ecx+0x10) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-rm32, stmt</span>
+<span id="L8374" class="LineNr"> 8374 </span>    <span class="subxComment"># emit r32 if necessary</span>
+<span id="L8375" class="LineNr"> 8375 </span>    (<a href='mu.subx.html#L8467'>emit-subx-r32</a> *(ebp+8) *(ecx+0x14) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-r32, stmt</span>
+<span id="L8376" class="LineNr"> 8376 </span>    <span class="subxComment"># emit imm32 if necessary</span>
+<span id="L8377" class="LineNr"> 8377 </span>    (<a href='mu.subx.html#L8493'>emit-subx-imm32</a> *(ebp+8) *(ecx+0x18) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-imm32, stmt</span>
+<span id="L8378" class="LineNr"> 8378 </span>    <span class="subxComment"># emit disp32 if necessary</span>
+<span id="L8379" class="LineNr"> 8379 </span>    (<a href='mu.subx.html#L8518'>emit-subx-disp32</a> *(ebp+8) *(ecx+0x1c) *(ebp+0xc))  <span class="subxComment"># out, Primitive-subx-disp32, stmt</span>
+<span id="L8380" class="LineNr"> 8380 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
+<span id="L8381" class="LineNr"> 8381 </span><span class="Constant">$emit-subx-primitive:end</span>:
+<span id="L8382" class="LineNr"> 8382 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8383" class="LineNr"> 8383 </span>    59/pop-to-ecx
+<span id="L8384" class="LineNr"> 8384 </span>    58/pop-to-eax
+<span id="L8385" class="LineNr"> 8385 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8386" class="LineNr"> 8386 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8387" class="LineNr"> 8387 </span>    5d/pop-to-ebp
+<span id="L8388" class="LineNr"> 8388 </span>    c3/return
+<span id="L8389" class="LineNr"> 8389 </span>
+<span id="L8390" class="LineNr"> 8390 </span><span class="subxFunction">emit-subx-rm32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
+<span id="L8391" class="LineNr"> 8391 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8392" class="LineNr"> 8392 </span>    55/push-ebp
+<span id="L8393" class="LineNr"> 8393 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8394" class="LineNr"> 8394 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8395" class="LineNr"> 8395 </span>    50/push-eax
+<span id="L8396" class="LineNr"> 8396 </span>    <span class="subxComment"># if (l == 0) return</span>
+<span id="L8397" class="LineNr"> 8397 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
+<span id="L8398" class="LineNr"> 8398 </span>    74/jump-if-= $emit-subx-rm32:end/disp8
+<span id="L8399" class="LineNr"> 8399 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
+<span id="L8400" class="LineNr"> 8400 </span>    (<a href='mu.subx.html#L8410'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
+<span id="L8401" class="LineNr"> 8401 </span>    (<a href='mu.subx.html#L8701'>emit-subx-var-as-rm32</a> *(ebp+8) %eax)
+<span id="L8402" class="LineNr"> 8402 </span><span class="Constant">$emit-subx-rm32:end</span>:
+<span id="L8403" class="LineNr"> 8403 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8404" class="LineNr"> 8404 </span>    58/pop-to-eax
+<span id="L8405" class="LineNr"> 8405 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8406" class="LineNr"> 8406 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8407" class="LineNr"> 8407 </span>    5d/pop-to-ebp
+<span id="L8408" class="LineNr"> 8408 </span>    c3/return
+<span id="L8409" class="LineNr"> 8409 </span>
+<span id="L8410" class="LineNr"> 8410 </span><span class="subxFunction">get-stmt-operand-from-arg-location</span>:  <span class="subxComment"># stmt: (handle stmt), l: arg-location -&gt; var/eax: (handle stmt-var)</span>
+<span id="L8411" class="LineNr"> 8411 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8412" class="LineNr"> 8412 </span>    55/push-ebp
+<span id="L8413" class="LineNr"> 8413 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8414" class="LineNr"> 8414 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8415" class="LineNr"> 8415 </span>    51/push-ecx
+<span id="L8416" class="LineNr"> 8416 </span>    <span class="subxComment"># eax = l</span>
+<span id="L8417" class="LineNr"> 8417 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
+<span id="L8418" class="LineNr"> 8418 </span>    <span class="subxComment"># ecx = stmt</span>
+<span id="L8419" class="LineNr"> 8419 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8420" class="LineNr"> 8420 </span>    <span class="subxComment"># if (l == 1) return stmt-&gt;inouts</span>
+<span id="L8421" class="LineNr"> 8421 </span>    {
+<span id="L8422" class="LineNr"> 8422 </span>      3d/compare-eax-and 1/imm32
+<span id="L8423" class="LineNr"> 8423 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8424" class="LineNr"> 8424 </span><span class="Constant">$get-stmt-operand-from-arg-location:1</span>:
+<span id="L8425" class="LineNr"> 8425 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
+<span id="L8426" class="LineNr"> 8426 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
+<span id="L8427" class="LineNr"> 8427 </span>    }
+<span id="L8428" class="LineNr"> 8428 </span>    <span class="subxComment"># if (l == 2) return stmt-&gt;inouts-&gt;next</span>
+<span id="L8429" class="LineNr"> 8429 </span>    {
+<span id="L8430" class="LineNr"> 8430 </span>      3d/compare-eax-and 2/imm32
+<span id="L8431" class="LineNr"> 8431 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8432" class="LineNr"> 8432 </span><span class="Constant">$get-stmt-operand-from-arg-location:2</span>:
+<span id="L8433" class="LineNr"> 8433 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
+<span id="L8434" class="LineNr"> 8434 </span>      8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8435" class="LineNr"> 8435 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
+<span id="L8436" class="LineNr"> 8436 </span>    }
+<span id="L8437" class="LineNr"> 8437 </span>    <span class="subxComment"># if (l == 3) return stmt-&gt;outputs</span>
+<span id="L8438" class="LineNr"> 8438 </span>    {
+<span id="L8439" class="LineNr"> 8439 </span>      3d/compare-eax-and 3/imm32
+<span id="L8440" class="LineNr"> 8440 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8441" class="LineNr"> 8441 </span><span class="Constant">$get-stmt-operand-from-arg-location:3</span>:
+<span id="L8442" class="LineNr"> 8442 </span>      8b/-&gt; *(ecx+0xc) 0/r32/eax  <span class="subxComment"># Stmt1-outputs</span>
+<span id="L8443" class="LineNr"> 8443 </span>      eb/jump $get-stmt-operand-from-arg-location:end/disp8
+<span id="L8444" class="LineNr"> 8444 </span>    }
+<span id="L8445" class="LineNr"> 8445 </span>    <span class="subxComment"># abort</span>
+<span id="L8446" class="LineNr"> 8446 </span>    e9/jump $get-stmt-operand-from-arg-location:abort/disp32
+<span id="L8447" class="LineNr"> 8447 </span><span class="Constant">$get-stmt-operand-from-arg-location:end</span>:
+<span id="L8448" class="LineNr"> 8448 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8449" class="LineNr"> 8449 </span>    59/pop-to-ecx
+<span id="L8450" class="LineNr"> 8450 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8451" class="LineNr"> 8451 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8452" class="LineNr"> 8452 </span>    5d/pop-to-ebp
+<span id="L8453" class="LineNr"> 8453 </span>    c3/return
+<span id="L8454" class="LineNr"> 8454 </span>
+<span id="L8455" class="LineNr"> 8455 </span><span class="Constant">$get-stmt-operand-from-arg-location:abort</span>:
+<span id="L8456" class="LineNr"> 8456 </span>    <span class="subxComment"># error(&quot;invalid arg-location &quot; eax)</span>
+<span id="L8457" class="LineNr"> 8457 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">&quot;invalid arg-location &quot;</span>)
+<span id="L8458" class="LineNr"> 8458 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> %eax)
+<span id="L8459" class="LineNr"> 8459 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
+<span id="L8460" class="LineNr"> 8460 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span>)
+<span id="L8461" class="LineNr"> 8461 </span>    <span class="subxS1Comment"># . syscall(exit, 1)</span>
+<span id="L8462" class="LineNr"> 8462 </span>    bb/copy-to-ebx  1/imm32
+<span id="L8463" class="LineNr"> 8463 </span>    b8/copy-to-eax  1/imm32/exit
+<span id="L8464" class="LineNr"> 8464 </span>    cd/syscall  0x80/imm8
+<span id="L8465" class="LineNr"> 8465 </span>    <span class="subxComment"># never gets here</span>
+<span id="L8466" class="LineNr"> 8466 </span>
+<span id="L8467" class="LineNr"> 8467 </span><span class="subxFunction">emit-subx-r32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
+<span id="L8468" class="LineNr"> 8468 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8469" class="LineNr"> 8469 </span>    55/push-ebp
+<span id="L8470" class="LineNr"> 8470 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8471" class="LineNr"> 8471 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8472" class="LineNr"> 8472 </span>    50/push-eax
+<span id="L8473" class="LineNr"> 8473 </span>    51/push-ecx
+<span id="L8474" class="LineNr"> 8474 </span>    <span class="subxComment"># if (location == 0) return</span>
+<span id="L8475" class="LineNr"> 8475 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
+<span id="L8476" class="LineNr"> 8476 </span>    0f 84/jump-if-= $emit-subx-r32:end/disp32
+<span id="L8477" class="LineNr"> 8477 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
+<span id="L8478" class="LineNr"> 8478 </span>    (<a href='mu.subx.html#L8410'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
+<span id="L8479" class="LineNr"> 8479 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8480" class="LineNr"> 8480 </span>    (<a href='../081table.subx.html#L1382'>maybe-get</a> <span class="SpecialChar"><a href='../090register-names.subx.html#L2'>Registers</a></span> *(eax+0x10) 8)  <span class="subxComment"># Var-register =&gt; eax: (addr register-index)</span>
+<span id="L8481" class="LineNr"> 8481 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8482" class="LineNr"> 8482 </span>    (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *eax)
+<span id="L8483" class="LineNr"> 8483 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/r32&quot;</span>)
+<span id="L8484" class="LineNr"> 8484 </span><span class="Constant">$emit-subx-r32:end</span>:
+<span id="L8485" class="LineNr"> 8485 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8486" class="LineNr"> 8486 </span>    59/pop-to-ecx
+<span id="L8487" class="LineNr"> 8487 </span>    58/pop-to-eax
+<span id="L8488" class="LineNr"> 8488 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8489" class="LineNr"> 8489 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8490" class="LineNr"> 8490 </span>    5d/pop-to-ebp
+<span id="L8491" class="LineNr"> 8491 </span>    c3/return
+<span id="L8492" class="LineNr"> 8492 </span>
+<span id="L8493" class="LineNr"> 8493 </span><span class="subxFunction">emit-subx-imm32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
+<span id="L8494" class="LineNr"> 8494 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8495" class="LineNr"> 8495 </span>    55/push-ebp
+<span id="L8496" class="LineNr"> 8496 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8497" class="LineNr"> 8497 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8498" class="LineNr"> 8498 </span>    50/push-eax
+<span id="L8499" class="LineNr"> 8499 </span>    51/push-ecx
+<span id="L8500" class="LineNr"> 8500 </span>    <span class="subxComment"># if (location == 0) return</span>
+<span id="L8501" class="LineNr"> 8501 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
+<span id="L8502" class="LineNr"> 8502 </span>    74/jump-if-= $emit-subx-imm32:end/disp8
+<span id="L8503" class="LineNr"> 8503 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
+<span id="L8504" class="LineNr"> 8504 </span>    (<a href='mu.subx.html#L8410'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
+<span id="L8505" class="LineNr"> 8505 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8506" class="LineNr"> 8506 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8507" class="LineNr"> 8507 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)  <span class="subxComment"># Var-name</span>
+<span id="L8508" class="LineNr"> 8508 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/imm32&quot;</span>)
+<span id="L8509" class="LineNr"> 8509 </span><span class="Constant">$emit-subx-imm32:end</span>:
+<span id="L8510" class="LineNr"> 8510 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8511" class="LineNr"> 8511 </span>    59/pop-to-ecx
+<span id="L8512" class="LineNr"> 8512 </span>    58/pop-to-eax
+<span id="L8513" class="LineNr"> 8513 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8514" class="LineNr"> 8514 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8515" class="LineNr"> 8515 </span>    5d/pop-to-ebp
+<span id="L8516" class="LineNr"> 8516 </span>    c3/return
+<span id="L8517" class="LineNr"> 8517 </span>
+<span id="L8518" class="LineNr"> 8518 </span><span class="subxFunction">emit-subx-disp32</span>:  <span class="subxComment"># out: (addr buffered-file), l: arg-location, stmt: (handle stmt)</span>
+<span id="L8519" class="LineNr"> 8519 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8520" class="LineNr"> 8520 </span>    55/push-ebp
+<span id="L8521" class="LineNr"> 8521 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8522" class="LineNr"> 8522 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8523" class="LineNr"> 8523 </span>    50/push-eax
+<span id="L8524" class="LineNr"> 8524 </span>    51/push-ecx
+<span id="L8525" class="LineNr"> 8525 </span>    <span class="subxComment"># if (location == 0) return</span>
+<span id="L8526" class="LineNr"> 8526 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
+<span id="L8527" class="LineNr"> 8527 </span>    0f 84/jump-if-= $emit-subx-disp32:end/disp32
+<span id="L8528" class="LineNr"> 8528 </span>    <span class="subxComment"># var v/eax: (handle var)</span>
+<span id="L8529" class="LineNr"> 8529 </span>    (<a href='mu.subx.html#L8410'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
+<span id="L8530" class="LineNr"> 8530 </span>    8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8531" class="LineNr"> 8531 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8532" class="LineNr"> 8532 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)  <span class="subxComment"># Var-name</span>
+<span id="L8533" class="LineNr"> 8533 </span>    <span class="subxComment"># hack: if instruction operation starts with &quot;break&quot;, emit &quot;:break&quot;</span>
+<span id="L8534" class="LineNr"> 8534 </span>    <span class="subxComment"># var name/ecx: (addr array byte) = stmt-&gt;operation</span>
+<span id="L8535" class="LineNr"> 8535 </span>    8b/-&gt; *(ebp+0x10) 0/r32/eax
+<span id="L8536" class="LineNr"> 8536 </span>    8b/-&gt; *(eax+4) 1/r32/ecx
+<span id="L8537" class="LineNr"> 8537 </span>    {
+<span id="L8538" class="LineNr"> 8538 </span>      (<a href='../054string-equal.subx.html#L58'>string-starts-with?</a> %ecx <span class="Constant">&quot;break&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
+<span id="L8539" class="LineNr"> 8539 </span>      3d/compare-eax-and 0/imm32/false
+<span id="L8540" class="LineNr"> 8540 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8541" class="LineNr"> 8541 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:break&quot;</span>)
+<span id="L8542" class="LineNr"> 8542 </span>    }
+<span id="L8543" class="LineNr"> 8543 </span>    <span class="subxComment"># hack: if instruction operation starts with &quot;loop&quot;, emit &quot;:loop&quot;</span>
+<span id="L8544" class="LineNr"> 8544 </span>    {
+<span id="L8545" class="LineNr"> 8545 </span>      (<a href='../054string-equal.subx.html#L58'>string-starts-with?</a> %ecx <span class="Constant">&quot;loop&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
+<span id="L8546" class="LineNr"> 8546 </span>      3d/compare-eax-and 0/imm32/false
+<span id="L8547" class="LineNr"> 8547 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8548" class="LineNr"> 8548 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;:loop&quot;</span>)
+<span id="L8549" class="LineNr"> 8549 </span>    }
+<span id="L8550" class="LineNr"> 8550 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;/disp32&quot;</span>)
+<span id="L8551" class="LineNr"> 8551 </span><span class="Constant">$emit-subx-disp32:end</span>:
+<span id="L8552" class="LineNr"> 8552 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8553" class="LineNr"> 8553 </span>    59/pop-to-ecx
+<span id="L8554" class="LineNr"> 8554 </span>    58/pop-to-eax
+<span id="L8555" class="LineNr"> 8555 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8556" class="LineNr"> 8556 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8557" class="LineNr"> 8557 </span>    5d/pop-to-ebp
+<span id="L8558" class="LineNr"> 8558 </span>    c3/return
+<span id="L8559" class="LineNr"> 8559 </span>
+<span id="L8560" class="LineNr"> 8560 </span><span class="subxFunction">emit-subx-call</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt), callee: (handle function)</span>
+<span id="L8561" class="LineNr"> 8561 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8562" class="LineNr"> 8562 </span>    55/push-ebp
+<span id="L8563" class="LineNr"> 8563 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8564" class="LineNr"> 8564 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8565" class="LineNr"> 8565 </span>    51/push-ecx
+<span id="L8566" class="LineNr"> 8566 </span>    <span class="subxComment">#</span>
+<span id="L8567" class="LineNr"> 8567 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L8568" class="LineNr"> 8568 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;(&quot;</span>)
+<span id="L8569" class="LineNr"> 8569 </span>    <span class="subxH1Comment"># - emit function name</span>
+<span id="L8570" class="LineNr"> 8570 </span>    8b/-&gt; *(ebp+0x10) 1/r32/ecx
+<span id="L8571" class="LineNr"> 8571 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+4))  <span class="subxComment"># Function-subx-name</span>
+<span id="L8572" class="LineNr"> 8572 </span>    <span class="subxH1Comment"># - emit arguments</span>
+<span id="L8573" class="LineNr"> 8573 </span>    <span class="subxComment"># var curr/ecx: (handle stmt-var) = stmt-&gt;inouts</span>
+<span id="L8574" class="LineNr"> 8574 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
+<span id="L8575" class="LineNr"> 8575 </span>    8b/-&gt; *(ecx+8) 1/r32/ecx  <span class="subxComment"># Stmt1-inouts</span>
+<span id="L8576" class="LineNr"> 8576 </span>    {
+<span id="L8577" class="LineNr"> 8577 </span>      <span class="subxComment"># if (curr == null) break</span>
+<span id="L8578" class="LineNr"> 8578 </span>      81 7/subop/compare %ecx 0/imm32
+<span id="L8579" class="LineNr"> 8579 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8580" class="LineNr"> 8580 </span>      <span class="subxComment">#</span>
+<span id="L8581" class="LineNr"> 8581 </span>      (<a href='mu.subx.html#L8634'>emit-subx-call-operand</a> *(ebp+8) %ecx)
+<span id="L8582" class="LineNr"> 8582 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
+<span id="L8583" class="LineNr"> 8583 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8584" class="LineNr"> 8584 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L8585" class="LineNr"> 8585 </span>    }
+<span id="L8586" class="LineNr"> 8586 </span>    <span class="subxComment">#</span>
+<span id="L8587" class="LineNr"> 8587 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)\n&quot;</span>)
+<span id="L8588" class="LineNr"> 8588 </span><span class="Constant">$emit-subx-call:end</span>:
+<span id="L8589" class="LineNr"> 8589 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8590" class="LineNr"> 8590 </span>    59/pop-to-ecx
+<span id="L8591" class="LineNr"> 8591 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8592" class="LineNr"> 8592 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8593" class="LineNr"> 8593 </span>    5d/pop-to-ebp
+<span id="L8594" class="LineNr"> 8594 </span>    c3/return
+<span id="L8595" class="LineNr"> 8595 </span>
+<span id="L8596" class="LineNr"> 8596 </span><span class="subxComment"># like a function call, except we have no idea what function it is</span>
+<span id="L8597" class="LineNr"> 8597 </span><span class="subxComment"># we hope it's defined in SubX and that the types are ok</span>
+<span id="L8598" class="LineNr"> 8598 </span><span class="subxFunction">emit-hailmary-call</span>:  <span class="subxComment"># out: (addr buffered-file), stmt: (handle stmt)</span>
+<span id="L8599" class="LineNr"> 8599 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8600" class="LineNr"> 8600 </span>    55/push-ebp
+<span id="L8601" class="LineNr"> 8601 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8602" class="LineNr"> 8602 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8603" class="LineNr"> 8603 </span>    51/push-ecx
+<span id="L8604" class="LineNr"> 8604 </span>    <span class="subxComment">#</span>
+<span id="L8605" class="LineNr"> 8605 </span>    (<a href='mu.subx.html#L10434'>emit-indent</a> *(ebp+8) *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span>)
+<span id="L8606" class="LineNr"> 8606 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;(&quot;</span>)
+<span id="L8607" class="LineNr"> 8607 </span>    <span class="subxComment"># ecx = stmt</span>
+<span id="L8608" class="LineNr"> 8608 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
+<span id="L8609" class="LineNr"> 8609 </span>    <span class="subxH1Comment"># - emit function name</span>
+<span id="L8610" class="LineNr"> 8610 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(ecx+4))  <span class="subxComment"># Stmt1-operation</span>
+<span id="L8611" class="LineNr"> 8611 </span>    <span class="subxH1Comment"># - emit arguments</span>
+<span id="L8612" class="LineNr"> 8612 </span>    <span class="subxComment"># var curr/ecx: (handle stmt-var) = stmt-&gt;inouts</span>
+<span id="L8613" class="LineNr"> 8613 </span>    8b/-&gt; *(ecx+8) 1/r32/ecx  <span class="subxComment"># Stmt1-inouts</span>
+<span id="L8614" class="LineNr"> 8614 </span>    {
+<span id="L8615" class="LineNr"> 8615 </span>      <span class="subxComment"># if (curr == null) break</span>
+<span id="L8616" class="LineNr"> 8616 </span>      81 7/subop/compare %ecx 0/imm32
+<span id="L8617" class="LineNr"> 8617 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8618" class="LineNr"> 8618 </span>      <span class="subxComment">#</span>
+<span id="L8619" class="LineNr"> 8619 </span>      (<a href='mu.subx.html#L8634'>emit-subx-call-operand</a> *(ebp+8) %ecx)
+<span id="L8620" class="LineNr"> 8620 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
+<span id="L8621" class="LineNr"> 8621 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8622" class="LineNr"> 8622 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L8623" class="LineNr"> 8623 </span>    }
+<span id="L8624" class="LineNr"> 8624 </span>    <span class="subxComment">#</span>
+<span id="L8625" class="LineNr"> 8625 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)\n&quot;</span>)
+<span id="L8626" class="LineNr"> 8626 </span><span class="Constant">$emit-hailmary-call:end</span>:
+<span id="L8627" class="LineNr"> 8627 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8628" class="LineNr"> 8628 </span>    59/pop-to-ecx
+<span id="L8629" class="LineNr"> 8629 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8630" class="LineNr"> 8630 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8631" class="LineNr"> 8631 </span>    5d/pop-to-ebp
+<span id="L8632" class="LineNr"> 8632 </span>    c3/return
+<span id="L8633" class="LineNr"> 8633 </span>
+<span id="L8634" class="LineNr"> 8634 </span><span class="subxFunction">emit-subx-call-operand</span>:  <span class="subxComment"># out: (addr buffered-file), s: (handle stmt-var)</span>
+<span id="L8635" class="LineNr"> 8635 </span>    <span class="subxComment"># shares code with emit-subx-var-as-rm32</span>
+<span id="L8636" class="LineNr"> 8636 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8637" class="LineNr"> 8637 </span>    55/push-ebp
+<span id="L8638" class="LineNr"> 8638 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8639" class="LineNr"> 8639 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8640" class="LineNr"> 8640 </span>    50/push-eax
+<span id="L8641" class="LineNr"> 8641 </span>    51/push-ecx
+<span id="L8642" class="LineNr"> 8642 </span>    56/push-esi
+<span id="L8643" class="LineNr"> 8643 </span>    <span class="subxComment"># ecx = s</span>
+<span id="L8644" class="LineNr"> 8644 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
+<span id="L8645" class="LineNr"> 8645 </span>    <span class="subxComment"># var operand/esi: (handle var) = s-&gt;value</span>
+<span id="L8646" class="LineNr"> 8646 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8647" class="LineNr"> 8647 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; s-&gt;is-deref?) emit &quot;*__&quot;</span>
+<span id="L8648" class="LineNr"> 8648 </span>    {
+<span id="L8649" class="LineNr"> 8649 </span><span class="Constant">$emit-subx-call-operand:check-for-register-indirect</span>:
+<span id="L8650" class="LineNr"> 8650 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L8651" class="LineNr"> 8651 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8652" class="LineNr"> 8652 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L8653" class="LineNr"> 8653 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8654" class="LineNr"> 8654 </span><span class="Constant">$emit-subx-call-operand:register-indirect</span>:
+<span id="L8655" class="LineNr"> 8655 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; *&quot;</span>)
+<span id="L8656" class="LineNr"> 8656 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
+<span id="L8657" class="LineNr"> 8657 </span>      e9/jump $emit-subx-call-operand:end/disp32
+<span id="L8658" class="LineNr"> 8658 </span>    }
+<span id="L8659" class="LineNr"> 8659 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; !s-&gt;is-deref?) emit &quot;%__&quot;</span>
+<span id="L8660" class="LineNr"> 8660 </span>    {
+<span id="L8661" class="LineNr"> 8661 </span><span class="Constant">$emit-subx-call-operand:check-for-register-direct</span>:
+<span id="L8662" class="LineNr"> 8662 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L8663" class="LineNr"> 8663 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8664" class="LineNr"> 8664 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L8665" class="LineNr"> 8665 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8666" class="LineNr"> 8666 </span><span class="Constant">$emit-subx-call-operand:register-direct</span>:
+<span id="L8667" class="LineNr"> 8667 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
+<span id="L8668" class="LineNr"> 8668 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
+<span id="L8669" class="LineNr"> 8669 </span>      e9/jump $emit-subx-call-operand:end/disp32
+<span id="L8670" class="LineNr"> 8670 </span>    }
+<span id="L8671" class="LineNr"> 8671 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
+<span id="L8672" class="LineNr"> 8672 </span>    {
+<span id="L8673" class="LineNr"> 8673 </span>      81 7/subop/compare *(esi+0xc) 0/imm32  <span class="subxComment"># Var-offset</span>
+<span id="L8674" class="LineNr"> 8674 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8675" class="LineNr"> 8675 </span><span class="Constant">$emit-subx-call-operand:stack</span>:
+<span id="L8676" class="LineNr"> 8676 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8677" class="LineNr"> 8677 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
+<span id="L8678" class="LineNr"> 8678 </span>      (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(esi+0xc))  <span class="subxComment"># Var-offset</span>
+<span id="L8679" class="LineNr"> 8679 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)&quot;</span>)
+<span id="L8680" class="LineNr"> 8680 </span>      e9/jump $emit-subx-call-operand:end/disp32
+<span id="L8681" class="LineNr"> 8681 </span>    }
+<span id="L8682" class="LineNr"> 8682 </span>    <span class="subxComment"># else if (operand-&gt;type == literal) emit &quot;__&quot;</span>
+<span id="L8683" class="LineNr"> 8683 </span>    {
+<span id="L8684" class="LineNr"> 8684 </span>      8b/-&gt; *(esi+4) 0/r32/eax  <span class="subxComment"># Var-type</span>
+<span id="L8685" class="LineNr"> 8685 </span>      81 7/subop/compare *eax 0/imm32  <span class="subxComment"># Tree-left</span>
+<span id="L8686" class="LineNr"> 8686 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8687" class="LineNr"> 8687 </span><span class="Constant">$emit-subx-call-operand:literal</span>:
+<span id="L8688" class="LineNr"> 8688 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8689" class="LineNr"> 8689 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *esi)
+<span id="L8690" class="LineNr"> 8690 </span>    }
+<span id="L8691" class="LineNr"> 8691 </span><span class="Constant">$emit-subx-call-operand:end</span>:
+<span id="L8692" class="LineNr"> 8692 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8693" class="LineNr"> 8693 </span>    5e/pop-to-esi
+<span id="L8694" class="LineNr"> 8694 </span>    59/pop-to-ecx
+<span id="L8695" class="LineNr"> 8695 </span>    58/pop-to-eax
+<span id="L8696" class="LineNr"> 8696 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8697" class="LineNr"> 8697 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8698" class="LineNr"> 8698 </span>    5d/pop-to-ebp
+<span id="L8699" class="LineNr"> 8699 </span>    c3/return
+<span id="L8700" class="LineNr"> 8700 </span>
+<span id="L8701" class="LineNr"> 8701 </span><span class="subxFunction">emit-subx-var-as-rm32</span>:  <span class="subxComment"># out: (addr buffered-file), s: (handle stmt-var)</span>
+<span id="L8702" class="LineNr"> 8702 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8703" class="LineNr"> 8703 </span>    55/push-ebp
+<span id="L8704" class="LineNr"> 8704 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8705" class="LineNr"> 8705 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8706" class="LineNr"> 8706 </span>    50/push-eax
+<span id="L8707" class="LineNr"> 8707 </span>    51/push-ecx
+<span id="L8708" class="LineNr"> 8708 </span>    56/push-esi
+<span id="L8709" class="LineNr"> 8709 </span>    <span class="subxComment"># ecx = s</span>
+<span id="L8710" class="LineNr"> 8710 </span>    8b/-&gt; *(ebp+0xc) 1/r32/ecx
+<span id="L8711" class="LineNr"> 8711 </span>    <span class="subxComment"># var operand/esi: (handle var) = s-&gt;value</span>
+<span id="L8712" class="LineNr"> 8712 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8713" class="LineNr"> 8713 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; s-&gt;is-deref?) emit &quot;*__&quot;</span>
+<span id="L8714" class="LineNr"> 8714 </span>    {
+<span id="L8715" class="LineNr"> 8715 </span><span class="Constant">$emit-subx-var-as-rm32:check-for-register-indirect</span>:
+<span id="L8716" class="LineNr"> 8716 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L8717" class="LineNr"> 8717 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8718" class="LineNr"> 8718 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L8719" class="LineNr"> 8719 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8720" class="LineNr"> 8720 </span><span class="Constant">$emit-subx-var-as-rm32:register-indirect</span>:
+<span id="L8721" class="LineNr"> 8721 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; *&quot;</span>)
+<span id="L8722" class="LineNr"> 8722 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
+<span id="L8723" class="LineNr"> 8723 </span>    }
+<span id="L8724" class="LineNr"> 8724 </span>    <span class="subxComment"># if (operand-&gt;register &amp;&amp; !s-&gt;is-deref?) emit &quot;%__&quot;</span>
+<span id="L8725" class="LineNr"> 8725 </span>    {
+<span id="L8726" class="LineNr"> 8726 </span><span class="Constant">$emit-subx-var-as-rm32:check-for-register-direct</span>:
+<span id="L8727" class="LineNr"> 8727 </span>      81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L8728" class="LineNr"> 8728 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8729" class="LineNr"> 8729 </span>      81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L8730" class="LineNr"> 8730 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8731" class="LineNr"> 8731 </span><span class="Constant">$emit-subx-var-as-rm32:register-direct</span>:
+<span id="L8732" class="LineNr"> 8732 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
+<span id="L8733" class="LineNr"> 8733 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(esi+0x10))  <span class="subxComment"># Var-register</span>
+<span id="L8734" class="LineNr"> 8734 </span>    }
+<span id="L8735" class="LineNr"> 8735 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
+<span id="L8736" class="LineNr"> 8736 </span>    {
+<span id="L8737" class="LineNr"> 8737 </span>      81 7/subop/compare *(esi+0xc) 0/imm32  <span class="subxComment"># Var-offset</span>
+<span id="L8738" class="LineNr"> 8738 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8739" class="LineNr"> 8739 </span><span class="Constant">$emit-subx-var-as-rm32:stack</span>:
+<span id="L8740" class="LineNr"> 8740 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
+<span id="L8741" class="LineNr"> 8741 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
+<span id="L8742" class="LineNr"> 8742 </span>      (<a href='../066print-int.subx.html#L266'>print-int32-buffered</a> *(ebp+8) *(esi+0xc))  <span class="subxComment"># Var-offset</span>
+<span id="L8743" class="LineNr"> 8743 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;)&quot;</span>)
+<span id="L8744" class="LineNr"> 8744 </span>    }
+<span id="L8745" class="LineNr"> 8745 </span><span class="Constant">$emit-subx-var-as-rm32:end</span>:
+<span id="L8746" class="LineNr"> 8746 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8747" class="LineNr"> 8747 </span>    5e/pop-to-esi
+<span id="L8748" class="LineNr"> 8748 </span>    59/pop-to-ecx
+<span id="L8749" class="LineNr"> 8749 </span>    58/pop-to-eax
+<span id="L8750" class="LineNr"> 8750 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8751" class="LineNr"> 8751 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8752" class="LineNr"> 8752 </span>    5d/pop-to-ebp
+<span id="L8753" class="LineNr"> 8753 </span>    c3/return
+<span id="L8754" class="LineNr"> 8754 </span>
+<span id="L8755" class="LineNr"> 8755 </span><span class="subxFunction">find-matching-function</span>:  <span class="subxComment"># functions: (addr function), stmt: (handle stmt) -&gt; result/eax: (handle function)</span>
+<span id="L8756" class="LineNr"> 8756 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8757" class="LineNr"> 8757 </span>    55/push-ebp
+<span id="L8758" class="LineNr"> 8758 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8759" class="LineNr"> 8759 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8760" class="LineNr"> 8760 </span>    51/push-ecx
+<span id="L8761" class="LineNr"> 8761 </span>    <span class="subxComment"># var curr/ecx: (handle function) = functions</span>
+<span id="L8762" class="LineNr"> 8762 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8763" class="LineNr"> 8763 </span>    {
+<span id="L8764" class="LineNr"> 8764 </span>      <span class="subxComment"># if (curr == null) break</span>
+<span id="L8765" class="LineNr"> 8765 </span>      81 7/subop/compare %ecx 0/imm32
+<span id="L8766" class="LineNr"> 8766 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8767" class="LineNr"> 8767 </span>      <span class="subxComment"># if match(stmt, curr) return curr</span>
+<span id="L8768" class="LineNr"> 8768 </span>      {
+<span id="L8769" class="LineNr"> 8769 </span>        (<a href='mu.subx.html#L8831'>mu-stmt-matches-function?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
+<span id="L8770" class="LineNr"> 8770 </span>        3d/compare-eax-and 0/imm32/false
+<span id="L8771" class="LineNr"> 8771 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8772" class="LineNr"> 8772 </span>        89/&lt;- %eax 1/r32/ecx
+<span id="L8773" class="LineNr"> 8773 </span>        eb/jump $find-matching-function:end/disp8
+<span id="L8774" class="LineNr"> 8774 </span>      }
+<span id="L8775" class="LineNr"> 8775 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
+<span id="L8776" class="LineNr"> 8776 </span>      8b/-&gt; *(ecx+0x14) 1/r32/ecx  <span class="subxComment"># Function-next</span>
+<span id="L8777" class="LineNr"> 8777 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L8778" class="LineNr"> 8778 </span>    }
+<span id="L8779" class="LineNr"> 8779 </span>    <span class="subxComment"># return null</span>
+<span id="L8780" class="LineNr"> 8780 </span>    b8/copy-to-eax 0/imm32
+<span id="L8781" class="LineNr"> 8781 </span><span class="Constant">$find-matching-function:end</span>:
+<span id="L8782" class="LineNr"> 8782 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8783" class="LineNr"> 8783 </span>    59/pop-to-ecx
+<span id="L8784" class="LineNr"> 8784 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8785" class="LineNr"> 8785 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8786" class="LineNr"> 8786 </span>    5d/pop-to-ebp
+<span id="L8787" class="LineNr"> 8787 </span>    c3/return
+<span id="L8788" class="LineNr"> 8788 </span>
+<span id="L8789" class="LineNr"> 8789 </span><span class="subxFunction">find-matching-primitive</span>:  <span class="subxComment"># primitives: (handle primitive), stmt: (handle stmt) -&gt; result/eax: (handle primitive)</span>
+<span id="L8790" class="LineNr"> 8790 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8791" class="LineNr"> 8791 </span>    55/push-ebp
+<span id="L8792" class="LineNr"> 8792 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8793" class="LineNr"> 8793 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8794" class="LineNr"> 8794 </span>    51/push-ecx
+<span id="L8795" class="LineNr"> 8795 </span>    <span class="subxComment"># var curr/ecx: (handle primitive) = primitives</span>
+<span id="L8796" class="LineNr"> 8796 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8797" class="LineNr"> 8797 </span>    {
+<span id="L8798" class="LineNr"> 8798 </span><span class="Constant">$find-matching-primitive:loop</span>:
+<span id="L8799" class="LineNr"> 8799 </span>      <span class="subxComment"># if (curr == null) break</span>
+<span id="L8800" class="LineNr"> 8800 </span>      81 7/subop/compare %ecx 0/imm32
+<span id="L8801" class="LineNr"> 8801 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
+<span id="L8802" class="LineNr"> 8802 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot;prim: &quot;)</span>
+<span id="L8803" class="LineNr"> 8803 </span><span class="CommentedCode">#?       (write-buffered Stderr *ecx)  # Primitive-name</span>
+<span id="L8804" class="LineNr"> 8804 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot; =&gt; &quot;)</span>
+<span id="L8805" class="LineNr"> 8805 </span><span class="CommentedCode">#?       (write-buffered Stderr *(ecx+0xc))  # Primitive-subx-name</span>
+<span id="L8806" class="LineNr"> 8806 </span><span class="CommentedCode">#?       (write-buffered Stderr Newline)</span>
+<span id="L8807" class="LineNr"> 8807 </span><span class="CommentedCode">#?       (flush Stderr)</span>
+<span id="L8808" class="LineNr"> 8808 </span>      <span class="subxComment"># if match(curr, stmt) return curr</span>
+<span id="L8809" class="LineNr"> 8809 </span>      {
+<span id="L8810" class="LineNr"> 8810 </span>        (<a href='mu.subx.html#L8849'>mu-stmt-matches-primitive?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
+<span id="L8811" class="LineNr"> 8811 </span>        3d/compare-eax-and 0/imm32/false
+<span id="L8812" class="LineNr"> 8812 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L8813" class="LineNr"> 8813 </span>        89/&lt;- %eax 1/r32/ecx
+<span id="L8814" class="LineNr"> 8814 </span>        eb/jump $find-matching-primitive:end/disp8
+<span id="L8815" class="LineNr"> 8815 </span>      }
+<span id="L8816" class="LineNr"> 8816 </span><span class="Constant">$find-matching-primitive:next-primitive</span>:
+<span id="L8817" class="LineNr"> 8817 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
+<span id="L8818" class="LineNr"> 8818 </span>      8b/-&gt; *(ecx+0x24) 1/r32/ecx  <span class="subxComment"># Primitive-next</span>
+<span id="L8819" class="LineNr"> 8819 </span>      e9/jump <span class="Constant">loop</span>/disp32
+<span id="L8820" class="LineNr"> 8820 </span>    }
+<span id="L8821" class="LineNr"> 8821 </span>    <span class="subxComment"># return null</span>
+<span id="L8822" class="LineNr"> 8822 </span>    b8/copy-to-eax 0/imm32
+<span id="L8823" class="LineNr"> 8823 </span><span class="Constant">$find-matching-primitive:end</span>:
+<span id="L8824" class="LineNr"> 8824 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8825" class="LineNr"> 8825 </span>    59/pop-to-ecx
+<span id="L8826" class="LineNr"> 8826 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8827" class="LineNr"> 8827 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8828" class="LineNr"> 8828 </span>    5d/pop-to-ebp
+<span id="L8829" class="LineNr"> 8829 </span>    c3/return
+<span id="L8830" class="LineNr"> 8830 </span>
+<span id="L8831" class="LineNr"> 8831 </span><span class="subxFunction">mu-stmt-matches-function?</span>:  <span class="subxComment"># stmt: (handle stmt), function: (handle function) -&gt; result/eax: boolean</span>
+<span id="L8832" class="LineNr"> 8832 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8833" class="LineNr"> 8833 </span>    55/push-ebp
+<span id="L8834" class="LineNr"> 8834 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8835" class="LineNr"> 8835 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8836" class="LineNr"> 8836 </span>    51/push-ecx
+<span id="L8837" class="LineNr"> 8837 </span>    <span class="subxComment"># return function-&gt;name == stmt-&gt;operation</span>
+<span id="L8838" class="LineNr"> 8838 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8839" class="LineNr"> 8839 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
+<span id="L8840" class="LineNr"> 8840 </span>    (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(ecx+4) *eax)  <span class="subxComment"># Stmt1-operation, Function-name =&gt; eax</span>
+<span id="L8841" class="LineNr"> 8841 </span><span class="Constant">$mu-stmt-matches-function?:end</span>:
+<span id="L8842" class="LineNr"> 8842 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8843" class="LineNr"> 8843 </span>    59/pop-to-ecx
+<span id="L8844" class="LineNr"> 8844 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8845" class="LineNr"> 8845 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8846" class="LineNr"> 8846 </span>    5d/pop-to-ebp
+<span id="L8847" class="LineNr"> 8847 </span>    c3/return
+<span id="L8848" class="LineNr"> 8848 </span>
+<span id="L8849" class="LineNr"> 8849 </span><span class="subxFunction">mu-stmt-matches-primitive?</span>:  <span class="subxComment"># stmt: (handle stmt), primitive: (handle primitive) -&gt; result/eax: boolean</span>
+<span id="L8850" class="LineNr"> 8850 </span>    <span class="subxComment"># A mu stmt matches a primitive if the name matches, all the inout vars</span>
+<span id="L8851" class="LineNr"> 8851 </span>    <span class="subxComment"># match, and all the output vars match.</span>
+<span id="L8852" class="LineNr"> 8852 </span>    <span class="subxComment"># Vars match if types match and registers match.</span>
+<span id="L8853" class="LineNr"> 8853 </span>    <span class="subxComment"># In addition, a stmt output matches a primitive's output if types match</span>
+<span id="L8854" class="LineNr"> 8854 </span>    <span class="subxComment"># and the primitive has a wildcard register.</span>
+<span id="L8855" class="LineNr"> 8855 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8856" class="LineNr"> 8856 </span>    55/push-ebp
+<span id="L8857" class="LineNr"> 8857 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8858" class="LineNr"> 8858 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8859" class="LineNr"> 8859 </span>    51/push-ecx
+<span id="L8860" class="LineNr"> 8860 </span>    52/push-edx
+<span id="L8861" class="LineNr"> 8861 </span>    53/push-ebx
+<span id="L8862" class="LineNr"> 8862 </span>    56/push-esi
+<span id="L8863" class="LineNr"> 8863 </span>    57/push-edi
+<span id="L8864" class="LineNr"> 8864 </span>    <span class="subxComment"># ecx = stmt</span>
+<span id="L8865" class="LineNr"> 8865 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8866" class="LineNr"> 8866 </span>    <span class="subxComment"># edx = primitive</span>
+<span id="L8867" class="LineNr"> 8867 </span>    8b/-&gt; *(ebp+0xc) 2/r32/edx
+<span id="L8868" class="LineNr"> 8868 </span>    {
+<span id="L8869" class="LineNr"> 8869 </span><span class="Constant">$mu-stmt-matches-primitive?:check-name</span>:
+<span id="L8870" class="LineNr"> 8870 </span>      <span class="subxComment"># if (primitive-&gt;name != stmt-&gt;operation) return false</span>
+<span id="L8871" class="LineNr"> 8871 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(ecx+4) *edx)  <span class="subxComment"># Stmt1-operation, Primitive-name =&gt; eax</span>
+<span id="L8872" class="LineNr"> 8872 </span>      3d/compare-eax-and 0/imm32/false
+<span id="L8873" class="LineNr"> 8873 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8874" class="LineNr"> 8874 </span>      b8/copy-to-eax 0/imm32
+<span id="L8875" class="LineNr"> 8875 </span>      e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8876" class="LineNr"> 8876 </span>    }
+<span id="L8877" class="LineNr"> 8877 </span><span class="Constant">$mu-stmt-matches-primitive?:check-inouts</span>:
+<span id="L8878" class="LineNr"> 8878 </span>    <span class="subxComment"># for (curr/esi in stmt-&gt;inouts, curr2/edi in primitive-&gt;inouts)</span>
+<span id="L8879" class="LineNr"> 8879 </span>    8b/-&gt; *(ecx+8) 6/r32/esi  <span class="subxComment"># Stmt1-inouts or Regvardef-inouts</span>
+<span id="L8880" class="LineNr"> 8880 </span>    8b/-&gt; *(edx+4) 7/r32/edi  <span class="subxComment"># Primitive-inouts</span>
+<span id="L8881" class="LineNr"> 8881 </span>    {
+<span id="L8882" class="LineNr"> 8882 </span>      <span class="subxComment"># if (curr == 0 &amp;&amp; curr2 == 0) move on to check outputs</span>
+<span id="L8883" class="LineNr"> 8883 </span>      {
+<span id="L8884" class="LineNr"> 8884 </span>        81 7/subop/compare %esi 0/imm32
+<span id="L8885" class="LineNr"> 8885 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8886" class="LineNr"> 8886 </span><span class="Constant">$mu-stmt-matches-primitive?:stmt-inout-is-null</span>:
+<span id="L8887" class="LineNr"> 8887 </span>        {
+<span id="L8888" class="LineNr"> 8888 </span>          81 7/subop/compare %edi 0/imm32
+<span id="L8889" class="LineNr"> 8889 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8890" class="LineNr"> 8890 </span>          <span class="subxComment">#</span>
+<span id="L8891" class="LineNr"> 8891 </span>          e9/jump $mu-stmt-matches-primitive?:check-outputs/disp32
+<span id="L8892" class="LineNr"> 8892 </span>        }
+<span id="L8893" class="LineNr"> 8893 </span>        <span class="subxComment"># return false</span>
+<span id="L8894" class="LineNr"> 8894 </span>        b8/copy-to-eax 0/imm32/false
+<span id="L8895" class="LineNr"> 8895 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8896" class="LineNr"> 8896 </span>      }
+<span id="L8897" class="LineNr"> 8897 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
+<span id="L8898" class="LineNr"> 8898 </span>      {
+<span id="L8899" class="LineNr"> 8899 </span>        81 7/subop/compare %edi 0/imm32
+<span id="L8900" class="LineNr"> 8900 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8901" class="LineNr"> 8901 </span><span class="Constant">$mu-stmt-matches-primitive?:prim-inout-is-null</span>:
+<span id="L8902" class="LineNr"> 8902 </span>        b8/copy-to-eax 0/imm32/false
+<span id="L8903" class="LineNr"> 8903 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8904" class="LineNr"> 8904 </span>      }
+<span id="L8905" class="LineNr"> 8905 </span>      <span class="subxComment"># if (curr != curr2) return false</span>
+<span id="L8906" class="LineNr"> 8906 </span>      {
+<span id="L8907" class="LineNr"> 8907 </span>        (<a href='mu.subx.html#L8975'>operand-matches-primitive?</a> %esi *edi)  <span class="subxComment"># List-value =&gt; eax</span>
+<span id="L8908" class="LineNr"> 8908 </span>        3d/compare-eax-and 0/imm32/false
+<span id="L8909" class="LineNr"> 8909 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8910" class="LineNr"> 8910 </span>        b8/copy-to-eax 0/imm32/false
+<span id="L8911" class="LineNr"> 8911 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8912" class="LineNr"> 8912 </span>      }
+<span id="L8913" class="LineNr"> 8913 </span>      <span class="subxComment"># curr=curr-&gt;next</span>
+<span id="L8914" class="LineNr"> 8914 </span>      8b/-&gt; *(esi+4) 6/r32/esi  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8915" class="LineNr"> 8915 </span>      <span class="subxComment"># curr2=curr2-&gt;next</span>
+<span id="L8916" class="LineNr"> 8916 </span>      8b/-&gt; *(edi+4) 7/r32/edi  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8917" class="LineNr"> 8917 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L8918" class="LineNr"> 8918 </span>    }
+<span id="L8919" class="LineNr"> 8919 </span><span class="Constant">$mu-stmt-matches-primitive?:check-outputs</span>:
+<span id="L8920" class="LineNr"> 8920 </span>    <span class="subxComment"># for (curr/esi in stmt-&gt;outputs, curr2/edi in primitive-&gt;outputs)</span>
+<span id="L8921" class="LineNr"> 8921 </span>    8b/-&gt; *(ecx+0xc) 6/r32/esi  <span class="subxComment"># Stmt1-outputs</span>
+<span id="L8922" class="LineNr"> 8922 </span>    8b/-&gt; *(edx+8) 7/r32/edi  <span class="subxComment"># Primitive-outputs</span>
+<span id="L8923" class="LineNr"> 8923 </span>    {
+<span id="L8924" class="LineNr"> 8924 </span>      <span class="subxComment"># if (curr == 0) return (curr2 == 0)</span>
+<span id="L8925" class="LineNr"> 8925 </span>      {
+<span id="L8926" class="LineNr"> 8926 </span><span class="Constant">$mu-stmt-matches-primitive?:check-output</span>:
+<span id="L8927" class="LineNr"> 8927 </span>        81 7/subop/compare %esi 0/imm32
+<span id="L8928" class="LineNr"> 8928 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8929" class="LineNr"> 8929 </span>        {
+<span id="L8930" class="LineNr"> 8930 </span>          81 7/subop/compare %edi 0/imm32
+<span id="L8931" class="LineNr"> 8931 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8932" class="LineNr"> 8932 </span>          <span class="subxComment"># return true</span>
+<span id="L8933" class="LineNr"> 8933 </span>          b8/copy-to-eax 1/imm32
+<span id="L8934" class="LineNr"> 8934 </span>          e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8935" class="LineNr"> 8935 </span>        }
+<span id="L8936" class="LineNr"> 8936 </span>        <span class="subxComment"># return false</span>
+<span id="L8937" class="LineNr"> 8937 </span>        b8/copy-to-eax 0/imm32
+<span id="L8938" class="LineNr"> 8938 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8939" class="LineNr"> 8939 </span>      }
+<span id="L8940" class="LineNr"> 8940 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
+<span id="L8941" class="LineNr"> 8941 </span>      {
+<span id="L8942" class="LineNr"> 8942 </span>        81 7/subop/compare %edi 0/imm32
+<span id="L8943" class="LineNr"> 8943 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8944" class="LineNr"> 8944 </span>        b8/copy-to-eax 0/imm32
+<span id="L8945" class="LineNr"> 8945 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8946" class="LineNr"> 8946 </span>      }
+<span id="L8947" class="LineNr"> 8947 </span>      <span class="subxComment"># if (curr != curr2) return false</span>
+<span id="L8948" class="LineNr"> 8948 </span>      {
+<span id="L8949" class="LineNr"> 8949 </span>        (<a href='mu.subx.html#L8975'>operand-matches-primitive?</a> %esi *edi)  <span class="subxComment"># List-value =&gt; eax</span>
+<span id="L8950" class="LineNr"> 8950 </span>        3d/compare-eax-and 0/imm32/false
+<span id="L8951" class="LineNr"> 8951 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L8952" class="LineNr"> 8952 </span>        b8/copy-to-eax 0/imm32
+<span id="L8953" class="LineNr"> 8953 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
+<span id="L8954" class="LineNr"> 8954 </span>      }
+<span id="L8955" class="LineNr"> 8955 </span>      <span class="subxComment"># curr=curr-&gt;next</span>
+<span id="L8956" class="LineNr"> 8956 </span>      8b/-&gt; *(esi+4) 6/r32/esi  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8957" class="LineNr"> 8957 </span>      <span class="subxComment"># curr2=curr2-&gt;next</span>
+<span id="L8958" class="LineNr"> 8958 </span>      8b/-&gt; *(edi+4) 7/r32/edi  <span class="subxComment"># Stmt-var-next</span>
+<span id="L8959" class="LineNr"> 8959 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L8960" class="LineNr"> 8960 </span>    }
+<span id="L8961" class="LineNr"> 8961 </span><span class="Constant">$mu-stmt-matches-primitive?:return-true</span>:
+<span id="L8962" class="LineNr"> 8962 </span>    b8/copy-to-eax 1/imm32
+<span id="L8963" class="LineNr"> 8963 </span><span class="Constant">$mu-stmt-matches-primitive?:end</span>:
+<span id="L8964" class="LineNr"> 8964 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L8965" class="LineNr"> 8965 </span>    5f/pop-to-edi
+<span id="L8966" class="LineNr"> 8966 </span>    5e/pop-to-esi
+<span id="L8967" class="LineNr"> 8967 </span>    5b/pop-to-ebx
+<span id="L8968" class="LineNr"> 8968 </span>    5a/pop-to-edx
+<span id="L8969" class="LineNr"> 8969 </span>    59/pop-to-ecx
+<span id="L8970" class="LineNr"> 8970 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L8971" class="LineNr"> 8971 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L8972" class="LineNr"> 8972 </span>    5d/pop-to-ebp
+<span id="L8973" class="LineNr"> 8973 </span>    c3/return
+<span id="L8974" class="LineNr"> 8974 </span>
+<span id="L8975" class="LineNr"> 8975 </span><span class="subxFunction">operand-matches-primitive?</span>:  <span class="subxComment"># s: (handle stmt-var), prim-var: (handle var) -&gt; result/eax: boolean</span>
+<span id="L8976" class="LineNr"> 8976 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L8977" class="LineNr"> 8977 </span>    55/push-ebp
+<span id="L8978" class="LineNr"> 8978 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L8979" class="LineNr"> 8979 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L8980" class="LineNr"> 8980 </span>    51/push-ecx
+<span id="L8981" class="LineNr"> 8981 </span>    56/push-esi
+<span id="L8982" class="LineNr"> 8982 </span>    57/push-edi
+<span id="L8983" class="LineNr"> 8983 </span>    <span class="subxComment"># ecx = s</span>
+<span id="L8984" class="LineNr"> 8984 </span>    8b/-&gt; *(ebp+8) 1/r32/ecx
+<span id="L8985" class="LineNr"> 8985 </span>    <span class="subxComment"># var var/esi : (handle var) = s-&gt;value</span>
+<span id="L8986" class="LineNr"> 8986 </span>    8b/-&gt; *ecx 6/r32/esi  <span class="subxComment"># Stmt-var-value</span>
+<span id="L8987" class="LineNr"> 8987 </span>    <span class="subxComment"># edi = prim-var</span>
+<span id="L8988" class="LineNr"> 8988 </span>    8b/-&gt; *(ebp+0xc) 7/r32/edi
+<span id="L8989" class="LineNr"> 8989 </span><span class="Constant">$operand-matches-primitive?:check-type</span>:
+<span id="L8990" class="LineNr"> 8990 </span>    <span class="subxComment"># if (var-&gt;type != prim-var-&gt;type) return false</span>
+<span id="L8991" class="LineNr"> 8991 </span>    (<a href='mu.subx.html#L9053'>subx-type-equal?</a> *(esi+4) *(edi+4))  <span class="subxComment"># Var-type, Var-type =&gt; eax</span>
+<span id="L8992" class="LineNr"> 8992 </span>    3d/compare-eax-and 0/imm32/false
+<span id="L8993" class="LineNr"> 8993 </span>    b8/copy-to-eax 0/imm32/false
+<span id="L8994" class="LineNr"> 8994 </span>    0f 84/jump-if-= $operand-matches-primitive?:end/disp32
+<span id="L8995" class="LineNr"> 8995 </span>    {
+<span id="L8996" class="LineNr"> 8996 </span><span class="Constant">$operand-matches-primitive?:check-register</span>:
+<span id="L8997" class="LineNr"> 8997 </span>      <span class="subxComment"># if prim-var is in memory and var is in register but dereference, match</span>
+<span id="L8998" class="LineNr"> 8998 </span>      {
+<span id="L8999" class="LineNr"> 8999 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L9000" class="LineNr"> 9000 </span>        0f 85/jump-if-!= <span class="Constant">break</span>/disp32
+<span id="L9001" class="LineNr"> 9001 </span>        81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L9002" class="LineNr"> 9002 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L9003" class="LineNr"> 9003 </span>        81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L9004" class="LineNr"> 9004 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L9005" class="LineNr"> 9005 </span>        e9/jump $operand-matches-primitive?:return-true/disp32
+<span id="L9006" class="LineNr"> 9006 </span>      }
+<span id="L9007" class="LineNr"> 9007 </span>      <span class="subxComment"># if prim-var is in register and var is in register but dereference, no match</span>
+<span id="L9008" class="LineNr"> 9008 </span>      {
+<span id="L9009" class="LineNr"> 9009 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L9010" class="LineNr"> 9010 </span>        0f 84/jump-if-= <span class="Constant">break</span>/disp32
+<span id="L9011" class="LineNr"> 9011 </span>        81 7/subop/compare *(esi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L9012" class="LineNr"> 9012 </span>        0f 84/jump-if-= <span class="Constant">break</span>/disp32
+<span id="L9013" class="LineNr"> 9013 </span>        81 7/subop/compare *(ecx+8) 0/imm32/false  <span class="subxComment"># Stmt-var-is-deref</span>
+<span id="L9014" class="LineNr"> 9014 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L9015" class="LineNr"> 9015 </span>        e9/jump $operand-matches-primitive?:return-false/disp32
+<span id="L9016" class="LineNr"> 9016 </span>      }
+<span id="L9017" class="LineNr"> 9017 </span>      <span class="subxComment"># return false if var-&gt;register doesn't match prim-var-&gt;register</span>
+<span id="L9018" class="LineNr"> 9018 </span>      {
+<span id="L9019" class="LineNr"> 9019 </span>        <span class="subxComment"># if register addresses are equal, it's a match</span>
+<span id="L9020" class="LineNr"> 9020 </span>        8b/-&gt; *(esi+0x10) 0/r32/eax  <span class="subxComment"># Var-register</span>
+<span id="L9021" class="LineNr"> 9021 </span>        39/compare *(edi+0x10) 0/r32/eax  <span class="subxComment"># Var-register</span>
+<span id="L9022" class="LineNr"> 9022 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
+<span id="L9023" class="LineNr"> 9023 </span>        <span class="subxComment"># if either address is 0, return false</span>
+<span id="L9024" class="LineNr"> 9024 </span>        3d/compare-eax-and 0/imm32
+<span id="L9025" class="LineNr"> 9025 </span>        74/jump-if-=  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
+<span id="L9026" class="LineNr"> 9026 </span>        81 7/subop/compare *(edi+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
+<span id="L9027" class="LineNr"> 9027 </span>        74/jump-if-=  $operand-matches-primitive?:return-false/disp8
+<span id="L9028" class="LineNr"> 9028 </span>        <span class="subxComment"># if prim-var-&gt;register is wildcard, it's a match</span>
+<span id="L9029" class="LineNr"> 9029 </span>        (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(edi+0x10) <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>)  <span class="subxComment"># Var-register =&gt; eax</span>
+<span id="L9030" class="LineNr"> 9030 </span>        3d/compare-eax-and 0/imm32/false
+<span id="L9031" class="LineNr"> 9031 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
+<span id="L9032" class="LineNr"> 9032 </span>        <span class="subxComment"># if string contents aren't equal, return false</span>
+<span id="L9033" class="LineNr"> 9033 </span>        (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(esi+0x10) *(edi+0x10))  <span class="subxComment"># Var-register Var-register =&gt; eax</span>
 <span id="L9034" class="LineNr"> 9034 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L9035" class="LineNr"> 9035 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
-<span id="L9036" class="LineNr"> 9036 </span>        <span class="subxComment"># if string contents aren't equal, return false</span>
-<span id="L9037" class="LineNr"> 9037 </span>        (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(esi+0x10) *(edi+0x10))  <span class="subxComment"># Var-register Var-register =&gt; eax</span>
-<span id="L9038" class="LineNr"> 9038 </span>        3d/compare-eax-and 0/imm32/false
-<span id="L9039" class="LineNr"> 9039 </span>        74/jump-if-= $operand-matches-primitive?:return-false/disp8
-<span id="L9040" class="LineNr"> 9040 </span>      }
-<span id="L9041" class="LineNr"> 9041 </span>    }
-<span id="L9042" class="LineNr"> 9042 </span><span class="Constant">$operand-matches-primitive?:return-true</span>:
-<span id="L9043" class="LineNr"> 9043 </span>    b8/copy-to-eax 1/imm32/true
-<span id="L9044" class="LineNr"> 9044 </span>    eb/jump $operand-matches-primitive?:end/disp8
-<span id="L9045" class="LineNr"> 9045 </span><span class="Constant">$operand-matches-primitive?:return-false</span>:
-<span id="L9046" class="LineNr"> 9046 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L9047" class="LineNr"> 9047 </span><span class="Constant">$operand-matches-primitive?:end</span>:
-<span id="L9048" class="LineNr"> 9048 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L9049" class="LineNr"> 9049 </span>    5f/pop-to-edi
-<span id="L9050" class="LineNr"> 9050 </span>    5e/pop-to-esi
-<span id="L9051" class="LineNr"> 9051 </span>    59/pop-to-ecx
-<span id="L9052" class="LineNr"> 9052 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9053" class="LineNr"> 9053 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9054" class="LineNr"> 9054 </span>    5d/pop-to-ebp
-<span id="L9055" class="LineNr"> 9055 </span>    c3/return
-<span id="L9056" class="LineNr"> 9056 </span>
-<span id="L9057" class="LineNr"> 9057 </span><span class="subxFunction">subx-type-equal?</span>:  <span class="subxComment"># a: (handle tree type-id), b: (handle tree type-id) -&gt; result/eax: boolean</span>
-<span id="L9058" class="LineNr"> 9058 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9059" class="LineNr"> 9059 </span>    55/push-ebp
-<span id="L9060" class="LineNr"> 9060 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9061" class="LineNr"> 9061 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L9062" class="LineNr"> 9062 </span>    51/push-ecx
-<span id="L9063" class="LineNr"> 9063 </span>    <span class="subxComment"># var alit/ecx: boolean = is-literal-type?(a)</span>
-<span id="L9064" class="LineNr"> 9064 </span>    (<a href='mu.subx.html#L9084'>is-literal-type?</a> *(ebp+8))  <span class="subxComment"># =&gt; eax</span>
-<span id="L9065" class="LineNr"> 9065 </span>    89/&lt;- %ecx 0/r32/eax
-<span id="L9066" class="LineNr"> 9066 </span>    <span class="subxComment"># var blit/eax: boolean = is-literal-type?(b)</span>
-<span id="L9067" class="LineNr"> 9067 </span>    (<a href='mu.subx.html#L9084'>is-literal-type?</a> *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
-<span id="L9068" class="LineNr"> 9068 </span>    <span class="subxComment"># return alit == blit</span>
-<span id="L9069" class="LineNr"> 9069 </span>    39/compare %eax 1/r32/ecx
-<span id="L9070" class="LineNr"> 9070 </span>    74/jump-if-= $subx-type-equal?:true/disp8
-<span id="L9071" class="LineNr"> 9071 </span><span class="Constant">$subx-type-equal?:false</span>:  <span class="subxComment"># TODO: replace with setcc</span>
-<span id="L9072" class="LineNr"> 9072 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L9073" class="LineNr"> 9073 </span>    eb/jump $subx-type-equal?:end/disp8
-<span id="L9074" class="LineNr"> 9074 </span><span class="Constant">$subx-type-equal?:true</span>:
-<span id="L9075" class="LineNr"> 9075 </span>    b8/copy-to-eax 1/imm32/true
-<span id="L9076" class="LineNr"> 9076 </span><span class="Constant">$subx-type-equal?:end</span>:
-<span id="L9077" class="LineNr"> 9077 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L9078" class="LineNr"> 9078 </span>    59/pop-to-ecx
-<span id="L9079" class="LineNr"> 9079 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9080" class="LineNr"> 9080 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9081" class="LineNr"> 9081 </span>    5d/pop-to-ebp
-<span id="L9082" class="LineNr"> 9082 </span>    c3/return
-<span id="L9083" class="LineNr"> 9083 </span>
-<span id="L9084" class="LineNr"> 9084 </span><span class="subxFunction">is-literal-type?</span>:  <span class="subxComment"># a: (handle tree type-id) -&gt; result/eax: boolean</span>
-<span id="L9085" class="LineNr"> 9085 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9086" class="LineNr"> 9086 </span>    55/push-ebp
-<span id="L9087" class="LineNr"> 9087 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9088" class="LineNr"> 9088 </span>    <span class="subxComment">#</span>
-<span id="L9089" class="LineNr"> 9089 </span>    8b/-&gt; *(ebp+8) 0/r32/eax
-<span id="L9090" class="LineNr"> 9090 </span>    <span class="subxComment"># return (*eax == 0)  # TODO: replace with setcc</span>
-<span id="L9091" class="LineNr"> 9091 </span>    81 7/subop/compare *eax 0/imm32/literal-type-id  <span class="subxComment"># Atom-type</span>
-<span id="L9092" class="LineNr"> 9092 </span>    75/jump-if-!= $is-literal-type?:false/disp8
-<span id="L9093" class="LineNr"> 9093 </span><span class="Constant">$is-literal-type?:true</span>:
-<span id="L9094" class="LineNr"> 9094 </span>    b8/copy-to-eax 1/imm32/true
-<span id="L9095" class="LineNr"> 9095 </span>    eb/jump $is-literal-type?:end/disp8
-<span id="L9096" class="LineNr"> 9096 </span><span class="Constant">$is-literal-type?:false</span>:
-<span id="L9097" class="LineNr"> 9097 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L9098" class="LineNr"> 9098 </span><span class="Constant">$is-literal-type?:end</span>:
-<span id="L9099" class="LineNr"> 9099 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9100" class="LineNr"> 9100 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9101" class="LineNr"> 9101 </span>    5d/pop-to-ebp
-<span id="L9102" class="LineNr"> 9102 </span>    c3/return
-<span id="L9103" class="LineNr"> 9103 </span>
-<span id="L9104" class="LineNr"> 9104 </span><span class="subxTest">test-emit-subx-stmt-primitive</span>:
-<span id="L9105" class="LineNr"> 9105 </span>    <span class="subxComment"># Primitive operation on a variable on the stack.</span>
-<span id="L9106" class="LineNr"> 9106 </span>    <span class="subxComment">#   increment foo</span>
-<span id="L9107" class="LineNr"> 9107 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9108" class="LineNr"> 9108 </span>    <span class="subxComment">#   ff 0/subop/increment *(ebp-8)</span>
+<span id="L9035" class="LineNr"> 9035 </span>        74/jump-if-= $operand-matches-primitive?:return-false/disp8
+<span id="L9036" class="LineNr"> 9036 </span>      }
+<span id="L9037" class="LineNr"> 9037 </span>    }
+<span id="L9038" class="LineNr"> 9038 </span><span class="Constant">$operand-matches-primitive?:return-true</span>:
+<span id="L9039" class="LineNr"> 9039 </span>    b8/copy-to-eax 1/imm32/true
+<span id="L9040" class="LineNr"> 9040 </span>    eb/jump $operand-matches-primitive?:end/disp8
+<span id="L9041" class="LineNr"> 9041 </span><span class="Constant">$operand-matches-primitive?:return-false</span>:
+<span id="L9042" class="LineNr"> 9042 </span>    b8/copy-to-eax 0/imm32/false
+<span id="L9043" class="LineNr"> 9043 </span><span class="Constant">$operand-matches-primitive?:end</span>:
+<span id="L9044" class="LineNr"> 9044 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L9045" class="LineNr"> 9045 </span>    5f/pop-to-edi
+<span id="L9046" class="LineNr"> 9046 </span>    5e/pop-to-esi
+<span id="L9047" class="LineNr"> 9047 </span>    59/pop-to-ecx
+<span id="L9048" class="LineNr"> 9048 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9049" class="LineNr"> 9049 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9050" class="LineNr"> 9050 </span>    5d/pop-to-ebp
+<span id="L9051" class="LineNr"> 9051 </span>    c3/return
+<span id="L9052" class="LineNr"> 9052 </span>
+<span id="L9053" class="LineNr"> 9053 </span><span class="subxFunction">subx-type-equal?</span>:  <span class="subxComment"># a: (handle tree type-id), b: (handle tree type-id) -&gt; result/eax: boolean</span>
+<span id="L9054" class="LineNr"> 9054 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9055" class="LineNr"> 9055 </span>    55/push-ebp
+<span id="L9056" class="LineNr"> 9056 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9057" class="LineNr"> 9057 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L9058" class="LineNr"> 9058 </span>    51/push-ecx
+<span id="L9059" class="LineNr"> 9059 </span>    <span class="subxComment"># var alit/ecx: boolean = is-literal-type?(a)</span>
+<span id="L9060" class="LineNr"> 9060 </span>    (<a href='mu.subx.html#L9076'>is-literal-type?</a> *(ebp+8))  <span class="subxComment"># =&gt; eax</span>
+<span id="L9061" class="LineNr"> 9061 </span>    89/&lt;- %ecx 0/r32/eax
+<span id="L9062" class="LineNr"> 9062 </span>    <span class="subxComment"># var blit/eax: boolean = is-literal-type?(b)</span>
+<span id="L9063" class="LineNr"> 9063 </span>    (<a href='mu.subx.html#L9076'>is-literal-type?</a> *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
+<span id="L9064" class="LineNr"> 9064 </span>    <span class="subxComment"># return alit == blit</span>
+<span id="L9065" class="LineNr"> 9065 </span>    39/compare %eax 1/r32/ecx
+<span id="L9066" class="LineNr"> 9066 </span>    0f 94/set-if-= %eax
+<span id="L9067" class="LineNr"> 9067 </span>    81 4/subop/and %eax 0xff/imm32
+<span id="L9068" class="LineNr"> 9068 </span><span class="Constant">$subx-type-equal?:end</span>:
+<span id="L9069" class="LineNr"> 9069 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L9070" class="LineNr"> 9070 </span>    59/pop-to-ecx
+<span id="L9071" class="LineNr"> 9071 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9072" class="LineNr"> 9072 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9073" class="LineNr"> 9073 </span>    5d/pop-to-ebp
+<span id="L9074" class="LineNr"> 9074 </span>    c3/return
+<span id="L9075" class="LineNr"> 9075 </span>
+<span id="L9076" class="LineNr"> 9076 </span><span class="subxFunction">is-literal-type?</span>:  <span class="subxComment"># a: (handle tree type-id) -&gt; result/eax: boolean</span>
+<span id="L9077" class="LineNr"> 9077 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9078" class="LineNr"> 9078 </span>    55/push-ebp
+<span id="L9079" class="LineNr"> 9079 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9080" class="LineNr"> 9080 </span>    <span class="subxComment">#</span>
+<span id="L9081" class="LineNr"> 9081 </span>    8b/-&gt; *(ebp+8) 0/r32/eax
+<span id="L9082" class="LineNr"> 9082 </span>    <span class="subxComment"># return (*eax == 0)</span>
+<span id="L9083" class="LineNr"> 9083 </span>    81 7/subop/compare *eax 0/imm32/literal-type-id  <span class="subxComment"># Atom-type</span>
+<span id="L9084" class="LineNr"> 9084 </span>    0f 94/set-if-= %eax
+<span id="L9085" class="LineNr"> 9085 </span>    81 4/subop/and %eax 0xff/imm32
+<span id="L9086" class="LineNr"> 9086 </span><span class="Constant">$is-literal-type?:end</span>:
+<span id="L9087" class="LineNr"> 9087 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9088" class="LineNr"> 9088 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9089" class="LineNr"> 9089 </span>    5d/pop-to-ebp
+<span id="L9090" class="LineNr"> 9090 </span>    c3/return
+<span id="L9091" class="LineNr"> 9091 </span>
+<span id="L9092" class="LineNr"> 9092 </span><span class="subxTest">test-emit-subx-stmt-primitive</span>:
+<span id="L9093" class="LineNr"> 9093 </span>    <span class="subxComment"># Primitive operation on a variable on the stack.</span>
+<span id="L9094" class="LineNr"> 9094 </span>    <span class="subxComment">#   increment foo</span>
+<span id="L9095" class="LineNr"> 9095 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9096" class="LineNr"> 9096 </span>    <span class="subxComment">#   ff 0/subop/increment *(ebp-8)</span>
+<span id="L9097" class="LineNr"> 9097 </span>    <span class="subxComment">#</span>
+<span id="L9098" class="LineNr"> 9098 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9099" class="LineNr"> 9099 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9100" class="LineNr"> 9100 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9101" class="LineNr"> 9101 </span>    <span class="subxComment">#   stack-offset: -8</span>
+<span id="L9102" class="LineNr"> 9102 </span>    <span class="subxComment">#</span>
+<span id="L9103" class="LineNr"> 9103 </span>    <span class="subxComment"># There's a primitive with this info:</span>
+<span id="L9104" class="LineNr"> 9104 </span>    <span class="subxComment">#   name: 'increment'</span>
+<span id="L9105" class="LineNr"> 9105 </span>    <span class="subxComment">#   inouts: int/mem</span>
+<span id="L9106" class="LineNr"> 9106 </span>    <span class="subxComment">#   value: 'ff 0/subop/increment'</span>
+<span id="L9107" class="LineNr"> 9107 </span>    <span class="subxComment">#</span>
+<span id="L9108" class="LineNr"> 9108 </span>    <span class="subxComment"># There's nothing in functions.</span>
 <span id="L9109" class="LineNr"> 9109 </span>    <span class="subxComment">#</span>
-<span id="L9110" class="LineNr"> 9110 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9111" class="LineNr"> 9111 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9112" class="LineNr"> 9112 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9113" class="LineNr"> 9113 </span>    <span class="subxComment">#   stack-offset: -8</span>
-<span id="L9114" class="LineNr"> 9114 </span>    <span class="subxComment">#</span>
-<span id="L9115" class="LineNr"> 9115 </span>    <span class="subxComment"># There's a primitive with this info:</span>
-<span id="L9116" class="LineNr"> 9116 </span>    <span class="subxComment">#   name: 'increment'</span>
-<span id="L9117" class="LineNr"> 9117 </span>    <span class="subxComment">#   inouts: int/mem</span>
-<span id="L9118" class="LineNr"> 9118 </span>    <span class="subxComment">#   value: 'ff 0/subop/increment'</span>
-<span id="L9119" class="LineNr"> 9119 </span>    <span class="subxComment">#</span>
-<span id="L9120" class="LineNr"> 9120 </span>    <span class="subxComment"># There's nothing in functions.</span>
-<span id="L9121" class="LineNr"> 9121 </span>    <span class="subxComment">#</span>
-<span id="L9122" class="LineNr"> 9122 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9123" class="LineNr"> 9123 </span>    55/push-ebp
-<span id="L9124" class="LineNr"> 9124 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9125" class="LineNr"> 9125 </span>    <span class="subxComment"># setup</span>
-<span id="L9126" class="LineNr"> 9126 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9127" class="LineNr"> 9127 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9128" class="LineNr"> 9128 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9129" class="LineNr"> 9129 </span>    68/push 0/imm32/right/null
-<span id="L9130" class="LineNr"> 9130 </span>    68/push 1/imm32/left/int
-<span id="L9131" class="LineNr"> 9131 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9132" class="LineNr"> 9132 </span>    <span class="subxComment"># var var-foo/ecx: var</span>
-<span id="L9133" class="LineNr"> 9133 </span>    68/push 0/imm32/no-register
-<span id="L9134" class="LineNr"> 9134 </span>    68/push -8/imm32/stack-offset
-<span id="L9135" class="LineNr"> 9135 </span>    68/push 1/imm32/block-depth
-<span id="L9136" class="LineNr"> 9136 </span>    51/push-ecx
-<span id="L9137" class="LineNr"> 9137 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9138" class="LineNr"> 9138 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9139" class="LineNr"> 9139 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
-<span id="L9140" class="LineNr"> 9140 </span>    68/push 0/imm32/is-deref:false
-<span id="L9141" class="LineNr"> 9141 </span>    68/push 0/imm32/next
-<span id="L9142" class="LineNr"> 9142 </span>    51/push-ecx/var-foo
-<span id="L9143" class="LineNr"> 9143 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9144" class="LineNr"> 9144 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9145" class="LineNr"> 9145 </span>    68/push 0/imm32/next
-<span id="L9146" class="LineNr"> 9146 </span>    68/push 0/imm32/outputs
-<span id="L9147" class="LineNr"> 9147 </span>    53/push-ebx/operands
-<span id="L9148" class="LineNr"> 9148 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9149" class="LineNr"> 9149 </span>    68/push 1/imm32
-<span id="L9150" class="LineNr"> 9150 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9151" class="LineNr"> 9151 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
-<span id="L9152" class="LineNr"> 9152 </span>    68/push 0/imm32/next
-<span id="L9153" class="LineNr"> 9153 </span>    68/push 0/imm32/output-is-write-only
-<span id="L9154" class="LineNr"> 9154 </span>    68/push 0/imm32/no-disp32
-<span id="L9155" class="LineNr"> 9155 </span>    68/push 0/imm32/no-imm32
-<span id="L9156" class="LineNr"> 9156 </span>    68/push 0/imm32/no-r32
-<span id="L9157" class="LineNr"> 9157 </span>    68/push 1/imm32/rm32-is-first-inout
-<span id="L9158" class="LineNr"> 9158 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9159" class="LineNr"> 9159 </span>    68/push 0/imm32/outputs
-<span id="L9160" class="LineNr"> 9160 </span>    53/push-ebx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
-<span id="L9161" class="LineNr"> 9161 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L9162" class="LineNr"> 9162 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9163" class="LineNr"> 9163 </span>    <span class="subxComment"># convert</span>
-<span id="L9164" class="LineNr"> 9164 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9165" class="LineNr"> 9165 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
-<span id="L9166" class="LineNr"> 9166 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9167" class="Folded"> 9167 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9173" class="LineNr"> 9173 </span>    <span class="subxComment"># check output</span>
-<span id="L9174" class="LineNr"> 9174 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment *(ebp+0xfffffff8)&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-primitive&quot;</span>)
-<span id="L9175" class="LineNr"> 9175 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9176" class="LineNr"> 9176 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9177" class="LineNr"> 9177 </span>    5d/pop-to-ebp
-<span id="L9178" class="LineNr"> 9178 </span>    c3/return
-<span id="L9179" class="LineNr"> 9179 </span>
-<span id="L9180" class="LineNr"> 9180 </span><span class="subxTest">test-emit-subx-stmt-primitive-register</span>:
-<span id="L9181" class="LineNr"> 9181 </span>    <span class="subxComment"># Primitive operation on a variable in a register.</span>
-<span id="L9182" class="LineNr"> 9182 </span>    <span class="subxComment">#   foo &lt;- increment</span>
-<span id="L9183" class="LineNr"> 9183 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9184" class="LineNr"> 9184 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
+<span id="L9110" class="LineNr"> 9110 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9111" class="LineNr"> 9111 </span>    55/push-ebp
+<span id="L9112" class="LineNr"> 9112 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9113" class="LineNr"> 9113 </span>    <span class="subxComment"># setup</span>
+<span id="L9114" class="LineNr"> 9114 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9115" class="LineNr"> 9115 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9116" class="LineNr"> 9116 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9117" class="LineNr"> 9117 </span>    68/push 0/imm32/right/null
+<span id="L9118" class="LineNr"> 9118 </span>    68/push 1/imm32/left/int
+<span id="L9119" class="LineNr"> 9119 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9120" class="LineNr"> 9120 </span>    <span class="subxComment"># var var-foo/ecx: var</span>
+<span id="L9121" class="LineNr"> 9121 </span>    68/push 0/imm32/no-register
+<span id="L9122" class="LineNr"> 9122 </span>    68/push -8/imm32/stack-offset
+<span id="L9123" class="LineNr"> 9123 </span>    68/push 1/imm32/block-depth
+<span id="L9124" class="LineNr"> 9124 </span>    51/push-ecx
+<span id="L9125" class="LineNr"> 9125 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9126" class="LineNr"> 9126 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9127" class="LineNr"> 9127 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
+<span id="L9128" class="LineNr"> 9128 </span>    68/push 0/imm32/is-deref:false
+<span id="L9129" class="LineNr"> 9129 </span>    68/push 0/imm32/next
+<span id="L9130" class="LineNr"> 9130 </span>    51/push-ecx/var-foo
+<span id="L9131" class="LineNr"> 9131 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9132" class="LineNr"> 9132 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9133" class="LineNr"> 9133 </span>    68/push 0/imm32/next
+<span id="L9134" class="LineNr"> 9134 </span>    68/push 0/imm32/outputs
+<span id="L9135" class="LineNr"> 9135 </span>    53/push-ebx/operands
+<span id="L9136" class="LineNr"> 9136 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9137" class="LineNr"> 9137 </span>    68/push 1/imm32
+<span id="L9138" class="LineNr"> 9138 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9139" class="LineNr"> 9139 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
+<span id="L9140" class="LineNr"> 9140 </span>    68/push 0/imm32/next
+<span id="L9141" class="LineNr"> 9141 </span>    68/push 0/imm32/output-is-write-only
+<span id="L9142" class="LineNr"> 9142 </span>    68/push 0/imm32/no-disp32
+<span id="L9143" class="LineNr"> 9143 </span>    68/push 0/imm32/no-imm32
+<span id="L9144" class="LineNr"> 9144 </span>    68/push 0/imm32/no-r32
+<span id="L9145" class="LineNr"> 9145 </span>    68/push 1/imm32/rm32-is-first-inout
+<span id="L9146" class="LineNr"> 9146 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L9147" class="LineNr"> 9147 </span>    68/push 0/imm32/outputs
+<span id="L9148" class="LineNr"> 9148 </span>    53/push-ebx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
+<span id="L9149" class="LineNr"> 9149 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
+<span id="L9150" class="LineNr"> 9150 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9151" class="LineNr"> 9151 </span>    <span class="subxComment"># convert</span>
+<span id="L9152" class="LineNr"> 9152 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9153" class="LineNr"> 9153 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
+<span id="L9154" class="LineNr"> 9154 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9155" class="Folded"> 9155 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9161" class="LineNr"> 9161 </span>    <span class="subxComment"># check output</span>
+<span id="L9162" class="LineNr"> 9162 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment *(ebp+0xfffffff8)&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-primitive&quot;</span>)
+<span id="L9163" class="LineNr"> 9163 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9164" class="LineNr"> 9164 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9165" class="LineNr"> 9165 </span>    5d/pop-to-ebp
+<span id="L9166" class="LineNr"> 9166 </span>    c3/return
+<span id="L9167" class="LineNr"> 9167 </span>
+<span id="L9168" class="LineNr"> 9168 </span><span class="subxTest">test-emit-subx-stmt-primitive-register</span>:
+<span id="L9169" class="LineNr"> 9169 </span>    <span class="subxComment"># Primitive operation on a variable in a register.</span>
+<span id="L9170" class="LineNr"> 9170 </span>    <span class="subxComment">#   foo &lt;- increment</span>
+<span id="L9171" class="LineNr"> 9171 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9172" class="LineNr"> 9172 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
+<span id="L9173" class="LineNr"> 9173 </span>    <span class="subxComment">#</span>
+<span id="L9174" class="LineNr"> 9174 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9175" class="LineNr"> 9175 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9176" class="LineNr"> 9176 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9177" class="LineNr"> 9177 </span>    <span class="subxComment">#   register: 'eax'</span>
+<span id="L9178" class="LineNr"> 9178 </span>    <span class="subxComment">#</span>
+<span id="L9179" class="LineNr"> 9179 </span>    <span class="subxComment"># There's a primitive with this info:</span>
+<span id="L9180" class="LineNr"> 9180 </span>    <span class="subxComment">#   name: 'increment'</span>
+<span id="L9181" class="LineNr"> 9181 </span>    <span class="subxComment">#   out: int/reg</span>
+<span id="L9182" class="LineNr"> 9182 </span>    <span class="subxComment">#   value: 'ff 0/subop/increment'</span>
+<span id="L9183" class="LineNr"> 9183 </span>    <span class="subxComment">#</span>
+<span id="L9184" class="LineNr"> 9184 </span>    <span class="subxComment"># There's nothing in functions.</span>
 <span id="L9185" class="LineNr"> 9185 </span>    <span class="subxComment">#</span>
-<span id="L9186" class="LineNr"> 9186 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9187" class="LineNr"> 9187 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9188" class="LineNr"> 9188 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9189" class="LineNr"> 9189 </span>    <span class="subxComment">#   register: 'eax'</span>
-<span id="L9190" class="LineNr"> 9190 </span>    <span class="subxComment">#</span>
-<span id="L9191" class="LineNr"> 9191 </span>    <span class="subxComment"># There's a primitive with this info:</span>
-<span id="L9192" class="LineNr"> 9192 </span>    <span class="subxComment">#   name: 'increment'</span>
-<span id="L9193" class="LineNr"> 9193 </span>    <span class="subxComment">#   out: int/reg</span>
-<span id="L9194" class="LineNr"> 9194 </span>    <span class="subxComment">#   value: 'ff 0/subop/increment'</span>
-<span id="L9195" class="LineNr"> 9195 </span>    <span class="subxComment">#</span>
-<span id="L9196" class="LineNr"> 9196 </span>    <span class="subxComment"># There's nothing in functions.</span>
-<span id="L9197" class="LineNr"> 9197 </span>    <span class="subxComment">#</span>
-<span id="L9198" class="LineNr"> 9198 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9199" class="LineNr"> 9199 </span>    55/push-ebp
-<span id="L9200" class="LineNr"> 9200 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9201" class="LineNr"> 9201 </span>    <span class="subxComment"># setup</span>
-<span id="L9202" class="LineNr"> 9202 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9203" class="LineNr"> 9203 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9204" class="LineNr"> 9204 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9205" class="LineNr"> 9205 </span>    68/push 0/imm32/right/null
-<span id="L9206" class="LineNr"> 9206 </span>    68/push 1/imm32/left/int
-<span id="L9207" class="LineNr"> 9207 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9208" class="LineNr"> 9208 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
-<span id="L9209" class="LineNr"> 9209 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9210" class="LineNr"> 9210 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9211" class="LineNr"> 9211 </span>    68/push 1/imm32/block-depth
-<span id="L9212" class="LineNr"> 9212 </span>    51/push-ecx
-<span id="L9213" class="LineNr"> 9213 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9214" class="LineNr"> 9214 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9215" class="LineNr"> 9215 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
-<span id="L9216" class="LineNr"> 9216 </span>    68/push 0/imm32/is-deref:false
-<span id="L9217" class="LineNr"> 9217 </span>    68/push 0/imm32/next
-<span id="L9218" class="LineNr"> 9218 </span>    51/push-ecx/var-foo
-<span id="L9219" class="LineNr"> 9219 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9220" class="LineNr"> 9220 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9221" class="LineNr"> 9221 </span>    68/push 0/imm32/next
-<span id="L9222" class="LineNr"> 9222 </span>    53/push-ebx/outputs
-<span id="L9223" class="LineNr"> 9223 </span>    68/push 0/imm32/inouts
-<span id="L9224" class="LineNr"> 9224 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9225" class="LineNr"> 9225 </span>    68/push 1/imm32
-<span id="L9226" class="LineNr"> 9226 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9227" class="LineNr"> 9227 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
-<span id="L9228" class="LineNr"> 9228 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
-<span id="L9229" class="LineNr"> 9229 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9230" class="LineNr"> 9230 </span>    68/push 1/imm32/block-depth
-<span id="L9231" class="LineNr"> 9231 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9232" class="LineNr"> 9232 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
-<span id="L9233" class="LineNr"> 9233 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9234" class="LineNr"> 9234 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
-<span id="L9235" class="LineNr"> 9235 </span>    68/push 0/imm32/is-deref:false
-<span id="L9236" class="LineNr"> 9236 </span>    68/push 0/imm32/next
-<span id="L9237" class="LineNr"> 9237 </span>    53/push-ebx/formal-var
+<span id="L9186" class="LineNr"> 9186 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9187" class="LineNr"> 9187 </span>    55/push-ebp
+<span id="L9188" class="LineNr"> 9188 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9189" class="LineNr"> 9189 </span>    <span class="subxComment"># setup</span>
+<span id="L9190" class="LineNr"> 9190 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9191" class="LineNr"> 9191 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9192" class="LineNr"> 9192 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9193" class="LineNr"> 9193 </span>    68/push 0/imm32/right/null
+<span id="L9194" class="LineNr"> 9194 </span>    68/push 1/imm32/left/int
+<span id="L9195" class="LineNr"> 9195 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9196" class="LineNr"> 9196 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
+<span id="L9197" class="LineNr"> 9197 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9198" class="LineNr"> 9198 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9199" class="LineNr"> 9199 </span>    68/push 1/imm32/block-depth
+<span id="L9200" class="LineNr"> 9200 </span>    51/push-ecx
+<span id="L9201" class="LineNr"> 9201 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9202" class="LineNr"> 9202 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9203" class="LineNr"> 9203 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
+<span id="L9204" class="LineNr"> 9204 </span>    68/push 0/imm32/is-deref:false
+<span id="L9205" class="LineNr"> 9205 </span>    68/push 0/imm32/next
+<span id="L9206" class="LineNr"> 9206 </span>    51/push-ecx/var-foo
+<span id="L9207" class="LineNr"> 9207 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9208" class="LineNr"> 9208 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9209" class="LineNr"> 9209 </span>    68/push 0/imm32/next
+<span id="L9210" class="LineNr"> 9210 </span>    53/push-ebx/outputs
+<span id="L9211" class="LineNr"> 9211 </span>    68/push 0/imm32/inouts
+<span id="L9212" class="LineNr"> 9212 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9213" class="LineNr"> 9213 </span>    68/push 1/imm32
+<span id="L9214" class="LineNr"> 9214 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9215" class="LineNr"> 9215 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
+<span id="L9216" class="LineNr"> 9216 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
+<span id="L9217" class="LineNr"> 9217 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9218" class="LineNr"> 9218 </span>    68/push 1/imm32/block-depth
+<span id="L9219" class="LineNr"> 9219 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9220" class="LineNr"> 9220 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
+<span id="L9221" class="LineNr"> 9221 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9222" class="LineNr"> 9222 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
+<span id="L9223" class="LineNr"> 9223 </span>    68/push 0/imm32/is-deref:false
+<span id="L9224" class="LineNr"> 9224 </span>    68/push 0/imm32/next
+<span id="L9225" class="LineNr"> 9225 </span>    53/push-ebx/formal-var
+<span id="L9226" class="LineNr"> 9226 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9227" class="LineNr"> 9227 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
+<span id="L9228" class="LineNr"> 9228 </span>    68/push 0/imm32/next
+<span id="L9229" class="LineNr"> 9229 </span>    68/push 0/imm32/output-is-write-only
+<span id="L9230" class="LineNr"> 9230 </span>    68/push 0/imm32/no-disp32
+<span id="L9231" class="LineNr"> 9231 </span>    68/push 0/imm32/no-imm32
+<span id="L9232" class="LineNr"> 9232 </span>    68/push 0/imm32/no-r32
+<span id="L9233" class="LineNr"> 9233 </span>    68/push 3/imm32/rm32-in-first-output
+<span id="L9234" class="LineNr"> 9234 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L9235" class="LineNr"> 9235 </span>    53/push-ebx/outputs
+<span id="L9236" class="LineNr"> 9236 </span>    68/push 0/imm32/inouts
+<span id="L9237" class="LineNr"> 9237 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
 <span id="L9238" class="LineNr"> 9238 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9239" class="LineNr"> 9239 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
-<span id="L9240" class="LineNr"> 9240 </span>    68/push 0/imm32/next
-<span id="L9241" class="LineNr"> 9241 </span>    68/push 0/imm32/output-is-write-only
-<span id="L9242" class="LineNr"> 9242 </span>    68/push 0/imm32/no-disp32
-<span id="L9243" class="LineNr"> 9243 </span>    68/push 0/imm32/no-imm32
-<span id="L9244" class="LineNr"> 9244 </span>    68/push 0/imm32/no-r32
-<span id="L9245" class="LineNr"> 9245 </span>    68/push 3/imm32/rm32-in-first-output
-<span id="L9246" class="LineNr"> 9246 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9247" class="LineNr"> 9247 </span>    53/push-ebx/outputs
-<span id="L9248" class="LineNr"> 9248 </span>    68/push 0/imm32/inouts
-<span id="L9249" class="LineNr"> 9249 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L9250" class="LineNr"> 9250 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9251" class="LineNr"> 9251 </span>    <span class="subxComment"># convert</span>
-<span id="L9252" class="LineNr"> 9252 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9253" class="LineNr"> 9253 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
-<span id="L9254" class="LineNr"> 9254 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9255" class="Folded"> 9255 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9261" class="LineNr"> 9261 </span>    <span class="subxComment"># check output</span>
-<span id="L9262" class="LineNr"> 9262 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-primitive-register&quot;</span>)
-<span id="L9263" class="LineNr"> 9263 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9264" class="LineNr"> 9264 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9265" class="LineNr"> 9265 </span>    5d/pop-to-ebp
-<span id="L9266" class="LineNr"> 9266 </span>    c3/return
-<span id="L9267" class="LineNr"> 9267 </span>
-<span id="L9268" class="LineNr"> 9268 </span><span class="subxTest">test-emit-subx-stmt-select-primitive</span>:
-<span id="L9269" class="LineNr"> 9269 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
-<span id="L9270" class="LineNr"> 9270 </span>    <span class="subxComment">#   foo &lt;- increment</span>
-<span id="L9271" class="LineNr"> 9271 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9272" class="LineNr"> 9272 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
-<span id="L9273" class="LineNr"> 9273 </span>    <span class="subxComment">#</span>
-<span id="L9274" class="LineNr"> 9274 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9275" class="LineNr"> 9275 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9276" class="LineNr"> 9276 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9277" class="LineNr"> 9277 </span>    <span class="subxComment">#   register: 'eax'</span>
-<span id="L9278" class="LineNr"> 9278 </span>    <span class="subxComment">#</span>
-<span id="L9279" class="LineNr"> 9279 </span>    <span class="subxComment"># There's two primitives, as follows:</span>
-<span id="L9280" class="LineNr"> 9280 </span>    <span class="subxComment">#   - name: 'increment'</span>
-<span id="L9281" class="LineNr"> 9281 </span>    <span class="subxComment">#     out: int/reg</span>
-<span id="L9282" class="LineNr"> 9282 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
-<span id="L9283" class="LineNr"> 9283 </span>    <span class="subxComment">#   - name: 'increment'</span>
-<span id="L9284" class="LineNr"> 9284 </span>    <span class="subxComment">#     inout: int/mem</span>
-<span id="L9285" class="LineNr"> 9285 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
-<span id="L9286" class="LineNr"> 9286 </span>    <span class="subxComment">#</span>
-<span id="L9287" class="LineNr"> 9287 </span>    <span class="subxComment"># There's nothing in functions.</span>
-<span id="L9288" class="LineNr"> 9288 </span>    <span class="subxComment">#</span>
-<span id="L9289" class="LineNr"> 9289 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9290" class="LineNr"> 9290 </span>    55/push-ebp
-<span id="L9291" class="LineNr"> 9291 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9292" class="LineNr"> 9292 </span>    <span class="subxComment"># setup</span>
-<span id="L9293" class="LineNr"> 9293 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9294" class="LineNr"> 9294 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9295" class="LineNr"> 9295 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9296" class="LineNr"> 9296 </span>    68/push 0/imm32/right/null
-<span id="L9297" class="LineNr"> 9297 </span>    68/push 1/imm32/left/int
-<span id="L9298" class="LineNr"> 9298 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9299" class="LineNr"> 9299 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
-<span id="L9300" class="LineNr"> 9300 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9301" class="LineNr"> 9301 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9302" class="LineNr"> 9302 </span>    68/push 1/imm32/block-depth
-<span id="L9303" class="LineNr"> 9303 </span>    51/push-ecx
-<span id="L9304" class="LineNr"> 9304 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9305" class="LineNr"> 9305 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9306" class="LineNr"> 9306 </span>    <span class="subxComment"># var real-outputs/edi: (handle stmt-var)</span>
-<span id="L9307" class="LineNr"> 9307 </span>    68/push 0/imm32/is-deref:false
-<span id="L9308" class="LineNr"> 9308 </span>    68/push 0/imm32/next
-<span id="L9309" class="LineNr"> 9309 </span>    51/push-ecx/var-foo
-<span id="L9310" class="LineNr"> 9310 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9311" class="LineNr"> 9311 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9312" class="LineNr"> 9312 </span>    68/push 0/imm32/next
-<span id="L9313" class="LineNr"> 9313 </span>    57/push-edi/outputs
-<span id="L9314" class="LineNr"> 9314 </span>    68/push 0/imm32/inouts
-<span id="L9315" class="LineNr"> 9315 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9316" class="LineNr"> 9316 </span>    68/push 1/imm32
-<span id="L9317" class="LineNr"> 9317 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9318" class="LineNr"> 9318 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
-<span id="L9319" class="LineNr"> 9319 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
-<span id="L9320" class="LineNr"> 9320 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9321" class="LineNr"> 9321 </span>    68/push 1/imm32/block-depth
-<span id="L9322" class="LineNr"> 9322 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9323" class="LineNr"> 9323 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
-<span id="L9324" class="LineNr"> 9324 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9325" class="LineNr"> 9325 </span>    <span class="subxComment"># var formal-outputs/ebx: (handle stmt-var)</span>
-<span id="L9326" class="LineNr"> 9326 </span>    68/push 0/imm32/is-deref:false
-<span id="L9327" class="LineNr"> 9327 </span>    68/push 0/imm32/next
-<span id="L9328" class="LineNr"> 9328 </span>    53/push-ebx/formal-var
+<span id="L9239" class="LineNr"> 9239 </span>    <span class="subxComment"># convert</span>
+<span id="L9240" class="LineNr"> 9240 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9241" class="LineNr"> 9241 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
+<span id="L9242" class="LineNr"> 9242 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9243" class="Folded"> 9243 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9249" class="LineNr"> 9249 </span>    <span class="subxComment"># check output</span>
+<span id="L9250" class="LineNr"> 9250 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-primitive-register&quot;</span>)
+<span id="L9251" class="LineNr"> 9251 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9252" class="LineNr"> 9252 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9253" class="LineNr"> 9253 </span>    5d/pop-to-ebp
+<span id="L9254" class="LineNr"> 9254 </span>    c3/return
+<span id="L9255" class="LineNr"> 9255 </span>
+<span id="L9256" class="LineNr"> 9256 </span><span class="subxTest">test-emit-subx-stmt-select-primitive</span>:
+<span id="L9257" class="LineNr"> 9257 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
+<span id="L9258" class="LineNr"> 9258 </span>    <span class="subxComment">#   foo &lt;- increment</span>
+<span id="L9259" class="LineNr"> 9259 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9260" class="LineNr"> 9260 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
+<span id="L9261" class="LineNr"> 9261 </span>    <span class="subxComment">#</span>
+<span id="L9262" class="LineNr"> 9262 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9263" class="LineNr"> 9263 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9264" class="LineNr"> 9264 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9265" class="LineNr"> 9265 </span>    <span class="subxComment">#   register: 'eax'</span>
+<span id="L9266" class="LineNr"> 9266 </span>    <span class="subxComment">#</span>
+<span id="L9267" class="LineNr"> 9267 </span>    <span class="subxComment"># There's two primitives, as follows:</span>
+<span id="L9268" class="LineNr"> 9268 </span>    <span class="subxComment">#   - name: 'increment'</span>
+<span id="L9269" class="LineNr"> 9269 </span>    <span class="subxComment">#     out: int/reg</span>
+<span id="L9270" class="LineNr"> 9270 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
+<span id="L9271" class="LineNr"> 9271 </span>    <span class="subxComment">#   - name: 'increment'</span>
+<span id="L9272" class="LineNr"> 9272 </span>    <span class="subxComment">#     inout: int/mem</span>
+<span id="L9273" class="LineNr"> 9273 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
+<span id="L9274" class="LineNr"> 9274 </span>    <span class="subxComment">#</span>
+<span id="L9275" class="LineNr"> 9275 </span>    <span class="subxComment"># There's nothing in functions.</span>
+<span id="L9276" class="LineNr"> 9276 </span>    <span class="subxComment">#</span>
+<span id="L9277" class="LineNr"> 9277 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9278" class="LineNr"> 9278 </span>    55/push-ebp
+<span id="L9279" class="LineNr"> 9279 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9280" class="LineNr"> 9280 </span>    <span class="subxComment"># setup</span>
+<span id="L9281" class="LineNr"> 9281 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9282" class="LineNr"> 9282 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9283" class="LineNr"> 9283 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9284" class="LineNr"> 9284 </span>    68/push 0/imm32/right/null
+<span id="L9285" class="LineNr"> 9285 </span>    68/push 1/imm32/left/int
+<span id="L9286" class="LineNr"> 9286 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9287" class="LineNr"> 9287 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
+<span id="L9288" class="LineNr"> 9288 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9289" class="LineNr"> 9289 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9290" class="LineNr"> 9290 </span>    68/push 1/imm32/block-depth
+<span id="L9291" class="LineNr"> 9291 </span>    51/push-ecx
+<span id="L9292" class="LineNr"> 9292 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9293" class="LineNr"> 9293 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9294" class="LineNr"> 9294 </span>    <span class="subxComment"># var real-outputs/edi: (handle stmt-var)</span>
+<span id="L9295" class="LineNr"> 9295 </span>    68/push 0/imm32/is-deref:false
+<span id="L9296" class="LineNr"> 9296 </span>    68/push 0/imm32/next
+<span id="L9297" class="LineNr"> 9297 </span>    51/push-ecx/var-foo
+<span id="L9298" class="LineNr"> 9298 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9299" class="LineNr"> 9299 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9300" class="LineNr"> 9300 </span>    68/push 0/imm32/next
+<span id="L9301" class="LineNr"> 9301 </span>    57/push-edi/outputs
+<span id="L9302" class="LineNr"> 9302 </span>    68/push 0/imm32/inouts
+<span id="L9303" class="LineNr"> 9303 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9304" class="LineNr"> 9304 </span>    68/push 1/imm32
+<span id="L9305" class="LineNr"> 9305 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9306" class="LineNr"> 9306 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
+<span id="L9307" class="LineNr"> 9307 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
+<span id="L9308" class="LineNr"> 9308 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9309" class="LineNr"> 9309 </span>    68/push 1/imm32/block-depth
+<span id="L9310" class="LineNr"> 9310 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9311" class="LineNr"> 9311 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
+<span id="L9312" class="LineNr"> 9312 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9313" class="LineNr"> 9313 </span>    <span class="subxComment"># var formal-outputs/ebx: (handle stmt-var)</span>
+<span id="L9314" class="LineNr"> 9314 </span>    68/push 0/imm32/is-deref:false
+<span id="L9315" class="LineNr"> 9315 </span>    68/push 0/imm32/next
+<span id="L9316" class="LineNr"> 9316 </span>    53/push-ebx/formal-var
+<span id="L9317" class="LineNr"> 9317 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9318" class="LineNr"> 9318 </span>    <span class="subxComment"># var primitive1/ebx: primitive</span>
+<span id="L9319" class="LineNr"> 9319 </span>    68/push 0/imm32/next
+<span id="L9320" class="LineNr"> 9320 </span>    68/push 0/imm32/output-is-write-only
+<span id="L9321" class="LineNr"> 9321 </span>    68/push 0/imm32/no-disp32
+<span id="L9322" class="LineNr"> 9322 </span>    68/push 0/imm32/no-imm32
+<span id="L9323" class="LineNr"> 9323 </span>    68/push 0/imm32/no-r32
+<span id="L9324" class="LineNr"> 9324 </span>    68/push 3/imm32/rm32-in-first-output
+<span id="L9325" class="LineNr"> 9325 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L9326" class="LineNr"> 9326 </span>    53/push-ebx/outputs/formal-outputs
+<span id="L9327" class="LineNr"> 9327 </span>    68/push 0/imm32/inouts
+<span id="L9328" class="LineNr"> 9328 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
 <span id="L9329" class="LineNr"> 9329 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9330" class="LineNr"> 9330 </span>    <span class="subxComment"># var primitive1/ebx: primitive</span>
-<span id="L9331" class="LineNr"> 9331 </span>    68/push 0/imm32/next
+<span id="L9330" class="LineNr"> 9330 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
+<span id="L9331" class="LineNr"> 9331 </span>    53/push-ebx/next
 <span id="L9332" class="LineNr"> 9332 </span>    68/push 0/imm32/output-is-write-only
 <span id="L9333" class="LineNr"> 9333 </span>    68/push 0/imm32/no-disp32
 <span id="L9334" class="LineNr"> 9334 </span>    68/push 0/imm32/no-imm32
 <span id="L9335" class="LineNr"> 9335 </span>    68/push 0/imm32/no-r32
-<span id="L9336" class="LineNr"> 9336 </span>    68/push 3/imm32/rm32-in-first-output
+<span id="L9336" class="LineNr"> 9336 </span>    68/push 1/imm32/rm32-is-first-inout
 <span id="L9337" class="LineNr"> 9337 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9338" class="LineNr"> 9338 </span>    53/push-ebx/outputs/formal-outputs
-<span id="L9339" class="LineNr"> 9339 </span>    68/push 0/imm32/inouts
+<span id="L9338" class="LineNr"> 9338 </span>    68/push 0/imm32/outputs
+<span id="L9339" class="LineNr"> 9339 </span>    57/push-edi/inouts/real-outputs  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
 <span id="L9340" class="LineNr"> 9340 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
 <span id="L9341" class="LineNr"> 9341 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9342" class="LineNr"> 9342 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
-<span id="L9343" class="LineNr"> 9343 </span>    53/push-ebx/next
-<span id="L9344" class="LineNr"> 9344 </span>    68/push 0/imm32/output-is-write-only
-<span id="L9345" class="LineNr"> 9345 </span>    68/push 0/imm32/no-disp32
-<span id="L9346" class="LineNr"> 9346 </span>    68/push 0/imm32/no-imm32
-<span id="L9347" class="LineNr"> 9347 </span>    68/push 0/imm32/no-r32
-<span id="L9348" class="LineNr"> 9348 </span>    68/push 1/imm32/rm32-is-first-inout
-<span id="L9349" class="LineNr"> 9349 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9350" class="LineNr"> 9350 </span>    68/push 0/imm32/outputs
-<span id="L9351" class="LineNr"> 9351 </span>    57/push-edi/inouts/real-outputs  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
-<span id="L9352" class="LineNr"> 9352 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L9353" class="LineNr"> 9353 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9354" class="LineNr"> 9354 </span>    <span class="subxComment"># convert</span>
-<span id="L9355" class="LineNr"> 9355 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9356" class="LineNr"> 9356 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
-<span id="L9357" class="LineNr"> 9357 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9358" class="Folded"> 9358 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9364" class="LineNr"> 9364 </span>    <span class="subxComment"># check output</span>
-<span id="L9365" class="LineNr"> 9365 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-select-primitive&quot;</span>)
-<span id="L9366" class="LineNr"> 9366 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9367" class="LineNr"> 9367 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9368" class="LineNr"> 9368 </span>    5d/pop-to-ebp
-<span id="L9369" class="LineNr"> 9369 </span>    c3/return
-<span id="L9370" class="LineNr"> 9370 </span>
-<span id="L9371" class="LineNr"> 9371 </span><span class="subxTest">test-emit-subx-stmt-select-primitive-2</span>:
-<span id="L9372" class="LineNr"> 9372 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
-<span id="L9373" class="LineNr"> 9373 </span>    <span class="subxComment">#   foo &lt;- increment</span>
-<span id="L9374" class="LineNr"> 9374 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9375" class="LineNr"> 9375 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
-<span id="L9376" class="LineNr"> 9376 </span>    <span class="subxComment">#</span>
-<span id="L9377" class="LineNr"> 9377 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9378" class="LineNr"> 9378 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9379" class="LineNr"> 9379 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9380" class="LineNr"> 9380 </span>    <span class="subxComment">#   register: 'eax'</span>
-<span id="L9381" class="LineNr"> 9381 </span>    <span class="subxComment">#</span>
-<span id="L9382" class="LineNr"> 9382 </span>    <span class="subxComment"># There's two primitives, as follows:</span>
-<span id="L9383" class="LineNr"> 9383 </span>    <span class="subxComment">#   - name: 'increment'</span>
-<span id="L9384" class="LineNr"> 9384 </span>    <span class="subxComment">#     out: int/reg</span>
-<span id="L9385" class="LineNr"> 9385 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
-<span id="L9386" class="LineNr"> 9386 </span>    <span class="subxComment">#   - name: 'increment'</span>
-<span id="L9387" class="LineNr"> 9387 </span>    <span class="subxComment">#     inout: int/mem</span>
-<span id="L9388" class="LineNr"> 9388 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
-<span id="L9389" class="LineNr"> 9389 </span>    <span class="subxComment">#</span>
-<span id="L9390" class="LineNr"> 9390 </span>    <span class="subxComment"># There's nothing in functions.</span>
-<span id="L9391" class="LineNr"> 9391 </span>    <span class="subxComment">#</span>
-<span id="L9392" class="LineNr"> 9392 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9393" class="LineNr"> 9393 </span>    55/push-ebp
-<span id="L9394" class="LineNr"> 9394 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9395" class="LineNr"> 9395 </span>    <span class="subxComment"># setup</span>
-<span id="L9396" class="LineNr"> 9396 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9397" class="LineNr"> 9397 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9398" class="LineNr"> 9398 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9399" class="LineNr"> 9399 </span>    68/push 0/imm32/right/null
-<span id="L9400" class="LineNr"> 9400 </span>    68/push 1/imm32/left/int
-<span id="L9401" class="LineNr"> 9401 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9402" class="LineNr"> 9402 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
-<span id="L9403" class="LineNr"> 9403 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9404" class="LineNr"> 9404 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9405" class="LineNr"> 9405 </span>    68/push 1/imm32/block-depth
-<span id="L9406" class="LineNr"> 9406 </span>    51/push-ecx
-<span id="L9407" class="LineNr"> 9407 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9408" class="LineNr"> 9408 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9409" class="LineNr"> 9409 </span>    <span class="subxComment"># var inouts/edi: (handle stmt-var)</span>
-<span id="L9410" class="LineNr"> 9410 </span>    68/push 0/imm32/is-deref:false
-<span id="L9411" class="LineNr"> 9411 </span>    68/push 0/imm32/next
-<span id="L9412" class="LineNr"> 9412 </span>    51/push-ecx/var-foo
-<span id="L9413" class="LineNr"> 9413 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9414" class="LineNr"> 9414 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9415" class="LineNr"> 9415 </span>    68/push 0/imm32/next
-<span id="L9416" class="LineNr"> 9416 </span>    68/push 0/imm32/outputs
-<span id="L9417" class="LineNr"> 9417 </span>    57/push-edi/inouts
-<span id="L9418" class="LineNr"> 9418 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9419" class="LineNr"> 9419 </span>    68/push 1/imm32
-<span id="L9420" class="LineNr"> 9420 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9421" class="LineNr"> 9421 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
-<span id="L9422" class="LineNr"> 9422 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
-<span id="L9423" class="LineNr"> 9423 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9424" class="LineNr"> 9424 </span>    68/push 1/imm32/block-depth
-<span id="L9425" class="LineNr"> 9425 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9426" class="LineNr"> 9426 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
-<span id="L9427" class="LineNr"> 9427 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9428" class="LineNr"> 9428 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
-<span id="L9429" class="LineNr"> 9429 </span>    68/push 0/imm32/is-deref:false
-<span id="L9430" class="LineNr"> 9430 </span>    68/push 0/imm32/next
-<span id="L9431" class="LineNr"> 9431 </span>    53/push-ebx/formal-var
+<span id="L9342" class="LineNr"> 9342 </span>    <span class="subxComment"># convert</span>
+<span id="L9343" class="LineNr"> 9343 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9344" class="LineNr"> 9344 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
+<span id="L9345" class="LineNr"> 9345 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9346" class="Folded"> 9346 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9352" class="LineNr"> 9352 </span>    <span class="subxComment"># check output</span>
+<span id="L9353" class="LineNr"> 9353 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-select-primitive&quot;</span>)
+<span id="L9354" class="LineNr"> 9354 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9355" class="LineNr"> 9355 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9356" class="LineNr"> 9356 </span>    5d/pop-to-ebp
+<span id="L9357" class="LineNr"> 9357 </span>    c3/return
+<span id="L9358" class="LineNr"> 9358 </span>
+<span id="L9359" class="LineNr"> 9359 </span><span class="subxTest">test-emit-subx-stmt-select-primitive-2</span>:
+<span id="L9360" class="LineNr"> 9360 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
+<span id="L9361" class="LineNr"> 9361 </span>    <span class="subxComment">#   foo &lt;- increment</span>
+<span id="L9362" class="LineNr"> 9362 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9363" class="LineNr"> 9363 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
+<span id="L9364" class="LineNr"> 9364 </span>    <span class="subxComment">#</span>
+<span id="L9365" class="LineNr"> 9365 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9366" class="LineNr"> 9366 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9367" class="LineNr"> 9367 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9368" class="LineNr"> 9368 </span>    <span class="subxComment">#   register: 'eax'</span>
+<span id="L9369" class="LineNr"> 9369 </span>    <span class="subxComment">#</span>
+<span id="L9370" class="LineNr"> 9370 </span>    <span class="subxComment"># There's two primitives, as follows:</span>
+<span id="L9371" class="LineNr"> 9371 </span>    <span class="subxComment">#   - name: 'increment'</span>
+<span id="L9372" class="LineNr"> 9372 </span>    <span class="subxComment">#     out: int/reg</span>
+<span id="L9373" class="LineNr"> 9373 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
+<span id="L9374" class="LineNr"> 9374 </span>    <span class="subxComment">#   - name: 'increment'</span>
+<span id="L9375" class="LineNr"> 9375 </span>    <span class="subxComment">#     inout: int/mem</span>
+<span id="L9376" class="LineNr"> 9376 </span>    <span class="subxComment">#     value: 'ff 0/subop/increment'</span>
+<span id="L9377" class="LineNr"> 9377 </span>    <span class="subxComment">#</span>
+<span id="L9378" class="LineNr"> 9378 </span>    <span class="subxComment"># There's nothing in functions.</span>
+<span id="L9379" class="LineNr"> 9379 </span>    <span class="subxComment">#</span>
+<span id="L9380" class="LineNr"> 9380 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9381" class="LineNr"> 9381 </span>    55/push-ebp
+<span id="L9382" class="LineNr"> 9382 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9383" class="LineNr"> 9383 </span>    <span class="subxComment"># setup</span>
+<span id="L9384" class="LineNr"> 9384 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9385" class="LineNr"> 9385 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9386" class="LineNr"> 9386 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9387" class="LineNr"> 9387 </span>    68/push 0/imm32/right/null
+<span id="L9388" class="LineNr"> 9388 </span>    68/push 1/imm32/left/int
+<span id="L9389" class="LineNr"> 9389 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9390" class="LineNr"> 9390 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
+<span id="L9391" class="LineNr"> 9391 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9392" class="LineNr"> 9392 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9393" class="LineNr"> 9393 </span>    68/push 1/imm32/block-depth
+<span id="L9394" class="LineNr"> 9394 </span>    51/push-ecx
+<span id="L9395" class="LineNr"> 9395 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9396" class="LineNr"> 9396 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9397" class="LineNr"> 9397 </span>    <span class="subxComment"># var inouts/edi: (handle stmt-var)</span>
+<span id="L9398" class="LineNr"> 9398 </span>    68/push 0/imm32/is-deref:false
+<span id="L9399" class="LineNr"> 9399 </span>    68/push 0/imm32/next
+<span id="L9400" class="LineNr"> 9400 </span>    51/push-ecx/var-foo
+<span id="L9401" class="LineNr"> 9401 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9402" class="LineNr"> 9402 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9403" class="LineNr"> 9403 </span>    68/push 0/imm32/next
+<span id="L9404" class="LineNr"> 9404 </span>    68/push 0/imm32/outputs
+<span id="L9405" class="LineNr"> 9405 </span>    57/push-edi/inouts
+<span id="L9406" class="LineNr"> 9406 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9407" class="LineNr"> 9407 </span>    68/push 1/imm32
+<span id="L9408" class="LineNr"> 9408 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9409" class="LineNr"> 9409 </span>    <span class="subxComment"># var formal-var/ebx: var in any register</span>
+<span id="L9410" class="LineNr"> 9410 </span>    68/push <span class="SpecialChar"><a href='mu.subx.html#L339'>Any-register</a></span>/imm32
+<span id="L9411" class="LineNr"> 9411 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9412" class="LineNr"> 9412 </span>    68/push 1/imm32/block-depth
+<span id="L9413" class="LineNr"> 9413 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9414" class="LineNr"> 9414 </span>    68/push <span class="Constant">&quot;dummy&quot;</span>/imm32
+<span id="L9415" class="LineNr"> 9415 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9416" class="LineNr"> 9416 </span>    <span class="subxComment"># var operand/ebx: (handle stmt-var)</span>
+<span id="L9417" class="LineNr"> 9417 </span>    68/push 0/imm32/is-deref:false
+<span id="L9418" class="LineNr"> 9418 </span>    68/push 0/imm32/next
+<span id="L9419" class="LineNr"> 9419 </span>    53/push-ebx/formal-var
+<span id="L9420" class="LineNr"> 9420 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L9421" class="LineNr"> 9421 </span>    <span class="subxComment"># var primitive1/ebx: primitive</span>
+<span id="L9422" class="LineNr"> 9422 </span>    68/push 0/imm32/next
+<span id="L9423" class="LineNr"> 9423 </span>    68/push 0/imm32/output-is-write-only
+<span id="L9424" class="LineNr"> 9424 </span>    68/push 0/imm32/no-disp32
+<span id="L9425" class="LineNr"> 9425 </span>    68/push 0/imm32/no-imm32
+<span id="L9426" class="LineNr"> 9426 </span>    68/push 0/imm32/no-r32
+<span id="L9427" class="LineNr"> 9427 </span>    68/push 3/imm32/rm32-in-first-output
+<span id="L9428" class="LineNr"> 9428 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
+<span id="L9429" class="LineNr"> 9429 </span>    53/push-ebx/outputs/formal-outputs
+<span id="L9430" class="LineNr"> 9430 </span>    68/push 0/imm32/inouts
+<span id="L9431" class="LineNr"> 9431 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
 <span id="L9432" class="LineNr"> 9432 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9433" class="LineNr"> 9433 </span>    <span class="subxComment"># var primitive1/ebx: primitive</span>
-<span id="L9434" class="LineNr"> 9434 </span>    68/push 0/imm32/next
+<span id="L9433" class="LineNr"> 9433 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
+<span id="L9434" class="LineNr"> 9434 </span>    53/push-ebx/next
 <span id="L9435" class="LineNr"> 9435 </span>    68/push 0/imm32/output-is-write-only
 <span id="L9436" class="LineNr"> 9436 </span>    68/push 0/imm32/no-disp32
 <span id="L9437" class="LineNr"> 9437 </span>    68/push 0/imm32/no-imm32
 <span id="L9438" class="LineNr"> 9438 </span>    68/push 0/imm32/no-r32
-<span id="L9439" class="LineNr"> 9439 </span>    68/push 3/imm32/rm32-in-first-output
+<span id="L9439" class="LineNr"> 9439 </span>    68/push 1/imm32/rm32-is-first-inout
 <span id="L9440" class="LineNr"> 9440 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9441" class="LineNr"> 9441 </span>    53/push-ebx/outputs/formal-outputs
-<span id="L9442" class="LineNr"> 9442 </span>    68/push 0/imm32/inouts
+<span id="L9441" class="LineNr"> 9441 </span>    68/push 0/imm32/outputs
+<span id="L9442" class="LineNr"> 9442 </span>    57/push-edi/inouts/real-outputs  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
 <span id="L9443" class="LineNr"> 9443 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
 <span id="L9444" class="LineNr"> 9444 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9445" class="LineNr"> 9445 </span>    <span class="subxComment"># var primitives/ebx: primitive</span>
-<span id="L9446" class="LineNr"> 9446 </span>    53/push-ebx/next
-<span id="L9447" class="LineNr"> 9447 </span>    68/push 0/imm32/output-is-write-only
-<span id="L9448" class="LineNr"> 9448 </span>    68/push 0/imm32/no-disp32
-<span id="L9449" class="LineNr"> 9449 </span>    68/push 0/imm32/no-imm32
-<span id="L9450" class="LineNr"> 9450 </span>    68/push 0/imm32/no-r32
-<span id="L9451" class="LineNr"> 9451 </span>    68/push 1/imm32/rm32-is-first-inout
-<span id="L9452" class="LineNr"> 9452 </span>    68/push <span class="Constant">&quot;ff 0/subop/increment&quot;</span>/imm32/subx-name
-<span id="L9453" class="LineNr"> 9453 </span>    68/push 0/imm32/outputs
-<span id="L9454" class="LineNr"> 9454 </span>    57/push-edi/inouts/real-outputs  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
-<span id="L9455" class="LineNr"> 9455 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/name
-<span id="L9456" class="LineNr"> 9456 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L9457" class="LineNr"> 9457 </span>    <span class="subxComment"># convert</span>
-<span id="L9458" class="LineNr"> 9458 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9459" class="LineNr"> 9459 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
-<span id="L9460" class="LineNr"> 9460 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9461" class="Folded"> 9461 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9467" class="LineNr"> 9467 </span>    <span class="subxComment"># check output</span>
-<span id="L9468" class="LineNr"> 9468 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-select-primitive-2&quot;</span>)
-<span id="L9469" class="LineNr"> 9469 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9470" class="LineNr"> 9470 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9471" class="LineNr"> 9471 </span>    5d/pop-to-ebp
-<span id="L9472" class="LineNr"> 9472 </span>    c3/return
-<span id="L9473" class="LineNr"> 9473 </span>
-<span id="L9474" class="LineNr"> 9474 </span><span class="subxTest">test-increment-register</span>:
-<span id="L9475" class="LineNr"> 9475 </span>    <span class="subxComment"># Select the right register between overloads.</span>
-<span id="L9476" class="LineNr"> 9476 </span>    <span class="subxComment">#   foo &lt;- increment</span>
-<span id="L9477" class="LineNr"> 9477 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9478" class="LineNr"> 9478 </span>    <span class="subxComment">#   50/increment-eax</span>
-<span id="L9479" class="LineNr"> 9479 </span>    <span class="subxComment">#</span>
-<span id="L9480" class="LineNr"> 9480 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9481" class="LineNr"> 9481 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9482" class="LineNr"> 9482 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9483" class="LineNr"> 9483 </span>    <span class="subxComment">#   register: 'eax'</span>
-<span id="L9484" class="LineNr"> 9484 </span>    <span class="subxComment">#</span>
-<span id="L9485" class="LineNr"> 9485 </span>    <span class="subxComment"># Primitives are the global definitions.</span>
-<span id="L9486" class="LineNr"> 9486 </span>    <span class="subxComment">#</span>
-<span id="L9487" class="LineNr"> 9487 </span>    <span class="subxComment"># There are no functions defined.</span>
-<span id="L9488" class="LineNr"> 9488 </span>    <span class="subxComment">#</span>
-<span id="L9489" class="LineNr"> 9489 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9490" class="LineNr"> 9490 </span>    55/push-ebp
-<span id="L9491" class="LineNr"> 9491 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9492" class="LineNr"> 9492 </span>    <span class="subxComment"># setup</span>
-<span id="L9493" class="LineNr"> 9493 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9494" class="LineNr"> 9494 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9495" class="LineNr"> 9495 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9496" class="LineNr"> 9496 </span>    68/push 0/imm32/right/null
-<span id="L9497" class="LineNr"> 9497 </span>    68/push 1/imm32/left/int
-<span id="L9498" class="LineNr"> 9498 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9499" class="LineNr"> 9499 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
-<span id="L9500" class="LineNr"> 9500 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9501" class="LineNr"> 9501 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9502" class="LineNr"> 9502 </span>    68/push 1/imm32/block-depth
-<span id="L9503" class="LineNr"> 9503 </span>    51/push-ecx
-<span id="L9504" class="LineNr"> 9504 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9505" class="LineNr"> 9505 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9506" class="LineNr"> 9506 </span>    <span class="subxComment"># var real-outputs/edi: (handle stmt-var)</span>
-<span id="L9507" class="LineNr"> 9507 </span>    68/push 0/imm32/is-deref:false
-<span id="L9508" class="LineNr"> 9508 </span>    68/push 0/imm32/next
-<span id="L9509" class="LineNr"> 9509 </span>    51/push-ecx/var-foo
-<span id="L9510" class="LineNr"> 9510 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9511" class="LineNr"> 9511 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9512" class="LineNr"> 9512 </span>    68/push 0/imm32/next
-<span id="L9513" class="LineNr"> 9513 </span>    57/push-edi/outputs
-<span id="L9514" class="LineNr"> 9514 </span>    68/push 0/imm32/inouts
-<span id="L9515" class="LineNr"> 9515 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9516" class="LineNr"> 9516 </span>    68/push 1/imm32/regular-stmt
-<span id="L9517" class="LineNr"> 9517 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9518" class="LineNr"> 9518 </span>    <span class="subxComment"># convert</span>
-<span id="L9519" class="LineNr"> 9519 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9520" class="LineNr"> 9520 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9521" class="LineNr"> 9521 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9522" class="Folded"> 9522 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9528" class="LineNr"> 9528 </span>    <span class="subxComment"># check output</span>
-<span id="L9529" class="LineNr"> 9529 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;40/increment-eax&quot;</span> <span class="Constant">&quot;F - test-increment-register&quot;</span>)
-<span id="L9530" class="LineNr"> 9530 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9531" class="LineNr"> 9531 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9532" class="LineNr"> 9532 </span>    5d/pop-to-ebp
-<span id="L9533" class="LineNr"> 9533 </span>    c3/return
-<span id="L9534" class="LineNr"> 9534 </span>
-<span id="L9535" class="LineNr"> 9535 </span><span class="subxTest">test-increment-var</span>:
-<span id="L9536" class="LineNr"> 9536 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
-<span id="L9537" class="LineNr"> 9537 </span>    <span class="subxComment">#   foo &lt;- increment</span>
-<span id="L9538" class="LineNr"> 9538 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9539" class="LineNr"> 9539 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
-<span id="L9540" class="LineNr"> 9540 </span>    <span class="subxComment">#</span>
-<span id="L9541" class="LineNr"> 9541 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L9542" class="LineNr"> 9542 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L9543" class="LineNr"> 9543 </span>    <span class="subxComment">#   type: int</span>
-<span id="L9544" class="LineNr"> 9544 </span>    <span class="subxComment">#   register: 'eax'</span>
-<span id="L9545" class="LineNr"> 9545 </span>    <span class="subxComment">#</span>
-<span id="L9546" class="LineNr"> 9546 </span>    <span class="subxComment"># Primitives are the global definitions.</span>
-<span id="L9547" class="LineNr"> 9547 </span>    <span class="subxComment">#</span>
-<span id="L9548" class="LineNr"> 9548 </span>    <span class="subxComment"># There are no functions defined.</span>
-<span id="L9549" class="LineNr"> 9549 </span>    <span class="subxComment">#</span>
-<span id="L9550" class="LineNr"> 9550 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9551" class="LineNr"> 9551 </span>    55/push-ebp
-<span id="L9552" class="LineNr"> 9552 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9553" class="LineNr"> 9553 </span>    <span class="subxComment"># setup</span>
-<span id="L9554" class="LineNr"> 9554 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9555" class="LineNr"> 9555 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9556" class="LineNr"> 9556 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9557" class="LineNr"> 9557 </span>    68/push 0/imm32/right/null
-<span id="L9558" class="LineNr"> 9558 </span>    68/push 1/imm32/left/int
-<span id="L9559" class="LineNr"> 9559 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9560" class="LineNr"> 9560 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
-<span id="L9561" class="LineNr"> 9561 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9562" class="LineNr"> 9562 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9563" class="LineNr"> 9563 </span>    68/push 1/imm32/block-depth
-<span id="L9564" class="LineNr"> 9564 </span>    51/push-ecx
-<span id="L9565" class="LineNr"> 9565 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L9566" class="LineNr"> 9566 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9567" class="LineNr"> 9567 </span>    <span class="subxComment"># var inouts/edi: (handle stmt-var)</span>
-<span id="L9568" class="LineNr"> 9568 </span>    68/push 0/imm32/is-deref:false
-<span id="L9569" class="LineNr"> 9569 </span>    68/push 0/imm32/next
-<span id="L9570" class="LineNr"> 9570 </span>    51/push-ecx/var-foo
-<span id="L9571" class="LineNr"> 9571 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9572" class="LineNr"> 9572 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9573" class="LineNr"> 9573 </span>    68/push 0/imm32/next
-<span id="L9574" class="LineNr"> 9574 </span>    57/push-edi/outputs
-<span id="L9575" class="LineNr"> 9575 </span>    68/push 0/imm32/inouts
-<span id="L9576" class="LineNr"> 9576 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
-<span id="L9577" class="LineNr"> 9577 </span>    68/push 1/imm32
-<span id="L9578" class="LineNr"> 9578 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9579" class="LineNr"> 9579 </span>    <span class="subxComment"># convert</span>
-<span id="L9580" class="LineNr"> 9580 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9581" class="LineNr"> 9581 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9582" class="LineNr"> 9582 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9583" class="Folded"> 9583 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9589" class="LineNr"> 9589 </span>    <span class="subxComment"># check output</span>
-<span id="L9590" class="LineNr"> 9590 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;40/increment-eax&quot;</span> <span class="Constant">&quot;F - test-increment-var&quot;</span>)
-<span id="L9591" class="LineNr"> 9591 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9592" class="LineNr"> 9592 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9593" class="LineNr"> 9593 </span>    5d/pop-to-ebp
-<span id="L9594" class="LineNr"> 9594 </span>    c3/return
-<span id="L9595" class="LineNr"> 9595 </span>
-<span id="L9596" class="LineNr"> 9596 </span><span class="subxTest">test-add-reg-to-reg</span>:
-<span id="L9597" class="LineNr"> 9597 </span>    <span class="subxComment">#   var1/reg &lt;- add var2/reg</span>
-<span id="L9598" class="LineNr"> 9598 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9599" class="LineNr"> 9599 </span>    <span class="subxComment">#   01/add %var1 var2</span>
-<span id="L9600" class="LineNr"> 9600 </span>    <span class="subxComment">#</span>
-<span id="L9601" class="LineNr"> 9601 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9602" class="LineNr"> 9602 </span>    55/push-ebp
-<span id="L9603" class="LineNr"> 9603 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9604" class="LineNr"> 9604 </span>    <span class="subxComment"># setup</span>
-<span id="L9605" class="LineNr"> 9605 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9606" class="LineNr"> 9606 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9607" class="LineNr"> 9607 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9608" class="LineNr"> 9608 </span>    68/push 0/imm32/right/null
-<span id="L9609" class="LineNr"> 9609 </span>    68/push 1/imm32/left/int
-<span id="L9610" class="LineNr"> 9610 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9611" class="LineNr"> 9611 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
-<span id="L9612" class="LineNr"> 9612 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9613" class="LineNr"> 9613 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9614" class="LineNr"> 9614 </span>    68/push 1/imm32/block-depth
-<span id="L9615" class="LineNr"> 9615 </span>    51/push-ecx
-<span id="L9616" class="LineNr"> 9616 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9617" class="LineNr"> 9617 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9618" class="LineNr"> 9618 </span>    <span class="subxComment"># var var-var2/edx: var in ecx</span>
-<span id="L9619" class="LineNr"> 9619 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
-<span id="L9620" class="LineNr"> 9620 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9621" class="LineNr"> 9621 </span>    68/push 1/imm32/block-depth
-<span id="L9622" class="LineNr"> 9622 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9623" class="LineNr"> 9623 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
-<span id="L9624" class="LineNr"> 9624 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9625" class="LineNr"> 9625 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9626" class="LineNr"> 9626 </span>    68/push 0/imm32/is-deref:false
-<span id="L9627" class="LineNr"> 9627 </span>    68/push 0/imm32/next
-<span id="L9628" class="LineNr"> 9628 </span>    52/push-edx/var-var2
+<span id="L9445" class="LineNr"> 9445 </span>    <span class="subxComment"># convert</span>
+<span id="L9446" class="LineNr"> 9446 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9447" class="LineNr"> 9447 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi %ebx 0)
+<span id="L9448" class="LineNr"> 9448 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9449" class="Folded"> 9449 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9455" class="LineNr"> 9455 </span>    <span class="subxComment"># check output</span>
+<span id="L9456" class="LineNr"> 9456 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;ff 0/subop/increment %eax&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-select-primitive-2&quot;</span>)
+<span id="L9457" class="LineNr"> 9457 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9458" class="LineNr"> 9458 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9459" class="LineNr"> 9459 </span>    5d/pop-to-ebp
+<span id="L9460" class="LineNr"> 9460 </span>    c3/return
+<span id="L9461" class="LineNr"> 9461 </span>
+<span id="L9462" class="LineNr"> 9462 </span><span class="subxTest">test-increment-register</span>:
+<span id="L9463" class="LineNr"> 9463 </span>    <span class="subxComment"># Select the right register between overloads.</span>
+<span id="L9464" class="LineNr"> 9464 </span>    <span class="subxComment">#   foo &lt;- increment</span>
+<span id="L9465" class="LineNr"> 9465 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9466" class="LineNr"> 9466 </span>    <span class="subxComment">#   50/increment-eax</span>
+<span id="L9467" class="LineNr"> 9467 </span>    <span class="subxComment">#</span>
+<span id="L9468" class="LineNr"> 9468 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9469" class="LineNr"> 9469 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9470" class="LineNr"> 9470 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9471" class="LineNr"> 9471 </span>    <span class="subxComment">#   register: 'eax'</span>
+<span id="L9472" class="LineNr"> 9472 </span>    <span class="subxComment">#</span>
+<span id="L9473" class="LineNr"> 9473 </span>    <span class="subxComment"># Primitives are the global definitions.</span>
+<span id="L9474" class="LineNr"> 9474 </span>    <span class="subxComment">#</span>
+<span id="L9475" class="LineNr"> 9475 </span>    <span class="subxComment"># There are no functions defined.</span>
+<span id="L9476" class="LineNr"> 9476 </span>    <span class="subxComment">#</span>
+<span id="L9477" class="LineNr"> 9477 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9478" class="LineNr"> 9478 </span>    55/push-ebp
+<span id="L9479" class="LineNr"> 9479 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9480" class="LineNr"> 9480 </span>    <span class="subxComment"># setup</span>
+<span id="L9481" class="LineNr"> 9481 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9482" class="LineNr"> 9482 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9483" class="LineNr"> 9483 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9484" class="LineNr"> 9484 </span>    68/push 0/imm32/right/null
+<span id="L9485" class="LineNr"> 9485 </span>    68/push 1/imm32/left/int
+<span id="L9486" class="LineNr"> 9486 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9487" class="LineNr"> 9487 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
+<span id="L9488" class="LineNr"> 9488 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9489" class="LineNr"> 9489 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9490" class="LineNr"> 9490 </span>    68/push 1/imm32/block-depth
+<span id="L9491" class="LineNr"> 9491 </span>    51/push-ecx
+<span id="L9492" class="LineNr"> 9492 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9493" class="LineNr"> 9493 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9494" class="LineNr"> 9494 </span>    <span class="subxComment"># var real-outputs/edi: (handle stmt-var)</span>
+<span id="L9495" class="LineNr"> 9495 </span>    68/push 0/imm32/is-deref:false
+<span id="L9496" class="LineNr"> 9496 </span>    68/push 0/imm32/next
+<span id="L9497" class="LineNr"> 9497 </span>    51/push-ecx/var-foo
+<span id="L9498" class="LineNr"> 9498 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9499" class="LineNr"> 9499 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9500" class="LineNr"> 9500 </span>    68/push 0/imm32/next
+<span id="L9501" class="LineNr"> 9501 </span>    57/push-edi/outputs
+<span id="L9502" class="LineNr"> 9502 </span>    68/push 0/imm32/inouts
+<span id="L9503" class="LineNr"> 9503 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9504" class="LineNr"> 9504 </span>    68/push 1/imm32/regular-stmt
+<span id="L9505" class="LineNr"> 9505 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9506" class="LineNr"> 9506 </span>    <span class="subxComment"># convert</span>
+<span id="L9507" class="LineNr"> 9507 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9508" class="LineNr"> 9508 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9509" class="LineNr"> 9509 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9510" class="Folded"> 9510 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9516" class="LineNr"> 9516 </span>    <span class="subxComment"># check output</span>
+<span id="L9517" class="LineNr"> 9517 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;40/increment-eax&quot;</span> <span class="Constant">&quot;F - test-increment-register&quot;</span>)
+<span id="L9518" class="LineNr"> 9518 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9519" class="LineNr"> 9519 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9520" class="LineNr"> 9520 </span>    5d/pop-to-ebp
+<span id="L9521" class="LineNr"> 9521 </span>    c3/return
+<span id="L9522" class="LineNr"> 9522 </span>
+<span id="L9523" class="LineNr"> 9523 </span><span class="subxTest">test-increment-var</span>:
+<span id="L9524" class="LineNr"> 9524 </span>    <span class="subxComment"># Select the right primitive between overloads.</span>
+<span id="L9525" class="LineNr"> 9525 </span>    <span class="subxComment">#   foo &lt;- increment</span>
+<span id="L9526" class="LineNr"> 9526 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9527" class="LineNr"> 9527 </span>    <span class="subxComment">#   ff 0/subop/increment %eax  # sub-optimal, but should suffice</span>
+<span id="L9528" class="LineNr"> 9528 </span>    <span class="subxComment">#</span>
+<span id="L9529" class="LineNr"> 9529 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L9530" class="LineNr"> 9530 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L9531" class="LineNr"> 9531 </span>    <span class="subxComment">#   type: int</span>
+<span id="L9532" class="LineNr"> 9532 </span>    <span class="subxComment">#   register: 'eax'</span>
+<span id="L9533" class="LineNr"> 9533 </span>    <span class="subxComment">#</span>
+<span id="L9534" class="LineNr"> 9534 </span>    <span class="subxComment"># Primitives are the global definitions.</span>
+<span id="L9535" class="LineNr"> 9535 </span>    <span class="subxComment">#</span>
+<span id="L9536" class="LineNr"> 9536 </span>    <span class="subxComment"># There are no functions defined.</span>
+<span id="L9537" class="LineNr"> 9537 </span>    <span class="subxComment">#</span>
+<span id="L9538" class="LineNr"> 9538 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9539" class="LineNr"> 9539 </span>    55/push-ebp
+<span id="L9540" class="LineNr"> 9540 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9541" class="LineNr"> 9541 </span>    <span class="subxComment"># setup</span>
+<span id="L9542" class="LineNr"> 9542 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9543" class="LineNr"> 9543 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9544" class="LineNr"> 9544 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9545" class="LineNr"> 9545 </span>    68/push 0/imm32/right/null
+<span id="L9546" class="LineNr"> 9546 </span>    68/push 1/imm32/left/int
+<span id="L9547" class="LineNr"> 9547 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9548" class="LineNr"> 9548 </span>    <span class="subxComment"># var var-foo/ecx: var in eax</span>
+<span id="L9549" class="LineNr"> 9549 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9550" class="LineNr"> 9550 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9551" class="LineNr"> 9551 </span>    68/push 1/imm32/block-depth
+<span id="L9552" class="LineNr"> 9552 </span>    51/push-ecx
+<span id="L9553" class="LineNr"> 9553 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L9554" class="LineNr"> 9554 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9555" class="LineNr"> 9555 </span>    <span class="subxComment"># var inouts/edi: (handle stmt-var)</span>
+<span id="L9556" class="LineNr"> 9556 </span>    68/push 0/imm32/is-deref:false
+<span id="L9557" class="LineNr"> 9557 </span>    68/push 0/imm32/next
+<span id="L9558" class="LineNr"> 9558 </span>    51/push-ecx/var-foo
+<span id="L9559" class="LineNr"> 9559 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9560" class="LineNr"> 9560 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9561" class="LineNr"> 9561 </span>    68/push 0/imm32/next
+<span id="L9562" class="LineNr"> 9562 </span>    57/push-edi/outputs
+<span id="L9563" class="LineNr"> 9563 </span>    68/push 0/imm32/inouts
+<span id="L9564" class="LineNr"> 9564 </span>    68/push <span class="Constant">&quot;increment&quot;</span>/imm32/operation
+<span id="L9565" class="LineNr"> 9565 </span>    68/push 1/imm32
+<span id="L9566" class="LineNr"> 9566 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9567" class="LineNr"> 9567 </span>    <span class="subxComment"># convert</span>
+<span id="L9568" class="LineNr"> 9568 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9569" class="LineNr"> 9569 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9570" class="LineNr"> 9570 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9571" class="Folded"> 9571 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9577" class="LineNr"> 9577 </span>    <span class="subxComment"># check output</span>
+<span id="L9578" class="LineNr"> 9578 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;40/increment-eax&quot;</span> <span class="Constant">&quot;F - test-increment-var&quot;</span>)
+<span id="L9579" class="LineNr"> 9579 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9580" class="LineNr"> 9580 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9581" class="LineNr"> 9581 </span>    5d/pop-to-ebp
+<span id="L9582" class="LineNr"> 9582 </span>    c3/return
+<span id="L9583" class="LineNr"> 9583 </span>
+<span id="L9584" class="LineNr"> 9584 </span><span class="subxTest">test-add-reg-to-reg</span>:
+<span id="L9585" class="LineNr"> 9585 </span>    <span class="subxComment">#   var1/reg &lt;- add var2/reg</span>
+<span id="L9586" class="LineNr"> 9586 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9587" class="LineNr"> 9587 </span>    <span class="subxComment">#   01/add %var1 var2</span>
+<span id="L9588" class="LineNr"> 9588 </span>    <span class="subxComment">#</span>
+<span id="L9589" class="LineNr"> 9589 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9590" class="LineNr"> 9590 </span>    55/push-ebp
+<span id="L9591" class="LineNr"> 9591 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9592" class="LineNr"> 9592 </span>    <span class="subxComment"># setup</span>
+<span id="L9593" class="LineNr"> 9593 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9594" class="LineNr"> 9594 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9595" class="LineNr"> 9595 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9596" class="LineNr"> 9596 </span>    68/push 0/imm32/right/null
+<span id="L9597" class="LineNr"> 9597 </span>    68/push 1/imm32/left/int
+<span id="L9598" class="LineNr"> 9598 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9599" class="LineNr"> 9599 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
+<span id="L9600" class="LineNr"> 9600 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9601" class="LineNr"> 9601 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9602" class="LineNr"> 9602 </span>    68/push 1/imm32/block-depth
+<span id="L9603" class="LineNr"> 9603 </span>    51/push-ecx
+<span id="L9604" class="LineNr"> 9604 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9605" class="LineNr"> 9605 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9606" class="LineNr"> 9606 </span>    <span class="subxComment"># var var-var2/edx: var in ecx</span>
+<span id="L9607" class="LineNr"> 9607 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L9608" class="LineNr"> 9608 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9609" class="LineNr"> 9609 </span>    68/push 1/imm32/block-depth
+<span id="L9610" class="LineNr"> 9610 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9611" class="LineNr"> 9611 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
+<span id="L9612" class="LineNr"> 9612 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9613" class="LineNr"> 9613 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9614" class="LineNr"> 9614 </span>    68/push 0/imm32/is-deref:false
+<span id="L9615" class="LineNr"> 9615 </span>    68/push 0/imm32/next
+<span id="L9616" class="LineNr"> 9616 </span>    52/push-edx/var-var2
+<span id="L9617" class="LineNr"> 9617 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9618" class="LineNr"> 9618 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1, var2]</span>
+<span id="L9619" class="LineNr"> 9619 </span>    68/push 0/imm32/is-deref:false
+<span id="L9620" class="LineNr"> 9620 </span>    68/push 0/imm32/next
+<span id="L9621" class="LineNr"> 9621 </span>    51/push-ecx/var-var1
+<span id="L9622" class="LineNr"> 9622 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9623" class="LineNr"> 9623 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9624" class="LineNr"> 9624 </span>    68/push 0/imm32/next
+<span id="L9625" class="LineNr"> 9625 </span>    57/push-edi/outputs
+<span id="L9626" class="LineNr"> 9626 </span>    56/push-esi/inouts
+<span id="L9627" class="LineNr"> 9627 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
+<span id="L9628" class="LineNr"> 9628 </span>    68/push 1/imm32
 <span id="L9629" class="LineNr"> 9629 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9630" class="LineNr"> 9630 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1, var2]</span>
-<span id="L9631" class="LineNr"> 9631 </span>    68/push 0/imm32/is-deref:false
-<span id="L9632" class="LineNr"> 9632 </span>    68/push 0/imm32/next
-<span id="L9633" class="LineNr"> 9633 </span>    51/push-ecx/var-var1
-<span id="L9634" class="LineNr"> 9634 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9635" class="LineNr"> 9635 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9636" class="LineNr"> 9636 </span>    68/push 0/imm32/next
-<span id="L9637" class="LineNr"> 9637 </span>    57/push-edi/outputs
-<span id="L9638" class="LineNr"> 9638 </span>    56/push-esi/inouts
-<span id="L9639" class="LineNr"> 9639 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
-<span id="L9640" class="LineNr"> 9640 </span>    68/push 1/imm32
-<span id="L9641" class="LineNr"> 9641 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9642" class="LineNr"> 9642 </span>    <span class="subxComment"># convert</span>
-<span id="L9643" class="LineNr"> 9643 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9644" class="LineNr"> 9644 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9645" class="LineNr"> 9645 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9646" class="Folded"> 9646 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9652" class="LineNr"> 9652 </span>    <span class="subxComment"># check output</span>
-<span id="L9653" class="LineNr"> 9653 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;01/add-to %eax 0x00000001/r32&quot;</span> <span class="Constant">&quot;F - test-add-reg-to-reg&quot;</span>)
-<span id="L9654" class="LineNr"> 9654 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9655" class="LineNr"> 9655 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9656" class="LineNr"> 9656 </span>    5d/pop-to-ebp
-<span id="L9657" class="LineNr"> 9657 </span>    c3/return
-<span id="L9658" class="LineNr"> 9658 </span>
-<span id="L9659" class="LineNr"> 9659 </span><span class="subxTest">test-add-reg-to-mem</span>:
-<span id="L9660" class="LineNr"> 9660 </span>    <span class="subxComment">#   add-to var1 var2/reg</span>
-<span id="L9661" class="LineNr"> 9661 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9662" class="LineNr"> 9662 </span>    <span class="subxComment">#   01/add *(ebp+__) var2</span>
-<span id="L9663" class="LineNr"> 9663 </span>    <span class="subxComment">#</span>
-<span id="L9664" class="LineNr"> 9664 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9665" class="LineNr"> 9665 </span>    55/push-ebp
-<span id="L9666" class="LineNr"> 9666 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9667" class="LineNr"> 9667 </span>    <span class="subxComment"># setup</span>
-<span id="L9668" class="LineNr"> 9668 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9669" class="LineNr"> 9669 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9670" class="LineNr"> 9670 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9671" class="LineNr"> 9671 </span>    68/push 0/imm32/right/null
-<span id="L9672" class="LineNr"> 9672 </span>    68/push 1/imm32/left/int
-<span id="L9673" class="LineNr"> 9673 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9674" class="LineNr"> 9674 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
-<span id="L9675" class="LineNr"> 9675 </span>    68/push 0/imm32/no-register
-<span id="L9676" class="LineNr"> 9676 </span>    68/push 8/imm32/stack-offset
-<span id="L9677" class="LineNr"> 9677 </span>    68/push 1/imm32/block-depth
-<span id="L9678" class="LineNr"> 9678 </span>    51/push-ecx
-<span id="L9679" class="LineNr"> 9679 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9680" class="LineNr"> 9680 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9681" class="LineNr"> 9681 </span>    <span class="subxComment"># var var-var2/edx: var in ecx</span>
-<span id="L9682" class="LineNr"> 9682 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
-<span id="L9683" class="LineNr"> 9683 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9684" class="LineNr"> 9684 </span>    68/push 1/imm32/block-depth
-<span id="L9685" class="LineNr"> 9685 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9686" class="LineNr"> 9686 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
-<span id="L9687" class="LineNr"> 9687 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9688" class="LineNr"> 9688 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9689" class="LineNr"> 9689 </span>    68/push 0/imm32/is-deref:false
-<span id="L9690" class="LineNr"> 9690 </span>    68/push 0/imm32/next
-<span id="L9691" class="LineNr"> 9691 </span>    52/push-edx/var-var2
-<span id="L9692" class="LineNr"> 9692 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9693" class="LineNr"> 9693 </span>    <span class="subxComment"># var inouts = (handle stmt-var) = [var1, var2]</span>
-<span id="L9694" class="LineNr"> 9694 </span>    56/push-esi/next
-<span id="L9695" class="LineNr"> 9695 </span>    51/push-ecx/var-var1
-<span id="L9696" class="LineNr"> 9696 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9697" class="LineNr"> 9697 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9698" class="LineNr"> 9698 </span>    68/push 0/imm32/next
-<span id="L9699" class="LineNr"> 9699 </span>    68/push 0/imm32/outputs
-<span id="L9700" class="LineNr"> 9700 </span>    56/push-esi/inouts
-<span id="L9701" class="LineNr"> 9701 </span>    68/push <span class="Constant">&quot;add-to&quot;</span>/imm32/operation
-<span id="L9702" class="LineNr"> 9702 </span>    68/push 1/imm32
-<span id="L9703" class="LineNr"> 9703 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9704" class="LineNr"> 9704 </span>    <span class="subxComment"># convert</span>
-<span id="L9705" class="LineNr"> 9705 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9706" class="LineNr"> 9706 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9707" class="LineNr"> 9707 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9708" class="Folded"> 9708 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9714" class="LineNr"> 9714 </span>    <span class="subxComment"># check output</span>
-<span id="L9715" class="LineNr"> 9715 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;01/add-to *(ebp+0x00000008) 0x00000001/r32&quot;</span> <span class="Constant">&quot;F - test-add-reg-to-mem&quot;</span>)
-<span id="L9716" class="LineNr"> 9716 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9717" class="LineNr"> 9717 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9718" class="LineNr"> 9718 </span>    5d/pop-to-ebp
-<span id="L9719" class="LineNr"> 9719 </span>    c3/return
-<span id="L9720" class="LineNr"> 9720 </span>
-<span id="L9721" class="LineNr"> 9721 </span><span class="subxTest">test-add-mem-to-reg</span>:
-<span id="L9722" class="LineNr"> 9722 </span>    <span class="subxComment">#   var1/reg &lt;- add var2</span>
-<span id="L9723" class="LineNr"> 9723 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9724" class="LineNr"> 9724 </span>    <span class="subxComment">#   03/add *(ebp+__) var1</span>
-<span id="L9725" class="LineNr"> 9725 </span>    <span class="subxComment">#</span>
-<span id="L9726" class="LineNr"> 9726 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9727" class="LineNr"> 9727 </span>    55/push-ebp
-<span id="L9728" class="LineNr"> 9728 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9729" class="LineNr"> 9729 </span>    <span class="subxComment"># setup</span>
-<span id="L9730" class="LineNr"> 9730 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9731" class="LineNr"> 9731 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9732" class="LineNr"> 9732 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9733" class="LineNr"> 9733 </span>    68/push 0/imm32/right/null
-<span id="L9734" class="LineNr"> 9734 </span>    68/push 1/imm32/left/int
-<span id="L9735" class="LineNr"> 9735 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9736" class="LineNr"> 9736 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
-<span id="L9737" class="LineNr"> 9737 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9738" class="LineNr"> 9738 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9739" class="LineNr"> 9739 </span>    68/push 1/imm32/block-depth
-<span id="L9740" class="LineNr"> 9740 </span>    51/push-ecx
-<span id="L9741" class="LineNr"> 9741 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9742" class="LineNr"> 9742 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9743" class="LineNr"> 9743 </span>    <span class="subxComment"># var var-var2/edx: var</span>
-<span id="L9744" class="LineNr"> 9744 </span>    68/push 0/imm32/no-register
-<span id="L9745" class="LineNr"> 9745 </span>    68/push 8/imm32/stack-offset
-<span id="L9746" class="LineNr"> 9746 </span>    68/push 1/imm32/block-depth
-<span id="L9747" class="LineNr"> 9747 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L9748" class="LineNr"> 9748 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
-<span id="L9749" class="LineNr"> 9749 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9750" class="LineNr"> 9750 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9751" class="LineNr"> 9751 </span>    68/push 0/imm32/is-deref:false
-<span id="L9752" class="LineNr"> 9752 </span>    68/push 0/imm32/next
-<span id="L9753" class="LineNr"> 9753 </span>    52/push-edx/var-var2
+<span id="L9630" class="LineNr"> 9630 </span>    <span class="subxComment"># convert</span>
+<span id="L9631" class="LineNr"> 9631 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9632" class="LineNr"> 9632 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9633" class="LineNr"> 9633 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9634" class="Folded"> 9634 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9640" class="LineNr"> 9640 </span>    <span class="subxComment"># check output</span>
+<span id="L9641" class="LineNr"> 9641 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;01/add-to %eax 0x00000001/r32&quot;</span> <span class="Constant">&quot;F - test-add-reg-to-reg&quot;</span>)
+<span id="L9642" class="LineNr"> 9642 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9643" class="LineNr"> 9643 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9644" class="LineNr"> 9644 </span>    5d/pop-to-ebp
+<span id="L9645" class="LineNr"> 9645 </span>    c3/return
+<span id="L9646" class="LineNr"> 9646 </span>
+<span id="L9647" class="LineNr"> 9647 </span><span class="subxTest">test-add-reg-to-mem</span>:
+<span id="L9648" class="LineNr"> 9648 </span>    <span class="subxComment">#   add-to var1 var2/reg</span>
+<span id="L9649" class="LineNr"> 9649 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9650" class="LineNr"> 9650 </span>    <span class="subxComment">#   01/add *(ebp+__) var2</span>
+<span id="L9651" class="LineNr"> 9651 </span>    <span class="subxComment">#</span>
+<span id="L9652" class="LineNr"> 9652 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9653" class="LineNr"> 9653 </span>    55/push-ebp
+<span id="L9654" class="LineNr"> 9654 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9655" class="LineNr"> 9655 </span>    <span class="subxComment"># setup</span>
+<span id="L9656" class="LineNr"> 9656 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9657" class="LineNr"> 9657 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9658" class="LineNr"> 9658 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9659" class="LineNr"> 9659 </span>    68/push 0/imm32/right/null
+<span id="L9660" class="LineNr"> 9660 </span>    68/push 1/imm32/left/int
+<span id="L9661" class="LineNr"> 9661 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9662" class="LineNr"> 9662 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
+<span id="L9663" class="LineNr"> 9663 </span>    68/push 0/imm32/no-register
+<span id="L9664" class="LineNr"> 9664 </span>    68/push 8/imm32/stack-offset
+<span id="L9665" class="LineNr"> 9665 </span>    68/push 1/imm32/block-depth
+<span id="L9666" class="LineNr"> 9666 </span>    51/push-ecx
+<span id="L9667" class="LineNr"> 9667 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9668" class="LineNr"> 9668 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9669" class="LineNr"> 9669 </span>    <span class="subxComment"># var var-var2/edx: var in ecx</span>
+<span id="L9670" class="LineNr"> 9670 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L9671" class="LineNr"> 9671 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9672" class="LineNr"> 9672 </span>    68/push 1/imm32/block-depth
+<span id="L9673" class="LineNr"> 9673 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9674" class="LineNr"> 9674 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
+<span id="L9675" class="LineNr"> 9675 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9676" class="LineNr"> 9676 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9677" class="LineNr"> 9677 </span>    68/push 0/imm32/is-deref:false
+<span id="L9678" class="LineNr"> 9678 </span>    68/push 0/imm32/next
+<span id="L9679" class="LineNr"> 9679 </span>    52/push-edx/var-var2
+<span id="L9680" class="LineNr"> 9680 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9681" class="LineNr"> 9681 </span>    <span class="subxComment"># var inouts = (handle stmt-var) = [var1, var2]</span>
+<span id="L9682" class="LineNr"> 9682 </span>    56/push-esi/next
+<span id="L9683" class="LineNr"> 9683 </span>    51/push-ecx/var-var1
+<span id="L9684" class="LineNr"> 9684 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9685" class="LineNr"> 9685 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9686" class="LineNr"> 9686 </span>    68/push 0/imm32/next
+<span id="L9687" class="LineNr"> 9687 </span>    68/push 0/imm32/outputs
+<span id="L9688" class="LineNr"> 9688 </span>    56/push-esi/inouts
+<span id="L9689" class="LineNr"> 9689 </span>    68/push <span class="Constant">&quot;add-to&quot;</span>/imm32/operation
+<span id="L9690" class="LineNr"> 9690 </span>    68/push 1/imm32
+<span id="L9691" class="LineNr"> 9691 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9692" class="LineNr"> 9692 </span>    <span class="subxComment"># convert</span>
+<span id="L9693" class="LineNr"> 9693 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9694" class="LineNr"> 9694 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9695" class="LineNr"> 9695 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9696" class="Folded"> 9696 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9702" class="LineNr"> 9702 </span>    <span class="subxComment"># check output</span>
+<span id="L9703" class="LineNr"> 9703 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;01/add-to *(ebp+0x00000008) 0x00000001/r32&quot;</span> <span class="Constant">&quot;F - test-add-reg-to-mem&quot;</span>)
+<span id="L9704" class="LineNr"> 9704 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9705" class="LineNr"> 9705 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9706" class="LineNr"> 9706 </span>    5d/pop-to-ebp
+<span id="L9707" class="LineNr"> 9707 </span>    c3/return
+<span id="L9708" class="LineNr"> 9708 </span>
+<span id="L9709" class="LineNr"> 9709 </span><span class="subxTest">test-add-mem-to-reg</span>:
+<span id="L9710" class="LineNr"> 9710 </span>    <span class="subxComment">#   var1/reg &lt;- add var2</span>
+<span id="L9711" class="LineNr"> 9711 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9712" class="LineNr"> 9712 </span>    <span class="subxComment">#   03/add *(ebp+__) var1</span>
+<span id="L9713" class="LineNr"> 9713 </span>    <span class="subxComment">#</span>
+<span id="L9714" class="LineNr"> 9714 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9715" class="LineNr"> 9715 </span>    55/push-ebp
+<span id="L9716" class="LineNr"> 9716 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9717" class="LineNr"> 9717 </span>    <span class="subxComment"># setup</span>
+<span id="L9718" class="LineNr"> 9718 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9719" class="LineNr"> 9719 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9720" class="LineNr"> 9720 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9721" class="LineNr"> 9721 </span>    68/push 0/imm32/right/null
+<span id="L9722" class="LineNr"> 9722 </span>    68/push 1/imm32/left/int
+<span id="L9723" class="LineNr"> 9723 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9724" class="LineNr"> 9724 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
+<span id="L9725" class="LineNr"> 9725 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9726" class="LineNr"> 9726 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9727" class="LineNr"> 9727 </span>    68/push 1/imm32/block-depth
+<span id="L9728" class="LineNr"> 9728 </span>    51/push-ecx
+<span id="L9729" class="LineNr"> 9729 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9730" class="LineNr"> 9730 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9731" class="LineNr"> 9731 </span>    <span class="subxComment"># var var-var2/edx: var</span>
+<span id="L9732" class="LineNr"> 9732 </span>    68/push 0/imm32/no-register
+<span id="L9733" class="LineNr"> 9733 </span>    68/push 8/imm32/stack-offset
+<span id="L9734" class="LineNr"> 9734 </span>    68/push 1/imm32/block-depth
+<span id="L9735" class="LineNr"> 9735 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L9736" class="LineNr"> 9736 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
+<span id="L9737" class="LineNr"> 9737 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9738" class="LineNr"> 9738 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9739" class="LineNr"> 9739 </span>    68/push 0/imm32/is-deref:false
+<span id="L9740" class="LineNr"> 9740 </span>    68/push 0/imm32/next
+<span id="L9741" class="LineNr"> 9741 </span>    52/push-edx/var-var2
+<span id="L9742" class="LineNr"> 9742 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9743" class="LineNr"> 9743 </span>    <span class="subxComment"># var outputs/edi = (handle stmt-var) = [var1]</span>
+<span id="L9744" class="LineNr"> 9744 </span>    68/push 0/imm32/is-deref:false
+<span id="L9745" class="LineNr"> 9745 </span>    68/push 0/imm32/next
+<span id="L9746" class="LineNr"> 9746 </span>    51/push-ecx/var-var1
+<span id="L9747" class="LineNr"> 9747 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9748" class="LineNr"> 9748 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9749" class="LineNr"> 9749 </span>    68/push 0/imm32/next
+<span id="L9750" class="LineNr"> 9750 </span>    57/push-edi/outputs
+<span id="L9751" class="LineNr"> 9751 </span>    56/push-esi/inouts
+<span id="L9752" class="LineNr"> 9752 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
+<span id="L9753" class="LineNr"> 9753 </span>    68/push 1/imm32
 <span id="L9754" class="LineNr"> 9754 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9755" class="LineNr"> 9755 </span>    <span class="subxComment"># var outputs/edi = (handle stmt-var) = [var1]</span>
-<span id="L9756" class="LineNr"> 9756 </span>    68/push 0/imm32/is-deref:false
-<span id="L9757" class="LineNr"> 9757 </span>    68/push 0/imm32/next
-<span id="L9758" class="LineNr"> 9758 </span>    51/push-ecx/var-var1
-<span id="L9759" class="LineNr"> 9759 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9760" class="LineNr"> 9760 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9761" class="LineNr"> 9761 </span>    68/push 0/imm32/next
-<span id="L9762" class="LineNr"> 9762 </span>    57/push-edi/outputs
-<span id="L9763" class="LineNr"> 9763 </span>    56/push-esi/inouts
-<span id="L9764" class="LineNr"> 9764 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
-<span id="L9765" class="LineNr"> 9765 </span>    68/push 1/imm32
-<span id="L9766" class="LineNr"> 9766 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9767" class="LineNr"> 9767 </span>    <span class="subxComment"># convert</span>
-<span id="L9768" class="LineNr"> 9768 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9769" class="LineNr"> 9769 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9770" class="LineNr"> 9770 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9771" class="Folded"> 9771 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9777" class="LineNr"> 9777 </span>    <span class="subxComment"># check output</span>
-<span id="L9778" class="LineNr"> 9778 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;03/add *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-add-mem-to-reg&quot;</span>)
-<span id="L9779" class="LineNr"> 9779 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9780" class="LineNr"> 9780 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9781" class="LineNr"> 9781 </span>    5d/pop-to-ebp
-<span id="L9782" class="LineNr"> 9782 </span>    c3/return
-<span id="L9783" class="LineNr"> 9783 </span>
-<span id="L9784" class="LineNr"> 9784 </span><span class="subxTest">test-add-literal-to-eax</span>:
-<span id="L9785" class="LineNr"> 9785 </span>    <span class="subxComment">#   var1/eax &lt;- add 0x34</span>
-<span id="L9786" class="LineNr"> 9786 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9787" class="LineNr"> 9787 </span>    <span class="subxComment">#   05/add-to-eax 0x34/imm32</span>
-<span id="L9788" class="LineNr"> 9788 </span>    <span class="subxComment">#</span>
-<span id="L9789" class="LineNr"> 9789 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9790" class="LineNr"> 9790 </span>    55/push-ebp
-<span id="L9791" class="LineNr"> 9791 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9792" class="LineNr"> 9792 </span>    <span class="subxComment"># setup</span>
-<span id="L9793" class="LineNr"> 9793 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9794" class="LineNr"> 9794 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9795" class="LineNr"> 9795 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9796" class="LineNr"> 9796 </span>    68/push 0/imm32/right/null
-<span id="L9797" class="LineNr"> 9797 </span>    68/push 1/imm32/left/int
-<span id="L9798" class="LineNr"> 9798 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9799" class="LineNr"> 9799 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
-<span id="L9800" class="LineNr"> 9800 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L9801" class="LineNr"> 9801 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9802" class="LineNr"> 9802 </span>    68/push 1/imm32/block-depth
-<span id="L9803" class="LineNr"> 9803 </span>    51/push-ecx
-<span id="L9804" class="LineNr"> 9804 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9805" class="LineNr"> 9805 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9806" class="LineNr"> 9806 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L9807" class="LineNr"> 9807 </span>    68/push 0/imm32/right/null
-<span id="L9808" class="LineNr"> 9808 </span>    68/push 0/imm32/left/literal
-<span id="L9809" class="LineNr"> 9809 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9810" class="LineNr"> 9810 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L9811" class="LineNr"> 9811 </span>    68/push 0/imm32/no-register
-<span id="L9812" class="LineNr"> 9812 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9813" class="LineNr"> 9813 </span>    68/push 1/imm32/block-depth
-<span id="L9814" class="LineNr"> 9814 </span>    52/push-edx
-<span id="L9815" class="LineNr"> 9815 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L9816" class="LineNr"> 9816 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9817" class="LineNr"> 9817 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9818" class="LineNr"> 9818 </span>    68/push 0/imm32/is-deref:false
-<span id="L9819" class="LineNr"> 9819 </span>    68/push 0/imm32/next
-<span id="L9820" class="LineNr"> 9820 </span>    52/push-edx/var-var2
+<span id="L9755" class="LineNr"> 9755 </span>    <span class="subxComment"># convert</span>
+<span id="L9756" class="LineNr"> 9756 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9757" class="LineNr"> 9757 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9758" class="LineNr"> 9758 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9759" class="Folded"> 9759 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9765" class="LineNr"> 9765 </span>    <span class="subxComment"># check output</span>
+<span id="L9766" class="LineNr"> 9766 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;03/add *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-add-mem-to-reg&quot;</span>)
+<span id="L9767" class="LineNr"> 9767 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9768" class="LineNr"> 9768 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9769" class="LineNr"> 9769 </span>    5d/pop-to-ebp
+<span id="L9770" class="LineNr"> 9770 </span>    c3/return
+<span id="L9771" class="LineNr"> 9771 </span>
+<span id="L9772" class="LineNr"> 9772 </span><span class="subxTest">test-add-literal-to-eax</span>:
+<span id="L9773" class="LineNr"> 9773 </span>    <span class="subxComment">#   var1/eax &lt;- add 0x34</span>
+<span id="L9774" class="LineNr"> 9774 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9775" class="LineNr"> 9775 </span>    <span class="subxComment">#   05/add-to-eax 0x34/imm32</span>
+<span id="L9776" class="LineNr"> 9776 </span>    <span class="subxComment">#</span>
+<span id="L9777" class="LineNr"> 9777 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9778" class="LineNr"> 9778 </span>    55/push-ebp
+<span id="L9779" class="LineNr"> 9779 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9780" class="LineNr"> 9780 </span>    <span class="subxComment"># setup</span>
+<span id="L9781" class="LineNr"> 9781 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9782" class="LineNr"> 9782 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9783" class="LineNr"> 9783 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9784" class="LineNr"> 9784 </span>    68/push 0/imm32/right/null
+<span id="L9785" class="LineNr"> 9785 </span>    68/push 1/imm32/left/int
+<span id="L9786" class="LineNr"> 9786 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9787" class="LineNr"> 9787 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
+<span id="L9788" class="LineNr"> 9788 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9789" class="LineNr"> 9789 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9790" class="LineNr"> 9790 </span>    68/push 1/imm32/block-depth
+<span id="L9791" class="LineNr"> 9791 </span>    51/push-ecx
+<span id="L9792" class="LineNr"> 9792 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9793" class="LineNr"> 9793 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9794" class="LineNr"> 9794 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L9795" class="LineNr"> 9795 </span>    68/push 0/imm32/right/null
+<span id="L9796" class="LineNr"> 9796 </span>    68/push 0/imm32/left/literal
+<span id="L9797" class="LineNr"> 9797 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9798" class="LineNr"> 9798 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L9799" class="LineNr"> 9799 </span>    68/push 0/imm32/no-register
+<span id="L9800" class="LineNr"> 9800 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9801" class="LineNr"> 9801 </span>    68/push 1/imm32/block-depth
+<span id="L9802" class="LineNr"> 9802 </span>    52/push-edx
+<span id="L9803" class="LineNr"> 9803 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L9804" class="LineNr"> 9804 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9805" class="LineNr"> 9805 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9806" class="LineNr"> 9806 </span>    68/push 0/imm32/is-deref:false
+<span id="L9807" class="LineNr"> 9807 </span>    68/push 0/imm32/next
+<span id="L9808" class="LineNr"> 9808 </span>    52/push-edx/var-var2
+<span id="L9809" class="LineNr"> 9809 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9810" class="LineNr"> 9810 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1]</span>
+<span id="L9811" class="LineNr"> 9811 </span>    68/push 0/imm32/is-deref:false
+<span id="L9812" class="LineNr"> 9812 </span>    68/push 0/imm32/next
+<span id="L9813" class="LineNr"> 9813 </span>    51/push-ecx/var-var1
+<span id="L9814" class="LineNr"> 9814 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9815" class="LineNr"> 9815 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9816" class="LineNr"> 9816 </span>    68/push 0/imm32/next
+<span id="L9817" class="LineNr"> 9817 </span>    57/push-edi/outputs
+<span id="L9818" class="LineNr"> 9818 </span>    56/push-esi/inouts
+<span id="L9819" class="LineNr"> 9819 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
+<span id="L9820" class="LineNr"> 9820 </span>    68/push 1/imm32
 <span id="L9821" class="LineNr"> 9821 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9822" class="LineNr"> 9822 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1]</span>
-<span id="L9823" class="LineNr"> 9823 </span>    68/push 0/imm32/is-deref:false
-<span id="L9824" class="LineNr"> 9824 </span>    68/push 0/imm32/next
-<span id="L9825" class="LineNr"> 9825 </span>    51/push-ecx/var-var1
-<span id="L9826" class="LineNr"> 9826 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9827" class="LineNr"> 9827 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9828" class="LineNr"> 9828 </span>    68/push 0/imm32/next
-<span id="L9829" class="LineNr"> 9829 </span>    57/push-edi/outputs
-<span id="L9830" class="LineNr"> 9830 </span>    56/push-esi/inouts
-<span id="L9831" class="LineNr"> 9831 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
-<span id="L9832" class="LineNr"> 9832 </span>    68/push 1/imm32
-<span id="L9833" class="LineNr"> 9833 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9834" class="LineNr"> 9834 </span>    <span class="subxComment"># convert</span>
-<span id="L9835" class="LineNr"> 9835 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9836" class="LineNr"> 9836 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9837" class="LineNr"> 9837 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9838" class="Folded"> 9838 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9844" class="LineNr"> 9844 </span>    <span class="subxComment"># check output</span>
-<span id="L9845" class="LineNr"> 9845 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;05/add-to-eax 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-eax&quot;</span>)
-<span id="L9846" class="LineNr"> 9846 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9847" class="LineNr"> 9847 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9848" class="LineNr"> 9848 </span>    5d/pop-to-ebp
-<span id="L9849" class="LineNr"> 9849 </span>    c3/return
-<span id="L9850" class="LineNr"> 9850 </span>
-<span id="L9851" class="LineNr"> 9851 </span><span class="subxTest">test-add-literal-to-reg</span>:
-<span id="L9852" class="LineNr"> 9852 </span>    <span class="subxComment">#   var1/ecx &lt;- add 0x34</span>
-<span id="L9853" class="LineNr"> 9853 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9854" class="LineNr"> 9854 </span>    <span class="subxComment">#   81 0/subop/add %ecx 0x34/imm32</span>
-<span id="L9855" class="LineNr"> 9855 </span>    <span class="subxComment">#</span>
-<span id="L9856" class="LineNr"> 9856 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9857" class="LineNr"> 9857 </span>    55/push-ebp
-<span id="L9858" class="LineNr"> 9858 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9859" class="LineNr"> 9859 </span>    <span class="subxComment"># setup</span>
-<span id="L9860" class="LineNr"> 9860 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9861" class="LineNr"> 9861 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9862" class="LineNr"> 9862 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9863" class="LineNr"> 9863 </span>    68/push 0/imm32/right/null
-<span id="L9864" class="LineNr"> 9864 </span>    68/push 1/imm32/left/int
-<span id="L9865" class="LineNr"> 9865 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9866" class="LineNr"> 9866 </span>    <span class="subxComment"># var var-var1/ecx: var in ecx</span>
-<span id="L9867" class="LineNr"> 9867 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
-<span id="L9868" class="LineNr"> 9868 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9869" class="LineNr"> 9869 </span>    68/push 1/imm32/block-depth
-<span id="L9870" class="LineNr"> 9870 </span>    51/push-ecx
-<span id="L9871" class="LineNr"> 9871 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9872" class="LineNr"> 9872 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9873" class="LineNr"> 9873 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L9874" class="LineNr"> 9874 </span>    68/push 0/imm32/right/null
-<span id="L9875" class="LineNr"> 9875 </span>    68/push 0/imm32/left/literal
-<span id="L9876" class="LineNr"> 9876 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9877" class="LineNr"> 9877 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L9878" class="LineNr"> 9878 </span>    68/push 0/imm32/no-register
-<span id="L9879" class="LineNr"> 9879 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9880" class="LineNr"> 9880 </span>    68/push 1/imm32/block-depth
-<span id="L9881" class="LineNr"> 9881 </span>    52/push-edx
-<span id="L9882" class="LineNr"> 9882 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L9883" class="LineNr"> 9883 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9884" class="LineNr"> 9884 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9885" class="LineNr"> 9885 </span>    68/push 0/imm32/is-deref:false
-<span id="L9886" class="LineNr"> 9886 </span>    68/push 0/imm32/next
-<span id="L9887" class="LineNr"> 9887 </span>    52/push-edx/var-var2
+<span id="L9822" class="LineNr"> 9822 </span>    <span class="subxComment"># convert</span>
+<span id="L9823" class="LineNr"> 9823 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9824" class="LineNr"> 9824 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9825" class="LineNr"> 9825 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9826" class="Folded"> 9826 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9832" class="LineNr"> 9832 </span>    <span class="subxComment"># check output</span>
+<span id="L9833" class="LineNr"> 9833 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;05/add-to-eax 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-eax&quot;</span>)
+<span id="L9834" class="LineNr"> 9834 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9835" class="LineNr"> 9835 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9836" class="LineNr"> 9836 </span>    5d/pop-to-ebp
+<span id="L9837" class="LineNr"> 9837 </span>    c3/return
+<span id="L9838" class="LineNr"> 9838 </span>
+<span id="L9839" class="LineNr"> 9839 </span><span class="subxTest">test-add-literal-to-reg</span>:
+<span id="L9840" class="LineNr"> 9840 </span>    <span class="subxComment">#   var1/ecx &lt;- add 0x34</span>
+<span id="L9841" class="LineNr"> 9841 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9842" class="LineNr"> 9842 </span>    <span class="subxComment">#   81 0/subop/add %ecx 0x34/imm32</span>
+<span id="L9843" class="LineNr"> 9843 </span>    <span class="subxComment">#</span>
+<span id="L9844" class="LineNr"> 9844 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9845" class="LineNr"> 9845 </span>    55/push-ebp
+<span id="L9846" class="LineNr"> 9846 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9847" class="LineNr"> 9847 </span>    <span class="subxComment"># setup</span>
+<span id="L9848" class="LineNr"> 9848 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9849" class="LineNr"> 9849 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9850" class="LineNr"> 9850 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9851" class="LineNr"> 9851 </span>    68/push 0/imm32/right/null
+<span id="L9852" class="LineNr"> 9852 </span>    68/push 1/imm32/left/int
+<span id="L9853" class="LineNr"> 9853 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9854" class="LineNr"> 9854 </span>    <span class="subxComment"># var var-var1/ecx: var in ecx</span>
+<span id="L9855" class="LineNr"> 9855 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L9856" class="LineNr"> 9856 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9857" class="LineNr"> 9857 </span>    68/push 1/imm32/block-depth
+<span id="L9858" class="LineNr"> 9858 </span>    51/push-ecx
+<span id="L9859" class="LineNr"> 9859 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9860" class="LineNr"> 9860 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9861" class="LineNr"> 9861 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L9862" class="LineNr"> 9862 </span>    68/push 0/imm32/right/null
+<span id="L9863" class="LineNr"> 9863 </span>    68/push 0/imm32/left/literal
+<span id="L9864" class="LineNr"> 9864 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9865" class="LineNr"> 9865 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L9866" class="LineNr"> 9866 </span>    68/push 0/imm32/no-register
+<span id="L9867" class="LineNr"> 9867 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9868" class="LineNr"> 9868 </span>    68/push 1/imm32/block-depth
+<span id="L9869" class="LineNr"> 9869 </span>    52/push-edx
+<span id="L9870" class="LineNr"> 9870 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L9871" class="LineNr"> 9871 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9872" class="LineNr"> 9872 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9873" class="LineNr"> 9873 </span>    68/push 0/imm32/is-deref:false
+<span id="L9874" class="LineNr"> 9874 </span>    68/push 0/imm32/next
+<span id="L9875" class="LineNr"> 9875 </span>    52/push-edx/var-var2
+<span id="L9876" class="LineNr"> 9876 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9877" class="LineNr"> 9877 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1]</span>
+<span id="L9878" class="LineNr"> 9878 </span>    68/push 0/imm32/is-deref:false
+<span id="L9879" class="LineNr"> 9879 </span>    68/push 0/imm32/next
+<span id="L9880" class="LineNr"> 9880 </span>    51/push-ecx/var-var1
+<span id="L9881" class="LineNr"> 9881 </span>    89/&lt;- %edi 4/r32/esp
+<span id="L9882" class="LineNr"> 9882 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9883" class="LineNr"> 9883 </span>    68/push 0/imm32/next
+<span id="L9884" class="LineNr"> 9884 </span>    57/push-edi/outputs
+<span id="L9885" class="LineNr"> 9885 </span>    56/push-esi/inouts
+<span id="L9886" class="LineNr"> 9886 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
+<span id="L9887" class="LineNr"> 9887 </span>    68/push 1/imm32
 <span id="L9888" class="LineNr"> 9888 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9889" class="LineNr"> 9889 </span>    <span class="subxComment"># var outputs/edi: (handle stmt-var) = [var1]</span>
-<span id="L9890" class="LineNr"> 9890 </span>    68/push 0/imm32/is-deref:false
-<span id="L9891" class="LineNr"> 9891 </span>    68/push 0/imm32/next
-<span id="L9892" class="LineNr"> 9892 </span>    51/push-ecx/var-var1
-<span id="L9893" class="LineNr"> 9893 </span>    89/&lt;- %edi 4/r32/esp
-<span id="L9894" class="LineNr"> 9894 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9895" class="LineNr"> 9895 </span>    68/push 0/imm32/next
-<span id="L9896" class="LineNr"> 9896 </span>    57/push-edi/outputs
-<span id="L9897" class="LineNr"> 9897 </span>    56/push-esi/inouts
-<span id="L9898" class="LineNr"> 9898 </span>    68/push <span class="Constant">&quot;add&quot;</span>/imm32/operation
-<span id="L9899" class="LineNr"> 9899 </span>    68/push 1/imm32
-<span id="L9900" class="LineNr"> 9900 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9901" class="LineNr"> 9901 </span>    <span class="subxComment"># convert</span>
-<span id="L9902" class="LineNr"> 9902 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9903" class="LineNr"> 9903 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9904" class="LineNr"> 9904 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9905" class="Folded"> 9905 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9911" class="LineNr"> 9911 </span>    <span class="subxComment"># check output</span>
-<span id="L9912" class="LineNr"> 9912 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 0/subop/add %ecx 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-reg&quot;</span>)
-<span id="L9913" class="LineNr"> 9913 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9914" class="LineNr"> 9914 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9915" class="LineNr"> 9915 </span>    5d/pop-to-ebp
-<span id="L9916" class="LineNr"> 9916 </span>    c3/return
-<span id="L9917" class="LineNr"> 9917 </span>
-<span id="L9918" class="LineNr"> 9918 </span><span class="subxTest">test-add-literal-to-mem</span>:
-<span id="L9919" class="LineNr"> 9919 </span>    <span class="subxComment">#   add-to var1, 0x34</span>
-<span id="L9920" class="LineNr"> 9920 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9921" class="LineNr"> 9921 </span>    <span class="subxComment">#   81 0/subop/add %eax 0x34/imm32</span>
-<span id="L9922" class="LineNr"> 9922 </span>    <span class="subxComment">#</span>
-<span id="L9923" class="LineNr"> 9923 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9924" class="LineNr"> 9924 </span>    55/push-ebp
-<span id="L9925" class="LineNr"> 9925 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9926" class="LineNr"> 9926 </span>    <span class="subxComment"># setup</span>
-<span id="L9927" class="LineNr"> 9927 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9928" class="LineNr"> 9928 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9929" class="LineNr"> 9929 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9930" class="LineNr"> 9930 </span>    68/push 0/imm32/right/null
-<span id="L9931" class="LineNr"> 9931 </span>    68/push 1/imm32/left/int
-<span id="L9932" class="LineNr"> 9932 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9933" class="LineNr"> 9933 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
-<span id="L9934" class="LineNr"> 9934 </span>    68/push 0/imm32/no-register
-<span id="L9935" class="LineNr"> 9935 </span>    68/push 8/imm32/stack-offset
-<span id="L9936" class="LineNr"> 9936 </span>    68/push 1/imm32/block-depth
-<span id="L9937" class="LineNr"> 9937 </span>    51/push-ecx
-<span id="L9938" class="LineNr"> 9938 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L9939" class="LineNr"> 9939 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L9940" class="LineNr"> 9940 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L9941" class="LineNr"> 9941 </span>    68/push 0/imm32/right/null
-<span id="L9942" class="LineNr"> 9942 </span>    68/push 0/imm32/left/literal
-<span id="L9943" class="LineNr"> 9943 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9944" class="LineNr"> 9944 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L9945" class="LineNr"> 9945 </span>    68/push 0/imm32/no-register
-<span id="L9946" class="LineNr"> 9946 </span>    68/push 0/imm32/no-stack-offset
-<span id="L9947" class="LineNr"> 9947 </span>    68/push 1/imm32/block-depth
-<span id="L9948" class="LineNr"> 9948 </span>    52/push-edx
-<span id="L9949" class="LineNr"> 9949 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L9950" class="LineNr"> 9950 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L9951" class="LineNr"> 9951 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L9952" class="LineNr"> 9952 </span>    68/push 0/imm32/is-deref:false
-<span id="L9953" class="LineNr"> 9953 </span>    68/push 0/imm32/next
-<span id="L9954" class="LineNr"> 9954 </span>    52/push-edx/var-var2
+<span id="L9889" class="LineNr"> 9889 </span>    <span class="subxComment"># convert</span>
+<span id="L9890" class="LineNr"> 9890 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9891" class="LineNr"> 9891 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9892" class="LineNr"> 9892 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9893" class="Folded"> 9893 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9899" class="LineNr"> 9899 </span>    <span class="subxComment"># check output</span>
+<span id="L9900" class="LineNr"> 9900 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 0/subop/add %ecx 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-reg&quot;</span>)
+<span id="L9901" class="LineNr"> 9901 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9902" class="LineNr"> 9902 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9903" class="LineNr"> 9903 </span>    5d/pop-to-ebp
+<span id="L9904" class="LineNr"> 9904 </span>    c3/return
+<span id="L9905" class="LineNr"> 9905 </span>
+<span id="L9906" class="LineNr"> 9906 </span><span class="subxTest">test-add-literal-to-mem</span>:
+<span id="L9907" class="LineNr"> 9907 </span>    <span class="subxComment">#   add-to var1, 0x34</span>
+<span id="L9908" class="LineNr"> 9908 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9909" class="LineNr"> 9909 </span>    <span class="subxComment">#   81 0/subop/add %eax 0x34/imm32</span>
+<span id="L9910" class="LineNr"> 9910 </span>    <span class="subxComment">#</span>
+<span id="L9911" class="LineNr"> 9911 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9912" class="LineNr"> 9912 </span>    55/push-ebp
+<span id="L9913" class="LineNr"> 9913 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9914" class="LineNr"> 9914 </span>    <span class="subxComment"># setup</span>
+<span id="L9915" class="LineNr"> 9915 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9916" class="LineNr"> 9916 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9917" class="LineNr"> 9917 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9918" class="LineNr"> 9918 </span>    68/push 0/imm32/right/null
+<span id="L9919" class="LineNr"> 9919 </span>    68/push 1/imm32/left/int
+<span id="L9920" class="LineNr"> 9920 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9921" class="LineNr"> 9921 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
+<span id="L9922" class="LineNr"> 9922 </span>    68/push 0/imm32/no-register
+<span id="L9923" class="LineNr"> 9923 </span>    68/push 8/imm32/stack-offset
+<span id="L9924" class="LineNr"> 9924 </span>    68/push 1/imm32/block-depth
+<span id="L9925" class="LineNr"> 9925 </span>    51/push-ecx
+<span id="L9926" class="LineNr"> 9926 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L9927" class="LineNr"> 9927 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9928" class="LineNr"> 9928 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L9929" class="LineNr"> 9929 </span>    68/push 0/imm32/right/null
+<span id="L9930" class="LineNr"> 9930 </span>    68/push 0/imm32/left/literal
+<span id="L9931" class="LineNr"> 9931 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9932" class="LineNr"> 9932 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L9933" class="LineNr"> 9933 </span>    68/push 0/imm32/no-register
+<span id="L9934" class="LineNr"> 9934 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9935" class="LineNr"> 9935 </span>    68/push 1/imm32/block-depth
+<span id="L9936" class="LineNr"> 9936 </span>    52/push-edx
+<span id="L9937" class="LineNr"> 9937 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L9938" class="LineNr"> 9938 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L9939" class="LineNr"> 9939 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L9940" class="LineNr"> 9940 </span>    68/push 0/imm32/is-deref:false
+<span id="L9941" class="LineNr"> 9941 </span>    68/push 0/imm32/next
+<span id="L9942" class="LineNr"> 9942 </span>    52/push-edx/var-var2
+<span id="L9943" class="LineNr"> 9943 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9944" class="LineNr"> 9944 </span>    <span class="subxComment"># var inouts = (handle stmt-var) = [var1, var2]</span>
+<span id="L9945" class="LineNr"> 9945 </span>    68/push 0/imm32/is-deref:false
+<span id="L9946" class="LineNr"> 9946 </span>    56/push-esi/next
+<span id="L9947" class="LineNr"> 9947 </span>    51/push-ecx/var-var1
+<span id="L9948" class="LineNr"> 9948 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L9949" class="LineNr"> 9949 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L9950" class="LineNr"> 9950 </span>    68/push 0/imm32/next
+<span id="L9951" class="LineNr"> 9951 </span>    68/push 0/imm32/outputs
+<span id="L9952" class="LineNr"> 9952 </span>    56/push-esi/inouts
+<span id="L9953" class="LineNr"> 9953 </span>    68/push <span class="Constant">&quot;add-to&quot;</span>/imm32/operation
+<span id="L9954" class="LineNr"> 9954 </span>    68/push 1/imm32
 <span id="L9955" class="LineNr"> 9955 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9956" class="LineNr"> 9956 </span>    <span class="subxComment"># var inouts = (handle stmt-var) = [var1, var2]</span>
-<span id="L9957" class="LineNr"> 9957 </span>    68/push 0/imm32/is-deref:false
-<span id="L9958" class="LineNr"> 9958 </span>    56/push-esi/next
-<span id="L9959" class="LineNr"> 9959 </span>    51/push-ecx/var-var1
-<span id="L9960" class="LineNr"> 9960 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9961" class="LineNr"> 9961 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L9962" class="LineNr"> 9962 </span>    68/push 0/imm32/next
-<span id="L9963" class="LineNr"> 9963 </span>    68/push 0/imm32/outputs
-<span id="L9964" class="LineNr"> 9964 </span>    56/push-esi/inouts
-<span id="L9965" class="LineNr"> 9965 </span>    68/push <span class="Constant">&quot;add-to&quot;</span>/imm32/operation
-<span id="L9966" class="LineNr"> 9966 </span>    68/push 1/imm32
-<span id="L9967" class="LineNr"> 9967 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L9968" class="LineNr"> 9968 </span>    <span class="subxComment"># convert</span>
-<span id="L9969" class="LineNr"> 9969 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L9970" class="LineNr"> 9970 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L9971" class="LineNr"> 9971 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L9972" class="Folded"> 9972 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L9978" class="LineNr"> 9978 </span>    <span class="subxComment"># check output</span>
-<span id="L9979" class="LineNr"> 9979 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 0/subop/add *(ebp+0x00000008) 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-mem&quot;</span>)
-<span id="L9980" class="LineNr"> 9980 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L9981" class="LineNr"> 9981 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L9982" class="LineNr"> 9982 </span>    5d/pop-to-ebp
-<span id="L9983" class="LineNr"> 9983 </span>    c3/return
-<span id="L9984" class="LineNr"> 9984 </span>
-<span id="L9985" class="LineNr"> 9985 </span><span class="subxTest">test-compare-mem-with-reg</span>:
-<span id="L9986" class="LineNr"> 9986 </span>    <span class="subxComment">#   compare var1, var2/eax</span>
-<span id="L9987" class="LineNr"> 9987 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L9988" class="LineNr"> 9988 </span>    <span class="subxComment">#   39/compare *(ebp+___) 0/r32/eax</span>
-<span id="L9989" class="LineNr"> 9989 </span>    <span class="subxComment">#</span>
-<span id="L9990" class="LineNr"> 9990 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L9991" class="LineNr"> 9991 </span>    55/push-ebp
-<span id="L9992" class="LineNr"> 9992 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L9993" class="LineNr"> 9993 </span>    <span class="subxComment"># setup</span>
-<span id="L9994" class="LineNr"> 9994 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L9995" class="LineNr"> 9995 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L9996" class="LineNr"> 9996 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L9997" class="LineNr"> 9997 </span>    68/push 0/imm32/right/null
-<span id="L9998" class="LineNr"> 9998 </span>    68/push 1/imm32/left/int
-<span id="L9999" class="LineNr"> 9999 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10000" class="LineNr">10000 </span>    <span class="subxComment"># var var-var2/ecx: var in eax</span>
-<span id="L10001" class="LineNr">10001 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L10002" class="LineNr">10002 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10003" class="LineNr">10003 </span>    68/push 1/imm32/block-depth
-<span id="L10004" class="LineNr">10004 </span>    51/push-ecx
-<span id="L10005" class="LineNr">10005 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
-<span id="L10006" class="LineNr">10006 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10007" class="LineNr">10007 </span>    <span class="subxComment"># var var-var1/edx: var</span>
-<span id="L10008" class="LineNr">10008 </span>    68/push 0/imm32/no-register
-<span id="L10009" class="LineNr">10009 </span>    68/push 8/imm32/stack-offset
-<span id="L10010" class="LineNr">10010 </span>    68/push 1/imm32/block-depth
-<span id="L10011" class="LineNr">10011 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L10012" class="LineNr">10012 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L10013" class="LineNr">10013 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10014" class="LineNr">10014 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L10015" class="LineNr">10015 </span>    68/push 0/imm32/is-deref:false
-<span id="L10016" class="LineNr">10016 </span>    68/push 0/imm32/next
-<span id="L10017" class="LineNr">10017 </span>    51/push-ecx/var-var2
+<span id="L9956" class="LineNr"> 9956 </span>    <span class="subxComment"># convert</span>
+<span id="L9957" class="LineNr"> 9957 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L9958" class="LineNr"> 9958 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L9959" class="LineNr"> 9959 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L9960" class="Folded"> 9960 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L9966" class="LineNr"> 9966 </span>    <span class="subxComment"># check output</span>
+<span id="L9967" class="LineNr"> 9967 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 0/subop/add *(ebp+0x00000008) 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-add-literal-to-mem&quot;</span>)
+<span id="L9968" class="LineNr"> 9968 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L9969" class="LineNr"> 9969 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L9970" class="LineNr"> 9970 </span>    5d/pop-to-ebp
+<span id="L9971" class="LineNr"> 9971 </span>    c3/return
+<span id="L9972" class="LineNr"> 9972 </span>
+<span id="L9973" class="LineNr"> 9973 </span><span class="subxTest">test-compare-mem-with-reg</span>:
+<span id="L9974" class="LineNr"> 9974 </span>    <span class="subxComment">#   compare var1, var2/eax</span>
+<span id="L9975" class="LineNr"> 9975 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L9976" class="LineNr"> 9976 </span>    <span class="subxComment">#   39/compare *(ebp+___) 0/r32/eax</span>
+<span id="L9977" class="LineNr"> 9977 </span>    <span class="subxComment">#</span>
+<span id="L9978" class="LineNr"> 9978 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L9979" class="LineNr"> 9979 </span>    55/push-ebp
+<span id="L9980" class="LineNr"> 9980 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L9981" class="LineNr"> 9981 </span>    <span class="subxComment"># setup</span>
+<span id="L9982" class="LineNr"> 9982 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L9983" class="LineNr"> 9983 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L9984" class="LineNr"> 9984 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L9985" class="LineNr"> 9985 </span>    68/push 0/imm32/right/null
+<span id="L9986" class="LineNr"> 9986 </span>    68/push 1/imm32/left/int
+<span id="L9987" class="LineNr"> 9987 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9988" class="LineNr"> 9988 </span>    <span class="subxComment"># var var-var2/ecx: var in eax</span>
+<span id="L9989" class="LineNr"> 9989 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L9990" class="LineNr"> 9990 </span>    68/push 0/imm32/no-stack-offset
+<span id="L9991" class="LineNr"> 9991 </span>    68/push 1/imm32/block-depth
+<span id="L9992" class="LineNr"> 9992 </span>    51/push-ecx
+<span id="L9993" class="LineNr"> 9993 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
+<span id="L9994" class="LineNr"> 9994 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L9995" class="LineNr"> 9995 </span>    <span class="subxComment"># var var-var1/edx: var</span>
+<span id="L9996" class="LineNr"> 9996 </span>    68/push 0/imm32/no-register
+<span id="L9997" class="LineNr"> 9997 </span>    68/push 8/imm32/stack-offset
+<span id="L9998" class="LineNr"> 9998 </span>    68/push 1/imm32/block-depth
+<span id="L9999" class="LineNr"> 9999 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L10000" class="LineNr">10000 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L10001" class="LineNr">10001 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10002" class="LineNr">10002 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L10003" class="LineNr">10003 </span>    68/push 0/imm32/is-deref:false
+<span id="L10004" class="LineNr">10004 </span>    68/push 0/imm32/next
+<span id="L10005" class="LineNr">10005 </span>    51/push-ecx/var-var2
+<span id="L10006" class="LineNr">10006 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10007" class="LineNr">10007 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
+<span id="L10008" class="LineNr">10008 </span>    68/push 0/imm32/is-deref:false
+<span id="L10009" class="LineNr">10009 </span>    56/push-esi
+<span id="L10010" class="LineNr">10010 </span>    52/push-edx/var-var1
+<span id="L10011" class="LineNr">10011 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10012" class="LineNr">10012 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10013" class="LineNr">10013 </span>    68/push 0/imm32/next
+<span id="L10014" class="LineNr">10014 </span>    68/push 0/imm32/outputs
+<span id="L10015" class="LineNr">10015 </span>    56/push-esi/inouts
+<span id="L10016" class="LineNr">10016 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
+<span id="L10017" class="LineNr">10017 </span>    68/push 1/imm32
 <span id="L10018" class="LineNr">10018 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10019" class="LineNr">10019 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
-<span id="L10020" class="LineNr">10020 </span>    68/push 0/imm32/is-deref:false
-<span id="L10021" class="LineNr">10021 </span>    56/push-esi
-<span id="L10022" class="LineNr">10022 </span>    52/push-edx/var-var1
-<span id="L10023" class="LineNr">10023 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10024" class="LineNr">10024 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10025" class="LineNr">10025 </span>    68/push 0/imm32/next
-<span id="L10026" class="LineNr">10026 </span>    68/push 0/imm32/outputs
-<span id="L10027" class="LineNr">10027 </span>    56/push-esi/inouts
-<span id="L10028" class="LineNr">10028 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
-<span id="L10029" class="LineNr">10029 </span>    68/push 1/imm32
-<span id="L10030" class="LineNr">10030 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10031" class="LineNr">10031 </span>    <span class="subxComment"># convert</span>
-<span id="L10032" class="LineNr">10032 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10033" class="LineNr">10033 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L10034" class="LineNr">10034 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10035" class="Folded">10035 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10041" class="LineNr">10041 </span>    <span class="subxComment"># check output</span>
-<span id="L10042" class="LineNr">10042 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;39/compare-&gt; *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-compare-mem-with-reg&quot;</span>)
-<span id="L10043" class="LineNr">10043 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10044" class="LineNr">10044 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10045" class="LineNr">10045 </span>    5d/pop-to-ebp
-<span id="L10046" class="LineNr">10046 </span>    c3/return
-<span id="L10047" class="LineNr">10047 </span>
-<span id="L10048" class="LineNr">10048 </span><span class="subxTest">test-compare-reg-with-mem</span>:
-<span id="L10049" class="LineNr">10049 </span>    <span class="subxComment">#   compare var1/eax, var2</span>
-<span id="L10050" class="LineNr">10050 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10051" class="LineNr">10051 </span>    <span class="subxComment">#   3b/compare *(ebp+___) 0/r32/eax</span>
-<span id="L10052" class="LineNr">10052 </span>    <span class="subxComment">#</span>
-<span id="L10053" class="LineNr">10053 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10054" class="LineNr">10054 </span>    55/push-ebp
-<span id="L10055" class="LineNr">10055 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10056" class="LineNr">10056 </span>    <span class="subxComment"># setup</span>
-<span id="L10057" class="LineNr">10057 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10058" class="LineNr">10058 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10059" class="LineNr">10059 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L10060" class="LineNr">10060 </span>    68/push 0/imm32/right/null
-<span id="L10061" class="LineNr">10061 </span>    68/push 1/imm32/left/int
-<span id="L10062" class="LineNr">10062 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10063" class="LineNr">10063 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
-<span id="L10064" class="LineNr">10064 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L10065" class="LineNr">10065 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10066" class="LineNr">10066 </span>    68/push 1/imm32/block-depth
-<span id="L10067" class="LineNr">10067 </span>    51/push-ecx
-<span id="L10068" class="LineNr">10068 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L10069" class="LineNr">10069 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10070" class="LineNr">10070 </span>    <span class="subxComment"># var var-var2/edx: var</span>
-<span id="L10071" class="LineNr">10071 </span>    68/push 0/imm32/no-register
-<span id="L10072" class="LineNr">10072 </span>    68/push 8/imm32/stack-offset
-<span id="L10073" class="LineNr">10073 </span>    68/push 1/imm32/block-depth
-<span id="L10074" class="LineNr">10074 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
-<span id="L10075" class="LineNr">10075 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
-<span id="L10076" class="LineNr">10076 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10077" class="LineNr">10077 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L10078" class="LineNr">10078 </span>    68/push 0/imm32/is-deref:false
-<span id="L10079" class="LineNr">10079 </span>    68/push 0/imm32/next
-<span id="L10080" class="LineNr">10080 </span>    52/push-edx/var-var2
+<span id="L10019" class="LineNr">10019 </span>    <span class="subxComment"># convert</span>
+<span id="L10020" class="LineNr">10020 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10021" class="LineNr">10021 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L10022" class="LineNr">10022 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10023" class="Folded">10023 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10029" class="LineNr">10029 </span>    <span class="subxComment"># check output</span>
+<span id="L10030" class="LineNr">10030 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;39/compare-&gt; *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-compare-mem-with-reg&quot;</span>)
+<span id="L10031" class="LineNr">10031 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10032" class="LineNr">10032 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10033" class="LineNr">10033 </span>    5d/pop-to-ebp
+<span id="L10034" class="LineNr">10034 </span>    c3/return
+<span id="L10035" class="LineNr">10035 </span>
+<span id="L10036" class="LineNr">10036 </span><span class="subxTest">test-compare-reg-with-mem</span>:
+<span id="L10037" class="LineNr">10037 </span>    <span class="subxComment">#   compare var1/eax, var2</span>
+<span id="L10038" class="LineNr">10038 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10039" class="LineNr">10039 </span>    <span class="subxComment">#   3b/compare *(ebp+___) 0/r32/eax</span>
+<span id="L10040" class="LineNr">10040 </span>    <span class="subxComment">#</span>
+<span id="L10041" class="LineNr">10041 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10042" class="LineNr">10042 </span>    55/push-ebp
+<span id="L10043" class="LineNr">10043 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10044" class="LineNr">10044 </span>    <span class="subxComment"># setup</span>
+<span id="L10045" class="LineNr">10045 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10046" class="LineNr">10046 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10047" class="LineNr">10047 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L10048" class="LineNr">10048 </span>    68/push 0/imm32/right/null
+<span id="L10049" class="LineNr">10049 </span>    68/push 1/imm32/left/int
+<span id="L10050" class="LineNr">10050 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10051" class="LineNr">10051 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
+<span id="L10052" class="LineNr">10052 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L10053" class="LineNr">10053 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10054" class="LineNr">10054 </span>    68/push 1/imm32/block-depth
+<span id="L10055" class="LineNr">10055 </span>    51/push-ecx
+<span id="L10056" class="LineNr">10056 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L10057" class="LineNr">10057 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10058" class="LineNr">10058 </span>    <span class="subxComment"># var var-var2/edx: var</span>
+<span id="L10059" class="LineNr">10059 </span>    68/push 0/imm32/no-register
+<span id="L10060" class="LineNr">10060 </span>    68/push 8/imm32/stack-offset
+<span id="L10061" class="LineNr">10061 </span>    68/push 1/imm32/block-depth
+<span id="L10062" class="LineNr">10062 </span>    ff 6/subop/push *(ecx+4)  <span class="subxComment"># Var-type</span>
+<span id="L10063" class="LineNr">10063 </span>    68/push <span class="Constant">&quot;var2&quot;</span>/imm32
+<span id="L10064" class="LineNr">10064 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10065" class="LineNr">10065 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L10066" class="LineNr">10066 </span>    68/push 0/imm32/is-deref:false
+<span id="L10067" class="LineNr">10067 </span>    68/push 0/imm32/next
+<span id="L10068" class="LineNr">10068 </span>    52/push-edx/var-var2
+<span id="L10069" class="LineNr">10069 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10070" class="LineNr">10070 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
+<span id="L10071" class="LineNr">10071 </span>    68/push 0/imm32/is-deref:false
+<span id="L10072" class="LineNr">10072 </span>    56/push-esi
+<span id="L10073" class="LineNr">10073 </span>    51/push-ecx/var-var1
+<span id="L10074" class="LineNr">10074 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10075" class="LineNr">10075 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10076" class="LineNr">10076 </span>    68/push 0/imm32/next
+<span id="L10077" class="LineNr">10077 </span>    68/push 0/imm32/outputs
+<span id="L10078" class="LineNr">10078 </span>    56/push-esi/inouts
+<span id="L10079" class="LineNr">10079 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
+<span id="L10080" class="LineNr">10080 </span>    68/push 1/imm32
 <span id="L10081" class="LineNr">10081 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10082" class="LineNr">10082 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
-<span id="L10083" class="LineNr">10083 </span>    68/push 0/imm32/is-deref:false
-<span id="L10084" class="LineNr">10084 </span>    56/push-esi
-<span id="L10085" class="LineNr">10085 </span>    51/push-ecx/var-var1
-<span id="L10086" class="LineNr">10086 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10087" class="LineNr">10087 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10088" class="LineNr">10088 </span>    68/push 0/imm32/next
-<span id="L10089" class="LineNr">10089 </span>    68/push 0/imm32/outputs
-<span id="L10090" class="LineNr">10090 </span>    56/push-esi/inouts
-<span id="L10091" class="LineNr">10091 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
-<span id="L10092" class="LineNr">10092 </span>    68/push 1/imm32
-<span id="L10093" class="LineNr">10093 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10094" class="LineNr">10094 </span>    <span class="subxComment"># convert</span>
-<span id="L10095" class="LineNr">10095 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10096" class="LineNr">10096 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L10097" class="LineNr">10097 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10098" class="Folded">10098 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10104" class="LineNr">10104 </span>    <span class="subxComment"># check output</span>
-<span id="L10105" class="LineNr">10105 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;3b/compare&lt;- *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-compare-reg-with-mem&quot;</span>)
-<span id="L10106" class="LineNr">10106 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10107" class="LineNr">10107 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10108" class="LineNr">10108 </span>    5d/pop-to-ebp
-<span id="L10109" class="LineNr">10109 </span>    c3/return
-<span id="L10110" class="LineNr">10110 </span>
-<span id="L10111" class="LineNr">10111 </span><span class="subxTest">test-compare-mem-with-literal</span>:
-<span id="L10112" class="LineNr">10112 </span>    <span class="subxComment">#   compare var1, 0x34</span>
-<span id="L10113" class="LineNr">10113 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10114" class="LineNr">10114 </span>    <span class="subxComment">#   81 7/subop/compare *(ebp+___) 0x34/imm32</span>
-<span id="L10115" class="LineNr">10115 </span>    <span class="subxComment">#</span>
-<span id="L10116" class="LineNr">10116 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10117" class="LineNr">10117 </span>    55/push-ebp
-<span id="L10118" class="LineNr">10118 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10119" class="LineNr">10119 </span>    <span class="subxComment"># setup</span>
-<span id="L10120" class="LineNr">10120 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10121" class="LineNr">10121 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10122" class="LineNr">10122 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L10123" class="LineNr">10123 </span>    68/push 0/imm32/right/null
-<span id="L10124" class="LineNr">10124 </span>    68/push 1/imm32/left/int
-<span id="L10125" class="LineNr">10125 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10126" class="LineNr">10126 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
-<span id="L10127" class="LineNr">10127 </span>    68/push 0/imm32/no-register
-<span id="L10128" class="LineNr">10128 </span>    68/push 8/imm32/stack-offset
-<span id="L10129" class="LineNr">10129 </span>    68/push 1/imm32/block-depth
-<span id="L10130" class="LineNr">10130 </span>    51/push-ecx
-<span id="L10131" class="LineNr">10131 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L10132" class="LineNr">10132 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10133" class="LineNr">10133 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L10134" class="LineNr">10134 </span>    68/push 0/imm32/right/null
-<span id="L10135" class="LineNr">10135 </span>    68/push 0/imm32/left/literal
-<span id="L10136" class="LineNr">10136 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10137" class="LineNr">10137 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L10138" class="LineNr">10138 </span>    68/push 0/imm32/no-register
-<span id="L10139" class="LineNr">10139 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10140" class="LineNr">10140 </span>    68/push 1/imm32/block-depth
-<span id="L10141" class="LineNr">10141 </span>    52/push-edx
-<span id="L10142" class="LineNr">10142 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L10143" class="LineNr">10143 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10144" class="LineNr">10144 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L10145" class="LineNr">10145 </span>    68/push 0/imm32/is-deref:false
-<span id="L10146" class="LineNr">10146 </span>    68/push 0/imm32/next
-<span id="L10147" class="LineNr">10147 </span>    52/push-edx/var-var2
+<span id="L10082" class="LineNr">10082 </span>    <span class="subxComment"># convert</span>
+<span id="L10083" class="LineNr">10083 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10084" class="LineNr">10084 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L10085" class="LineNr">10085 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10086" class="Folded">10086 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10092" class="LineNr">10092 </span>    <span class="subxComment"># check output</span>
+<span id="L10093" class="LineNr">10093 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;3b/compare&lt;- *(ebp+0x00000008) 0x00000000/r32&quot;</span> <span class="Constant">&quot;F - test-compare-reg-with-mem&quot;</span>)
+<span id="L10094" class="LineNr">10094 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10095" class="LineNr">10095 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10096" class="LineNr">10096 </span>    5d/pop-to-ebp
+<span id="L10097" class="LineNr">10097 </span>    c3/return
+<span id="L10098" class="LineNr">10098 </span>
+<span id="L10099" class="LineNr">10099 </span><span class="subxTest">test-compare-mem-with-literal</span>:
+<span id="L10100" class="LineNr">10100 </span>    <span class="subxComment">#   compare var1, 0x34</span>
+<span id="L10101" class="LineNr">10101 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10102" class="LineNr">10102 </span>    <span class="subxComment">#   81 7/subop/compare *(ebp+___) 0x34/imm32</span>
+<span id="L10103" class="LineNr">10103 </span>    <span class="subxComment">#</span>
+<span id="L10104" class="LineNr">10104 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10105" class="LineNr">10105 </span>    55/push-ebp
+<span id="L10106" class="LineNr">10106 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10107" class="LineNr">10107 </span>    <span class="subxComment"># setup</span>
+<span id="L10108" class="LineNr">10108 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10109" class="LineNr">10109 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10110" class="LineNr">10110 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L10111" class="LineNr">10111 </span>    68/push 0/imm32/right/null
+<span id="L10112" class="LineNr">10112 </span>    68/push 1/imm32/left/int
+<span id="L10113" class="LineNr">10113 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10114" class="LineNr">10114 </span>    <span class="subxComment"># var var-var1/ecx: var</span>
+<span id="L10115" class="LineNr">10115 </span>    68/push 0/imm32/no-register
+<span id="L10116" class="LineNr">10116 </span>    68/push 8/imm32/stack-offset
+<span id="L10117" class="LineNr">10117 </span>    68/push 1/imm32/block-depth
+<span id="L10118" class="LineNr">10118 </span>    51/push-ecx
+<span id="L10119" class="LineNr">10119 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L10120" class="LineNr">10120 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10121" class="LineNr">10121 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L10122" class="LineNr">10122 </span>    68/push 0/imm32/right/null
+<span id="L10123" class="LineNr">10123 </span>    68/push 0/imm32/left/literal
+<span id="L10124" class="LineNr">10124 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10125" class="LineNr">10125 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L10126" class="LineNr">10126 </span>    68/push 0/imm32/no-register
+<span id="L10127" class="LineNr">10127 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10128" class="LineNr">10128 </span>    68/push 1/imm32/block-depth
+<span id="L10129" class="LineNr">10129 </span>    52/push-edx
+<span id="L10130" class="LineNr">10130 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L10131" class="LineNr">10131 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10132" class="LineNr">10132 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L10133" class="LineNr">10133 </span>    68/push 0/imm32/is-deref:false
+<span id="L10134" class="LineNr">10134 </span>    68/push 0/imm32/next
+<span id="L10135" class="LineNr">10135 </span>    52/push-edx/var-var2
+<span id="L10136" class="LineNr">10136 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10137" class="LineNr">10137 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
+<span id="L10138" class="LineNr">10138 </span>    68/push 0/imm32/is-deref:false
+<span id="L10139" class="LineNr">10139 </span>    56/push-esi/next
+<span id="L10140" class="LineNr">10140 </span>    51/push-ecx/var-var1
+<span id="L10141" class="LineNr">10141 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10142" class="LineNr">10142 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10143" class="LineNr">10143 </span>    68/push 0/imm32/next
+<span id="L10144" class="LineNr">10144 </span>    68/push 0/imm32/outputs
+<span id="L10145" class="LineNr">10145 </span>    56/push-esi/inouts
+<span id="L10146" class="LineNr">10146 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
+<span id="L10147" class="LineNr">10147 </span>    68/push 1/imm32
 <span id="L10148" class="LineNr">10148 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10149" class="LineNr">10149 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
-<span id="L10150" class="LineNr">10150 </span>    68/push 0/imm32/is-deref:false
-<span id="L10151" class="LineNr">10151 </span>    56/push-esi/next
-<span id="L10152" class="LineNr">10152 </span>    51/push-ecx/var-var1
-<span id="L10153" class="LineNr">10153 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10154" class="LineNr">10154 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10155" class="LineNr">10155 </span>    68/push 0/imm32/next
-<span id="L10156" class="LineNr">10156 </span>    68/push 0/imm32/outputs
-<span id="L10157" class="LineNr">10157 </span>    56/push-esi/inouts
-<span id="L10158" class="LineNr">10158 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
-<span id="L10159" class="LineNr">10159 </span>    68/push 1/imm32
-<span id="L10160" class="LineNr">10160 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10161" class="LineNr">10161 </span>    <span class="subxComment"># convert</span>
-<span id="L10162" class="LineNr">10162 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10163" class="LineNr">10163 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L10164" class="LineNr">10164 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10165" class="Folded">10165 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10171" class="LineNr">10171 </span>    <span class="subxComment"># check output</span>
-<span id="L10172" class="LineNr">10172 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 7/subop/compare *(ebp+0x00000008) 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-mem-with-literal&quot;</span>)
-<span id="L10173" class="LineNr">10173 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10174" class="LineNr">10174 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10175" class="LineNr">10175 </span>    5d/pop-to-ebp
-<span id="L10176" class="LineNr">10176 </span>    c3/return
-<span id="L10177" class="LineNr">10177 </span>
-<span id="L10178" class="LineNr">10178 </span><span class="subxTest">test-compare-eax-with-literal</span>:
-<span id="L10179" class="LineNr">10179 </span>    <span class="subxComment">#   compare var1/eax 0x34</span>
-<span id="L10180" class="LineNr">10180 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10181" class="LineNr">10181 </span>    <span class="subxComment">#   3d/compare-eax-with 0x34/imm32</span>
-<span id="L10182" class="LineNr">10182 </span>    <span class="subxComment">#</span>
-<span id="L10183" class="LineNr">10183 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10184" class="LineNr">10184 </span>    55/push-ebp
-<span id="L10185" class="LineNr">10185 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10186" class="LineNr">10186 </span>    <span class="subxComment"># setup</span>
-<span id="L10187" class="LineNr">10187 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10188" class="LineNr">10188 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10189" class="LineNr">10189 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L10190" class="LineNr">10190 </span>    68/push 0/imm32/right/null
-<span id="L10191" class="LineNr">10191 </span>    68/push 1/imm32/left/int
-<span id="L10192" class="LineNr">10192 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10193" class="LineNr">10193 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
-<span id="L10194" class="LineNr">10194 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
-<span id="L10195" class="LineNr">10195 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10196" class="LineNr">10196 </span>    68/push 1/imm32/block-depth
-<span id="L10197" class="LineNr">10197 </span>    51/push-ecx
-<span id="L10198" class="LineNr">10198 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L10199" class="LineNr">10199 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10200" class="LineNr">10200 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L10201" class="LineNr">10201 </span>    68/push 0/imm32/right/null
-<span id="L10202" class="LineNr">10202 </span>    68/push 0/imm32/left/literal
-<span id="L10203" class="LineNr">10203 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10204" class="LineNr">10204 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L10205" class="LineNr">10205 </span>    68/push 0/imm32/no-register
-<span id="L10206" class="LineNr">10206 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10207" class="LineNr">10207 </span>    68/push 1/imm32/block-depth
-<span id="L10208" class="LineNr">10208 </span>    52/push-edx
-<span id="L10209" class="LineNr">10209 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L10210" class="LineNr">10210 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10211" class="LineNr">10211 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L10212" class="LineNr">10212 </span>    68/push 0/imm32/is-deref:false
-<span id="L10213" class="LineNr">10213 </span>    68/push 0/imm32/next
-<span id="L10214" class="LineNr">10214 </span>    52/push-edx/var-var2
+<span id="L10149" class="LineNr">10149 </span>    <span class="subxComment"># convert</span>
+<span id="L10150" class="LineNr">10150 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10151" class="LineNr">10151 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L10152" class="LineNr">10152 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10153" class="Folded">10153 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10159" class="LineNr">10159 </span>    <span class="subxComment"># check output</span>
+<span id="L10160" class="LineNr">10160 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 7/subop/compare *(ebp+0x00000008) 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-mem-with-literal&quot;</span>)
+<span id="L10161" class="LineNr">10161 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10162" class="LineNr">10162 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10163" class="LineNr">10163 </span>    5d/pop-to-ebp
+<span id="L10164" class="LineNr">10164 </span>    c3/return
+<span id="L10165" class="LineNr">10165 </span>
+<span id="L10166" class="LineNr">10166 </span><span class="subxTest">test-compare-eax-with-literal</span>:
+<span id="L10167" class="LineNr">10167 </span>    <span class="subxComment">#   compare var1/eax 0x34</span>
+<span id="L10168" class="LineNr">10168 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10169" class="LineNr">10169 </span>    <span class="subxComment">#   3d/compare-eax-with 0x34/imm32</span>
+<span id="L10170" class="LineNr">10170 </span>    <span class="subxComment">#</span>
+<span id="L10171" class="LineNr">10171 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10172" class="LineNr">10172 </span>    55/push-ebp
+<span id="L10173" class="LineNr">10173 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10174" class="LineNr">10174 </span>    <span class="subxComment"># setup</span>
+<span id="L10175" class="LineNr">10175 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10176" class="LineNr">10176 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10177" class="LineNr">10177 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L10178" class="LineNr">10178 </span>    68/push 0/imm32/right/null
+<span id="L10179" class="LineNr">10179 </span>    68/push 1/imm32/left/int
+<span id="L10180" class="LineNr">10180 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10181" class="LineNr">10181 </span>    <span class="subxComment"># var var-var1/ecx: var in eax</span>
+<span id="L10182" class="LineNr">10182 </span>    68/push <span class="Constant">&quot;eax&quot;</span>/imm32/register
+<span id="L10183" class="LineNr">10183 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10184" class="LineNr">10184 </span>    68/push 1/imm32/block-depth
+<span id="L10185" class="LineNr">10185 </span>    51/push-ecx
+<span id="L10186" class="LineNr">10186 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L10187" class="LineNr">10187 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10188" class="LineNr">10188 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L10189" class="LineNr">10189 </span>    68/push 0/imm32/right/null
+<span id="L10190" class="LineNr">10190 </span>    68/push 0/imm32/left/literal
+<span id="L10191" class="LineNr">10191 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10192" class="LineNr">10192 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L10193" class="LineNr">10193 </span>    68/push 0/imm32/no-register
+<span id="L10194" class="LineNr">10194 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10195" class="LineNr">10195 </span>    68/push 1/imm32/block-depth
+<span id="L10196" class="LineNr">10196 </span>    52/push-edx
+<span id="L10197" class="LineNr">10197 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L10198" class="LineNr">10198 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10199" class="LineNr">10199 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L10200" class="LineNr">10200 </span>    68/push 0/imm32/is-deref:false
+<span id="L10201" class="LineNr">10201 </span>    68/push 0/imm32/next
+<span id="L10202" class="LineNr">10202 </span>    52/push-edx/var-var2
+<span id="L10203" class="LineNr">10203 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10204" class="LineNr">10204 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
+<span id="L10205" class="LineNr">10205 </span>    68/push 0/imm32/is-deref:false
+<span id="L10206" class="LineNr">10206 </span>    56/push-esi/next
+<span id="L10207" class="LineNr">10207 </span>    51/push-ecx/var-var1
+<span id="L10208" class="LineNr">10208 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10209" class="LineNr">10209 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10210" class="LineNr">10210 </span>    68/push 0/imm32/next
+<span id="L10211" class="LineNr">10211 </span>    68/push 0/imm32/outputs
+<span id="L10212" class="LineNr">10212 </span>    56/push-esi/inouts
+<span id="L10213" class="LineNr">10213 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
+<span id="L10214" class="LineNr">10214 </span>    68/push 1/imm32/regular-stmt
 <span id="L10215" class="LineNr">10215 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10216" class="LineNr">10216 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
-<span id="L10217" class="LineNr">10217 </span>    68/push 0/imm32/is-deref:false
-<span id="L10218" class="LineNr">10218 </span>    56/push-esi/next
-<span id="L10219" class="LineNr">10219 </span>    51/push-ecx/var-var1
-<span id="L10220" class="LineNr">10220 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10221" class="LineNr">10221 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10222" class="LineNr">10222 </span>    68/push 0/imm32/next
-<span id="L10223" class="LineNr">10223 </span>    68/push 0/imm32/outputs
-<span id="L10224" class="LineNr">10224 </span>    56/push-esi/inouts
-<span id="L10225" class="LineNr">10225 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
-<span id="L10226" class="LineNr">10226 </span>    68/push 1/imm32/regular-stmt
-<span id="L10227" class="LineNr">10227 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10228" class="LineNr">10228 </span>    <span class="subxComment"># convert</span>
-<span id="L10229" class="LineNr">10229 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10230" class="LineNr">10230 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L10231" class="LineNr">10231 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10232" class="Folded">10232 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10238" class="LineNr">10238 </span>    <span class="subxComment"># check output</span>
-<span id="L10239" class="LineNr">10239 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;3d/compare-eax-with 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-eax-with-literal&quot;</span>)
-<span id="L10240" class="LineNr">10240 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10241" class="LineNr">10241 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10242" class="LineNr">10242 </span>    5d/pop-to-ebp
-<span id="L10243" class="LineNr">10243 </span>    c3/return
-<span id="L10244" class="LineNr">10244 </span>
-<span id="L10245" class="LineNr">10245 </span><span class="subxTest">test-compare-reg-with-literal</span>:
-<span id="L10246" class="LineNr">10246 </span>    <span class="subxComment">#   compare var1/ecx 0x34</span>
-<span id="L10247" class="LineNr">10247 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10248" class="LineNr">10248 </span>    <span class="subxComment">#   81 7/subop/compare %ecx 0x34/imm32</span>
-<span id="L10249" class="LineNr">10249 </span>    <span class="subxComment">#</span>
-<span id="L10250" class="LineNr">10250 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10251" class="LineNr">10251 </span>    55/push-ebp
-<span id="L10252" class="LineNr">10252 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10253" class="LineNr">10253 </span>    <span class="subxComment"># setup</span>
-<span id="L10254" class="LineNr">10254 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10255" class="LineNr">10255 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10256" class="LineNr">10256 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L10257" class="LineNr">10257 </span>    68/push 0/imm32/right/null
-<span id="L10258" class="LineNr">10258 </span>    68/push 1/imm32/left/int
-<span id="L10259" class="LineNr">10259 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10260" class="LineNr">10260 </span>    <span class="subxComment"># var var-var1/ecx: var in ecx</span>
-<span id="L10261" class="LineNr">10261 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
-<span id="L10262" class="LineNr">10262 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10263" class="LineNr">10263 </span>    68/push 1/imm32/block-depth
-<span id="L10264" class="LineNr">10264 </span>    51/push-ecx
-<span id="L10265" class="LineNr">10265 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
-<span id="L10266" class="LineNr">10266 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10267" class="LineNr">10267 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
-<span id="L10268" class="LineNr">10268 </span>    68/push 0/imm32/right/null
-<span id="L10269" class="LineNr">10269 </span>    68/push 0/imm32/left/literal
-<span id="L10270" class="LineNr">10270 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10271" class="LineNr">10271 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
-<span id="L10272" class="LineNr">10272 </span>    68/push 0/imm32/no-register
-<span id="L10273" class="LineNr">10273 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10274" class="LineNr">10274 </span>    68/push 1/imm32/block-depth
-<span id="L10275" class="LineNr">10275 </span>    52/push-edx
-<span id="L10276" class="LineNr">10276 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
-<span id="L10277" class="LineNr">10277 </span>    89/&lt;- %edx 4/r32/esp
-<span id="L10278" class="LineNr">10278 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
-<span id="L10279" class="LineNr">10279 </span>    68/push 0/imm32/is-deref:false
-<span id="L10280" class="LineNr">10280 </span>    68/push 0/imm32/next
-<span id="L10281" class="LineNr">10281 </span>    52/push-edx/var-var2
+<span id="L10216" class="LineNr">10216 </span>    <span class="subxComment"># convert</span>
+<span id="L10217" class="LineNr">10217 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10218" class="LineNr">10218 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L10219" class="LineNr">10219 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10220" class="Folded">10220 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10226" class="LineNr">10226 </span>    <span class="subxComment"># check output</span>
+<span id="L10227" class="LineNr">10227 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;3d/compare-eax-with 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-eax-with-literal&quot;</span>)
+<span id="L10228" class="LineNr">10228 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10229" class="LineNr">10229 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10230" class="LineNr">10230 </span>    5d/pop-to-ebp
+<span id="L10231" class="LineNr">10231 </span>    c3/return
+<span id="L10232" class="LineNr">10232 </span>
+<span id="L10233" class="LineNr">10233 </span><span class="subxTest">test-compare-reg-with-literal</span>:
+<span id="L10234" class="LineNr">10234 </span>    <span class="subxComment">#   compare var1/ecx 0x34</span>
+<span id="L10235" class="LineNr">10235 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10236" class="LineNr">10236 </span>    <span class="subxComment">#   81 7/subop/compare %ecx 0x34/imm32</span>
+<span id="L10237" class="LineNr">10237 </span>    <span class="subxComment">#</span>
+<span id="L10238" class="LineNr">10238 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10239" class="LineNr">10239 </span>    55/push-ebp
+<span id="L10240" class="LineNr">10240 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10241" class="LineNr">10241 </span>    <span class="subxComment"># setup</span>
+<span id="L10242" class="LineNr">10242 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10243" class="LineNr">10243 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10244" class="LineNr">10244 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L10245" class="LineNr">10245 </span>    68/push 0/imm32/right/null
+<span id="L10246" class="LineNr">10246 </span>    68/push 1/imm32/left/int
+<span id="L10247" class="LineNr">10247 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10248" class="LineNr">10248 </span>    <span class="subxComment"># var var-var1/ecx: var in ecx</span>
+<span id="L10249" class="LineNr">10249 </span>    68/push <span class="Constant">&quot;ecx&quot;</span>/imm32/register
+<span id="L10250" class="LineNr">10250 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10251" class="LineNr">10251 </span>    68/push 1/imm32/block-depth
+<span id="L10252" class="LineNr">10252 </span>    51/push-ecx
+<span id="L10253" class="LineNr">10253 </span>    68/push <span class="Constant">&quot;var1&quot;</span>/imm32
+<span id="L10254" class="LineNr">10254 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10255" class="LineNr">10255 </span>    <span class="subxComment"># var type/edx: (handle tree type-id) = literal</span>
+<span id="L10256" class="LineNr">10256 </span>    68/push 0/imm32/right/null
+<span id="L10257" class="LineNr">10257 </span>    68/push 0/imm32/left/literal
+<span id="L10258" class="LineNr">10258 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10259" class="LineNr">10259 </span>    <span class="subxComment"># var var-var2/edx: var literal</span>
+<span id="L10260" class="LineNr">10260 </span>    68/push 0/imm32/no-register
+<span id="L10261" class="LineNr">10261 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10262" class="LineNr">10262 </span>    68/push 1/imm32/block-depth
+<span id="L10263" class="LineNr">10263 </span>    52/push-edx
+<span id="L10264" class="LineNr">10264 </span>    68/push <span class="Constant">&quot;0x34&quot;</span>/imm32
+<span id="L10265" class="LineNr">10265 </span>    89/&lt;- %edx 4/r32/esp
+<span id="L10266" class="LineNr">10266 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var) = [var2]</span>
+<span id="L10267" class="LineNr">10267 </span>    68/push 0/imm32/is-deref:false
+<span id="L10268" class="LineNr">10268 </span>    68/push 0/imm32/next
+<span id="L10269" class="LineNr">10269 </span>    52/push-edx/var-var2
+<span id="L10270" class="LineNr">10270 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10271" class="LineNr">10271 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
+<span id="L10272" class="LineNr">10272 </span>    68/push 0/imm32/is-deref:false
+<span id="L10273" class="LineNr">10273 </span>    56/push-esi/next
+<span id="L10274" class="LineNr">10274 </span>    51/push-ecx/var-var1
+<span id="L10275" class="LineNr">10275 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10276" class="LineNr">10276 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10277" class="LineNr">10277 </span>    68/push 0/imm32/next
+<span id="L10278" class="LineNr">10278 </span>    68/push 0/imm32/outputs
+<span id="L10279" class="LineNr">10279 </span>    56/push-esi/inouts
+<span id="L10280" class="LineNr">10280 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
+<span id="L10281" class="LineNr">10281 </span>    68/push 1/imm32/regular-stmt
 <span id="L10282" class="LineNr">10282 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10283" class="LineNr">10283 </span>    <span class="subxComment"># inouts = [var1, var2]</span>
-<span id="L10284" class="LineNr">10284 </span>    68/push 0/imm32/is-deref:false
-<span id="L10285" class="LineNr">10285 </span>    56/push-esi/next
-<span id="L10286" class="LineNr">10286 </span>    51/push-ecx/var-var1
-<span id="L10287" class="LineNr">10287 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10288" class="LineNr">10288 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10289" class="LineNr">10289 </span>    68/push 0/imm32/next
-<span id="L10290" class="LineNr">10290 </span>    68/push 0/imm32/outputs
-<span id="L10291" class="LineNr">10291 </span>    56/push-esi/inouts
-<span id="L10292" class="LineNr">10292 </span>    68/push <span class="Constant">&quot;compare&quot;</span>/imm32/operation
-<span id="L10293" class="LineNr">10293 </span>    68/push 1/imm32/regular-stmt
-<span id="L10294" class="LineNr">10294 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10295" class="LineNr">10295 </span>    <span class="subxComment"># convert</span>
-<span id="L10296" class="LineNr">10296 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10297" class="LineNr">10297 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6983'>Primitives</a></span> 0)
-<span id="L10298" class="LineNr">10298 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10299" class="Folded">10299 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10305" class="LineNr">10305 </span>    <span class="subxComment"># check output</span>
-<span id="L10306" class="LineNr">10306 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 7/subop/compare %ecx 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-reg-with-literal&quot;</span>)
-<span id="L10307" class="LineNr">10307 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10308" class="LineNr">10308 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10309" class="LineNr">10309 </span>    5d/pop-to-ebp
-<span id="L10310" class="LineNr">10310 </span>    c3/return
-<span id="L10311" class="LineNr">10311 </span>
-<span id="L10312" class="LineNr">10312 </span><span class="subxTest">test-emit-subx-stmt-function-call</span>:
-<span id="L10313" class="LineNr">10313 </span>    <span class="subxComment"># Call a function on a variable on the stack.</span>
-<span id="L10314" class="LineNr">10314 </span>    <span class="subxComment">#   f foo</span>
-<span id="L10315" class="LineNr">10315 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10316" class="LineNr">10316 </span>    <span class="subxComment">#   (f2 *(ebp-8))</span>
-<span id="L10317" class="LineNr">10317 </span>    <span class="subxComment"># (Changing the function name supports overloading in general, but here it</span>
-<span id="L10318" class="LineNr">10318 </span>    <span class="subxComment"># just serves to help disambiguate things.)</span>
+<span id="L10283" class="LineNr">10283 </span>    <span class="subxComment"># convert</span>
+<span id="L10284" class="LineNr">10284 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10285" class="LineNr">10285 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi <span class="SpecialChar"><a href='mu.subx.html#L6979'>Primitives</a></span> 0)
+<span id="L10286" class="LineNr">10286 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10287" class="Folded">10287 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10293" class="LineNr">10293 </span>    <span class="subxComment"># check output</span>
+<span id="L10294" class="LineNr">10294 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;81 7/subop/compare %ecx 0x34/imm32&quot;</span> <span class="Constant">&quot;F - test-compare-reg-with-literal&quot;</span>)
+<span id="L10295" class="LineNr">10295 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10296" class="LineNr">10296 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10297" class="LineNr">10297 </span>    5d/pop-to-ebp
+<span id="L10298" class="LineNr">10298 </span>    c3/return
+<span id="L10299" class="LineNr">10299 </span>
+<span id="L10300" class="LineNr">10300 </span><span class="subxTest">test-emit-subx-stmt-function-call</span>:
+<span id="L10301" class="LineNr">10301 </span>    <span class="subxComment"># Call a function on a variable on the stack.</span>
+<span id="L10302" class="LineNr">10302 </span>    <span class="subxComment">#   f foo</span>
+<span id="L10303" class="LineNr">10303 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10304" class="LineNr">10304 </span>    <span class="subxComment">#   (f2 *(ebp-8))</span>
+<span id="L10305" class="LineNr">10305 </span>    <span class="subxComment"># (Changing the function name supports overloading in general, but here it</span>
+<span id="L10306" class="LineNr">10306 </span>    <span class="subxComment"># just serves to help disambiguate things.)</span>
+<span id="L10307" class="LineNr">10307 </span>    <span class="subxComment">#</span>
+<span id="L10308" class="LineNr">10308 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
+<span id="L10309" class="LineNr">10309 </span>    <span class="subxComment">#   name: 'foo'</span>
+<span id="L10310" class="LineNr">10310 </span>    <span class="subxComment">#   type: int</span>
+<span id="L10311" class="LineNr">10311 </span>    <span class="subxComment">#   stack-offset: -8</span>
+<span id="L10312" class="LineNr">10312 </span>    <span class="subxComment">#</span>
+<span id="L10313" class="LineNr">10313 </span>    <span class="subxComment"># There's nothing in primitives.</span>
+<span id="L10314" class="LineNr">10314 </span>    <span class="subxComment">#</span>
+<span id="L10315" class="LineNr">10315 </span>    <span class="subxComment"># There's a function with this info:</span>
+<span id="L10316" class="LineNr">10316 </span>    <span class="subxComment">#   name: 'f'</span>
+<span id="L10317" class="LineNr">10317 </span>    <span class="subxComment">#   inout: int/mem</span>
+<span id="L10318" class="LineNr">10318 </span>    <span class="subxComment">#   value: 'f2'</span>
 <span id="L10319" class="LineNr">10319 </span>    <span class="subxComment">#</span>
-<span id="L10320" class="LineNr">10320 </span>    <span class="subxComment"># There's a variable on the var stack as follows:</span>
-<span id="L10321" class="LineNr">10321 </span>    <span class="subxComment">#   name: 'foo'</span>
-<span id="L10322" class="LineNr">10322 </span>    <span class="subxComment">#   type: int</span>
-<span id="L10323" class="LineNr">10323 </span>    <span class="subxComment">#   stack-offset: -8</span>
-<span id="L10324" class="LineNr">10324 </span>    <span class="subxComment">#</span>
-<span id="L10325" class="LineNr">10325 </span>    <span class="subxComment"># There's nothing in primitives.</span>
-<span id="L10326" class="LineNr">10326 </span>    <span class="subxComment">#</span>
-<span id="L10327" class="LineNr">10327 </span>    <span class="subxComment"># There's a function with this info:</span>
-<span id="L10328" class="LineNr">10328 </span>    <span class="subxComment">#   name: 'f'</span>
-<span id="L10329" class="LineNr">10329 </span>    <span class="subxComment">#   inout: int/mem</span>
-<span id="L10330" class="LineNr">10330 </span>    <span class="subxComment">#   value: 'f2'</span>
-<span id="L10331" class="LineNr">10331 </span>    <span class="subxComment">#</span>
-<span id="L10332" class="LineNr">10332 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10333" class="LineNr">10333 </span>    55/push-ebp
-<span id="L10334" class="LineNr">10334 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10335" class="LineNr">10335 </span>    <span class="subxComment"># setup</span>
-<span id="L10336" class="LineNr">10336 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10337" class="LineNr">10337 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10338" class="LineNr">10338 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
-<span id="L10339" class="LineNr">10339 </span>    68/push 0/imm32/right/null
-<span id="L10340" class="LineNr">10340 </span>    68/push 1/imm32/left/int
-<span id="L10341" class="LineNr">10341 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10342" class="LineNr">10342 </span>    <span class="subxComment"># var var-foo/ecx: var</span>
-<span id="L10343" class="LineNr">10343 </span>    68/push 0/imm32/no-register
-<span id="L10344" class="LineNr">10344 </span>    68/push -8/imm32/stack-offset
-<span id="L10345" class="LineNr">10345 </span>    68/push 0/imm32/block-depth
-<span id="L10346" class="LineNr">10346 </span>    51/push-ecx
-<span id="L10347" class="LineNr">10347 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
-<span id="L10348" class="LineNr">10348 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10349" class="LineNr">10349 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var)</span>
-<span id="L10350" class="LineNr">10350 </span>    68/push 0/imm32/is-deref:false
-<span id="L10351" class="LineNr">10351 </span>    68/push 0/imm32/next
-<span id="L10352" class="LineNr">10352 </span>    51/push-ecx/var-foo
-<span id="L10353" class="LineNr">10353 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10354" class="LineNr">10354 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10355" class="LineNr">10355 </span>    68/push 0/imm32/next
-<span id="L10356" class="LineNr">10356 </span>    68/push 0/imm32/outputs
-<span id="L10357" class="LineNr">10357 </span>    56/push-esi/inouts
-<span id="L10358" class="LineNr">10358 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/operation
-<span id="L10359" class="LineNr">10359 </span>    68/push 1/imm32
-<span id="L10360" class="LineNr">10360 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10361" class="LineNr">10361 </span>    <span class="subxComment"># var functions/ebx: function</span>
-<span id="L10362" class="LineNr">10362 </span>    68/push 0/imm32/next
-<span id="L10363" class="LineNr">10363 </span>    68/push 0/imm32/body
-<span id="L10364" class="LineNr">10364 </span>    68/push 0/imm32/outputs
-<span id="L10365" class="LineNr">10365 </span>    51/push-ecx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
-<span id="L10366" class="LineNr">10366 </span>    68/push <span class="Constant">&quot;f2&quot;</span>/imm32/subx-name
-<span id="L10367" class="LineNr">10367 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/name
-<span id="L10368" class="LineNr">10368 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L10369" class="LineNr">10369 </span>    <span class="subxComment"># convert</span>
-<span id="L10370" class="LineNr">10370 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10371" class="LineNr">10371 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi 0 %ebx)
-<span id="L10372" class="LineNr">10372 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10373" class="Folded">10373 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10379" class="LineNr">10379 </span>    <span class="subxComment"># check output</span>
-<span id="L10380" class="LineNr">10380 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;(f2 *(ebp+0xfffffff8))&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-function-call&quot;</span>)
-<span id="L10381" class="LineNr">10381 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10382" class="LineNr">10382 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10383" class="LineNr">10383 </span>    5d/pop-to-ebp
-<span id="L10384" class="LineNr">10384 </span>    c3/return
-<span id="L10385" class="LineNr">10385 </span>
-<span id="L10386" class="LineNr">10386 </span><span class="subxTest">test-emit-subx-stmt-function-call-with-literal-arg</span>:
-<span id="L10387" class="LineNr">10387 </span>    <span class="subxComment"># Call a function on a literal.</span>
-<span id="L10388" class="LineNr">10388 </span>    <span class="subxComment">#   f 34</span>
-<span id="L10389" class="LineNr">10389 </span>    <span class="subxComment"># =&gt;</span>
-<span id="L10390" class="LineNr">10390 </span>    <span class="subxComment">#   (f2 34)</span>
-<span id="L10391" class="LineNr">10391 </span>    <span class="subxComment">#</span>
-<span id="L10392" class="LineNr">10392 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10393" class="LineNr">10393 </span>    55/push-ebp
-<span id="L10394" class="LineNr">10394 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10395" class="LineNr">10395 </span>    <span class="subxComment"># setup</span>
-<span id="L10396" class="LineNr">10396 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
-<span id="L10397" class="LineNr">10397 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
-<span id="L10398" class="LineNr">10398 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = literal</span>
-<span id="L10399" class="LineNr">10399 </span>    68/push 0/imm32/right/null
-<span id="L10400" class="LineNr">10400 </span>    68/push 0/imm32/left/literal
-<span id="L10401" class="LineNr">10401 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10402" class="LineNr">10402 </span>    <span class="subxComment"># var var-foo/ecx: var literal</span>
-<span id="L10403" class="LineNr">10403 </span>    68/push 0/imm32/no-register
-<span id="L10404" class="LineNr">10404 </span>    68/push 0/imm32/no-stack-offset
-<span id="L10405" class="LineNr">10405 </span>    68/push 0/imm32/block-depth
-<span id="L10406" class="LineNr">10406 </span>    51/push-ecx
-<span id="L10407" class="LineNr">10407 </span>    68/push <span class="Constant">&quot;34&quot;</span>/imm32
-<span id="L10408" class="LineNr">10408 </span>    89/&lt;- %ecx 4/r32/esp
-<span id="L10409" class="LineNr">10409 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var)</span>
-<span id="L10410" class="LineNr">10410 </span>    68/push 0/imm32/is-deref:false
-<span id="L10411" class="LineNr">10411 </span>    68/push 0/imm32/next
-<span id="L10412" class="LineNr">10412 </span>    51/push-ecx/var-foo
-<span id="L10413" class="LineNr">10413 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10414" class="LineNr">10414 </span>    <span class="subxComment"># var stmt/esi: statement</span>
-<span id="L10415" class="LineNr">10415 </span>    68/push 0/imm32/next
-<span id="L10416" class="LineNr">10416 </span>    68/push 0/imm32/outputs
-<span id="L10417" class="LineNr">10417 </span>    56/push-esi/inouts
-<span id="L10418" class="LineNr">10418 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/operation
-<span id="L10419" class="LineNr">10419 </span>    68/push 1/imm32
-<span id="L10420" class="LineNr">10420 </span>    89/&lt;- %esi 4/r32/esp
-<span id="L10421" class="LineNr">10421 </span>    <span class="subxComment"># var functions/ebx: function</span>
-<span id="L10422" class="LineNr">10422 </span>    68/push 0/imm32/next
-<span id="L10423" class="LineNr">10423 </span>    68/push 0/imm32/body
-<span id="L10424" class="LineNr">10424 </span>    68/push 0/imm32/outputs
-<span id="L10425" class="LineNr">10425 </span>    51/push-ecx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
-<span id="L10426" class="LineNr">10426 </span>    68/push <span class="Constant">&quot;f2&quot;</span>/imm32/subx-name
-<span id="L10427" class="LineNr">10427 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/name
-<span id="L10428" class="LineNr">10428 </span>    89/&lt;- %ebx 4/r32/esp
-<span id="L10429" class="LineNr">10429 </span>    <span class="subxComment"># convert</span>
-<span id="L10430" class="LineNr">10430 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
-<span id="L10431" class="LineNr">10431 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi 0 %ebx)
-<span id="L10432" class="LineNr">10432 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
-<span id="L10433" class="Folded">10433 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
-<span id="L10439" class="LineNr">10439 </span>    <span class="subxComment"># check output</span>
-<span id="L10440" class="LineNr">10440 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;(f2 34)&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-function-call-with-literal-arg&quot;</span>)
-<span id="L10441" class="LineNr">10441 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10442" class="LineNr">10442 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10443" class="LineNr">10443 </span>    5d/pop-to-ebp
-<span id="L10444" class="LineNr">10444 </span>    c3/return
-<span id="L10445" class="LineNr">10445 </span>
-<span id="L10446" class="LineNr">10446 </span><span class="subxFunction">emit-indent</span>:  <span class="subxComment"># out: (addr buffered-file), n: int</span>
-<span id="L10447" class="LineNr">10447 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10448" class="LineNr">10448 </span>    55/push-ebp
-<span id="L10449" class="LineNr">10449 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10450" class="LineNr">10450 </span>    <span class="subxS1Comment"># . save registers</span>
-<span id="L10451" class="LineNr">10451 </span>    50/push-eax
-<span id="L10452" class="LineNr">10452 </span>    <span class="subxComment"># var i/eax: int = n</span>
-<span id="L10453" class="LineNr">10453 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
-<span id="L10454" class="LineNr">10454 </span>    {
-<span id="L10455" class="LineNr">10455 </span>      <span class="subxComment"># if (i &lt;= 0) break</span>
-<span id="L10456" class="LineNr">10456 </span>      3d/compare-eax-with 0/imm32
-<span id="L10457" class="LineNr">10457 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
-<span id="L10458" class="LineNr">10458 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  &quot;</span>)
-<span id="L10459" class="LineNr">10459 </span>      48/decrement-eax
-<span id="L10460" class="LineNr">10460 </span>      eb/jump <span class="Constant">loop</span>/disp8
-<span id="L10461" class="LineNr">10461 </span>    }
-<span id="L10462" class="LineNr">10462 </span><span class="Constant">$emit-indent:end</span>:
-<span id="L10463" class="LineNr">10463 </span>    <span class="subxS1Comment"># . restore registers</span>
-<span id="L10464" class="LineNr">10464 </span>    58/pop-to-eax
-<span id="L10465" class="LineNr">10465 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10466" class="LineNr">10466 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10467" class="LineNr">10467 </span>    5d/pop-to-ebp
-<span id="L10468" class="LineNr">10468 </span>    c3/return
-<span id="L10469" class="LineNr">10469 </span>
-<span id="L10470" class="LineNr">10470 </span><span class="subxFunction">emit-subx-prologue</span>:  <span class="subxComment"># out: (addr buffered-file)</span>
-<span id="L10471" class="LineNr">10471 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10472" class="LineNr">10472 </span>    55/push-ebp
-<span id="L10473" class="LineNr">10473 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10474" class="LineNr">10474 </span>    <span class="subxComment">#</span>
-<span id="L10475" class="LineNr">10475 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  # . prologue\n&quot;</span>)
-<span id="L10476" class="LineNr">10476 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  55/push-ebp\n&quot;</span>)
-<span id="L10477" class="LineNr">10477 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  89/&lt;- %ebp 4/r32/esp\n&quot;</span>)
-<span id="L10478" class="LineNr">10478 </span><span class="Constant">$emit-subx-prologue:end</span>:
-<span id="L10479" class="LineNr">10479 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10480" class="LineNr">10480 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10481" class="LineNr">10481 </span>    5d/pop-to-ebp
-<span id="L10482" class="LineNr">10482 </span>    c3/return
-<span id="L10483" class="LineNr">10483 </span>
-<span id="L10484" class="LineNr">10484 </span><span class="subxFunction">emit-subx-epilogue</span>:  <span class="subxComment"># out: (addr buffered-file)</span>
-<span id="L10485" class="LineNr">10485 </span>    <span class="subxS1Comment"># . prologue</span>
-<span id="L10486" class="LineNr">10486 </span>    55/push-ebp
-<span id="L10487" class="LineNr">10487 </span>    89/&lt;- %ebp 4/r32/esp
-<span id="L10488" class="LineNr">10488 </span>    <span class="subxComment">#</span>
-<span id="L10489" class="LineNr">10489 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  # . epilogue\n&quot;</span>)
-<span id="L10490" class="LineNr">10490 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  89/&lt;- %esp 5/r32/ebp\n&quot;</span>)
-<span id="L10491" class="LineNr">10491 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  5d/pop-to-ebp\n&quot;</span>)
-<span id="L10492" class="LineNr">10492 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  c3/return\n&quot;</span>)
-<span id="L10493" class="LineNr">10493 </span><span class="Constant">$emit-subx-epilogue:end</span>:
-<span id="L10494" class="LineNr">10494 </span>    <span class="subxS1Comment"># . epilogue</span>
-<span id="L10495" class="LineNr">10495 </span>    89/&lt;- %esp 5/r32/ebp
-<span id="L10496" class="LineNr">10496 </span>    5d/pop-to-ebp
-<span id="L10497" class="LineNr">10497 </span>    c3/return
+<span id="L10320" class="LineNr">10320 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10321" class="LineNr">10321 </span>    55/push-ebp
+<span id="L10322" class="LineNr">10322 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10323" class="LineNr">10323 </span>    <span class="subxComment"># setup</span>
+<span id="L10324" class="LineNr">10324 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10325" class="LineNr">10325 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10326" class="LineNr">10326 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = int</span>
+<span id="L10327" class="LineNr">10327 </span>    68/push 0/imm32/right/null
+<span id="L10328" class="LineNr">10328 </span>    68/push 1/imm32/left/int
+<span id="L10329" class="LineNr">10329 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10330" class="LineNr">10330 </span>    <span class="subxComment"># var var-foo/ecx: var</span>
+<span id="L10331" class="LineNr">10331 </span>    68/push 0/imm32/no-register
+<span id="L10332" class="LineNr">10332 </span>    68/push -8/imm32/stack-offset
+<span id="L10333" class="LineNr">10333 </span>    68/push 0/imm32/block-depth
+<span id="L10334" class="LineNr">10334 </span>    51/push-ecx
+<span id="L10335" class="LineNr">10335 </span>    68/push <span class="Constant">&quot;foo&quot;</span>/imm32
+<span id="L10336" class="LineNr">10336 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10337" class="LineNr">10337 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var)</span>
+<span id="L10338" class="LineNr">10338 </span>    68/push 0/imm32/is-deref:false
+<span id="L10339" class="LineNr">10339 </span>    68/push 0/imm32/next
+<span id="L10340" class="LineNr">10340 </span>    51/push-ecx/var-foo
+<span id="L10341" class="LineNr">10341 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10342" class="LineNr">10342 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10343" class="LineNr">10343 </span>    68/push 0/imm32/next
+<span id="L10344" class="LineNr">10344 </span>    68/push 0/imm32/outputs
+<span id="L10345" class="LineNr">10345 </span>    56/push-esi/inouts
+<span id="L10346" class="LineNr">10346 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/operation
+<span id="L10347" class="LineNr">10347 </span>    68/push 1/imm32
+<span id="L10348" class="LineNr">10348 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10349" class="LineNr">10349 </span>    <span class="subxComment"># var functions/ebx: function</span>
+<span id="L10350" class="LineNr">10350 </span>    68/push 0/imm32/next
+<span id="L10351" class="LineNr">10351 </span>    68/push 0/imm32/body
+<span id="L10352" class="LineNr">10352 </span>    68/push 0/imm32/outputs
+<span id="L10353" class="LineNr">10353 </span>    51/push-ecx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
+<span id="L10354" class="LineNr">10354 </span>    68/push <span class="Constant">&quot;f2&quot;</span>/imm32/subx-name
+<span id="L10355" class="LineNr">10355 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/name
+<span id="L10356" class="LineNr">10356 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L10357" class="LineNr">10357 </span>    <span class="subxComment"># convert</span>
+<span id="L10358" class="LineNr">10358 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10359" class="LineNr">10359 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi 0 %ebx)
+<span id="L10360" class="LineNr">10360 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10361" class="Folded">10361 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10367" class="LineNr">10367 </span>    <span class="subxComment"># check output</span>
+<span id="L10368" class="LineNr">10368 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;(f2 *(ebp+0xfffffff8))&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-function-call&quot;</span>)
+<span id="L10369" class="LineNr">10369 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10370" class="LineNr">10370 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10371" class="LineNr">10371 </span>    5d/pop-to-ebp
+<span id="L10372" class="LineNr">10372 </span>    c3/return
+<span id="L10373" class="LineNr">10373 </span>
+<span id="L10374" class="LineNr">10374 </span><span class="subxTest">test-emit-subx-stmt-function-call-with-literal-arg</span>:
+<span id="L10375" class="LineNr">10375 </span>    <span class="subxComment"># Call a function on a literal.</span>
+<span id="L10376" class="LineNr">10376 </span>    <span class="subxComment">#   f 34</span>
+<span id="L10377" class="LineNr">10377 </span>    <span class="subxComment"># =&gt;</span>
+<span id="L10378" class="LineNr">10378 </span>    <span class="subxComment">#   (f2 34)</span>
+<span id="L10379" class="LineNr">10379 </span>    <span class="subxComment">#</span>
+<span id="L10380" class="LineNr">10380 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10381" class="LineNr">10381 </span>    55/push-ebp
+<span id="L10382" class="LineNr">10382 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10383" class="LineNr">10383 </span>    <span class="subxComment"># setup</span>
+<span id="L10384" class="LineNr">10384 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a>)
+<span id="L10385" class="LineNr">10385 </span>    (<a href='../055stream.subx.html#L17'>clear-stream</a> $_test-output-buffered-file-&gt;buffer)
+<span id="L10386" class="LineNr">10386 </span>    <span class="subxComment"># var type/ecx: (handle tree type-id) = literal</span>
+<span id="L10387" class="LineNr">10387 </span>    68/push 0/imm32/right/null
+<span id="L10388" class="LineNr">10388 </span>    68/push 0/imm32/left/literal
+<span id="L10389" class="LineNr">10389 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10390" class="LineNr">10390 </span>    <span class="subxComment"># var var-foo/ecx: var literal</span>
+<span id="L10391" class="LineNr">10391 </span>    68/push 0/imm32/no-register
+<span id="L10392" class="LineNr">10392 </span>    68/push 0/imm32/no-stack-offset
+<span id="L10393" class="LineNr">10393 </span>    68/push 0/imm32/block-depth
+<span id="L10394" class="LineNr">10394 </span>    51/push-ecx
+<span id="L10395" class="LineNr">10395 </span>    68/push <span class="Constant">&quot;34&quot;</span>/imm32
+<span id="L10396" class="LineNr">10396 </span>    89/&lt;- %ecx 4/r32/esp
+<span id="L10397" class="LineNr">10397 </span>    <span class="subxComment"># var inouts/esi: (handle stmt-var)</span>
+<span id="L10398" class="LineNr">10398 </span>    68/push 0/imm32/is-deref:false
+<span id="L10399" class="LineNr">10399 </span>    68/push 0/imm32/next
+<span id="L10400" class="LineNr">10400 </span>    51/push-ecx/var-foo
+<span id="L10401" class="LineNr">10401 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10402" class="LineNr">10402 </span>    <span class="subxComment"># var stmt/esi: statement</span>
+<span id="L10403" class="LineNr">10403 </span>    68/push 0/imm32/next
+<span id="L10404" class="LineNr">10404 </span>    68/push 0/imm32/outputs
+<span id="L10405" class="LineNr">10405 </span>    56/push-esi/inouts
+<span id="L10406" class="LineNr">10406 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/operation
+<span id="L10407" class="LineNr">10407 </span>    68/push 1/imm32
+<span id="L10408" class="LineNr">10408 </span>    89/&lt;- %esi 4/r32/esp
+<span id="L10409" class="LineNr">10409 </span>    <span class="subxComment"># var functions/ebx: function</span>
+<span id="L10410" class="LineNr">10410 </span>    68/push 0/imm32/next
+<span id="L10411" class="LineNr">10411 </span>    68/push 0/imm32/body
+<span id="L10412" class="LineNr">10412 </span>    68/push 0/imm32/outputs
+<span id="L10413" class="LineNr">10413 </span>    51/push-ecx/inouts  <span class="subxComment"># hack; in practice we won't have the same var in function definition and call</span>
+<span id="L10414" class="LineNr">10414 </span>    68/push <span class="Constant">&quot;f2&quot;</span>/imm32/subx-name
+<span id="L10415" class="LineNr">10415 </span>    68/push <span class="Constant">&quot;f&quot;</span>/imm32/name
+<span id="L10416" class="LineNr">10416 </span>    89/&lt;- %ebx 4/r32/esp
+<span id="L10417" class="LineNr">10417 </span>    <span class="subxComment"># convert</span>
+<span id="L10418" class="LineNr">10418 </span>    c7 0/subop/copy *<span class="SpecialChar"><a href='mu.subx.html#L3989'>Curr-block-depth</a></span> 0/imm32
+<span id="L10419" class="LineNr">10419 </span>    (<a href='mu.subx.html#L6659'>emit-subx-stmt</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a> %esi 0 %ebx)
+<span id="L10420" class="LineNr">10420 </span>    (<a href='../064write-byte.subx.html#L81'>flush</a> <a href='../064write-byte.subx.html#L360'>_test-output-buffered-file</a>)
+<span id="L10421" class="Folded">10421 </span><span class="Folded">+--  6 lines: #?     # dump _test-output-stream -----------------------------------------------------------------------------------------------------------------------------------------</span>
+<span id="L10427" class="LineNr">10427 </span>    <span class="subxComment"># check output</span>
+<span id="L10428" class="LineNr">10428 </span>    (<a href='../058stream-equal.subx.html#L565'>check-next-stream-line-equal</a> <a href='../064write-byte.subx.html#L286'>_test-output-stream</a> <span class="Constant">&quot;(f2 34)&quot;</span> <span class="Constant">&quot;F - test-emit-subx-stmt-function-call-with-literal-arg&quot;</span>)
+<span id="L10429" class="LineNr">10429 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10430" class="LineNr">10430 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10431" class="LineNr">10431 </span>    5d/pop-to-ebp
+<span id="L10432" class="LineNr">10432 </span>    c3/return
+<span id="L10433" class="LineNr">10433 </span>
+<span id="L10434" class="LineNr">10434 </span><span class="subxFunction">emit-indent</span>:  <span class="subxComment"># out: (addr buffered-file), n: int</span>
+<span id="L10435" class="LineNr">10435 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10436" class="LineNr">10436 </span>    55/push-ebp
+<span id="L10437" class="LineNr">10437 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10438" class="LineNr">10438 </span>    <span class="subxS1Comment"># . save registers</span>
+<span id="L10439" class="LineNr">10439 </span>    50/push-eax
+<span id="L10440" class="LineNr">10440 </span>    <span class="subxComment"># var i/eax: int = n</span>
+<span id="L10441" class="LineNr">10441 </span>    8b/-&gt; *(ebp+0xc) 0/r32/eax
+<span id="L10442" class="LineNr">10442 </span>    {
+<span id="L10443" class="LineNr">10443 </span>      <span class="subxComment"># if (i &lt;= 0) break</span>
+<span id="L10444" class="LineNr">10444 </span>      3d/compare-eax-with 0/imm32
+<span id="L10445" class="LineNr">10445 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
+<span id="L10446" class="LineNr">10446 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  &quot;</span>)
+<span id="L10447" class="LineNr">10447 </span>      48/decrement-eax
+<span id="L10448" class="LineNr">10448 </span>      eb/jump <span class="Constant">loop</span>/disp8
+<span id="L10449" class="LineNr">10449 </span>    }
+<span id="L10450" class="LineNr">10450 </span><span class="Constant">$emit-indent:end</span>:
+<span id="L10451" class="LineNr">10451 </span>    <span class="subxS1Comment"># . restore registers</span>
+<span id="L10452" class="LineNr">10452 </span>    58/pop-to-eax
+<span id="L10453" class="LineNr">10453 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10454" class="LineNr">10454 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10455" class="LineNr">10455 </span>    5d/pop-to-ebp
+<span id="L10456" class="LineNr">10456 </span>    c3/return
+<span id="L10457" class="LineNr">10457 </span>
+<span id="L10458" class="LineNr">10458 </span><span class="subxFunction">emit-subx-prologue</span>:  <span class="subxComment"># out: (addr buffered-file)</span>
+<span id="L10459" class="LineNr">10459 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10460" class="LineNr">10460 </span>    55/push-ebp
+<span id="L10461" class="LineNr">10461 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10462" class="LineNr">10462 </span>    <span class="subxComment">#</span>
+<span id="L10463" class="LineNr">10463 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  # . prologue\n&quot;</span>)
+<span id="L10464" class="LineNr">10464 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  55/push-ebp\n&quot;</span>)
+<span id="L10465" class="LineNr">10465 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  89/&lt;- %ebp 4/r32/esp\n&quot;</span>)
+<span id="L10466" class="LineNr">10466 </span><span class="Constant">$emit-subx-prologue:end</span>:
+<span id="L10467" class="LineNr">10467 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10468" class="LineNr">10468 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10469" class="LineNr">10469 </span>    5d/pop-to-ebp
+<span id="L10470" class="LineNr">10470 </span>    c3/return
+<span id="L10471" class="LineNr">10471 </span>
+<span id="L10472" class="LineNr">10472 </span><span class="subxFunction">emit-subx-epilogue</span>:  <span class="subxComment"># out: (addr buffered-file)</span>
+<span id="L10473" class="LineNr">10473 </span>    <span class="subxS1Comment"># . prologue</span>
+<span id="L10474" class="LineNr">10474 </span>    55/push-ebp
+<span id="L10475" class="LineNr">10475 </span>    89/&lt;- %ebp 4/r32/esp
+<span id="L10476" class="LineNr">10476 </span>    <span class="subxComment">#</span>
+<span id="L10477" class="LineNr">10477 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  # . epilogue\n&quot;</span>)
+<span id="L10478" class="LineNr">10478 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  89/&lt;- %esp 5/r32/ebp\n&quot;</span>)
+<span id="L10479" class="LineNr">10479 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  5d/pop-to-ebp\n&quot;</span>)
+<span id="L10480" class="LineNr">10480 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;  c3/return\n&quot;</span>)
+<span id="L10481" class="LineNr">10481 </span><span class="Constant">$emit-subx-epilogue:end</span>:
+<span id="L10482" class="LineNr">10482 </span>    <span class="subxS1Comment"># . epilogue</span>
+<span id="L10483" class="LineNr">10483 </span>    89/&lt;- %esp 5/r32/ebp
+<span id="L10484" class="LineNr">10484 </span>    5d/pop-to-ebp
+<span id="L10485" class="LineNr">10485 </span>    c3/return
 </pre>
 </body>
 </html>
diff --git a/html/apps/pack.subx.html b/html/apps/pack.subx.html
index 7bf6cc71..a01556fc 100644
--- a/html/apps/pack.subx.html
+++ b/html/apps/pack.subx.html
@@ -65,8 +65,8 @@ if ('onhashchange' in window) {
 <span id="L3" class="LineNr">   3 </span><span class="subxComment"># uses are left untouched.</span>
 <span id="L4" class="LineNr">   4 </span><span class="subxComment">#</span>
 <span id="L5" class="LineNr">   5 </span><span class="subxComment"># To run:</span>
-<span id="L6" class="LineNr">   6 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/pack.subx  -o apps/pack</span>
-<span id="L7" class="LineNr">   7 </span><span class="subxComment">#   $ echo '05/add-to-eax 0x20/imm32'  |./subx run apps/pack</span>
+<span id="L6" class="LineNr">   6 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/pack.subx  -o apps/pack</span>
+<span id="L7" class="LineNr">   7 </span><span class="subxComment">#   $ echo '05/add-to-eax 0x20/imm32'  |./bootstrap run apps/pack</span>
 <span id="L8" class="LineNr">   8 </span><span class="subxComment"># Expected output:</span>
 <span id="L9" class="LineNr">   9 </span><span class="subxComment">#   05 20 00 00 00  # 05/add-to-eax 0x20/imm32</span>
 <span id="L10" class="LineNr">  10 </span><span class="subxComment"># The original instruction gets included as a comment at the end of each</span>
@@ -4721,7 +4721,7 @@ if ('onhashchange' in window) {
 <span id="L5864" class="LineNr">5864 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L5865" class="LineNr">5865 </span>    51/push-ecx
 <span id="L5866" class="LineNr">5866 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L5867" class="LineNr">5867 </span>    e8/call  <a href='../067parse-hex.subx.html#L354'>parse-hex-int-from-slice</a>/disp32
+<span id="L5867" class="LineNr">5867 </span>    e8/call  <a href='../067parse-hex.subx.html#L387'>parse-hex-int-from-slice</a>/disp32
 <span id="L5868" class="LineNr">5868 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L5869" class="LineNr">5869 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L5870" class="LineNr">5870 </span><span class="Constant">$parse-datum-of-word:end</span>:
diff --git a/html/apps/random.subx.html b/html/apps/random.subx.html
index 25db616e..882ce5d4 100644
--- a/html/apps/random.subx.html
+++ b/html/apps/random.subx.html
@@ -59,8 +59,8 @@ if ('onhashchange' in window) {
 <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Repeatedly read 32-bit numbers from /dev/random, print them to stdout.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run:</span>
-<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/random.subx -o apps/random</span>
-<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./subx run apps/random</span>
+<span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/random.subx -o apps/random</span>
+<span id="L5" class="LineNr"> 5 </span><span class="subxComment">#   $ ./bootstrap run apps/random</span>
 <span id="L6" class="LineNr"> 6 </span>
 <span id="L7" class="LineNr"> 7 </span>== code 0x09000000
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
diff --git a/html/apps/sigils.subx.html b/html/apps/sigils.subx.html
index 6bec4179..6d3f9f23 100644
--- a/html/apps/sigils.subx.html
+++ b/html/apps/sigils.subx.html
@@ -64,36 +64,36 @@ if ('onhashchange' in window) {
 <span id="L2" class="LineNr">   2 </span><span class="subxComment"># other related arguments.</span>
 <span id="L3" class="LineNr">   3 </span><span class="subxComment">#</span>
 <span id="L4" class="LineNr">   4 </span><span class="subxComment"># To run:</span>
-<span id="L5" class="LineNr">   5 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/sigils.subx  -o apps/sigils</span>
+<span id="L5" class="LineNr">   5 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/sigils.subx  -o apps/sigils</span>
 <span id="L6" class="LineNr">   6 </span><span class="subxComment">#</span>
 <span id="L7" class="LineNr">   7 </span><span class="subxComment"># We currently support the following notations:</span>
 <span id="L8" class="LineNr">   8 </span><span class="subxComment">#</span>
 <span id="L9" class="LineNr">   9 </span><span class="subxComment"># 1.</span>
-<span id="L10" class="LineNr">  10 </span><span class="subxComment">#   $ echo '%eax'  |  ./subx run apps/sigils</span>
+<span id="L10" class="LineNr">  10 </span><span class="subxComment">#   $ echo '%eax'  |  ./bootstrap run apps/sigils</span>
 <span id="L11" class="LineNr">  11 </span><span class="subxComment">#   3/mod 0/rm32</span>
 <span id="L12" class="LineNr">  12 </span><span class="subxComment">#</span>
 <span id="L13" class="LineNr">  13 </span><span class="subxComment"># 2.</span>
-<span id="L14" class="LineNr">  14 </span><span class="subxComment">#   $ echo '*eax'  |  ./subx run apps/sigils</span>
+<span id="L14" class="LineNr">  14 </span><span class="subxComment">#   $ echo '*eax'  |  ./bootstrap run apps/sigils</span>
 <span id="L15" class="LineNr">  15 </span><span class="subxComment">#   0/mod 0/rm32</span>
 <span id="L16" class="LineNr">  16 </span><span class="subxComment">#</span>
 <span id="L17" class="LineNr">  17 </span><span class="subxComment"># 3.</span>
-<span id="L18" class="LineNr">  18 </span><span class="subxComment">#   $ echo '*(eax+4)'  |  ./subx run apps/sigils</span>
+<span id="L18" class="LineNr">  18 </span><span class="subxComment">#   $ echo '*(eax+4)'  |  ./bootstrap run apps/sigils</span>
 <span id="L19" class="LineNr">  19 </span><span class="subxComment">#   2/mod 0/rm32 4/disp32</span>
 <span id="L20" class="LineNr">  20 </span><span class="subxComment">#</span>
 <span id="L21" class="LineNr">  21 </span><span class="subxComment"># 4.</span>
-<span id="L22" class="LineNr">  22 </span><span class="subxComment">#   $ echo '*(eax+ecx)'  |  ./subx run apps/sigils</span>
+<span id="L22" class="LineNr">  22 </span><span class="subxComment">#   $ echo '*(eax+ecx)'  |  ./bootstrap run apps/sigils</span>
 <span id="L23" class="LineNr">  23 </span><span class="subxComment">#   0/mod 4/rm32 0/base 1/index 0/scale</span>
 <span id="L24" class="LineNr">  24 </span><span class="subxComment">#</span>
 <span id="L25" class="LineNr">  25 </span><span class="subxComment"># 5.</span>
-<span id="L26" class="LineNr">  26 </span><span class="subxComment">#   $ echo '*(eax+ecx+4)'  |  ./subx run apps/sigils</span>
+<span id="L26" class="LineNr">  26 </span><span class="subxComment">#   $ echo '*(eax+ecx+4)'  |  ./bootstrap run apps/sigils</span>
 <span id="L27" class="LineNr">  27 </span><span class="subxComment">#   2/mod 4/rm32 0/base 1/index 0/scale 4/disp32</span>
 <span id="L28" class="LineNr">  28 </span><span class="subxComment">#</span>
 <span id="L29" class="LineNr">  29 </span><span class="subxComment"># 6.</span>
-<span id="L30" class="LineNr">  30 </span><span class="subxComment">#   $ echo '*(eax+ecx&lt;&lt;2+4)'  |  ./subx run apps/sigils</span>
+<span id="L30" class="LineNr">  30 </span><span class="subxComment">#   $ echo '*(eax+ecx&lt;&lt;2+4)'  |  ./bootstrap run apps/sigils</span>
 <span id="L31" class="LineNr">  31 </span><span class="subxComment">#   2/mod 4/rm32 0/base 1/index 2/scale 4/disp32</span>
 <span id="L32" class="LineNr">  32 </span><span class="subxComment">#</span>
 <span id="L33" class="LineNr">  33 </span><span class="subxComment"># 7.</span>
-<span id="L34" class="LineNr">  34 </span><span class="subxComment">#   $ echo '*Foo'  |  ./subx run apps/sigils</span>
+<span id="L34" class="LineNr">  34 </span><span class="subxComment">#   $ echo '*Foo'  |  ./bootstrap run apps/sigils</span>
 <span id="L35" class="LineNr">  35 </span><span class="subxComment">#   0/mod 5/rm32/.disp32 Foo/disp32</span>
 <span id="L36" class="LineNr">  36 </span><span class="subxComment">#</span>
 <span id="L37" class="LineNr">  37 </span><span class="subxComment"># Addition isn't commutative here. Template must always be (base+index&lt;&lt;scale+disp),</span>
@@ -3650,7 +3650,7 @@ if ('onhashchange' in window) {
 <span id="L4052" class="LineNr">4052 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4053" class="LineNr">4053 </span>    50/push-eax
 <span id="L4054" class="LineNr">4054 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4055" class="LineNr">4055 </span>    e8/call  <a href='../067parse-hex.subx.html#L640'>is-hex-digit?</a>/disp32
+<span id="L4055" class="LineNr">4055 </span>    e8/call  <a href='../067parse-hex.subx.html#L701'>is-hex-digit?</a>/disp32
 <span id="L4056" class="LineNr">4056 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4057" class="LineNr">4057 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L4058" class="LineNr">4058 </span>    <span class="subxS1Comment"># . if (eax == false) break</span>
@@ -3660,7 +3660,7 @@ if ('onhashchange' in window) {
 <span id="L4062" class="LineNr">4062 </span>    <span class="subxS2Comment"># . . copy arg to eax</span>
 <span id="L4063" class="LineNr">4063 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4064" class="LineNr">4064 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4065" class="LineNr">4065 </span>    e8/call  <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32
+<span id="L4065" class="LineNr">4065 </span>    e8/call  <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32
 <span id="L4066" class="LineNr">4066 </span>    <span class="subxComment"># result = result * 16 + eax</span>
 <span id="L4067" class="LineNr">4067 </span>    c1/shift    4/subop/left        3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm8            <span class="subxComment"># shift edi left by 4 bits</span>
 <span id="L4068" class="LineNr">4068 </span>    01/add                          3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># add eax to edi</span>
@@ -4033,7 +4033,7 @@ if ('onhashchange' in window) {
 <span id="L4435" class="LineNr">4435 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L4436" class="LineNr">4436 </span>    50/push-eax
 <span id="L4437" class="LineNr">4437 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4438" class="LineNr">4438 </span>    e8/call  <a href='../067parse-hex.subx.html#L640'>is-hex-digit?</a>/disp32
+<span id="L4438" class="LineNr">4438 </span>    e8/call  <a href='../067parse-hex.subx.html#L701'>is-hex-digit?</a>/disp32
 <span id="L4439" class="LineNr">4439 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L4440" class="LineNr">4440 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L4441" class="LineNr">4441 </span>    <span class="subxS1Comment"># . if (eax == false) break</span>
@@ -4043,7 +4043,7 @@ if ('onhashchange' in window) {
 <span id="L4445" class="LineNr">4445 </span>    <span class="subxS2Comment"># . . copy arg to eax</span>
 <span id="L4446" class="LineNr">4446 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4447" class="LineNr">4447 </span>    <span class="subxS2Comment"># . . call</span>
-<span id="L4448" class="LineNr">4448 </span>    e8/call  <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32
+<span id="L4448" class="LineNr">4448 </span>    e8/call  <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32
 <span id="L4449" class="LineNr">4449 </span>    <span class="subxComment"># result = result * 16 + eax</span>
 <span id="L4450" class="LineNr">4450 </span>    c1/shift    4/subop/left        3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm8            <span class="subxComment"># shift edi left by 4 bits</span>
 <span id="L4451" class="LineNr">4451 </span>    01/add                          3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># add eax to edi</span>
diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html
index 9acf8ac9..70952749 100644
--- a/html/apps/survey.subx.html
+++ b/html/apps/survey.subx.html
@@ -68,7 +68,7 @@ if ('onhashchange' in window) {
 <span id="L5" class="LineNr">   5 </span><span class="subxComment">#   b) add segment headers with addresses and offsets correctly filled in</span>
 <span id="L6" class="LineNr">   6 </span><span class="subxComment">#</span>
 <span id="L7" class="LineNr">   7 </span><span class="subxComment"># To build:</span>
-<span id="L8" class="LineNr">   8 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/survey.subx  -o apps/survey</span>
+<span id="L8" class="LineNr">   8 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/survey.subx  -o apps/survey</span>
 <span id="L9" class="LineNr">   9 </span><span class="subxComment">#</span>
 <span id="L10" class="LineNr">  10 </span><span class="subxComment"># The expected input is a stream of bytes with segment headers, comments and</span>
 <span id="L11" class="LineNr">  11 </span><span class="subxComment"># some interspersed labels.</span>
@@ -86,7 +86,7 @@ if ('onhashchange' in window) {
 <span id="L23" class="LineNr">  23 </span><span class="subxComment"># The output is the stream of bytes without segment headers or label definitions,</span>
 <span id="L24" class="LineNr">  24 </span><span class="subxComment"># and with label references replaced with numeric values/displacements.</span>
 <span id="L25" class="LineNr">  25 </span><span class="subxComment">#</span>
-<span id="L26" class="LineNr">  26 </span><span class="subxComment">#   $ cat x  |./subx run apps/survey</span>
+<span id="L26" class="LineNr">  26 </span><span class="subxComment">#   $ cat x  |./bootstrap run apps/survey</span>
 <span id="L27" class="LineNr">  27 </span><span class="subxComment">#   ...ELF header bytes...</span>
 <span id="L28" class="LineNr">  28 </span><span class="subxComment">#   # ELF header above will specify that code segment begins at this offset</span>
 <span id="L29" class="LineNr">  29 </span><span class="subxComment">#   aa bb nn  # some computed address</span>
@@ -672,7 +672,7 @@ if ('onhashchange' in window) {
 <span id="L990" class="LineNr"> 990 </span>    <span class="subxComment"># seg-&gt;address = parse-hex-int-from-slice(segment-tmp)</span>
 <span id="L991" class="LineNr"> 991 </span>    <span class="subxS1Comment"># . eax = parse-hex-int-from-slice(segment-tmp)</span>
 <span id="L992" class="LineNr"> 992 </span>    68/push  <a href='survey.subx.html#L621'>compute-offsets</a>:segment-tmp/imm32
-<span id="L993" class="LineNr"> 993 </span>    e8/call  <a href='../067parse-hex.subx.html#L354'>parse-hex-int-from-slice</a>/disp32
+<span id="L993" class="LineNr"> 993 </span>    e8/call  <a href='../067parse-hex.subx.html#L387'>parse-hex-int-from-slice</a>/disp32
 <span id="L994" class="LineNr"> 994 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L995" class="LineNr"> 995 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L996" class="LineNr"> 996 </span>    <span class="subxS1Comment"># . seg-&gt;address = eax</span>
diff --git a/html/apps/tests.subx.html b/html/apps/tests.subx.html
index 2335bbb3..fa2ae715 100644
--- a/html/apps/tests.subx.html
+++ b/html/apps/tests.subx.html
@@ -62,7 +62,7 @@ if ('onhashchange' in window) {
 <span id="L2" class="LineNr">  2 </span><span class="subxComment"># all functions starting with 'test-'.</span>
 <span id="L3" class="LineNr">  3 </span><span class="subxComment">#</span>
 <span id="L4" class="LineNr">  4 </span><span class="subxComment"># To build:</span>
-<span id="L5" class="LineNr">  5 </span><span class="subxComment">#   $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/tests.subx  -o apps/tests</span>
+<span id="L5" class="LineNr">  5 </span><span class="subxComment">#   $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/tests.subx  -o apps/tests</span>
 <span id="L6" class="LineNr">  6 </span>
 <span id="L7" class="LineNr">  7 </span>== code
 <span id="L8" class="LineNr">  8 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>