about summary refs log tree commit diff stats
path: root/html/subx/examples/ex3.subx.html
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-11-30 16:54:01 -0800
committerKartik Agaram <vc@akkartik.com>2018-11-30 16:54:01 -0800
commit14a380525ed2df295463b1906b718cb26871df3b (patch)
treea14422794d91a6fd4d132a12ffa7c3d72708eced /html/subx/examples/ex3.subx.html
parent9d27e966b5e9bf1bd3da48f49d7e133d112a2bbe (diff)
downloadmu-14a380525ed2df295463b1906b718cb26871df3b.tar.gz
4809 - subx: html with 5 colors for comments
Diffstat (limited to 'html/subx/examples/ex3.subx.html')
-rw-r--r--html/subx/examples/ex3.subx.html59
1 files changed, 32 insertions, 27 deletions
diff --git a/html/subx/examples/ex3.subx.html b/html/subx/examples/ex3.subx.html
index f60a8248..fb098a31 100644
--- a/html/subx/examples/ex3.subx.html
+++ b/html/subx/examples/ex3.subx.html
@@ -11,12 +11,17 @@
 <style type="text/css">
 <!--
 pre { font-family: monospace; color: #aaaaaa; background-color: #080808; }
-body { font-size: 12pt; font-family: monospace; color: #aaaaaa; background-color: #080808; }
-a { color:#eeeeee; text-decoration: none; }
-a:hover { text-decoration: underline; }
-* { font-size: 12pt; font-size: 1em; }
-.subxComment { color: #005fff; }
-.LineNr { color: #444444; }
+body { font-size:12pt; font-family: monospace; color: #aaaaaa; background-color: #080808; }
+.subxS2Comment a { color:inherit; }
+.subxS1Comment a { color:inherit; }
+.subxComment a { color:inherit; }
+.subxH2Comment a { color:inherit; }
+.subxH1Comment a { color:inherit; }
+* { font-size:12pt; font-size: 1em; }
+.subxComment { color:#16bfff; }
+.subxS2Comment { color:#4466ff; }
+.LineNr { color:#444444; }
+.subxS1Comment { color:#2d8cff; }
 .CommentedCode { color: #6c6c6c; }
 -->
 </style>
@@ -52,7 +57,7 @@ if ('onhashchange' in window) {
 </head>
 <body onload='JumpToLine();'>
 <pre id='vimCodeElement'>
-<span id="L1" class="LineNr"> 1 </span><span class="subxComment">## add the first 10 numbers, and return the result in the exit code</span>
+<span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Add the first 10 numbers, and return the result in the exit code.</span>
 <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span>
 <span id="L3" class="LineNr"> 3 </span><span class="subxComment"># To run (from the subx directory):</span>
 <span id="L4" class="LineNr"> 4 </span><span class="subxComment">#   $ subx translate examples/ex3.subx -o examples/ex3</span>
@@ -62,32 +67,32 @@ if ('onhashchange' in window) {
 <span id="L8" class="LineNr"> 8 </span><span class="subxComment">#   55</span>
 <span id="L9" class="LineNr"> 9 </span>
 <span id="L10" class="LineNr">10 </span>== code
-<span id="L11" class="LineNr">11 </span><span class="subxComment"># instruction                     effective address                                                   operand     displacement    immediate</span>
-<span id="L12" class="LineNr">12 </span><span class="subxComment"># op          subop               mod             rm32          base        index         scale       r32</span>
-<span id="L13" class="LineNr">13 </span><span class="subxComment"># 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="L11" class="LineNr">11 </span><span class="subxComment">#   instruction                     effective address                                                   register    displacement    immediate</span>
+<span id="L12" class="LineNr">12 </span><span class="subxS1Comment"># . op          subop               mod             rm32          base        index         scale       r32</span>
+<span id="L13" class="LineNr">13 </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="L14" class="LineNr">14 </span>
-<span id="L15" class="LineNr">15 </span>  <span class="subxComment"># result: EBX = 0</span>
-<span id="L16" class="LineNr">16 </span>  bb/copy-to-EBX  0/imm32
-<span id="L17" class="LineNr">17 </span>  <span class="subxComment"># counter: ECX = 1</span>
-<span id="L18" class="LineNr">18 </span>  b9/copy-to-ECX  1/imm32
+<span id="L15" class="LineNr">15 </span>    <span class="subxComment"># result: EBX = 0</span>
+<span id="L16" class="LineNr">16 </span>    bb/copy-to-EBX  0/imm32
+<span id="L17" class="LineNr">17 </span>    <span class="subxComment"># counter: ECX = 1</span>
+<span id="L18" class="LineNr">18 </span>    b9/copy-to-ECX  1/imm32
 <span id="L19" class="LineNr">19 </span>
 <span id="L20" class="LineNr">20 </span>$loop:
-<span id="L21" class="LineNr">21 </span>  <span class="subxComment"># while (counter &lt;= 10)</span>
-<span id="L22" class="LineNr">22 </span>  81          7/subop/compare     3/mod/direct    1/rm32/ECX   <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>           <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>              0xa/imm32         <span class="subxComment"># compare ECX</span>
-<span id="L23" class="LineNr">23 </span>  7f/jump-if-greater  $exit/disp8
-<span id="L24" class="LineNr">24 </span>  <span class="subxComment"># result += counter</span>
-<span id="L25" class="LineNr">25 </span>  01/add                          3/mod/direct    3/rm32/EBX   <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>           <span class="CommentedCode"> . </span>          1/r32/ECX  <span class="CommentedCode"> . </span>             <span class="CommentedCode"> . </span>                <span class="subxComment"># add ECX to EBX</span>
-<span id="L26" class="LineNr">26 </span>  <span class="subxComment"># ++counter</span>
-<span id="L27" class="LineNr">27 </span>  41/inc-ECX
-<span id="L28" class="LineNr">28 </span>  <span class="subxComment"># loop</span>
-<span id="L29" class="LineNr">29 </span>  eb/jump  $loop/disp8
+<span id="L21" class="LineNr">21 </span>    <span class="subxComment"># while (counter &lt;= 10)</span>
+<span id="L22" class="LineNr">22 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ECX   <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>           <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>              0xa/imm32         <span class="subxComment"># compare ECX</span>
+<span id="L23" class="LineNr">23 </span>    7f/jump-if-greater  $exit/disp8
+<span id="L24" class="LineNr">24 </span>    <span class="subxComment"># result += counter</span>
+<span id="L25" class="LineNr">25 </span>    01/add                          3/mod/direct    3/rm32/EBX   <span class="CommentedCode"> . </span>         <span class="CommentedCode"> . </span>           <span class="CommentedCode"> . </span>          1/r32/ECX  <span class="CommentedCode"> . </span>             <span class="CommentedCode"> . </span>                <span class="subxComment"># add ECX to EBX</span>
+<span id="L26" class="LineNr">26 </span>    <span class="subxComment"># ++counter</span>
+<span id="L27" class="LineNr">27 </span>    41/inc-ECX
+<span id="L28" class="LineNr">28 </span>    <span class="subxComment"># loop</span>
+<span id="L29" class="LineNr">29 </span>    eb/jump  $loop/disp8
 <span id="L30" class="LineNr">30 </span>
 <span id="L31" class="LineNr">31 </span>$exit:
-<span id="L32" class="LineNr">32 </span>  <span class="subxComment"># exit(EBX)</span>
-<span id="L33" class="LineNr">33 </span>  b8/copy-to-EAX  1/imm32
-<span id="L34" class="LineNr">34 </span>  cd/syscall  0x80/imm8
+<span id="L32" class="LineNr">32 </span>    <span class="subxComment"># syscall(exit, EBX)</span>
+<span id="L33" class="LineNr">33 </span>    b8/copy-to-EAX  1/imm32
+<span id="L34" class="LineNr">34 </span>    cd/syscall  0x80/imm8
 <span id="L35" class="LineNr">35 </span>
-<span id="L36" class="LineNr">36 </span><span class="subxComment"># vim&#0058;nowrap:textwidth=0</span>
+<span id="L36" class="LineNr">36 </span><span class="subxS2Comment"># . . vim&#0058;nowrap:textwidth=0</span>
 </pre>
 </body>
 </html>
id='n468' href='#n468'>468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540