about summary refs log tree commit diff stats
path: root/html/apps/calls.subx.html
diff options
context:
space:
mode:
Diffstat (limited to 'html/apps/calls.subx.html')
-rw-r--r--html/apps/calls.subx.html50
1 files changed, 25 insertions, 25 deletions
diff --git a/html/apps/calls.subx.html b/html/apps/calls.subx.html
index 2513b344..0f1f352d 100644
--- a/html/apps/calls.subx.html
+++ b/html/apps/calls.subx.html
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L41" class="LineNr">  41 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L42" class="LineNr">  42 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L43" class="LineNr">  43 </span>    81 7/subop/compare *ebp 1/imm32
-<span id="L44" class="LineNr">  44 </span>    7e/jump-if-lesser-or-equal $subx-calls-main:interactive/disp8
+<span id="L44" class="LineNr">  44 </span>    7e/jump-if-&lt;= $subx-calls-main:interactive/disp8
 <span id="L45" class="LineNr">  45 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L46" class="LineNr">  46 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L47" class="LineNr">  47 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -114,7 +114,7 @@ if ('onhashchange' in window) {
 <span id="L53" class="LineNr">  53 </span>    81 0/subop/add %esp 8/imm32
 <span id="L54" class="LineNr">  54 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L55" class="LineNr">  55 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L56" class="LineNr">  56 </span>    74/jump-if-equal $subx-calls-main:interactive/disp8
+<span id="L56" class="LineNr">  56 </span>    74/jump-if-= $subx-calls-main:interactive/disp8
 <span id="L57" class="LineNr">  57 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L58" class="LineNr">  58 </span>    e8/call run-tests/disp32
 <span id="L59" class="LineNr">  59 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -197,7 +197,7 @@ if ('onhashchange' in window) {
 <span id="L136" class="LineNr"> 136 </span><span class="Constant">$subx-calls:check0</span>:
 <span id="L137" class="LineNr"> 137 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L138" class="LineNr"> 138 </span>    81 7/subop/compare *esi 0/imm32
-<span id="L139" class="LineNr"> 139 </span>    0f 84/jump-if-equal $subx-calls:<span class="Constant">break</span>/disp32
+<span id="L139" class="LineNr"> 139 </span>    0f 84/jump-if-= $subx-calls:<span class="Constant">break</span>/disp32
 <span id="L140" class="LineNr"> 140 </span>    <span class="subxComment"># skip-chars-matching-whitespace(line)</span>
 <span id="L141" class="LineNr"> 141 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L142" class="LineNr"> 142 </span>    56/push-esi
@@ -213,7 +213,7 @@ if ('onhashchange' in window) {
 <span id="L152" class="LineNr"> 152 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L153" class="LineNr"> 153 </span>    <span class="subxS1Comment"># . if (eax == '(') goto convert-call</span>
 <span id="L154" class="LineNr"> 154 </span>    3d/compare-eax-and 0x28/imm32/open-paren
-<span id="L155" class="LineNr"> 155 </span>    74/jump-if-equal $subx-calls:convert-call/disp8
+<span id="L155" class="LineNr"> 155 </span>    74/jump-if-= $subx-calls:convert-call/disp8
 <span id="L156" class="LineNr"> 156 </span><span class="Constant">$subx-calls:pass-through</span>:
 <span id="L157" class="LineNr"> 157 </span>    <span class="subxComment"># write-stream-data(out, line)</span>
 <span id="L158" class="LineNr"> 158 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -331,7 +331,7 @@ if ('onhashchange' in window) {
 <span id="L270" class="LineNr"> 270 </span>    81 0/subop/add %esp 4/imm32
 <span id="L271" class="LineNr"> 271 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L272" class="LineNr"> 272 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L273" class="LineNr"> 273 </span>    0f 85/jump-if-not-equal $parse-line:end/disp32
+<span id="L273" class="LineNr"> 273 </span>    0f 85/jump-if-!= $parse-line:end/disp32
 <span id="L274" class="Folded"> 274 </span><span class="Folded">+-- 40 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L314" class="LineNr"> 314 </span><span class="Constant">$parse-line:write-word</span>:
 <span id="L315" class="LineNr"> 315 </span>    <span class="subxComment"># write-int(words, word-slice-&gt;start)</span>
@@ -402,7 +402,7 @@ if ('onhashchange' in window) {
 <span id="L380" class="LineNr"> 380 </span>    <span class="subxS1Comment"># . ecx = words-&gt;write - 8</span>
 <span id="L381" class="LineNr"> 381 </span>    8b/-&gt; *esi 1/r32/ecx
 <span id="L382" class="LineNr"> 382 </span>    81 5/subop/subtract %ecx 8/imm32
-<span id="L383" class="LineNr"> 383 </span>    0f 8c/jump-if-lesser $emit-call:error1/disp32
+<span id="L383" class="LineNr"> 383 </span>    0f 8c/jump-if-&lt; $emit-call:error1/disp32
 <span id="L384" class="LineNr"> 384 </span>    <span class="subxComment"># var curr/ecx : (addr slice) = &amp;words-&gt;data[words-&gt;write-8]</span>
 <span id="L385" class="LineNr"> 385 </span>    8d/copy-address *(esi+ecx+0xc) 1/r32/ecx
 <span id="L386" class="LineNr"> 386 </span>    <span class="subxComment"># var min/edx : (addr byte) = words-&gt;data</span>
@@ -411,7 +411,7 @@ if ('onhashchange' in window) {
 <span id="L389" class="LineNr"> 389 </span><span class="Constant">$emit-call:push-loop</span>:
 <span id="L390" class="LineNr"> 390 </span>    <span class="subxComment"># if (curr &lt;= min) break</span>
 <span id="L391" class="LineNr"> 391 </span>    39/compare %ecx 2/r32/edx
-<span id="L392" class="LineNr"> 392 </span>    0f 8e/jump-if-lesser-or-equal $emit-call:call-instruction/disp32
+<span id="L392" class="LineNr"> 392 </span>    0f 8e/jump-if-&lt;= $emit-call:call-instruction/disp32
 <span id="L393" class="LineNr"> 393 </span>    <span class="subxComment"># if (*curr-&gt;start in '%' '*') goto push-rm32</span>
 <span id="L394" class="LineNr"> 394 </span>    <span class="subxS1Comment"># . var start/eax : (addr byte) = curr-&gt;start</span>
 <span id="L395" class="LineNr"> 395 </span>    8b/-&gt; *ecx 0/r32/eax
@@ -420,10 +420,10 @@ if ('onhashchange' in window) {
 <span id="L398" class="LineNr"> 398 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L399" class="LineNr"> 399 </span>    <span class="subxS1Comment"># . if (c == '%') goto push-rm32</span>
 <span id="L400" class="LineNr"> 400 </span>    3d/compare-eax-and 0x25/imm32/percent
-<span id="L401" class="LineNr"> 401 </span>    74/jump-if-equal $emit-call:push-rm32/disp8
+<span id="L401" class="LineNr"> 401 </span>    74/jump-if-= $emit-call:push-rm32/disp8
 <span id="L402" class="LineNr"> 402 </span>    <span class="subxS1Comment"># . if (c == '*') goto push-rm32</span>
 <span id="L403" class="LineNr"> 403 </span>    3d/compare-eax-and 0x2a/imm32/asterisk
-<span id="L404" class="LineNr"> 404 </span>    74/jump-if-equal $emit-call:push-rm32/disp8
+<span id="L404" class="LineNr"> 404 </span>    74/jump-if-= $emit-call:push-rm32/disp8
 <span id="L405" class="LineNr"> 405 </span><span class="Constant">$emit-call:push-imm32</span>:
 <span id="L406" class="LineNr"> 406 </span>    <span class="subxComment"># write-buffered(out, &quot;68/push &quot;)</span>
 <span id="L407" class="LineNr"> 407 </span>    68/push <span class="Constant">&quot;68/push &quot;</span>/imm32
@@ -814,7 +814,7 @@ if ('onhashchange' in window) {
 <span id="L824" class="LineNr"> 824 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L825" class="LineNr"> 825 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return out = {0, 0}</span>
 <span id="L826" class="LineNr"> 826 </span>    3b/compare 1/r32/ecx *esi
-<span id="L827" class="LineNr"> 827 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L827" class="LineNr"> 827 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L828" class="LineNr"> 828 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-comment</span>:
 <span id="L829" class="LineNr"> 829 </span>    <span class="subxComment"># out-&gt;start = &amp;line-&gt;data[line-&gt;read]</span>
 <span id="L830" class="LineNr"> 830 </span>    8d/copy-address *(esi+ecx+0xc) 0/r32/eax
@@ -825,7 +825,7 @@ if ('onhashchange' in window) {
 <span id="L835" class="LineNr"> 835 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L836" class="LineNr"> 836 </span>    <span class="subxS1Comment"># . if (eax != '#') goto next check</span>
 <span id="L837" class="LineNr"> 837 </span>    3d/compare-eax-and 0x23/imm32/pound
-<span id="L838" class="LineNr"> 838 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
+<span id="L838" class="LineNr"> 838 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
 <span id="L839" class="LineNr"> 839 </span><span class="Constant">$next-word-string-or-expression-without-metadata:comment</span>:
 <span id="L840" class="LineNr"> 840 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
 <span id="L841" class="LineNr"> 841 </span>    8b/-&gt; *esi 0/r32/eax
@@ -839,7 +839,7 @@ if ('onhashchange' in window) {
 <span id="L849" class="LineNr"> 849 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-string-literal</span>:
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '&quot;') goto next check</span>
 <span id="L851" class="LineNr"> 851 </span>    3d/compare-eax-and 0x22/imm32/dquote
-<span id="L852" class="LineNr"> 852 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-expression/disp8
+<span id="L852" class="LineNr"> 852 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-expression/disp8
 <span id="L853" class="LineNr"> 853 </span><span class="Constant">$next-word-string-or-expression-without-metadata:string-literal</span>:
 <span id="L854" class="LineNr"> 854 </span>    <span class="subxComment"># skip-string(line)</span>
 <span id="L855" class="LineNr"> 855 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -857,14 +857,14 @@ if ('onhashchange' in window) {
 <span id="L867" class="LineNr"> 867 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-expression</span>:
 <span id="L868" class="LineNr"> 868 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '*') goto next check</span>
 <span id="L869" class="LineNr"> 869 </span>    3d/compare-eax-and 0x2a/imm32/asterisk
-<span id="L870" class="LineNr"> 870 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
+<span id="L870" class="LineNr"> 870 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
 <span id="L871" class="LineNr"> 871 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] == ' ') goto error1</span>
 <span id="L872" class="LineNr"> 872 </span>    8a/copy-byte *(esi+ecx+0xd) 0/r32/AL
 <span id="L873" class="LineNr"> 873 </span>    3d/compare-eax-and 0x20/imm32/space
-<span id="L874" class="LineNr"> 874 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error1/disp32
+<span id="L874" class="LineNr"> 874 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error1/disp32
 <span id="L875" class="LineNr"> 875 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] != '(') goto regular-word</span>
 <span id="L876" class="LineNr"> 876 </span>    3d/compare-eax-and 0x28/imm32/open-paren
-<span id="L877" class="LineNr"> 877 </span>    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
+<span id="L877" class="LineNr"> 877 </span>    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
 <span id="L878" class="LineNr"> 878 </span><span class="Constant">$next-word-string-or-expression-without-metadata:paren</span>:
 <span id="L879" class="LineNr"> 879 </span>    <span class="subxComment"># skip-until-close-paren(line)</span>
 <span id="L880" class="LineNr"> 880 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -879,7 +879,7 @@ if ('onhashchange' in window) {
 <span id="L889" class="LineNr"> 889 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L890" class="LineNr"> 890 </span>    <span class="subxS1Comment"># . if (eax != ')') goto error2</span>
 <span id="L891" class="LineNr"> 891 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L892" class="LineNr"> 892 </span>    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:error2/disp32
+<span id="L892" class="LineNr"> 892 </span>    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:error2/disp32
 <span id="L893" class="LineNr"> 893 </span>    <span class="subxComment"># ++line-&gt;read to skip ')'</span>
 <span id="L894" class="LineNr"> 894 </span>    ff 0/subop/increment *(esi+4)
 <span id="L895" class="LineNr"> 895 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;read]</span>
@@ -891,7 +891,7 @@ if ('onhashchange' in window) {
 <span id="L901" class="LineNr"> 901 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-end-of-call</span>:
 <span id="L902" class="LineNr"> 902 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != ')') goto next check</span>
 <span id="L903" class="LineNr"> 903 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L904" class="LineNr"> 904 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
+<span id="L904" class="LineNr"> 904 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
 <span id="L905" class="LineNr"> 905 </span>    <span class="subxComment"># ++line-&gt;read to skip ')'</span>
 <span id="L906" class="LineNr"> 906 </span>    ff 0/subop/increment *(esi+4)
 <span id="L907" class="LineNr"> 907 </span>    <span class="subxH1Comment"># - error checking: make sure there's nothing else of importance on the line</span>
@@ -900,13 +900,13 @@ if ('onhashchange' in window) {
 <span id="L910" class="LineNr"> 910 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L911" class="LineNr"> 911 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return {0, 0}</span>
 <span id="L912" class="LineNr"> 912 </span>    3b/compare 1/r32/ecx *esi
-<span id="L913" class="LineNr"> 913 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L913" class="LineNr"> 913 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L914" class="LineNr"> 914 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '/') goto error3</span>
 <span id="L915" class="LineNr"> 915 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L916" class="LineNr"> 916 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L917" class="LineNr"> 917 </span>    <span class="subxS1Comment"># . if (eax == '/') goto error3</span>
 <span id="L918" class="LineNr"> 918 </span>    3d/compare-eax-and 0x2f/imm32/slash
-<span id="L919" class="LineNr"> 919 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error3/disp32
+<span id="L919" class="LineNr"> 919 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error3/disp32
 <span id="L920" class="LineNr"> 920 </span>    <span class="subxComment"># skip-chars-matching-whitespace(line)</span>
 <span id="L921" class="LineNr"> 921 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L922" class="LineNr"> 922 </span>    56/push-esi
@@ -919,14 +919,14 @@ if ('onhashchange' in window) {
 <span id="L929" class="LineNr"> 929 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L930" class="LineNr"> 930 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return {0, 0}</span>
 <span id="L931" class="LineNr"> 931 </span>    3b/compare 1/r32/ecx *esi
-<span id="L932" class="LineNr"> 932 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L932" class="LineNr"> 932 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L933" class="LineNr"> 933 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '#') return out = {0, 0}</span>
 <span id="L934" class="LineNr"> 934 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L935" class="LineNr"> 935 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L936" class="LineNr"> 936 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L937" class="LineNr"> 937 </span>    <span class="subxS1Comment"># . if (eax == '#') return out = {0, 0}</span>
 <span id="L938" class="LineNr"> 938 </span>    3d/compare-eax-and 0x23/imm32/pound
-<span id="L939" class="LineNr"> 939 </span>    74/jump-if-equal $next-word-string-or-expression-without-metadata:return-eol/disp8
+<span id="L939" class="LineNr"> 939 </span>    74/jump-if-= $next-word-string-or-expression-without-metadata:return-eol/disp8
 <span id="L940" class="LineNr"> 940 </span>    <span class="subxComment"># otherwise goto error4</span>
 <span id="L941" class="LineNr"> 941 </span>    e9/jump $next-word-string-or-expression-without-metadata:error4/disp32
 <span id="L942" class="LineNr"> 942 </span><span class="Constant">$next-word-string-or-expression-without-metadata:regular-word-without-metadata</span>:
@@ -935,20 +935,20 @@ if ('onhashchange' in window) {
 <span id="L945" class="LineNr"> 945 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L946" class="LineNr"> 946 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) break</span>
 <span id="L947" class="LineNr"> 947 </span>    3b/compare *esi 1/r32/ecx
-<span id="L948" class="LineNr"> 948 </span>    7d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+<span id="L948" class="LineNr"> 948 </span>    7d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
 <span id="L949" class="LineNr"> 949 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == ' ') break</span>
 <span id="L950" class="LineNr"> 950 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L951" class="LineNr"> 951 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L952" class="LineNr"> 952 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L953" class="LineNr"> 953 </span>    <span class="subxS1Comment"># . if (eax == ' ') break</span>
 <span id="L954" class="LineNr"> 954 </span>    3d/compare-eax-and 0x20/imm32/space
-<span id="L955" class="LineNr"> 955 </span>    74/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+<span id="L955" class="LineNr"> 955 </span>    74/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
 <span id="L956" class="LineNr"> 956 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == ')') break</span>
 <span id="L957" class="LineNr"> 957 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L958" class="LineNr"> 958 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp32
+<span id="L958" class="LineNr"> 958 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp32
 <span id="L959" class="LineNr"> 959 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '/') goto error5</span>
 <span id="L960" class="LineNr"> 960 </span>    3d/compare-eax-and 0x2f/imm32/slash
-<span id="L961" class="LineNr"> 961 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error5/disp32
+<span id="L961" class="LineNr"> 961 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error5/disp32
 <span id="L962" class="LineNr"> 962 </span>    <span class="subxComment"># ++line-&gt;read</span>
 <span id="L963" class="LineNr"> 963 </span>    ff 0/subop/increment *(esi+4)
 <span id="L964" class="LineNr"> 964 </span>    <span class="subxComment"># loop</span>