This commit is contained in:
Kartik Agaram 2020-02-29 05:53:13 -08:00
parent c51f590273
commit af326d9e39
18 changed files with 99 additions and 103 deletions

View File

@ -312,16 +312,14 @@ is-decimal-digit?: # c: byte -> eax: boolean
51/push-ecx
# ecx = c
8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 1/r32/ecx 8/disp8 . # copy *(ebp+8) to ecx
# result = false
b8/copy-to-eax 0/imm32/false
# return false if c < '0'
81 7/subop/compare 3/mod/direct 1/rm32/ecx . . . . . 0x30/imm32 # compare ecx
7c/jump-if-< $is-decimal-digit?:false/disp8
# return true if c <= '9'
7c/jump-if-< $is-decimal-digit?:end/disp8
# return (c <= '9')
81 7/subop/compare 3/mod/direct 1/rm32/ecx . . . . . 0x39/imm32 # compare ecx
7e/jump-if-<= $is-decimal-digit?:true/disp8
# otherwise return false
$is-decimal-digit?:false:
b8/copy-to-eax 0/imm32/false
eb/jump $is-decimal-digit?:end/disp8
7f/jump-if-> $is-decimal-digit?:end/disp8
$is-decimal-digit?:true:
b8/copy-to-eax 1/imm32/true
$is-decimal-digit?:end:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
apps/hex

Binary file not shown.

BIN
apps/mu

Binary file not shown.

View File

@ -8367,7 +8367,7 @@ subx-type-equal?: # a: (handle tree type-id), b: (handle tree type-id) -> resul
# return alit == blit
39/compare %eax 1/r32/ecx
74/jump-if-= $subx-type-equal?:true/disp8
$subx-type-equal?:false:
$subx-type-equal?:false: # TODO: replace with setcc
b8/copy-to-eax 0/imm32/false
eb/jump $subx-type-equal?:end/disp8
$subx-type-equal?:true:

BIN
apps/pack

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -348,100 +348,98 @@ if ('onhashchange' in window) {
<span id="L312" class="LineNr">312 </span> 51/push-ecx
<span id="L313" class="LineNr">313 </span> <span class="subxComment"># ecx = c</span>
<span id="L314" class="LineNr">314 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+8) to ecx</span>
<span id="L315" class="LineNr">315 </span> <span class="subxComment"># return false if c &lt; '0'</span>
<span id="L316" class="LineNr">316 </span> 81 7/subop/compare 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> 0x30/imm32 <span class="subxComment"># compare ecx</span>
<span id="L317" class="LineNr">317 </span> 7c/jump-if-&lt; $is-decimal-digit?:false/disp8
<span id="L318" class="LineNr">318 </span> <span class="subxComment"># return true if c &lt;= '9'</span>
<span id="L319" class="LineNr">319 </span> 81 7/subop/compare 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> 0x39/imm32 <span class="subxComment"># compare ecx</span>
<span id="L320" class="LineNr">320 </span> 7e/jump-if-&lt;= $is-decimal-digit?:true/disp8
<span id="L321" class="LineNr">321 </span> <span class="subxComment"># otherwise return false</span>
<span id="L322" class="LineNr">322 </span><span class="Constant">$is-decimal-digit?:false</span>:
<span id="L323" class="LineNr">323 </span> b8/copy-to-eax 0/imm32/false
<span id="L324" class="LineNr">324 </span> eb/jump $is-decimal-digit?:end/disp8
<span id="L325" class="LineNr">325 </span><span class="Constant">$is-decimal-digit?:true</span>:
<span id="L326" class="LineNr">326 </span> b8/copy-to-eax 1/imm32/true
<span id="L327" class="LineNr">327 </span><span class="Constant">$is-decimal-digit?:end</span>:
<span id="L328" class="LineNr">328 </span> <span class="subxS1Comment"># . restore registers</span>
<span id="L329" class="LineNr">329 </span> 59/pop-to-ecx
<span id="L330" class="LineNr">330 </span> <span class="subxS1Comment"># . epilogue</span>
<span id="L331" class="LineNr">331 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span>
<span id="L332" class="LineNr">332 </span> 5d/pop-to-ebp
<span id="L333" class="LineNr">333 </span> c3/return
<span id="L334" class="LineNr">334 </span>
<span id="L335" class="LineNr">335 </span><span class="subxTest">test-is-decimal-digit-below-0</span>:
<span id="L336" class="LineNr">336 </span> <span class="subxComment"># eax = is-decimal-digit?(0x2f)</span>
<span id="L337" class="LineNr">337 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L338" class="LineNr">338 </span> 68/push 0x2f/imm32
<span id="L339" class="LineNr">339 </span> <span class="subxS2Comment"># . . call</span>
<span id="L340" class="LineNr">340 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L341" class="LineNr">341 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L342" class="LineNr">342 </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="L343" class="LineNr">343 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span>
<span id="L344" class="LineNr">344 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L345" class="LineNr">345 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-below-0&quot;</span>/imm32
<span id="L346" class="LineNr">346 </span> 68/push 0/imm32/false
<span id="L347" class="LineNr">347 </span> 50/push-eax
<span id="L348" class="LineNr">348 </span> <span class="subxS2Comment"># . . call</span>
<span id="L349" class="LineNr">349 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L350" class="LineNr">350 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L351" class="LineNr">351 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L352" class="LineNr">352 </span> c3/return
<span id="L353" class="LineNr">353 </span>
<span id="L354" class="LineNr">354 </span><span class="subxTest">test-is-decimal-digit-0-to-9</span>:
<span id="L355" class="LineNr">355 </span> <span class="subxComment"># eax = is-decimal-digit?(0x30)</span>
<span id="L356" class="LineNr">356 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L357" class="LineNr">357 </span> 68/push 0x30/imm32
<span id="L358" class="LineNr">358 </span> <span class="subxS2Comment"># . . call</span>
<span id="L359" class="LineNr">359 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L360" class="LineNr">360 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L361" class="LineNr">361 </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="L362" class="LineNr">362 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span>
<span id="L363" class="LineNr">363 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L364" class="LineNr">364 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-at-0&quot;</span>/imm32
<span id="L365" class="LineNr">365 </span> 68/push 1/imm32/true
<span id="L366" class="LineNr">366 </span> 50/push-eax
<span id="L367" class="LineNr">367 </span> <span class="subxS2Comment"># . . call</span>
<span id="L368" class="LineNr">368 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L369" class="LineNr">369 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L370" class="LineNr">370 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L371" class="LineNr">371 </span> <span class="subxComment"># eax = is-decimal-digit?(0x39)</span>
<span id="L372" class="LineNr">372 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L373" class="LineNr">373 </span> 68/push 0x39/imm32
<span id="L374" class="LineNr">374 </span> <span class="subxS2Comment"># . . call</span>
<span id="L375" class="LineNr">375 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L376" class="LineNr">376 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L377" class="LineNr">377 </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="L378" class="LineNr">378 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span>
<span id="L379" class="LineNr">379 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L380" class="LineNr">380 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-at-9&quot;</span>/imm32
<span id="L381" class="LineNr">381 </span> 68/push 1/imm32/true
<span id="L382" class="LineNr">382 </span> 50/push-eax
<span id="L383" class="LineNr">383 </span> <span class="subxS2Comment"># . . call</span>
<span id="L384" class="LineNr">384 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L385" class="LineNr">385 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L386" class="LineNr">386 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L387" class="LineNr">387 </span> c3/return
<span id="L388" class="LineNr">388 </span>
<span id="L389" class="LineNr">389 </span><span class="subxTest">test-is-decimal-digit-above-9</span>:
<span id="L390" class="LineNr">390 </span> <span class="subxComment"># eax = is-decimal-digit?(0x3a)</span>
<span id="L391" class="LineNr">391 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L392" class="LineNr">392 </span> 68/push 0x3a/imm32
<span id="L393" class="LineNr">393 </span> <span class="subxS2Comment"># . . call</span>
<span id="L394" class="LineNr">394 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L395" class="LineNr">395 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L396" class="LineNr">396 </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="L397" class="LineNr">397 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span>
<span id="L398" class="LineNr">398 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L399" class="LineNr">399 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-above-9&quot;</span>/imm32
<span id="L400" class="LineNr">400 </span> 68/push 0/imm32/false
<span id="L401" class="LineNr">401 </span> 50/push-eax
<span id="L402" class="LineNr">402 </span> <span class="subxS2Comment"># . . call</span>
<span id="L403" class="LineNr">403 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L404" class="LineNr">404 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L405" class="LineNr">405 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L406" class="LineNr">406 </span> c3/return
<span id="L407" class="LineNr">407 </span>
<span id="L408" class="LineNr">408 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
<span id="L315" class="LineNr">315 </span> <span class="subxComment"># result = false</span>
<span id="L316" class="LineNr">316 </span> b8/copy-to-eax 0/imm32/false
<span id="L317" class="LineNr">317 </span> <span class="subxComment"># return false if c &lt; '0'</span>
<span id="L318" class="LineNr">318 </span> 81 7/subop/compare 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> 0x30/imm32 <span class="subxComment"># compare ecx</span>
<span id="L319" class="LineNr">319 </span> 7c/jump-if-&lt; $is-decimal-digit?:end/disp8
<span id="L320" class="LineNr">320 </span> <span class="subxComment"># return (c &lt;= '9')</span>
<span id="L321" class="LineNr">321 </span> 81 7/subop/compare 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> 0x39/imm32 <span class="subxComment"># compare ecx</span>
<span id="L322" class="LineNr">322 </span> 7f/jump-if-&gt; $is-decimal-digit?:end/disp8
<span id="L323" class="LineNr">323 </span><span class="Constant">$is-decimal-digit?:true</span>:
<span id="L324" class="LineNr">324 </span> b8/copy-to-eax 1/imm32/true
<span id="L325" class="LineNr">325 </span><span class="Constant">$is-decimal-digit?:end</span>:
<span id="L326" class="LineNr">326 </span> <span class="subxS1Comment"># . restore registers</span>
<span id="L327" class="LineNr">327 </span> 59/pop-to-ecx
<span id="L328" class="LineNr">328 </span> <span class="subxS1Comment"># . epilogue</span>
<span id="L329" class="LineNr">329 </span> 89/copy 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 5/r32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy ebp to esp</span>
<span id="L330" class="LineNr">330 </span> 5d/pop-to-ebp
<span id="L331" class="LineNr">331 </span> c3/return
<span id="L332" class="LineNr">332 </span>
<span id="L333" class="LineNr">333 </span><span class="subxTest">test-is-decimal-digit-below-0</span>:
<span id="L334" class="LineNr">334 </span> <span class="subxComment"># eax = is-decimal-digit?(0x2f)</span>
<span id="L335" class="LineNr">335 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L336" class="LineNr">336 </span> 68/push 0x2f/imm32
<span id="L337" class="LineNr">337 </span> <span class="subxS2Comment"># . . call</span>
<span id="L338" class="LineNr">338 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L339" class="LineNr">339 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L340" class="LineNr">340 </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="L341" class="LineNr">341 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span>
<span id="L342" class="LineNr">342 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L343" class="LineNr">343 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-below-0&quot;</span>/imm32
<span id="L344" class="LineNr">344 </span> 68/push 0/imm32/false
<span id="L345" class="LineNr">345 </span> 50/push-eax
<span id="L346" class="LineNr">346 </span> <span class="subxS2Comment"># . . call</span>
<span id="L347" class="LineNr">347 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L348" class="LineNr">348 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L349" class="LineNr">349 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L350" class="LineNr">350 </span> c3/return
<span id="L351" class="LineNr">351 </span>
<span id="L352" class="LineNr">352 </span><span class="subxTest">test-is-decimal-digit-0-to-9</span>:
<span id="L353" class="LineNr">353 </span> <span class="subxComment"># eax = is-decimal-digit?(0x30)</span>
<span id="L354" class="LineNr">354 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L355" class="LineNr">355 </span> 68/push 0x30/imm32
<span id="L356" class="LineNr">356 </span> <span class="subxS2Comment"># . . call</span>
<span id="L357" class="LineNr">357 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L358" class="LineNr">358 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L359" class="LineNr">359 </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="L360" class="LineNr">360 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span>
<span id="L361" class="LineNr">361 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L362" class="LineNr">362 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-at-0&quot;</span>/imm32
<span id="L363" class="LineNr">363 </span> 68/push 1/imm32/true
<span id="L364" class="LineNr">364 </span> 50/push-eax
<span id="L365" class="LineNr">365 </span> <span class="subxS2Comment"># . . call</span>
<span id="L366" class="LineNr">366 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L367" class="LineNr">367 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L368" class="LineNr">368 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L369" class="LineNr">369 </span> <span class="subxComment"># eax = is-decimal-digit?(0x39)</span>
<span id="L370" class="LineNr">370 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L371" class="LineNr">371 </span> 68/push 0x39/imm32
<span id="L372" class="LineNr">372 </span> <span class="subxS2Comment"># . . call</span>
<span id="L373" class="LineNr">373 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L374" class="LineNr">374 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L375" class="LineNr">375 </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="L376" class="LineNr">376 </span> <span class="subxComment"># check-ints-equal(eax, 1, msg)</span>
<span id="L377" class="LineNr">377 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L378" class="LineNr">378 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-at-9&quot;</span>/imm32
<span id="L379" class="LineNr">379 </span> 68/push 1/imm32/true
<span id="L380" class="LineNr">380 </span> 50/push-eax
<span id="L381" class="LineNr">381 </span> <span class="subxS2Comment"># . . call</span>
<span id="L382" class="LineNr">382 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L383" class="LineNr">383 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L384" class="LineNr">384 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L385" class="LineNr">385 </span> c3/return
<span id="L386" class="LineNr">386 </span>
<span id="L387" class="LineNr">387 </span><span class="subxTest">test-is-decimal-digit-above-9</span>:
<span id="L388" class="LineNr">388 </span> <span class="subxComment"># eax = is-decimal-digit?(0x3a)</span>
<span id="L389" class="LineNr">389 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L390" class="LineNr">390 </span> 68/push 0x3a/imm32
<span id="L391" class="LineNr">391 </span> <span class="subxS2Comment"># . . call</span>
<span id="L392" class="LineNr">392 </span> e8/call <a href='075print-int-decimal.subx.html#L307'>is-decimal-digit?</a>/disp32
<span id="L393" class="LineNr">393 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L394" class="LineNr">394 </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="L395" class="LineNr">395 </span> <span class="subxComment"># check-ints-equal(eax, 0, msg)</span>
<span id="L396" class="LineNr">396 </span> <span class="subxS2Comment"># . . push args</span>
<span id="L397" class="LineNr">397 </span> 68/push <span class="Constant">&quot;F - test-is-decimal-digit-above-9&quot;</span>/imm32
<span id="L398" class="LineNr">398 </span> 68/push 0/imm32/false
<span id="L399" class="LineNr">399 </span> 50/push-eax
<span id="L400" class="LineNr">400 </span> <span class="subxS2Comment"># . . call</span>
<span id="L401" class="LineNr">401 </span> e8/call <a href='051test.subx.html#L24'>check-ints-equal</a>/disp32
<span id="L402" class="LineNr">402 </span> <span class="subxS2Comment"># . . discard args</span>
<span id="L403" class="LineNr">403 </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> 0xc/imm32 <span class="subxComment"># add to esp</span>
<span id="L404" class="LineNr">404 </span> c3/return
<span id="L405" class="LineNr">405 </span>
<span id="L406" class="LineNr">406 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
</pre>
</body>
</html>

View File

@ -8091,7 +8091,7 @@ if ('onhashchange' in window) {
<span id="L8367" class="LineNr">8367 </span> <span class="subxComment"># return alit == blit</span>
<span id="L8368" class="LineNr">8368 </span> 39/compare %eax 1/r32/ecx
<span id="L8369" class="LineNr">8369 </span> 74/jump-if-= $subx-type-equal?:true/disp8
<span id="L8370" class="LineNr">8370 </span><span class="Constant">$subx-type-equal?:false</span>:
<span id="L8370" class="LineNr">8370 </span><span class="Constant">$subx-type-equal?:false</span>: <span class="subxComment"># TODO: replace with setcc</span>
<span id="L8371" class="LineNr">8371 </span> b8/copy-to-eax 0/imm32/false
<span id="L8372" class="LineNr">8372 </span> eb/jump $subx-type-equal?:end/disp8
<span id="L8373" class="LineNr">8373 </span><span class="Constant">$subx-type-equal?:true</span>: