diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-09-11 00:59:56 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-09-11 00:59:56 -0700 |
commit | 91a5f3e10300fd84db26690095329592de0942d7 (patch) | |
tree | 892f8d2f339f834ff6a8269e1fe098750c99090d /html/403unicode.mu.html | |
parent | 3a4be20aba860bb62db3271b8e157bcc807514b0 (diff) | |
download | mu-91a5f3e10300fd84db26690095329592de0942d7.tar.gz |
6774
Diffstat (limited to 'html/403unicode.mu.html')
-rw-r--r-- | html/403unicode.mu.html | 173 |
1 files changed, 121 insertions, 52 deletions
diff --git a/html/403unicode.mu.html b/html/403unicode.mu.html index d2ff2fc2..99b24b59 100644 --- a/html/403unicode.mu.html +++ b/html/403unicode.mu.html @@ -275,7 +275,7 @@ if ('onhashchange' in window) { <span id="L215" class="LineNr">215 </span> <span class="PreProc">break-if-<=</span> <span id="L216" class="LineNr">216 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: byte <span class="SpecialChar"><-</span> <a href='112read-byte.subx.html#L273'>read-byte</a> in <span id="L217" class="LineNr">217 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> copy tmp -<span id="L218" class="LineNr">218 </span> tmp2 <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> tmp2, num-byte-shifts +<span id="L218" class="LineNr">218 </span> tmp2 <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> tmp2, num-byte-shifts <span id="L219" class="LineNr">219 </span> result <span class="SpecialChar"><-</span> or tmp2 <span id="L220" class="LineNr">220 </span> <span class="Comment"># update loop state</span> <span id="L221" class="LineNr">221 </span> num-byte-shifts <span class="SpecialChar"><-</span> increment @@ -313,57 +313,126 @@ if ('onhashchange' in window) { <span id="L253" class="LineNr">253 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> n, <span class="Constant">0x65</span>, <span class="Constant">"F - test grapheme/6"</span> <span id="L254" class="LineNr">254 </span><span class="Delimiter">}</span> <span id="L255" class="LineNr">255 </span> -<span id="L256" class="LineNr">256 </span><span class="Comment"># needed because available primitives only shift by a literal/constant number of bits</span> -<span id="L257" class="LineNr">257 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L257'>shift-left-bytes</a></span> n: int, k: int<span class="PreProc"> -> </span>result/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> -<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="SpecialChar"><-</span> copy <span class="Constant">0</span> -<span id="L259" class="LineNr">259 </span> result <span class="SpecialChar"><-</span> copy n -<span id="L260" class="LineNr">260 </span> <span class="Delimiter">{</span> -<span id="L261" class="LineNr">261 </span> compare i, k -<span id="L262" class="LineNr">262 </span> <span class="PreProc">break-if->=</span> -<span id="L263" class="LineNr">263 </span> compare i, <span class="Constant">4</span> <span class="Comment"># only 4 bytes in 32 bits</span> -<span id="L264" class="LineNr">264 </span> <span class="PreProc">break-if->=</span> -<span id="L265" class="LineNr">265 </span> result <span class="SpecialChar"><-</span> shift-left <span class="Constant">8</span> -<span id="L266" class="LineNr">266 </span> i <span class="SpecialChar"><-</span> increment -<span id="L267" class="LineNr">267 </span> <span class="PreProc">loop</span> -<span id="L268" class="LineNr">268 </span> <span class="Delimiter">}</span> -<span id="L269" class="LineNr">269 </span><span class="Delimiter">}</span> -<span id="L270" class="LineNr">270 </span> -<span id="L271" class="LineNr">271 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L271'>test-shift-left-bytes-0</a></span> <span class="Delimiter">{</span> -<span id="L272" class="LineNr">272 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">0</span> -<span id="L273" class="LineNr">273 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">1</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> 0"</span> -<span id="L274" class="LineNr">274 </span><span class="Delimiter">}</span> -<span id="L275" class="LineNr">275 </span> -<span id="L276" class="LineNr">276 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L276'>test-shift-left-bytes-1</a></span> <span class="Delimiter">{</span> -<span id="L277" class="LineNr">277 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">1</span> -<span id="L278" class="LineNr">278 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x100</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> 1"</span> -<span id="L279" class="LineNr">279 </span><span class="Delimiter">}</span> -<span id="L280" class="LineNr">280 </span> -<span id="L281" class="LineNr">281 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L281'>test-shift-left-bytes-2</a></span> <span class="Delimiter">{</span> -<span id="L282" class="LineNr">282 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">2</span> -<span id="L283" class="LineNr">283 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x10000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> 2"</span> -<span id="L284" class="LineNr">284 </span><span class="Delimiter">}</span> -<span id="L285" class="LineNr">285 </span> -<span id="L286" class="LineNr">286 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L286'>test-shift-left-bytes-3</a></span> <span class="Delimiter">{</span> -<span id="L287" class="LineNr">287 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">3</span> -<span id="L288" class="LineNr">288 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x1000000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> 3"</span> -<span id="L289" class="LineNr">289 </span><span class="Delimiter">}</span> -<span id="L290" class="LineNr">290 </span> -<span id="L291" class="LineNr">291 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L291'>test-shift-left-bytes-4</a></span> <span class="Delimiter">{</span> -<span id="L292" class="LineNr">292 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">4</span> -<span id="L293" class="LineNr">293 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> 4"</span> -<span id="L294" class="LineNr">294 </span><span class="Delimiter">}</span> -<span id="L295" class="LineNr">295 </span> -<span id="L296" class="LineNr">296 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L296'>test-shift-left-bytes-5</a></span> <span class="Delimiter">{</span> -<span id="L297" class="LineNr">297 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L257'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">5</span> -<span id="L298" class="LineNr">298 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L257'>shift-left-bytes</a> >4"</span> -<span id="L299" class="LineNr">299 </span><span class="Delimiter">}</span> -<span id="L300" class="LineNr">300 </span> -<span id="L301" class="LineNr">301 </span><span class="Comment"># To run all tests, uncomment this and run:</span> -<span id="L302" class="LineNr">302 </span><span class="Comment"># $ ./translate_mu && ./a.elf</span> -<span id="L303" class="LineNr">303 </span><span class="CommentedCode">#? fn main -> r/ebx: int {</span> -<span id="L304" class="LineNr">304 </span><span class="CommentedCode">#? run-tests</span> -<span id="L305" class="LineNr">305 </span><span class="CommentedCode">#? r <- copy 0</span> -<span id="L306" class="LineNr">306 </span><span class="CommentedCode">#? }</span> +<span id="L256" class="LineNr">256 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L256'>read-grapheme-buffered</a></span> in: (addr buffered-file)<span class="PreProc"> -> </span>out/<span class="Constant">eax</span>: grapheme <span class="Delimiter">{</span> +<span id="L257" class="LineNr">257 </span>$read-grapheme-buffered:body: <span class="Delimiter">{</span> +<span id="L258" class="LineNr">258 </span> <span class="PreProc">var</span> c/<span class="Constant">eax</span>: byte <span class="SpecialChar"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in +<span id="L259" class="LineNr">259 </span> <span class="PreProc">var</span> num-trailers/<span class="Constant">ecx</span>: int <span class="SpecialChar"><-</span> copy <span class="Constant">0</span> +<span id="L260" class="LineNr">260 </span> $read-grapheme-buffered:compute-length: <span class="Delimiter">{</span> +<span id="L261" class="LineNr">261 </span> <span class="Comment"># single byte: just return it</span> +<span id="L262" class="LineNr">262 </span> compare c, <span class="Constant">0xc0</span> +<span id="L263" class="LineNr">263 </span> <span class="Delimiter">{</span> +<span id="L264" class="LineNr">264 </span> <span class="PreProc">break-if->=</span> +<span id="L265" class="LineNr">265 </span> out <span class="SpecialChar"><-</span> copy c +<span id="L266" class="LineNr">266 </span> num-trailers <span class="SpecialChar"><-</span> copy <span class="Constant">0</span> +<span id="L267" class="LineNr">267 </span> <span class="PreProc">break</span> $read-grapheme-buffered:body +<span id="L268" class="LineNr">268 </span> <span class="Delimiter">}</span> +<span id="L269" class="LineNr">269 </span> compare c, <span class="Constant">0xfe</span> +<span id="L270" class="LineNr">270 </span> <span class="Delimiter">{</span> +<span id="L271" class="LineNr">271 </span> <span class="PreProc">break-if-<</span> +<span id="L272" class="LineNr">272 </span> out <span class="SpecialChar"><-</span> copy c +<span id="L273" class="LineNr">273 </span> <span class="PreProc">break</span> $read-grapheme-buffered:body +<span id="L274" class="LineNr">274 </span> <span class="Delimiter">}</span> +<span id="L275" class="LineNr">275 </span> <span class="Comment"># 2 bytes</span> +<span id="L276" class="LineNr">276 </span> compare c, <span class="Constant">0xe0</span> +<span id="L277" class="LineNr">277 </span> <span class="Delimiter">{</span> +<span id="L278" class="LineNr">278 </span> <span class="PreProc">break-if->=</span> +<span id="L279" class="LineNr">279 </span> num-trailers <span class="SpecialChar"><-</span> copy <span class="Constant">1</span> +<span id="L280" class="LineNr">280 </span> <span class="PreProc">break</span> $read-grapheme-buffered:compute-length +<span id="L281" class="LineNr">281 </span> <span class="Delimiter">}</span> +<span id="L282" class="LineNr">282 </span> <span class="Comment"># 3 bytes</span> +<span id="L283" class="LineNr">283 </span> compare c, <span class="Constant">0xf0</span> +<span id="L284" class="LineNr">284 </span> <span class="Delimiter">{</span> +<span id="L285" class="LineNr">285 </span> <span class="PreProc">break-if->=</span> +<span id="L286" class="LineNr">286 </span> num-trailers <span class="SpecialChar"><-</span> copy <span class="Constant">2</span> +<span id="L287" class="LineNr">287 </span> <span class="PreProc">break</span> $read-grapheme-buffered:compute-length +<span id="L288" class="LineNr">288 </span> <span class="Delimiter">}</span> +<span id="L289" class="LineNr">289 </span> <span class="Comment"># 4 bytes</span> +<span id="L290" class="LineNr">290 </span> compare c, <span class="Constant">0xf8</span> +<span id="L291" class="LineNr">291 </span> <span class="Delimiter">{</span> +<span id="L292" class="LineNr">292 </span> <span class="PreProc">break-if->=</span> +<span id="L293" class="LineNr">293 </span> num-trailers <span class="SpecialChar"><-</span> copy <span class="Constant">3</span> +<span id="L294" class="LineNr">294 </span> <span class="PreProc">break</span> $read-grapheme-buffered:compute-length +<span id="L295" class="LineNr">295 </span> <span class="Delimiter">}</span> +<span id="L296" class="LineNr">296 </span>$read-grapheme-buffered:abort: <span class="Delimiter">{</span> +<span id="L297" class="LineNr">297 </span> <span class="Comment"># TODO: print to stderr</span> +<span id="L298" class="LineNr">298 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"utf-8 encodings larger than 4 bytes are not supported. First byte seen: "</span> +<span id="L299" class="LineNr">299 </span> <span class="PreProc">var</span> n/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> copy c +<span id="L300" class="LineNr">300 </span> <a href='304screen.subx.html#L213'>print-int32-hex-to-real-screen</a> n +<span id="L301" class="LineNr">301 </span> <a href='304screen.subx.html#L122'>print-string-to-real-screen</a> <span class="Constant">"\n"</span> +<span id="L302" class="LineNr">302 </span> <span class="PreProc">var</span> exit-status/<span class="Constant">ebx</span>: int <span class="SpecialChar"><-</span> copy <span class="Constant">1</span> +<span id="L303" class="LineNr">303 </span> syscall_exit +<span id="L304" class="LineNr">304 </span> <span class="Delimiter">}</span> +<span id="L305" class="LineNr">305 </span> <span class="Delimiter">}</span> +<span id="L306" class="LineNr">306 </span> <span class="Comment"># prepend trailer bytes</span> +<span id="L307" class="LineNr">307 </span> <span class="PreProc">var</span> result/<span class="Constant">edi</span>: int <span class="SpecialChar"><-</span> copy c +<span id="L308" class="LineNr">308 </span> <span class="PreProc">var</span> num-byte-shifts/<span class="Constant">edx</span>: int <span class="SpecialChar"><-</span> copy <span class="Constant">1</span> +<span id="L309" class="LineNr">309 </span> <span class="Delimiter">{</span> +<span id="L310" class="LineNr">310 </span> compare num-trailers, <span class="Constant">0</span> +<span id="L311" class="LineNr">311 </span> <span class="PreProc">break-if-<=</span> +<span id="L312" class="LineNr">312 </span> <span class="PreProc">var</span> tmp/<span class="Constant">eax</span>: byte <span class="SpecialChar"><-</span> <a href='112read-byte.subx.html#L38'>read-byte-buffered</a> in +<span id="L313" class="LineNr">313 </span> <span class="PreProc">var</span> tmp2/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> copy tmp +<span id="L314" class="LineNr">314 </span> tmp2 <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> tmp2, num-byte-shifts +<span id="L315" class="LineNr">315 </span> result <span class="SpecialChar"><-</span> or tmp2 +<span id="L316" class="LineNr">316 </span> <span class="Comment"># update loop state</span> +<span id="L317" class="LineNr">317 </span> num-byte-shifts <span class="SpecialChar"><-</span> increment +<span id="L318" class="LineNr">318 </span> num-trailers <span class="SpecialChar"><-</span> decrement +<span id="L319" class="LineNr">319 </span> <span class="PreProc">loop</span> +<span id="L320" class="LineNr">320 </span> <span class="Delimiter">}</span> +<span id="L321" class="LineNr">321 </span> out <span class="SpecialChar"><-</span> copy result +<span id="L322" class="LineNr">322 </span><span class="Delimiter">}</span> +<span id="L323" class="LineNr">323 </span><span class="Delimiter">}</span> +<span id="L324" class="LineNr">324 </span> +<span id="L325" class="LineNr">325 </span><span class="Comment"># needed because available primitives only shift by a literal/constant number of bits</span> +<span id="L326" class="LineNr">326 </span><span class="PreProc">fn</span> <span class="muFunction"><a href='403unicode.mu.html#L326'>shift-left-bytes</a></span> n: int, k: int<span class="PreProc"> -> </span>result/<span class="Constant">eax</span>: int <span class="Delimiter">{</span> +<span id="L327" class="LineNr">327 </span> <span class="PreProc">var</span> i/<span class="Constant">ecx</span>: int <span class="SpecialChar"><-</span> copy <span class="Constant">0</span> +<span id="L328" class="LineNr">328 </span> result <span class="SpecialChar"><-</span> copy n +<span id="L329" class="LineNr">329 </span> <span class="Delimiter">{</span> +<span id="L330" class="LineNr">330 </span> compare i, k +<span id="L331" class="LineNr">331 </span> <span class="PreProc">break-if->=</span> +<span id="L332" class="LineNr">332 </span> compare i, <span class="Constant">4</span> <span class="Comment"># only 4 bytes in 32 bits</span> +<span id="L333" class="LineNr">333 </span> <span class="PreProc">break-if->=</span> +<span id="L334" class="LineNr">334 </span> result <span class="SpecialChar"><-</span> shift-left <span class="Constant">8</span> +<span id="L335" class="LineNr">335 </span> i <span class="SpecialChar"><-</span> increment +<span id="L336" class="LineNr">336 </span> <span class="PreProc">loop</span> +<span id="L337" class="LineNr">337 </span> <span class="Delimiter">}</span> +<span id="L338" class="LineNr">338 </span><span class="Delimiter">}</span> +<span id="L339" class="LineNr">339 </span> +<span id="L340" class="LineNr">340 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L340'>test-shift-left-bytes-0</a></span> <span class="Delimiter">{</span> +<span id="L341" class="LineNr">341 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">0</span> +<span id="L342" class="LineNr">342 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">1</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> 0"</span> +<span id="L343" class="LineNr">343 </span><span class="Delimiter">}</span> +<span id="L344" class="LineNr">344 </span> +<span id="L345" class="LineNr">345 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L345'>test-shift-left-bytes-1</a></span> <span class="Delimiter">{</span> +<span id="L346" class="LineNr">346 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">1</span> +<span id="L347" class="LineNr">347 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x100</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> 1"</span> +<span id="L348" class="LineNr">348 </span><span class="Delimiter">}</span> +<span id="L349" class="LineNr">349 </span> +<span id="L350" class="LineNr">350 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L350'>test-shift-left-bytes-2</a></span> <span class="Delimiter">{</span> +<span id="L351" class="LineNr">351 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">2</span> +<span id="L352" class="LineNr">352 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x10000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> 2"</span> +<span id="L353" class="LineNr">353 </span><span class="Delimiter">}</span> +<span id="L354" class="LineNr">354 </span> +<span id="L355" class="LineNr">355 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L355'>test-shift-left-bytes-3</a></span> <span class="Delimiter">{</span> +<span id="L356" class="LineNr">356 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">3</span> +<span id="L357" class="LineNr">357 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0x1000000</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> 3"</span> +<span id="L358" class="LineNr">358 </span><span class="Delimiter">}</span> +<span id="L359" class="LineNr">359 </span> +<span id="L360" class="LineNr">360 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L360'>test-shift-left-bytes-4</a></span> <span class="Delimiter">{</span> +<span id="L361" class="LineNr">361 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">4</span> +<span id="L362" class="LineNr">362 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> 4"</span> +<span id="L363" class="LineNr">363 </span><span class="Delimiter">}</span> +<span id="L364" class="LineNr">364 </span> +<span id="L365" class="LineNr">365 </span><span class="PreProc">fn</span> <span class="muTest"><a href='403unicode.mu.html#L365'>test-shift-left-bytes-5</a></span> <span class="Delimiter">{</span> +<span id="L366" class="LineNr">366 </span> <span class="PreProc">var</span> result/<span class="Constant">eax</span>: int <span class="SpecialChar"><-</span> <a href='403unicode.mu.html#L326'>shift-left-bytes</a> <span class="Constant">1</span>, <span class="Constant">5</span> +<span id="L367" class="LineNr">367 </span> <a href='102test.subx.html#L23'>check-ints-equal</a> result, <span class="Constant">0</span>, <span class="Constant">"F - <a href='403unicode.mu.html#L326'>shift-left-bytes</a> >4"</span> +<span id="L368" class="LineNr">368 </span><span class="Delimiter">}</span> +<span id="L369" class="LineNr">369 </span> +<span id="L370" class="LineNr">370 </span><span class="Comment"># To run all tests, uncomment this and run:</span> +<span id="L371" class="LineNr">371 </span><span class="Comment"># $ ./translate_mu && ./a.elf</span> +<span id="L372" class="LineNr">372 </span><span class="CommentedCode">#? fn main -> r/ebx: int {</span> +<span id="L373" class="LineNr">373 </span><span class="CommentedCode">#? run-tests</span> +<span id="L374" class="LineNr">374 </span><span class="CommentedCode">#? r <- copy 0</span> +<span id="L375" class="LineNr">375 </span><span class="CommentedCode">#? }</span> </pre> </body> </html> |