about summary refs log tree commit diff stats
path: root/html/apps/ex12.mu.html
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-07-16 08:38:43 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-07-16 08:38:43 -0700
commit78357b8852626b510527f3b8d770a7dd8956fcc7 (patch)
tree5e38d0f616ab151e66618090487b41dd2fc348e0 /html/apps/ex12.mu.html
parent44d26b77c45668c9b0c99894a4294cec004361fe (diff)
downloadmu-78357b8852626b510527f3b8d770a7dd8956fcc7.tar.gz
.
Diffstat (limited to 'html/apps/ex12.mu.html')
-rw-r--r--html/apps/ex12.mu.html92
1 files changed, 92 insertions, 0 deletions
diff --git a/html/apps/ex12.mu.html b/html/apps/ex12.mu.html
new file mode 100644
index 00000000..b0b3a763
--- /dev/null
+++ b/html/apps/ex12.mu.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<title>Mu - apps/ex12.mu</title>
+<meta name="Generator" content="Vim/8.2">
+<meta name="plugin-version" content="vim8.1_v2">
+<meta name="syntax" content="none">
+<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=,use_input_for_pc=fallback">
+<meta name="colorscheme" content="minimal-light">
+<style>
+<!--
+pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #ffffd7; }
+body { font-size:12pt; font-family: monospace; color: #000000; background-color: #ffffd7; }
+a { color:inherit; }
+* { font-size:12pt; font-size: 1em; }
+.PreProc { color: #c000c0; }
+.muRegEcx { color: #870000; }
+.muRegEdx { color: #af5f00; }
+.LineNr { }
+.Constant { color: #008787; }
+.muFunction { color: #af5f00; text-decoration: underline; }
+.Delimiter { color: #c000c0; }
+.muComment { color: #005faf; }
+.Special { color: #ff6060; }
+-->
+</style>
+
+<script>
+<!--
+
+/* function to open any folds containing a jumped-to line before jumping to it */
+function JumpToLine()
+{
+  var lineNum;
+  lineNum = window.location.hash;
+  lineNum = lineNum.substr(1); /* strip off '#' */
+
+  if (lineNum.indexOf('L') == -1) {
+    lineNum = 'L'+lineNum;
+  }
+  var lineElem = document.getElementById(lineNum);
+  /* Always jump to new location even if the line was hidden inside a fold, or
+   * we corrected the raw number to a line ID.
+   */
+  if (lineElem) {
+    lineElem.scrollIntoView(true);
+  }
+  return true;
+}
+if ('onhashchange' in window) {
+  window.onhashchange = JumpToLine;
+}
+
+-->
+</script>
+</head>
+<body onload='JumpToLine();'>
+<a href='https://github.com/akkartik/mu/blob/main/apps/ex12.mu'>https://github.com/akkartik/mu/blob/main/apps/ex12.mu</a>
+<pre id='vimCodeElement'>
+<span id="L1" class="LineNr"> 1 </span><span class="muComment"># Checking the timer.</span>
+<span id="L2" class="LineNr"> 2 </span><span class="muComment">#</span>
+<span id="L3" class="LineNr"> 3 </span><span class="muComment"># To build a disk image:</span>
+<span id="L4" class="LineNr"> 4 </span><span class="muComment">#   ./translate apps/ex12.mu       # emits code.img</span>
+<span id="L5" class="LineNr"> 5 </span><span class="muComment"># To run:</span>
+<span id="L6" class="LineNr"> 6 </span><span class="muComment">#   qemu-system-i386 code.img</span>
+<span id="L7" class="LineNr"> 7 </span><span class="muComment"># Or:</span>
+<span id="L8" class="LineNr"> 8 </span><span class="muComment">#   bochs -f bochsrc               # bochsrc loads code.img</span>
+<span id="L9" class="LineNr"> 9 </span><span class="muComment">#</span>
+<span id="L10" class="LineNr">10 </span><span class="muComment"># Expected output: text with slowly updating colors</span>
+<span id="L11" class="LineNr">11 </span>
+<span id="L12" class="LineNr">12 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='ex12.mu.html#L12'>main</a></span> <a href='../500fake-screen.mu.html#L14'>screen</a>: (addr <a href='../500fake-screen.mu.html#L14'>screen</a>), keyboard: (addr keyboard), data-disk: (addr disk) <span class="Delimiter">{</span>
+<span id="L13" class="LineNr">13 </span>  <span class="PreProc">var</span> fg/<span class="muRegEcx">ecx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
+<span id="L14" class="LineNr">14 </span>  <span class="PreProc">var</span> prev-timer-counter/<span class="muRegEdx">edx</span>: int <span class="Special">&lt;-</span> copy <span class="Constant">0</span>
+<span id="L15" class="LineNr">15 </span>  <span class="Delimiter">{</span>
+<span id="L16" class="LineNr">16 </span>    <span class="PreProc">var</span> dummy/eax: int <span class="Special">&lt;-</span> <a href='../501draw-text.mu.html#L100'>draw-text-rightward</a> <a href='../500fake-screen.mu.html#L14'>screen</a>, <span class="Constant">&quot;hello from baremetal Mu!&quot;</span>, <span class="Constant">0x10</span>/x, <span class="Constant">0x400</span>/xmax, <span class="Constant">0x10</span>/y, fg, <span class="Constant">0</span>/bg
+<span id="L17" class="LineNr">17 </span>    <span class="muComment"># wait for timer to bump</span>
+<span id="L18" class="LineNr">18 </span>    <span class="Delimiter">{</span>
+<span id="L19" class="LineNr">19 </span>      <span class="PreProc">var</span> curr-timer-counter/eax: int <span class="Special">&lt;-</span> <a href='../319timer.subx.html#L3'>timer-counter</a>
+<span id="L20" class="LineNr">20 </span>      compare curr-timer-counter, prev-timer-counter
+<span id="L21" class="LineNr">21 </span>      <span class="PreProc">loop-if-=</span>
+<span id="L22" class="LineNr">22 </span>      prev-timer-counter <span class="Special">&lt;-</span> copy curr-timer-counter
+<span id="L23" class="LineNr">23 </span>    <span class="Delimiter">}</span>
+<span id="L24" class="LineNr">24 </span>    <span class="muComment"># switch color</span>
+<span id="L25" class="LineNr">25 </span>    fg <span class="Special">&lt;-</span> increment
+<span id="L26" class="LineNr">26 </span>    <span class="PreProc">loop</span>
+<span id="L27" class="LineNr">27 </span>  <span class="Delimiter">}</span>
+<span id="L28" class="LineNr">28 </span><span class="Delimiter">}</span>
+</pre>
+</body>
+</html>
+<!-- vim: set foldmethod=manual : -->
='#n251'>251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300