diff options
Diffstat (limited to 'html/077subx-words.subx.html')
-rw-r--r-- | html/077subx-words.subx.html | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/html/077subx-words.subx.html b/html/077subx-words.subx.html index 300f8a6a..39970cd9 100644 --- a/html/077subx-words.subx.html +++ b/html/077subx-words.subx.html @@ -64,9 +64,9 @@ if ('onhashchange' in window) { <span id="L5" class="LineNr"> 5 </span><span class="subxS1Comment"># . op subop mod rm32 base index scale r32</span> <span id="L6" class="LineNr"> 6 </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="L7" class="LineNr"> 7 </span> -<span id="L8" class="LineNr"> 8 </span><span class="subxFunction">has-metadata?</span>: <span class="subxComment"># word : (addr slice), s : (addr string) -> eax : boolean</span> +<span id="L8" class="LineNr"> 8 </span><span class="subxFunction">has-metadata?</span>: <span class="subxComment"># word: (addr slice), s: (addr string) -> eax: boolean</span> <span id="L9" class="LineNr"> 9 </span> <span class="subxComment"># pseudocode:</span> -<span id="L10" class="LineNr"> 10 </span> <span class="subxComment"># var twig : &slice = next-token-from-slice(word->start, word->end, '/') # skip name</span> +<span id="L10" class="LineNr"> 10 </span> <span class="subxComment"># var twig: &slice = next-token-from-slice(word->start, word->end, '/') # skip name</span> <span id="L11" class="LineNr"> 11 </span> <span class="subxComment"># curr = twig->end</span> <span id="L12" class="LineNr"> 12 </span> <span class="subxComment"># while true</span> <span id="L13" class="LineNr"> 13 </span> <span class="subxComment"># twig = next-token-from-slice(curr, word->end, '/')</span> @@ -84,9 +84,9 @@ if ('onhashchange' in window) { <span id="L25" class="LineNr"> 25 </span> 57/push-edi <span id="L26" class="LineNr"> 26 </span> <span class="subxComment"># esi = word</span> <span id="L27" class="LineNr"> 27 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 6/r32/esi 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+8) to esi</span> -<span id="L28" class="LineNr"> 28 </span> <span class="subxComment"># var edx : (addr byte) = word->end</span> +<span id="L28" class="LineNr"> 28 </span> <span class="subxComment"># var edx: (addr byte) = word->end</span> <span id="L29" class="LineNr"> 29 </span> 8b/copy 1/mod/*+disp8 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 2/r32/edx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(esi+4) to edx</span> -<span id="L30" class="LineNr"> 30 </span> <span class="subxComment"># var twig/edi : slice</span> +<span id="L30" class="LineNr"> 30 </span> <span class="subxComment"># var twig/edi: slice</span> <span id="L31" class="LineNr"> 31 </span> 68/push 0/imm32/end <span id="L32" class="LineNr"> 32 </span> 68/push 0/imm32/start <span id="L33" class="LineNr"> 33 </span> 89/copy 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to edi</span> @@ -160,7 +160,7 @@ if ('onhashchange' in window) { <span id="L101" class="LineNr">101 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L102" class="LineNr">102 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L103" class="LineNr">103 </span> 05/add-to-eax 4/imm32 -<span id="L104" class="LineNr">104 </span> <span class="subxComment"># var in/esi : slice = {eax, ecx}</span> +<span id="L104" class="LineNr">104 </span> <span class="subxComment"># var in/esi: slice = {eax, ecx}</span> <span id="L105" class="LineNr">105 </span> 51/push-ecx <span id="L106" class="LineNr">106 </span> 50/push-eax <span id="L107" class="LineNr">107 </span> 89/copy 3/mod/direct 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to esi</span> @@ -195,7 +195,7 @@ if ('onhashchange' in window) { <span id="L136" class="LineNr">136 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L137" class="LineNr">137 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L138" class="LineNr">138 </span> 05/add-to-eax 4/imm32 -<span id="L139" class="LineNr">139 </span> <span class="subxComment"># var in/esi : slice = {eax, ecx}</span> +<span id="L139" class="LineNr">139 </span> <span class="subxComment"># var in/esi: slice = {eax, ecx}</span> <span id="L140" class="LineNr">140 </span> 51/push-ecx <span id="L141" class="LineNr">141 </span> 50/push-eax <span id="L142" class="LineNr">142 </span> 89/copy 3/mod/direct 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to esi</span> @@ -230,7 +230,7 @@ if ('onhashchange' in window) { <span id="L171" class="LineNr">171 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L172" class="LineNr">172 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L173" class="LineNr">173 </span> 05/add-to-eax 4/imm32 -<span id="L174" class="LineNr">174 </span> <span class="subxComment"># var in/esi : slice = {eax, ecx}</span> +<span id="L174" class="LineNr">174 </span> <span class="subxComment"># var in/esi: slice = {eax, ecx}</span> <span id="L175" class="LineNr">175 </span> 51/push-ecx <span id="L176" class="LineNr">176 </span> 50/push-eax <span id="L177" class="LineNr">177 </span> 89/copy 3/mod/direct 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to esi</span> @@ -265,7 +265,7 @@ if ('onhashchange' in window) { <span id="L206" class="LineNr">206 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L207" class="LineNr">207 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L208" class="LineNr">208 </span> 05/add-to-eax 4/imm32 -<span id="L209" class="LineNr">209 </span> <span class="subxComment"># var in/esi : slice = {eax, ecx}</span> +<span id="L209" class="LineNr">209 </span> <span class="subxComment"># var in/esi: slice = {eax, ecx}</span> <span id="L210" class="LineNr">210 </span> 51/push-ecx <span id="L211" class="LineNr">211 </span> 50/push-eax <span id="L212" class="LineNr">212 </span> 89/copy 3/mod/direct 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to esi</span> @@ -300,7 +300,7 @@ if ('onhashchange' in window) { <span id="L241" class="LineNr">241 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L242" class="LineNr">242 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L243" class="LineNr">243 </span> 05/add-to-eax 4/imm32 -<span id="L244" class="LineNr">244 </span> <span class="subxComment"># var in/esi : slice = {eax, ecx}</span> +<span id="L244" class="LineNr">244 </span> <span class="subxComment"># var in/esi: slice = {eax, ecx}</span> <span id="L245" class="LineNr">245 </span> 51/push-ecx <span id="L246" class="LineNr">246 </span> 50/push-eax <span id="L247" class="LineNr">247 </span> 89/copy 3/mod/direct 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to esi</span> @@ -334,7 +334,7 @@ if ('onhashchange' in window) { <span id="L275" class="LineNr">275 </span><span class="subxComment">#: - if it starts with '0x' it's treated as a number. (redundant)</span> <span id="L276" class="LineNr">276 </span><span class="subxComment">#: - if it's two characters long, it can't be a name. Either it's a hex</span> <span id="L277" class="LineNr">277 </span><span class="subxComment">#: byte, or it raises an error.</span> -<span id="L278" class="LineNr">278 </span><span class="subxFunction">is-valid-name?</span>: <span class="subxComment"># in : (addr slice) -> eax : boolean</span> +<span id="L278" class="LineNr">278 </span><span class="subxFunction">is-valid-name?</span>: <span class="subxComment"># in: (addr slice) -> eax: boolean</span> <span id="L279" class="LineNr">279 </span> <span class="subxS1Comment"># . prologue</span> <span id="L280" class="LineNr">280 </span> 55/push-ebp <span id="L281" class="LineNr">281 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -343,21 +343,21 @@ if ('onhashchange' in window) { <span id="L284" class="LineNr">284 </span> 56/push-esi <span id="L285" class="LineNr">285 </span> <span class="subxComment"># esi = in</span> <span id="L286" class="LineNr">286 </span> 8b/copy 1/mod/*+disp8 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 6/r32/esi 8/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ebp+8) to esi</span> -<span id="L287" class="LineNr">287 </span> <span class="subxComment"># var start/ecx : (addr byte) = in->start</span> +<span id="L287" class="LineNr">287 </span> <span class="subxComment"># var start/ecx: (addr byte) = in->start</span> <span id="L288" class="LineNr">288 </span> 8b/copy 0/mod/indirect 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *esi to ecx</span> <span id="L289" class="LineNr">289 </span><span class="Constant">$is-valid-name?:check0</span>: <span id="L290" class="LineNr">290 </span> <span class="subxComment"># if (start >= in->end) return false</span> <span id="L291" class="LineNr">291 </span> 3b/compare 1/mod/*+disp8 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># compare ecx with *(esi+4)</span> <span id="L292" class="LineNr">292 </span> 73/jump-if-addr>= $is-valid-name?:false/disp8 <span id="L293" class="LineNr">293 </span><span class="Constant">$is-valid-name?:check1</span>: -<span id="L294" class="LineNr">294 </span> <span class="subxComment"># var len/eax : int = in->end - start</span> +<span id="L294" class="LineNr">294 </span> <span class="subxComment"># var len/eax: int = in->end - start</span> <span id="L295" class="LineNr">295 </span> 8b/copy 1/mod/*+disp8 6/rm32/esi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(esi+4) to eax</span> <span id="L296" class="LineNr">296 </span> 29/subtract 3/mod/direct 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># subtract ecx from eax</span> <span id="L297" class="LineNr">297 </span> <span class="subxComment"># if (eax == 2) return false</span> <span id="L298" class="LineNr">298 </span> 3d/compare-eax-and 2/imm32 <span id="L299" class="LineNr">299 </span> 74/jump-if-= $is-valid-name?:false/disp8 <span id="L300" class="LineNr">300 </span><span class="Constant">$is-valid-name?:check2</span>: -<span id="L301" class="LineNr">301 </span> <span class="subxComment"># var c/eax : (addr byte) = *start</span> +<span id="L301" class="LineNr">301 </span> <span class="subxComment"># var c/eax: (addr byte) = *start</span> <span id="L302" class="LineNr">302 </span> 31/xor 3/mod/direct 0/rm32/eax <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"># clear eax</span> <span id="L303" class="LineNr">303 </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="L304" class="LineNr">304 </span> <span class="subxComment"># if (c == "-") return false</span> @@ -396,7 +396,7 @@ if ('onhashchange' in window) { <span id="L337" class="LineNr">337 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L338" class="LineNr">338 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L339" class="LineNr">339 </span> 05/add-to-eax 4/imm32 -<span id="L340" class="LineNr">340 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L340" class="LineNr">340 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L341" class="LineNr">341 </span> 51/push-ecx <span id="L342" class="LineNr">342 </span> 50/push-eax <span id="L343" class="LineNr">343 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -430,7 +430,7 @@ if ('onhashchange' in window) { <span id="L371" class="LineNr">371 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L372" class="LineNr">372 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L373" class="LineNr">373 </span> 05/add-to-eax 4/imm32 -<span id="L374" class="LineNr">374 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L374" class="LineNr">374 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L375" class="LineNr">375 </span> 51/push-ecx <span id="L376" class="LineNr">376 </span> 50/push-eax <span id="L377" class="LineNr">377 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -464,7 +464,7 @@ if ('onhashchange' in window) { <span id="L405" class="LineNr">405 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L406" class="LineNr">406 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L407" class="LineNr">407 </span> 05/add-to-eax 4/imm32 -<span id="L408" class="LineNr">408 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L408" class="LineNr">408 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L409" class="LineNr">409 </span> 51/push-ecx <span id="L410" class="LineNr">410 </span> 50/push-eax <span id="L411" class="LineNr">411 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -498,7 +498,7 @@ if ('onhashchange' in window) { <span id="L439" class="LineNr">439 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L440" class="LineNr">440 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L441" class="LineNr">441 </span> 05/add-to-eax 4/imm32 -<span id="L442" class="LineNr">442 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L442" class="LineNr">442 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L443" class="LineNr">443 </span> 51/push-ecx <span id="L444" class="LineNr">444 </span> 50/push-eax <span id="L445" class="LineNr">445 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -532,7 +532,7 @@ if ('onhashchange' in window) { <span id="L473" class="LineNr">473 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L474" class="LineNr">474 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L475" class="LineNr">475 </span> 05/add-to-eax 4/imm32 -<span id="L476" class="LineNr">476 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L476" class="LineNr">476 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L477" class="LineNr">477 </span> 51/push-ecx <span id="L478" class="LineNr">478 </span> 50/push-eax <span id="L479" class="LineNr">479 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -566,7 +566,7 @@ if ('onhashchange' in window) { <span id="L507" class="LineNr">507 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L508" class="LineNr">508 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L509" class="LineNr">509 </span> 05/add-to-eax 4/imm32 -<span id="L510" class="LineNr">510 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L510" class="LineNr">510 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L511" class="LineNr">511 </span> 51/push-ecx <span id="L512" class="LineNr">512 </span> 50/push-eax <span id="L513" class="LineNr">513 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -591,7 +591,7 @@ if ('onhashchange' in window) { <span id="L532" class="LineNr">532 </span> 5d/pop-to-ebp <span id="L533" class="LineNr">533 </span> c3/return <span id="L534" class="LineNr">534 </span> -<span id="L535" class="LineNr">535 </span><span class="subxFunction">is-label?</span>: <span class="subxComment"># word : (addr slice) -> eax : boolean</span> +<span id="L535" class="LineNr">535 </span><span class="subxFunction">is-label?</span>: <span class="subxComment"># word: (addr slice) -> eax: boolean</span> <span id="L536" class="LineNr">536 </span> <span class="subxS1Comment"># . prologue</span> <span id="L537" class="LineNr">537 </span> 55/push-ebp <span id="L538" class="LineNr">538 </span> 89/copy 3/mod/direct 5/rm32/ebp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ebp</span> @@ -599,7 +599,7 @@ if ('onhashchange' in window) { <span id="L540" class="LineNr">540 </span> 51/push-ecx <span id="L541" class="LineNr">541 </span> <span class="subxComment"># ecx = word</span> <span id="L542" class="LineNr">542 </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="L543" class="LineNr">543 </span> <span class="subxComment"># var end/ecx : (addr byte) = word->end</span> +<span id="L543" class="LineNr">543 </span> <span class="subxComment"># var end/ecx: (addr byte) = word->end</span> <span id="L544" class="LineNr">544 </span> 8b/copy 1/mod/*+disp8 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy *(ecx+4) to ecx</span> <span id="L545" class="LineNr">545 </span> <span class="subxComment"># return *(end - 1) == ':'</span> <span id="L546" class="LineNr">546 </span> <span class="subxS1Comment"># . eax = *(end-1)</span> @@ -628,7 +628,7 @@ if ('onhashchange' in window) { <span id="L569" class="LineNr">569 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L570" class="LineNr">570 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L571" class="LineNr">571 </span> 05/add-to-eax 4/imm32 -<span id="L572" class="LineNr">572 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L572" class="LineNr">572 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L573" class="LineNr">573 </span> 51/push-ecx <span id="L574" class="LineNr">574 </span> 50/push-eax <span id="L575" class="LineNr">575 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> @@ -654,7 +654,7 @@ if ('onhashchange' in window) { <span id="L595" class="LineNr">595 </span> 8b/copy 0/mod/indirect 0/rm32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 1/r32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy *eax to ecx</span> <span id="L596" class="LineNr">596 </span> 8d/copy-address 1/mod/*+disp8 4/rm32/sib 0/base/eax 1/index/ecx <span class="Normal"> . </span> 1/r32/ecx 4/disp8 <span class="Normal"> . </span> <span class="subxComment"># copy eax+ecx+4 to ecx</span> <span id="L597" class="LineNr">597 </span> 05/add-to-eax 4/imm32 -<span id="L598" class="LineNr">598 </span> <span class="subxComment"># var slice/ecx : slice = {eax, ecx}</span> +<span id="L598" class="LineNr">598 </span> <span class="subxComment"># var slice/ecx: slice = {eax, ecx}</span> <span id="L599" class="LineNr">599 </span> 51/push-ecx <span id="L600" class="LineNr">600 </span> 50/push-eax <span id="L601" class="LineNr">601 </span> 89/copy 3/mod/direct 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/r32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy esp to ecx</span> |