diff options
Diffstat (limited to 'html/subx')
54 files changed, 428 insertions, 318 deletions
diff --git a/html/subx/000organization.cc.html b/html/subx/000organization.cc.html index 056519bd..f367ee9e 100644 --- a/html/subx/000organization.cc.html +++ b/html/subx/000organization.cc.html @@ -11,17 +11,19 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Identifier { color: #c0a020; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } --> </style> @@ -55,6 +57,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/000organization.cc'>https://github.com/akkartik/mu/blob/master/subx/000organization.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: You guessed right: the '000' prefix means you should start reading here.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//:</span> diff --git a/html/subx/001help.cc.html b/html/subx/001help.cc.html index 1a3fe7ed..aa899790 100644 --- a/html/subx/001help.cc.html +++ b/html/subx/001help.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .CommentedCode { color: #6c6c6c; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/001help.cc'>https://github.com/akkartik/mu/blob/master/subx/001help.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Everything this project/binary supports.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: This should give you a sense for what to look forward to in later layers.</span> diff --git a/html/subx/002test.cc.html b/html/subx/002test.cc.html index 5ae00cdf..6927f559 100644 --- a/html/subx/002test.cc.html +++ b/html/subx/002test.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .CommentedCode { color: #6c6c6c; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/002test.cc'>https://github.com/akkartik/mu/blob/master/subx/002test.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: A simple test harness. To create new tests, define functions starting with</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: 'test_'. To run all tests so defined, run:</span> diff --git a/html/subx/003trace.cc.html b/html/subx/003trace.cc.html index 1abc6fe9..860b3575 100644 --- a/html/subx/003trace.cc.html +++ b/html/subx/003trace.cc.html @@ -11,18 +11,20 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -57,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/003trace.cc'>https://github.com/akkartik/mu/blob/master/subx/003trace.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: The goal of layers is to make programs more easy to understand and more</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: malleable, easy to rewrite in radical ways without accidentally breaking</span> diff --git a/html/subx/003trace.test.cc.html b/html/subx/003trace.test.cc.html index 243c5075..caaace9f 100644 --- a/html/subx/003trace.test.cc.html +++ b/html/subx/003trace.test.cc.html @@ -11,16 +11,18 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } --> </style> @@ -54,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/003trace.test.cc'>https://github.com/akkartik/mu/blob/master/subx/003trace.test.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Normal">void</span> <a href='003trace.test.cc.html#L1'>test_trace_check_compares</a><span class="Delimiter">()</span> <span class="Delimiter">{</span> <span id="L2" class="LineNr"> 2 </span> <a href='003trace.cc.html#L203'>trace</a><span class="Delimiter">(</span><span class="Constant">"test layer"</span><span class="Delimiter">)</span> << <span class="Constant">"foo"</span> << end<span class="Delimiter">();</span> diff --git a/html/subx/010---vm.cc.html b/html/subx/010---vm.cc.html index 6ae23a23..c95cb76b 100644 --- a/html/subx/010---vm.cc.html +++ b/html/subx/010---vm.cc.html @@ -11,20 +11,22 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .CommentedCode { color: #6c6c6c; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .SalientComment { color: #00ffff; } --> </style> @@ -59,6 +61,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/010---vm.cc'>https://github.com/akkartik/mu/blob/master/subx/010---vm.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Core data structures for simulating the SubX VM (subset of an x86 processor)</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//:</span> diff --git a/html/subx/011run.cc.html b/html/subx/011run.cc.html index c06a3b32..99ff7ec9 100644 --- a/html/subx/011run.cc.html +++ b/html/subx/011run.cc.html @@ -11,22 +11,24 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .SalientComment { color: #00ffff; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } -.PreProc { color: #800080; } +.Comment { color: #8080ff; } +.PreProc { color:#800080; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/011run.cc'>https://github.com/akkartik/mu/blob/master/subx/011run.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Running SubX programs on the VM.</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/012elf.cc.html b/html/subx/012elf.cc.html index 06a6ed4c..88b0ffac 100644 --- a/html/subx/012elf.cc.html +++ b/html/subx/012elf.cc.html @@ -11,18 +11,20 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -57,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/012elf.cc'>https://github.com/akkartik/mu/blob/master/subx/012elf.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Generating ELF binaries for SubX programs.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: This will allow us to run them natively on a Linux kernel.</span> diff --git a/html/subx/013direct_addressing.cc.html b/html/subx/013direct_addressing.cc.html index 504d7809..7fc2052c 100644 --- a/html/subx/013direct_addressing.cc.html +++ b/html/subx/013direct_addressing.cc.html @@ -11,24 +11,26 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } .traceContains { color: #008000; } .Error { color: #ffffff; background-color: #ff6060; padding-bottom: 1px; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .SalientComment { color: #00ffff; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .CommentedCode { color: #6c6c6c; } -.PreProc { color: #800080; } +.PreProc { color:#800080; } --> </style> @@ -62,6 +64,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/013direct_addressing.cc'>https://github.com/akkartik/mu/blob/master/subx/013direct_addressing.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: operating directly on a register</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/014indirect_addressing.cc.html b/html/subx/014indirect_addressing.cc.html index 4b0eb7fc..433dce9e 100644 --- a/html/subx/014indirect_addressing.cc.html +++ b/html/subx/014indirect_addressing.cc.html @@ -11,23 +11,25 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .Error { color: #ffffff; background-color: #ff6060; padding-bottom: 1px; } .traceContains { color: #008000; } -.LineNr { color: #444444; } +.LineNr { color:#444444; } .traceAbsent { color: #c00000; } -.Constant { color: #00a0a0; } +.Constant { color:#00a0a0; } .SalientComment { color: #00ffff; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } -.PreProc { color: #800080; } +.Comment { color: #8080ff; } +.PreProc { color:#800080; } --> </style> @@ -61,6 +63,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/014indirect_addressing.cc'>https://github.com/akkartik/mu/blob/master/subx/014indirect_addressing.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: operating on memory at the address provided by some register</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: we'll now start providing data in a separate segment</span> diff --git a/html/subx/015immediate_addressing.cc.html b/html/subx/015immediate_addressing.cc.html index d2d6a059..5fd4d6c7 100644 --- a/html/subx/015immediate_addressing.cc.html +++ b/html/subx/015immediate_addressing.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .SalientComment { color: #00ffff; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .CommentedCode { color: #6c6c6c; } .traceContains { color: #008000; } --> @@ -61,6 +63,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/015immediate_addressing.cc'>https://github.com/akkartik/mu/blob/master/subx/015immediate_addressing.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: instructions that (immediately) contain an argument to act with</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/016index_addressing.cc.html b/html/subx/016index_addressing.cc.html index 74d09f0d..b4707946 100644 --- a/html/subx/016index_addressing.cc.html +++ b/html/subx/016index_addressing.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .Error { color: #ffffff; background-color: #ff6060; padding-bottom: 1px; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } -.PreProc { color: #800080; } +.Comment { color: #8080ff; } +.PreProc { color:#800080; } --> </style> @@ -59,6 +61,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/016index_addressing.cc'>https://github.com/akkartik/mu/blob/master/subx/016index_addressing.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: operating on memory at the address provided by some register plus optional scale and offset</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/017jump_disp8.cc.html b/html/subx/017jump_disp8.cc.html index 358100f2..39c5a3e8 100644 --- a/html/subx/017jump_disp8.cc.html +++ b/html/subx/017jump_disp8.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .traceAbsent { color: #c00000; } .traceContains { color: #008000; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .SalientComment { color: #00ffff; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/017jump_disp8.cc'>https://github.com/akkartik/mu/blob/master/subx/017jump_disp8.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: jump to 8-bit offset</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/018jump_disp32.cc.html b/html/subx/018jump_disp32.cc.html index 3363fe0a..cb829dc6 100644 --- a/html/subx/018jump_disp32.cc.html +++ b/html/subx/018jump_disp32.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .traceAbsent { color: #c00000; } .traceContains { color: #008000; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .SalientComment { color: #00ffff; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/018jump_disp32.cc'>https://github.com/akkartik/mu/blob/master/subx/018jump_disp32.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: jump to 32-bit offset</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/019functions.cc.html b/html/subx/019functions.cc.html index 2cab5df7..9295ee02 100644 --- a/html/subx/019functions.cc.html +++ b/html/subx/019functions.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .CommentedCode { color: #6c6c6c; } .traceContains { color: #008000; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .SalientComment { color: #00ffff; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/019functions.cc'>https://github.com/akkartik/mu/blob/master/subx/019functions.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="SalientComment">//:: call</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/020syscalls.cc.html b/html/subx/020syscalls.cc.html index efbd687c..32b7580a 100644 --- a/html/subx/020syscalls.cc.html +++ b/html/subx/020syscalls.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +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; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/020syscalls.cc'>https://github.com/akkartik/mu/blob/master/subx/020syscalls.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Delimiter">:(before "End Initialize Op Names")</span> <span id="L2" class="LineNr"> 2 </span><a href='001help.cc.html#L253'>put_new</a><span class="Delimiter">(</span><span class="Special"><a href='010---vm.cc.html#L378'>Name</a></span><span class="Delimiter">,</span> <span class="Constant">"cd"</span><span class="Delimiter">,</span> <span class="Constant">"software interrupt (int)"</span><span class="Delimiter">);</span> diff --git a/html/subx/021byte_addressing.cc.html b/html/subx/021byte_addressing.cc.html index f9f9e055..e339fd4f 100644 --- a/html/subx/021byte_addressing.cc.html +++ b/html/subx/021byte_addressing.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/021byte_addressing.cc'>https://github.com/akkartik/mu/blob/master/subx/021byte_addressing.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: SubX mostly deals with instructions operating on 32-bit operands, but we</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: still need to deal with raw bytes for strings and so on.</span> diff --git a/html/subx/028translate.cc.html b/html/subx/028translate.cc.html index ccd31900..67a910de 100644 --- a/html/subx/028translate.cc.html +++ b/html/subx/028translate.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Special { color: #c00000; } -.Delimiter { color: #800080; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Special { color:#c00000; } +.Delimiter { color:#800080; } .SalientComment { color: #00ffff; } -.Identifier { color: #c0a020; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .cSpecial { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/028translate.cc'>https://github.com/akkartik/mu/blob/master/subx/028translate.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: The bedrock level 1 of abstraction is now done, and we're going to start</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: building levels above it that make programming in x86 machine code a</span> diff --git a/html/subx/029transforms.cc.html b/html/subx/029transforms.cc.html index 0a9ed032..7a72cec6 100644 --- a/html/subx/029transforms.cc.html +++ b/html/subx/029transforms.cc.html @@ -11,14 +11,16 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Delimiter { color: #800080; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +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; } +.LineNr { color:#444444; } +.Delimiter { color:#800080; } +.Comment { color: #8080ff; } --> </style> @@ -52,6 +54,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/029transforms.cc'>https://github.com/akkartik/mu/blob/master/subx/029transforms.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Ordering transforms is a well-known hard problem when building compilers.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: In our case we also have the additional notion of layers. The ordering of</span> diff --git a/html/subx/030---operands.cc.html b/html/subx/030---operands.cc.html index cf670140..afe9e115 100644 --- a/html/subx/030---operands.cc.html +++ b/html/subx/030---operands.cc.html @@ -11,19 +11,21 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.Identifier { color: #c0a020; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } +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; } +.Identifier { color:#c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } .SalientComment { color: #00ffff; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .traceContains { color: #008000; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/030---operands.cc'>https://github.com/akkartik/mu/blob/master/subx/030---operands.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Beginning of "level 2": tagging bytes with metadata around what field of</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: an x86 instruction they're for.</span> diff --git a/html/subx/031check_operands.cc.html b/html/subx/031check_operands.cc.html index 8d06d539..e6302677 100644 --- a/html/subx/031check_operands.cc.html +++ b/html/subx/031check_operands.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .CommentedCode { color: #6c6c6c; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .SalientComment { color: #00ffff; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .traceContains { color: #008000; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/031check_operands.cc'>https://github.com/akkartik/mu/blob/master/subx/031check_operands.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Since we're tagging operands with their types, let's start checking these</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: operand types for each instruction.</span> diff --git a/html/subx/032check_operand_bounds.cc.html b/html/subx/032check_operand_bounds.cc.html index e21d0265..ca3d7ed9 100644 --- a/html/subx/032check_operand_bounds.cc.html +++ b/html/subx/032check_operand_bounds.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +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; } +.Comment { color: #8080ff; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } .cSpecial { color: #008000; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.PreProc { color: #800080; } +.PreProc { color:#800080; } .SalientComment { color: #00ffff; } --> </style> @@ -60,6 +62,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/032check_operand_bounds.cc'>https://github.com/akkartik/mu/blob/master/subx/032check_operand_bounds.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="SalientComment">//:: Check that the different operands of an instruction aren't too large for their bitfields.</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/034compute_segment_address.cc.html b/html/subx/034compute_segment_address.cc.html index 3a46ee38..53c3ddaa 100644 --- a/html/subx/034compute_segment_address.cc.html +++ b/html/subx/034compute_segment_address.cc.html @@ -11,20 +11,22 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } -.PreProc { color: #800080; } +.Comment { color: #8080ff; } +.PreProc { color:#800080; } --> </style> @@ -58,6 +60,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/034compute_segment_address.cc'>https://github.com/akkartik/mu/blob/master/subx/034compute_segment_address.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Start allowing us to not specify precise addresses for the start of each</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: segment.</span> diff --git a/html/subx/035labels.cc.html b/html/subx/035labels.cc.html index 2e388d80..6c5f4220 100644 --- a/html/subx/035labels.cc.html +++ b/html/subx/035labels.cc.html @@ -11,20 +11,22 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } -.PreProc { color: #800080; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.PreProc { color:#800080; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .traceContains { color: #008000; } --> </style> @@ -59,6 +61,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/035labels.cc'>https://github.com/akkartik/mu/blob/master/subx/035labels.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Labels are defined by ending names with a ':'. This layer will compute</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: displacements for labels, and compute the offset for instructions using them.</span> diff --git a/html/subx/036global_variables.cc.html b/html/subx/036global_variables.cc.html index 24e8a9ee..d4b2a869 100644 --- a/html/subx/036global_variables.cc.html +++ b/html/subx/036global_variables.cc.html @@ -11,23 +11,25 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } .traceContains { color: #008000; } .CommentedCode { color: #6c6c6c; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .SalientComment { color: #00ffff; } -.PreProc { color: #800080; } +.PreProc { color:#800080; } --> </style> @@ -61,6 +63,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/036global_variables.cc'>https://github.com/akkartik/mu/blob/master/subx/036global_variables.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Global variables.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//:</span> diff --git a/html/subx/038---literal_strings.cc.html b/html/subx/038---literal_strings.cc.html index 5beff626..4c9a0391 100644 --- a/html/subx/038---literal_strings.cc.html +++ b/html/subx/038---literal_strings.cc.html @@ -11,20 +11,22 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } -.LineNr { color: #444444; } +.LineNr { color:#444444; } .traceAbsent { color: #c00000; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } .traceContains { color: #008000; } --> </style> @@ -59,6 +61,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/038---literal_strings.cc'>https://github.com/akkartik/mu/blob/master/subx/038---literal_strings.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Allow instructions to mention literals directly.</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//:</span> diff --git a/html/subx/039debug.cc.html b/html/subx/039debug.cc.html index c52eece9..7e66bad2 100644 --- a/html/subx/039debug.cc.html +++ b/html/subx/039debug.cc.html @@ -11,17 +11,19 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } +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; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } +.Comment { color: #8080ff; } --> </style> @@ -55,6 +57,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/039debug.cc'>https://github.com/akkartik/mu/blob/master/subx/039debug.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Some helpers for debugging.</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/040---tests.cc.html b/html/subx/040---tests.cc.html index 14ae7ce0..f00d27e4 100644 --- a/html/subx/040---tests.cc.html +++ b/html/subx/040---tests.cc.html @@ -11,21 +11,23 @@ <style type="text/css"> <!-- pre { white-space: pre-wrap; 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; } +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; } .cSpecial { color: #008000; } .traceContains { color: #008000; } -.LineNr { color: #444444; } -.Constant { color: #00a0a0; } -.Delimiter { color: #800080; } -.Special { color: #c00000; } -.Identifier { color: #c0a020; } +.LineNr { color:#444444; } +.Constant { color:#00a0a0; } +.Delimiter { color:#800080; } +.Special { color:#c00000; } +.Identifier { color:#c0a020; } .Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; } -.Comment { color: #9090ff; } -.Comment a { color:#0000ee; text-decoration:underline; } -.PreProc { color: #800080; } +.Comment { color: #8080ff; } +.PreProc { color:#800080; } --> </style> @@ -59,6 +61,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/040---tests.cc'>https://github.com/akkartik/mu/blob/master/subx/040---tests.cc</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="Comment">//: Automatically aggregate functions starting with 'test-' into a test suite</span> <span id="L2" class="LineNr"> 2 </span><span class="Comment">//: called 'run-tests'. Running this function will run all tests.</span> diff --git a/html/subx/050_write.subx.html b/html/subx/050_write.subx.html index 369c7b33..0dfa8594 100644 --- a/html/subx/050_write.subx.html +++ b/html/subx/050_write.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/050_write.subx'>https://github.com/akkartik/mu/blob/master/subx/050_write.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># _write: write to a file descriptor</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/051test.subx.html b/html/subx/051test.subx.html index cf87bbb0..89ebfd20 100644 --- a/html/subx/051test.subx.html +++ b/html/subx/051test.subx.html @@ -58,6 +58,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/051test.subx'>https://github.com/akkartik/mu/blob/master/subx/051test.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Rudimentary test harness</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/052kernel_string_equal.subx.html b/html/subx/052kernel_string_equal.subx.html index ae0840b8..e35b1aa3 100644 --- a/html/subx/052kernel_string_equal.subx.html +++ b/html/subx/052kernel_string_equal.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/052kernel_string_equal.subx'>https://github.com/akkartik/mu/blob/master/subx/052kernel_string_equal.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Checking null-terminated ascii strings.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/053new_segment.subx.html b/html/subx/053new_segment.subx.html index 0290b2f9..cc8a1748 100644 --- a/html/subx/053new_segment.subx.html +++ b/html/subx/053new_segment.subx.html @@ -57,6 +57,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/053new_segment.subx'>https://github.com/akkartik/mu/blob/master/subx/053new_segment.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Create a new segment (for data) using mmap().</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/054string_equal.subx.html b/html/subx/054string_equal.subx.html index 657cce79..5b6504d2 100644 --- a/html/subx/054string_equal.subx.html +++ b/html/subx/054string_equal.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/054string_equal.subx'>https://github.com/akkartik/mu/blob/master/subx/054string_equal.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Comparing 'regular' length-prefixed strings.</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/055trace.subx.html b/html/subx/055trace.subx.html index b46b0a11..bd3ec9c0 100644 --- a/html/subx/055trace.subx.html +++ b/html/subx/055trace.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/055trace.subx'>https://github.com/akkartik/mu/blob/master/subx/055trace.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># primitives for emitting traces to a trace stream, and for tests to check the trace stream</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/056write.subx.html b/html/subx/056write.subx.html index e92b59bb..d21a4bfb 100644 --- a/html/subx/056write.subx.html +++ b/html/subx/056write.subx.html @@ -58,6 +58,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/056write.subx'>https://github.com/akkartik/mu/blob/master/subx/056write.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># write: like _write, but also support in-memory streams in addition to file</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># descriptors.</span> diff --git a/html/subx/057stop.subx.html b/html/subx/057stop.subx.html index 1f859d12..bd4dec2c 100644 --- a/html/subx/057stop.subx.html +++ b/html/subx/057stop.subx.html @@ -58,6 +58,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/057stop.subx'>https://github.com/akkartik/mu/blob/master/subx/057stop.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># stop: dependency-injected wrapper around the exit() syscall</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/058read.subx.html b/html/subx/058read.subx.html index b464068c..9f17a3ed 100644 --- a/html/subx/058read.subx.html +++ b/html/subx/058read.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/058read.subx'>https://github.com/akkartik/mu/blob/master/subx/058read.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># read: analogously to write, support reading from in-memory streams in</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># addition to file descriptors.</span> diff --git a/html/subx/059read-byte.subx.html b/html/subx/059read-byte.subx.html index 6573c8c5..eb760dd4 100644 --- a/html/subx/059read-byte.subx.html +++ b/html/subx/059read-byte.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/059read-byte.subx'>https://github.com/akkartik/mu/blob/master/subx/059read-byte.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># read-byte: one higher-level abstraction atop 'read'.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/060write-stream.subx.html b/html/subx/060write-stream.subx.html index ba6ed457..d8425da4 100644 --- a/html/subx/060write-stream.subx.html +++ b/html/subx/060write-stream.subx.html @@ -58,6 +58,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/060write-stream.subx'>https://github.com/akkartik/mu/blob/master/subx/060write-stream.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># write-stream: like write, but write streams rather than strings</span> <span id="L2" class="LineNr"> 2 </span> diff --git a/html/subx/apps/crenshaw2-1.subx.html b/html/subx/apps/crenshaw2-1.subx.html index 348defea..b4e300ad 100644 --- a/html/subx/apps/crenshaw2-1.subx.html +++ b/html/subx/apps/crenshaw2-1.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/apps/crenshaw2-1.subx'>https://github.com/akkartik/mu/blob/master/subx/apps/crenshaw2-1.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Port of <a href="https://github.com/akkartik/crenshaw/blob/master/tutor2.1.pas">https://github.com/akkartik/crenshaw/blob/master/tutor2.1.pas</a></span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># which corresponds to the section "single digits" in <a href="https://compilers.iecc.com/crenshaw/tutor2.txt">https://compilers.iecc.com/crenshaw/tutor2.txt</a></span> diff --git a/html/subx/apps/crenshaw2-1b.subx.html b/html/subx/apps/crenshaw2-1b.subx.html index d6e00742..f38703f0 100644 --- a/html/subx/apps/crenshaw2-1b.subx.html +++ b/html/subx/apps/crenshaw2-1b.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/apps/crenshaw2-1b.subx'>https://github.com/akkartik/mu/blob/master/subx/apps/crenshaw2-1b.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Port of <a href="https://github.com/akkartik/crenshaw/blob/master/tutor2.1.pas">https://github.com/akkartik/crenshaw/blob/master/tutor2.1.pas</a></span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># which corresponds to the section "single digits" in <a href="https://compilers.iecc.com/crenshaw/tutor2.txt">https://compilers.iecc.com/crenshaw/tutor2.txt</a></span> diff --git a/html/subx/apps/factorial.subx.html b/html/subx/apps/factorial.subx.html index 61c6854a..7e43deaf 100644 --- a/html/subx/apps/factorial.subx.html +++ b/html/subx/apps/factorial.subx.html @@ -59,12 +59,13 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/apps/factorial.subx'>https://github.com/akkartik/mu/blob/master/subx/apps/factorial.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment">## compute the factorial of 5, 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 apps/factorial.subx -o apps/factorial</span> -<span id="L5" class="LineNr"> 5 </span><span class="subxComment"># $ subx run apps/factorial</span> +<span id="L4" class="LineNr"> 4 </span><span class="subxComment"># $ ./subx translate apps/factorial.subx -o apps/factorial</span> +<span id="L5" class="LineNr"> 5 </span><span class="subxComment"># $ ./subx run apps/factorial</span> <span id="L6" class="LineNr"> 6 </span><span class="subxComment"># Expected result:</span> <span id="L7" class="LineNr"> 7 </span><span class="subxComment"># $ echo $?</span> <span id="L8" class="LineNr"> 8 </span><span class="subxComment"># 120</span> diff --git a/html/subx/examples/ex1.subx.html b/html/subx/examples/ex1.subx.html index 2c8d9fee..b72d5054 100644 --- a/html/subx/examples/ex1.subx.html +++ b/html/subx/examples/ex1.subx.html @@ -54,6 +54,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex1.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex1.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># First program: same as <a href="https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html">https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html</a></span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># Just return 42.</span> diff --git a/html/subx/examples/ex10.subx.html b/html/subx/examples/ex10.subx.html index 132958ec..f0f582f2 100644 --- a/html/subx/examples/ex10.subx.html +++ b/html/subx/examples/ex10.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex10.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex10.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># String comparison: return 1 iff the two args passed in at the commandline are equal.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex11.subx.html b/html/subx/examples/ex11.subx.html index 56377403..9749967e 100644 --- a/html/subx/examples/ex11.subx.html +++ b/html/subx/examples/ex11.subx.html @@ -59,6 +59,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex11.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex11.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Null-terminated vs length-prefixed ascii strings.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex12.subx.html b/html/subx/examples/ex12.subx.html index 35235c57..e2dfc4e0 100644 --- a/html/subx/examples/ex12.subx.html +++ b/html/subx/examples/ex12.subx.html @@ -58,6 +58,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex12.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex12.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Example showing mmap syscall.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment"># Create a new segment using mmap, save the address, write to it.</span> diff --git a/html/subx/examples/ex2.subx.html b/html/subx/examples/ex2.subx.html index 42a590f1..04e1e9c4 100644 --- a/html/subx/examples/ex2.subx.html +++ b/html/subx/examples/ex2.subx.html @@ -54,6 +54,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex2.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex2.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Add 1 and 1, and return the result in the exit code.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex3.subx.html b/html/subx/examples/ex3.subx.html index fb098a31..533bea07 100644 --- a/html/subx/examples/ex3.subx.html +++ b/html/subx/examples/ex3.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex3.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex3.subx</a> <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="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex4.subx.html b/html/subx/examples/ex4.subx.html index dab870b9..db75131c 100644 --- a/html/subx/examples/ex4.subx.html +++ b/html/subx/examples/ex4.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex4.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex4.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Read a character from stdin, save it to a global, write it to stdout.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex5.subx.html b/html/subx/examples/ex5.subx.html index 917a55d6..5364e97f 100644 --- a/html/subx/examples/ex5.subx.html +++ b/html/subx/examples/ex5.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex5.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex5.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Read a character from stdin, save it to a local on the stack, write it to stdout.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex6.subx.html b/html/subx/examples/ex6.subx.html index 092685e2..fb8b5bd7 100644 --- a/html/subx/examples/ex6.subx.html +++ b/html/subx/examples/ex6.subx.html @@ -57,6 +57,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex6.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex6.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Print out a (global variable) string to stdout.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex7.subx.html b/html/subx/examples/ex7.subx.html index e20ebc88..f22f852f 100644 --- a/html/subx/examples/ex7.subx.html +++ b/html/subx/examples/ex7.subx.html @@ -57,6 +57,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex7.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex7.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Example showing file syscalls.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex8.subx.html b/html/subx/examples/ex8.subx.html index ed29f0b4..50f28a7c 100644 --- a/html/subx/examples/ex8.subx.html +++ b/html/subx/examples/ex8.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex8.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex8.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Example reading commandline arguments: compute length of first arg.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> diff --git a/html/subx/examples/ex9.subx.html b/html/subx/examples/ex9.subx.html index 578c7cd7..23e35839 100644 --- a/html/subx/examples/ex9.subx.html +++ b/html/subx/examples/ex9.subx.html @@ -56,6 +56,7 @@ if ('onhashchange' in window) { </script> </head> <body onload='JumpToLine();'> +<a href='https://github.com/akkartik/mu/blob/master/subx/examples/ex9.subx'>https://github.com/akkartik/mu/blob/master/subx/examples/ex9.subx</a> <pre id='vimCodeElement'> <span id="L1" class="LineNr"> 1 </span><span class="subxComment"># Example showing arg order on the stack.</span> <span id="L2" class="LineNr"> 2 </span><span class="subxComment">#</span> |