diff options
-rw-r--r-- | 075print-int-decimal.subx | 12 | ||||
-rwxr-xr-x | apps/assort | bin | 40722 -> 40720 bytes | |||
-rwxr-xr-x | apps/braces | bin | 42416 -> 42414 bytes | |||
-rwxr-xr-x | apps/calls | bin | 47077 -> 47075 bytes | |||
-rwxr-xr-x | apps/crenshaw2-1 | bin | 40130 -> 40128 bytes | |||
-rwxr-xr-x | apps/crenshaw2-1b | bin | 40677 -> 40675 bytes | |||
-rwxr-xr-x | apps/dquotes | bin | 44372 -> 44370 bytes | |||
-rwxr-xr-x | apps/factorial | bin | 39149 -> 39147 bytes | |||
-rwxr-xr-x | apps/handle | bin | 40047 -> 40045 bytes | |||
-rwxr-xr-x | apps/hex | bin | 42969 -> 42967 bytes | |||
-rwxr-xr-x | apps/mu | bin | 160792 -> 160790 bytes | |||
-rw-r--r-- | apps/mu.subx | 2 | ||||
-rwxr-xr-x | apps/pack | bin | 53114 -> 53112 bytes | |||
-rwxr-xr-x | apps/sigils | bin | 54801 -> 54799 bytes | |||
-rwxr-xr-x | apps/survey | bin | 49963 -> 49961 bytes | |||
-rwxr-xr-x | apps/tests | bin | 39520 -> 39518 bytes | |||
-rw-r--r-- | html/075print-int-decimal.subx.html | 186 | ||||
-rw-r--r-- | html/apps/mu.subx.html | 2 |
18 files changed, 99 insertions, 103 deletions
diff --git a/075print-int-decimal.subx b/075print-int-decimal.subx index 6967a2a7..19fae94b 100644 --- a/075print-int-decimal.subx +++ b/075print-int-decimal.subx @@ -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: diff --git a/apps/assort b/apps/assort index 5a3a32a3..413fd903 100755 --- a/apps/assort +++ b/apps/assort Binary files differdiff --git a/apps/braces b/apps/braces index 3f85235e..541ea51f 100755 --- a/apps/braces +++ b/apps/braces Binary files differdiff --git a/apps/calls b/apps/calls index c524a9d2..7f81b966 100755 --- a/apps/calls +++ b/apps/calls Binary files differdiff --git a/apps/crenshaw2-1 b/apps/crenshaw2-1 index b87f041b..38762989 100755 --- a/apps/crenshaw2-1 +++ b/apps/crenshaw2-1 Binary files differdiff --git a/apps/crenshaw2-1b b/apps/crenshaw2-1b index b7294aeb..edd330ff 100755 --- a/apps/crenshaw2-1b +++ b/apps/crenshaw2-1b Binary files differdiff --git a/apps/dquotes b/apps/dquotes index bb137fec..8edb4c6d 100755 --- a/apps/dquotes +++ b/apps/dquotes Binary files differdiff --git a/apps/factorial b/apps/factorial index cd402a60..5fd210cd 100755 --- a/apps/factorial +++ b/apps/factorial Binary files differdiff --git a/apps/handle b/apps/handle index 7922f7b4..8ec603e8 100755 --- a/apps/handle +++ b/apps/handle Binary files differdiff --git a/apps/hex b/apps/hex index ca85716e..7fe1537d 100755 --- a/apps/hex +++ b/apps/hex Binary files differdiff --git a/apps/mu b/apps/mu index 37ab1d90..7ed2734a 100755 --- a/apps/mu +++ b/apps/mu Binary files differdiff --git a/apps/mu.subx b/apps/mu.subx index c65bac17..2756a0d1 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -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: diff --git a/apps/pack b/apps/pack index 009660eb..44f51c28 100755 --- a/apps/pack +++ b/apps/pack Binary files differdiff --git a/apps/sigils b/apps/sigils index 0e4e03d3..8160e494 100755 --- a/apps/sigils +++ b/apps/sigils Binary files differdiff --git a/apps/survey b/apps/survey index 7657ae38..21706977 100755 --- a/apps/survey +++ b/apps/survey Binary files differdiff --git a/apps/tests b/apps/tests index fbdbe5d2..24e6b812 100755 --- a/apps/tests +++ b/apps/tests Binary files differdiff --git a/html/075print-int-decimal.subx.html b/html/075print-int-decimal.subx.html index 21f4811e..a9753eea 100644 --- a/html/075print-int-decimal.subx.html +++ b/html/075print-int-decimal.subx.html @@ -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 < '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-< $is-decimal-digit?:false/disp8 -<span id="L318" class="LineNr">318 </span> <span class="subxComment"># return true if c <= '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-<= $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">"F - test-is-decimal-digit-below-0"</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">"F - test-is-decimal-digit-at-0"</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">"F - test-is-decimal-digit-at-9"</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">"F - test-is-decimal-digit-above-9"</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: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 < '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-< $is-decimal-digit?:end/disp8 +<span id="L320" class="LineNr">320 </span> <span class="subxComment"># return (c <= '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-> $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">"F - test-is-decimal-digit-below-0"</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">"F - test-is-decimal-digit-at-0"</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">"F - test-is-decimal-digit-at-9"</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">"F - test-is-decimal-digit-above-9"</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:nowrap:textwidth=0</span> </pre> </body> </html> diff --git a/html/apps/mu.subx.html b/html/apps/mu.subx.html index bb220441..af0154e9 100644 --- a/html/apps/mu.subx.html +++ b/html/apps/mu.subx.html @@ -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>: |