diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-03-06 18:39:16 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-03-06 18:39:16 -0800 |
commit | ee0e67b9d7c275480827d856b926d2c403057bb8 (patch) | |
tree | 4c64d0b7bd4f25292fa73868a7ad3a7820ae4644 /html/apps/sigils.subx.html | |
parent | 8f256f1f2ee6a2a49816dd23d26cd120f526bf0b (diff) | |
download | mu-ee0e67b9d7c275480827d856b926d2c403057bb8.tar.gz |
6091
Diffstat (limited to 'html/apps/sigils.subx.html')
-rw-r--r-- | html/apps/sigils.subx.html | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/html/apps/sigils.subx.html b/html/apps/sigils.subx.html index 6bec4179..6d3f9f23 100644 --- a/html/apps/sigils.subx.html +++ b/html/apps/sigils.subx.html @@ -64,36 +64,36 @@ if ('onhashchange' in window) { <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># other related arguments.</span> <span id="L3" class="LineNr"> 3 </span><span class="subxComment">#</span> <span id="L4" class="LineNr"> 4 </span><span class="subxComment"># To run:</span> -<span id="L5" class="LineNr"> 5 </span><span class="subxComment"># $ ./subx translate init.linux 0*.subx apps/subx-params.subx apps/sigils.subx -o apps/sigils</span> +<span id="L5" class="LineNr"> 5 </span><span class="subxComment"># $ ./bootstrap translate init.linux 0*.subx apps/subx-params.subx apps/sigils.subx -o apps/sigils</span> <span id="L6" class="LineNr"> 6 </span><span class="subxComment">#</span> <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># We currently support the following notations:</span> <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#</span> <span id="L9" class="LineNr"> 9 </span><span class="subxComment"># 1.</span> -<span id="L10" class="LineNr"> 10 </span><span class="subxComment"># $ echo '%eax' | ./subx run apps/sigils</span> +<span id="L10" class="LineNr"> 10 </span><span class="subxComment"># $ echo '%eax' | ./bootstrap run apps/sigils</span> <span id="L11" class="LineNr"> 11 </span><span class="subxComment"># 3/mod 0/rm32</span> <span id="L12" class="LineNr"> 12 </span><span class="subxComment">#</span> <span id="L13" class="LineNr"> 13 </span><span class="subxComment"># 2.</span> -<span id="L14" class="LineNr"> 14 </span><span class="subxComment"># $ echo '*eax' | ./subx run apps/sigils</span> +<span id="L14" class="LineNr"> 14 </span><span class="subxComment"># $ echo '*eax' | ./bootstrap run apps/sigils</span> <span id="L15" class="LineNr"> 15 </span><span class="subxComment"># 0/mod 0/rm32</span> <span id="L16" class="LineNr"> 16 </span><span class="subxComment">#</span> <span id="L17" class="LineNr"> 17 </span><span class="subxComment"># 3.</span> -<span id="L18" class="LineNr"> 18 </span><span class="subxComment"># $ echo '*(eax+4)' | ./subx run apps/sigils</span> +<span id="L18" class="LineNr"> 18 </span><span class="subxComment"># $ echo '*(eax+4)' | ./bootstrap run apps/sigils</span> <span id="L19" class="LineNr"> 19 </span><span class="subxComment"># 2/mod 0/rm32 4/disp32</span> <span id="L20" class="LineNr"> 20 </span><span class="subxComment">#</span> <span id="L21" class="LineNr"> 21 </span><span class="subxComment"># 4.</span> -<span id="L22" class="LineNr"> 22 </span><span class="subxComment"># $ echo '*(eax+ecx)' | ./subx run apps/sigils</span> +<span id="L22" class="LineNr"> 22 </span><span class="subxComment"># $ echo '*(eax+ecx)' | ./bootstrap run apps/sigils</span> <span id="L23" class="LineNr"> 23 </span><span class="subxComment"># 0/mod 4/rm32 0/base 1/index 0/scale</span> <span id="L24" class="LineNr"> 24 </span><span class="subxComment">#</span> <span id="L25" class="LineNr"> 25 </span><span class="subxComment"># 5.</span> -<span id="L26" class="LineNr"> 26 </span><span class="subxComment"># $ echo '*(eax+ecx+4)' | ./subx run apps/sigils</span> +<span id="L26" class="LineNr"> 26 </span><span class="subxComment"># $ echo '*(eax+ecx+4)' | ./bootstrap run apps/sigils</span> <span id="L27" class="LineNr"> 27 </span><span class="subxComment"># 2/mod 4/rm32 0/base 1/index 0/scale 4/disp32</span> <span id="L28" class="LineNr"> 28 </span><span class="subxComment">#</span> <span id="L29" class="LineNr"> 29 </span><span class="subxComment"># 6.</span> -<span id="L30" class="LineNr"> 30 </span><span class="subxComment"># $ echo '*(eax+ecx<<2+4)' | ./subx run apps/sigils</span> +<span id="L30" class="LineNr"> 30 </span><span class="subxComment"># $ echo '*(eax+ecx<<2+4)' | ./bootstrap run apps/sigils</span> <span id="L31" class="LineNr"> 31 </span><span class="subxComment"># 2/mod 4/rm32 0/base 1/index 2/scale 4/disp32</span> <span id="L32" class="LineNr"> 32 </span><span class="subxComment">#</span> <span id="L33" class="LineNr"> 33 </span><span class="subxComment"># 7.</span> -<span id="L34" class="LineNr"> 34 </span><span class="subxComment"># $ echo '*Foo' | ./subx run apps/sigils</span> +<span id="L34" class="LineNr"> 34 </span><span class="subxComment"># $ echo '*Foo' | ./bootstrap run apps/sigils</span> <span id="L35" class="LineNr"> 35 </span><span class="subxComment"># 0/mod 5/rm32/.disp32 Foo/disp32</span> <span id="L36" class="LineNr"> 36 </span><span class="subxComment">#</span> <span id="L37" class="LineNr"> 37 </span><span class="subxComment"># Addition isn't commutative here. Template must always be (base+index<<scale+disp),</span> @@ -3650,7 +3650,7 @@ if ('onhashchange' in window) { <span id="L4052" class="LineNr">4052 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4053" class="LineNr">4053 </span> 50/push-eax <span id="L4054" class="LineNr">4054 </span> <span class="subxS2Comment"># . . call</span> -<span id="L4055" class="LineNr">4055 </span> e8/call <a href='../067parse-hex.subx.html#L640'>is-hex-digit?</a>/disp32 +<span id="L4055" class="LineNr">4055 </span> e8/call <a href='../067parse-hex.subx.html#L701'>is-hex-digit?</a>/disp32 <span id="L4056" class="LineNr">4056 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4057" class="LineNr">4057 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to esp</span> <span id="L4058" class="LineNr">4058 </span> <span class="subxS1Comment"># . if (eax == false) break</span> @@ -3660,7 +3660,7 @@ if ('onhashchange' in window) { <span id="L4062" class="LineNr">4062 </span> <span class="subxS2Comment"># . . copy arg to eax</span> <span id="L4063" class="LineNr">4063 </span> 8a/copy-byte 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/AL <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy byte at *ecx to AL</span> <span id="L4064" class="LineNr">4064 </span> <span class="subxS2Comment"># . . call</span> -<span id="L4065" class="LineNr">4065 </span> e8/call <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32 +<span id="L4065" class="LineNr">4065 </span> e8/call <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32 <span id="L4066" class="LineNr">4066 </span> <span class="subxComment"># result = result * 16 + eax</span> <span id="L4067" class="LineNr">4067 </span> c1/shift 4/subop/left 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm8 <span class="subxComment"># shift edi left by 4 bits</span> <span id="L4068" class="LineNr">4068 </span> 01/add 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># add eax to edi</span> @@ -4033,7 +4033,7 @@ if ('onhashchange' in window) { <span id="L4435" class="LineNr">4435 </span> <span class="subxS2Comment"># . . push args</span> <span id="L4436" class="LineNr">4436 </span> 50/push-eax <span id="L4437" class="LineNr">4437 </span> <span class="subxS2Comment"># . . call</span> -<span id="L4438" class="LineNr">4438 </span> e8/call <a href='../067parse-hex.subx.html#L640'>is-hex-digit?</a>/disp32 +<span id="L4438" class="LineNr">4438 </span> e8/call <a href='../067parse-hex.subx.html#L701'>is-hex-digit?</a>/disp32 <span id="L4439" class="LineNr">4439 </span> <span class="subxS2Comment"># . . discard args</span> <span id="L4440" class="LineNr">4440 </span> 81 0/subop/add 3/mod/direct 4/rm32/esp <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm32 <span class="subxComment"># add to esp</span> <span id="L4441" class="LineNr">4441 </span> <span class="subxS1Comment"># . if (eax == false) break</span> @@ -4043,7 +4043,7 @@ if ('onhashchange' in window) { <span id="L4445" class="LineNr">4445 </span> <span class="subxS2Comment"># . . copy arg to eax</span> <span id="L4446" class="LineNr">4446 </span> 8a/copy-byte 0/mod/indirect 1/rm32/ecx <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/AL <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># copy byte at *ecx to AL</span> <span id="L4447" class="LineNr">4447 </span> <span class="subxS2Comment"># . . call</span> -<span id="L4448" class="LineNr">4448 </span> e8/call <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32 +<span id="L4448" class="LineNr">4448 </span> e8/call <a href='../067parse-hex.subx.html#L864'>from-hex-char</a>/disp32 <span id="L4449" class="LineNr">4449 </span> <span class="subxComment"># result = result * 16 + eax</span> <span id="L4450" class="LineNr">4450 </span> c1/shift 4/subop/left 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 4/imm8 <span class="subxComment"># shift edi left by 4 bits</span> <span id="L4451" class="LineNr">4451 </span> 01/add 3/mod/direct 7/rm32/edi <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="Normal"> . </span> 0/r32/eax <span class="Normal"> . </span> <span class="Normal"> . </span> <span class="subxComment"># add eax to edi</span> |