Commit Graph

808 Commits

Author SHA1 Message Date
Kartik Agaram dfb4a6f9ce 6178 2020-03-31 00:12:37 -07:00
Kartik Agaram cbec147d3b 6173 2020-03-27 02:08:02 -07:00
Kartik Agaram 606c1ab49a 6170 2020-03-25 09:54:53 -07:00
Kartik Agaram 84c426d2ab 6169 2020-03-25 09:46:35 -07:00
Kartik Agaram be19cb8772 6164 2020-03-24 03:49:56 -07:00
Kartik Agaram e25b9e0a4d 6163 2020-03-23 20:56:58 -07:00
Kartik Agaram 783eb31a05 6162 2020-03-23 20:56:49 -07:00
Kartik Agaram 85a964616d 6146 2020-03-14 14:48:05 -07:00
Kartik Agaram 6db056110b 6144 2020-03-14 01:25:34 -07:00
Kartik Agaram 9428990bd6 6143 2020-03-14 01:06:27 -07:00
Kartik Agaram 9aa6e60538 6139 2020-03-12 01:18:29 -07:00
Kartik Agaram 290f2f677a 6138 2020-03-12 01:16:47 -07:00
Kartik Agaram 89fc6e43d5 6135 2020-03-12 00:46:10 -07:00
Kartik Agaram d5171ad7fe 6130 2020-03-11 21:34:49 -07:00
Kartik Agaram 38b1bfd4d0 6119 2020-03-10 16:49:14 -07:00
Kartik Agaram ee0e67b9d7 6091 2020-03-06 18:39:16 -08:00
Kartik Agaram 0743b981a8 6087 2020-03-06 13:51:51 -08:00
Kartik Agaram 651fc300a4 6084 2020-03-06 12:28:57 -08:00
Kartik Agaram 0657fc16ab 6081 - ctags for .mu files 2020-03-05 18:29:00 -08:00
Kartik Agaram 16962ee468 6080 2020-03-05 18:25:37 -08:00
Kartik Agaram a53ab5266f 6078 - highlight hex literals in Vim 2020-03-02 08:23:54 -08:00
Kartik Agaram 32d5099fa0 6077 2020-03-02 08:20:53 -08:00
Kartik Agaram af326d9e39 6070 2020-02-29 05:53:13 -08:00
Kartik Agaram c51f590273 6069 2020-02-29 05:33:03 -08:00
Kartik Agaram 3a2285c613 6068 2020-02-28 11:23:22 -08:00
Kartik Agaram e62702efd0 6066 - Vim syntax highlighting for Mu files 2020-02-28 11:10:17 -08:00
Kartik Agaram a09ab577d1 6065 2020-02-27 21:29:10 -08:00
Kartik Agaram 067e1d5102 6063 2020-02-27 18:50:24 -08:00
Kartik Agaram 6163a55370 6061 2020-02-27 17:31:35 -08:00
Kartik Agaram 510a5429ca 6056 2020-02-27 16:47:40 -08:00
Kartik Agaram 71478004a8 6042 2020-02-21 10:21:38 -08:00
Kartik Agaram f59df9cb75 6038 2020-02-20 18:46:19 -08:00
Kartik Agaram 7c2ac5dcaa 6026 2020-02-18 16:05:13 -08:00
Kartik Agaram 8d79145eaa 6025 2020-02-18 01:38:13 -08:00
Kartik Agaram 75b9ff5010 6018 2020-02-17 20:17:48 -08:00
Kartik Agaram 156cbcff8a 6016 2020-02-17 20:02:02 -08:00
Kartik Agaram c52ae116ac 6015 2020-02-17 15:29:43 -08:00
Kartik Agaram ce29c91c9c 6012 2020-02-16 20:15:25 -08:00
Kartik Agaram 3dad94263f 6001 2020-02-09 20:49:38 -08:00
Kartik Agaram b3891fbc0e 5995 2020-02-08 16:34:27 -08:00
Kartik Agaram bed42be34f 5975 2020-02-02 00:23:49 -08:00
Kartik Agaram 399d2972f2 5972 2020-02-01 22:56:51 -08:00
Kartik Agaram aeac1e061d 5966 - document all supported Mu instructions 2020-01-31 18:55:37 -08:00
Kartik Agaram 4bb0b7e93f 5965 2020-01-31 16:17:04 -08:00
Kartik Agaram 21627e9d02 5963 2020-01-30 01:21:36 -08:00
Kartik Agaram 4c0b4b4611 5958 2020-01-30 00:14:53 -08:00
Kartik Agaram ea62afb1da 5954 - 'factorial' working! 2020-01-29 23:17:36 -08:00
Kartik Agaram c5ea59605c 5952 2020-01-29 19:45:55 -08:00
Kartik Agaram b7ec03984f 5950 2020-01-29 17:38:32 -08:00
Kartik Agaram 514a014df9 5949 2020-01-29 17:37:20 -08:00
Kartik Agaram f4408d76c5 5944 2020-01-28 21:41:24 -08:00
Kartik Agaram f6078f8d04 5941 2020-01-27 16:17:29 -08:00
Kartik Agaram 1862ab4252 5937 2020-01-27 14:15:35 -08:00
Kartik Agaram cfdd5b8bf3 5933
Expand some buffer sizes to continue building mu.subx natively.
2020-01-27 02:35:35 -08:00
Kartik Agaram 2363ceebaf 5932 2020-01-27 02:23:31 -08:00
Kartik Agaram 8ae2c80e19 5931 2020-01-27 02:12:37 -08:00
Kartik Agaram 1d8849e52d 5930 2020-01-27 02:08:47 -08:00
Kartik Agaram 2104d1a75b 5925 2020-01-27 00:39:46 -08:00
Kartik Agaram 810b0f67fa 5922 2020-01-26 23:46:37 -08:00
Kartik Agaram 5b4f4d63bd 5917 2020-01-22 23:47:33 -08:00
Kartik Agaram f833e0a0e7 5912 2020-01-20 03:09:06 -08:00
Kartik Agaram 41e4cfc33f 5904 2020-01-19 23:38:06 -08:00
Kartik Agaram 33258e0ad2 5903 2020-01-19 21:58:32 -08:00
Kartik Agaram 1008059f1f 5901 2020-01-19 17:55:59 -08:00
Kartik Agaram 6070c23e5e 5897 - rename comparison instructions
Signed and unsigned don't quite capture the essence of what the different
combinations of x86 flags are doing for SubX. The crucial distinction is
that one set of comparison operators is for integers and the second is
for addresses.
2020-01-16 18:31:12 -08:00
Kartik Agaram 5a6601aba9 5896 2020-01-16 18:10:42 -08:00
Kartik Agaram 01e88c8833 5895 2020-01-16 18:10:42 -08:00
Kartik Agaram 675fa93ded 5894 2020-01-16 18:10:42 -08:00
Kartik Agaram c504ca5661 5893 2020-01-14 01:52:54 -08:00
Kartik Agaram 8fa32599bb 5889 2020-01-14 01:52:54 -08:00
Kartik Agaram fa786ea791 5884 2020-01-12 14:52:07 -08:00
Kartik Agaram 194d100792 5881 2020-01-10 10:35:17 -08:00
Kartik Agaram 2f899b3b2c 5878
The current prototype doesn't really use floating point; drop the
guardrails there.
2020-01-03 22:12:28 -08:00
Kartik Agaram 68071dca1e 5877 2020-01-03 02:17:53 -08:00
Kartik Agaram 7e7a8a6eae 5876 - address -> addr 2020-01-03 01:36:34 -08:00
Kartik Agaram c9bda4d13e 5875 2020-01-02 15:23:01 -08:00
Kartik Agaram 113bae7311 5856 2020-01-01 17:23:29 -08:00
Kartik Agaram 1b050736ee 5855 2020-01-01 17:11:05 -08:00
Kartik Agaram 03a1de4536 5835 2019-12-28 00:02:29 -08:00
Kartik Agaram cea97b7b22 5810 2019-12-09 16:54:34 -08:00
Kartik Agaram 91624dbaca 5807 2019-12-09 01:32:48 -08:00
Kartik Agaram 8aeb85f04e 5806 2019-12-09 01:26:58 -08:00
Kartik Agaram f25f2e98f9 5786 2019-11-30 14:18:36 -08:00
Kartik Agaram 3ccc100b32 5783 2019-11-30 11:15:15 -08:00
Kartik Agaram 367394c7de 5771 2019-11-28 01:02:40 -08:00
Kartik Agaram 3a7da4e735 5769 - support uppercase hex in SubX 2019-11-28 00:37:26 -08:00
Kartik Agaram 374397f0cb 5766 2019-11-26 22:21:06 -08:00
Kartik Agaram b697b34318 5763 2019-11-26 18:07:55 -08:00
Kartik Agaram 4d20c9ee94 5761 2019-11-26 17:41:25 -08:00
Kartik Agaram 49ffb03084 5756 2019-11-18 17:36:59 -08:00
Kartik Agaram dd6c5fff9e 5755
Support function calls with literal arguments.
2019-11-18 17:29:50 -08:00
Kartik Agaram e9db8e1f25 5754
Support binary instructions with an immediate operand.
2019-11-18 16:30:30 -08:00
Kartik Agaram 6488bfcf85 5753
Binaries are now identical again.
There's a little hack here that we should clean up at some point. But it
requires more thought.

Ordering compiler phases is hard. So far we're only at the start of the
slippery slope into that abyss.
2019-11-18 12:50:01 -08:00
Kartik Agaram 442fdabe30 5752
Support binary operations with reg/mem and reg operands.

Everything is passing. However, the self-hosting translator now generates
some discrepancies compared to the C++ translator :(
2019-11-18 01:15:29 -08:00
Kartik Agaram 0ea0ebcf81 5751 - start of table of Mu primitives
So far this is just the same as our most recent tests. But now we have a
'DSL' for adding more primitives.
2019-11-18 00:24:24 -08:00
Kartik Agaram 3b40e3c331 5750
We can now compile primitive statements while selecting the right template
to code-gen each one from. Even when multiple templates have the same name.
2019-11-17 21:01:36 -08:00
Kartik Agaram edda65475a 5747 2019-11-15 18:44:04 -08:00
Kartik Agaram 95ccc2e055 5745
I've been under-estimating the complexity of translating primitive statements.
We need to separately track information for each primitive about operands
for both the source and emitted SubX notation.
2019-11-14 20:10:49 -08:00
Kartik Agaram 75d5b73cfc 5741
Support variables at positive stack offsets (formal parameters for functions),
and also an indicator for 'any register' for primitive operations.
2019-11-14 17:19:52 -08:00
Kartik Agaram 525767cb0e 5738 2019-11-10 21:04:21 -08:00
Kartik Agaram 34e01d7f26 5732 2019-11-09 09:34:57 -08:00
Kartik Agaram fb26bd2141 5731 2019-11-09 09:07:41 -08:00
Kartik Agaram 3a74e0e646 5730 2019-11-09 09:02:24 -08:00
Kartik Agaram 6dd309a2e1 5726 2019-11-03 00:44:25 -07:00
Kartik Agaram de54d4735b 5725 2019-10-30 09:51:07 -07:00
Kartik Agaram 01c811d9ae 5724 2019-10-29 23:04:12 -07:00
Kartik Agaram efae9496be 5723 2019-10-29 22:39:47 -07:00
Kartik Agaram ffd4a419b4 5717 2019-10-27 00:52:44 -07:00
Kartik Agaram 999c529cb9 5716 2019-10-26 23:51:14 -07:00
Kartik Agaram 0a2247726a 5708 2019-10-19 18:53:05 -07:00
Kartik Agaram c8998b51e1 5707 2019-10-19 18:49:40 -07:00
Kartik Agaram c83dca9cb4 5706 - example at different levels of syntax sugar
Thanks Mateusz Czapliński for the feedback:
  https://lobste.rs/s/xtxlec/mu_minimal_hobbyist_computing_stack#c_1mzq94
2019-10-19 18:43:16 -07:00
Kartik Agaram bb1a1ac2b6 5704
Minor tweaks based on feedback from Max Bernstein.
2019-10-19 14:44:54 -07:00
Kartik Agaram b1635a5c8e 5701 2019-10-17 22:03:48 -07:00
Kartik Agaram 3c1bc4fcb4 5696 2019-10-03 00:15:08 -07:00
Kartik Agaram a844bd058a 5684
Support function-call syntax when linkifying functions in html files.
2019-09-21 00:22:10 -07:00
Kartik Agaram 4a4a392dc7 5683 2019-09-20 11:25:59 -07:00
Kartik Agaram f39eaf81fa 5661 2019-09-15 00:29:52 -07:00
Kartik Agaram a0d3cac4e6 5659 2019-09-15 00:01:26 -07:00
Kartik Agaram 57fa808b18 5637 2019-09-07 13:37:51 -07:00
Kartik Agaram e850764d8c 5632 2019-09-06 19:57:05 -07:00
Kartik Agaram 8475b51e40 5629 2019-09-06 15:48:54 -07:00
Kartik Agaram dde37113cb 5625 2019-09-05 00:33:34 -07:00
Kartik Agaram 77c96940d5 5623 2019-09-04 21:29:42 -07:00
Kartik Agaram 007b5c7faa 5614 2019-09-03 23:56:40 -07:00
Kartik Agaram ae07bf353c 5612 2019-09-02 16:34:31 -07:00
Kartik Agaram e8a1153af1 5611 2019-09-02 15:46:15 -07:00
Kartik Agaram 68dff52698 5610 2019-09-02 15:42:21 -07:00
Kartik Agaram 18bd3ef902 5607 - start of notation for function calls 2019-09-02 15:36:08 -07:00
Kartik Agaram 604c8315bd 5607 2019-09-01 23:57:29 -07:00
Kartik Agaram 7a81a4505c 5606 2019-09-01 23:38:06 -07:00
Kartik Agaram b44c754bc0 5605 - sigils: support *disp32 2019-09-01 23:22:39 -07:00
Kartik Agaram c94ecaf687 5603 2019-09-01 00:39:17 -07:00
Kartik Agaram cafca95097 5602 2019-09-01 00:12:43 -07:00
Kartik Agaram 075354cd17 5601 2019-08-31 23:58:19 -07:00
Kartik Agaram 282681c729 5600 2019-08-31 23:42:45 -07:00
Kartik Agaram 518429b1cb 5598 2019-08-31 22:34:56 -07:00
Kartik Agaram bf02a19d02 5596 2019-08-31 22:18:24 -07:00
Kartik Agaram 3046e34da8 5595 - support ebp and esp in sigils
The x86 instruction set carves out exceptions for these registers.
2019-08-31 22:14:11 -07:00
Kartik Agaram e97b446ac3 5594 - rename 'desugar' to 'sigils'
There's going to be multiple forms of syntax sugar going forward.
2019-08-31 20:43:41 -07:00
Kartik Agaram 333525360b 5592 - switch register names to lowercase 2019-08-26 11:59:21 -07:00
Kartik Agaram 22fb844ba4 5591 2019-08-26 11:54:29 -07:00
Kartik Agaram e0d034b565 5590 2019-08-25 23:33:49 -07:00
Kartik Agaram fc55af70a5 5589 2019-08-25 23:25:08 -07:00
Kartik Agaram 7c878eb0ea 5583
Clean up some missing error messages.
2019-08-25 16:29:10 -07:00
Kartik Agaram 6033844884 5582 2019-08-25 15:54:16 -07:00
Kartik Agaram 0bb09d2e14 5522 - example app: random number stream
Turns out Mu's kernel isn't populating /dev/random correctly.
2019-08-20 00:20:38 -07:00
Kartik Agaram 1ed1d1c842 5499 2019-07-31 15:28:23 -07:00
Kartik Agaram c8a3ccbeb8 5490 2019-07-27 18:26:18 -07:00
Kartik Agaram 6e1eeeebfb 5485 - promote SubX to top-level 2019-07-27 17:47:59 -07:00
Kartik Agaram 695f9bf8d0 5468 2019-07-25 00:10:56 -07:00
Kartik Agaram ce2c1efc41 . 2019-07-14 09:42:36 -07:00
Kartik Agaram d1fa22f7b4 5221
Explore using a second register for pointer dereferencing.
2019-05-22 22:33:42 -07:00
Kartik Agaram 40077d0d2b 5220 2019-05-22 21:59:39 -07:00
Kartik Agaram 1b6aa10a6b 5216 2019-05-22 08:49:31 -07:00
Kartik Agaram 52daf0722f 5211
Update syntax-highlighted renderings after a _long_ time.
2019-05-20 01:44:06 -07:00
Kartik Agaram 8a8c421192 5125 2019-04-25 03:23:25 -07:00
Kartik Agaram ceb04db3cc 5124 2019-04-23 21:21:29 -07:00
Kartik Agaram 7df08a942a 5123 2019-04-23 21:17:10 -07:00
Kartik Agaram 99d22b871d 5122 2019-04-23 21:13:31 -07:00
Kartik Agaram caa6fd200c 5121 2019-04-23 21:08:17 -07:00
Kartik Agaram 0af2ea07b3 5119 2019-04-23 20:51:58 -07:00
Kartik Agaram c5672a65bc 5081 2019-04-11 11:40:59 -07:00
Kartik Agaram 09492d3867 5077 2019-04-10 21:18:55 -07:00
Kartik Agaram 1080c97984 5035 2019-03-29 13:18:46 -07:00
Kartik Agaram 9c1056f531 5033 2019-03-29 00:47:30 -07:00
Kartik Agaram cb7b403210 4989 2019-02-25 01:50:53 -08:00
Kartik Agaram e99038ea51 4982 2019-02-18 22:43:01 -08:00
Kartik Agaram 554777cb2b 4968 2019-02-14 23:57:14 -08:00
Kartik Agaram 9309600c5a 4967 2019-02-14 23:00:47 -08:00
Kartik Agaram a630d7fb96 4959
It's always seemed ugly to explain the rules for segment names. Let's just
always require a fixed name for the code and data segments.
2019-02-13 00:01:14 -08:00
Kartik Agaram 7bc0f8c1d0 4957 2019-02-11 23:01:20 -08:00
Kartik Agaram 6e181e7fd9 4953 2019-02-05 23:30:12 -08:00
Kartik Agaram cb82bd2364 4948
This seems like the final helper we need for Phase 2. Now to build the
business logic itself.
2019-02-02 15:21:48 -08:00
Kartik Agaram 95540b2452 4942 2019-01-21 00:59:05 -08:00
Kartik Agaram c65dee2d99 4938 2019-01-20 23:20:34 -08:00
Kartik Agaram 332cbba31f 4937 2019-01-20 22:50:44 -08:00
Kartik Agaram 1f0f381303 4936 2019-01-18 22:30:38 -08:00
Kartik Agaram 76733e1995 4932 2019-01-16 00:12:55 -08:00
Kartik Agaram 8472406209 4928 2019-01-14 23:16:22 -08:00
Kartik Agaram 3f97166cf7 4927 2019-01-14 17:29:10 -08:00
Kartik Agaram 509f0a12ca 4926 2019-01-14 17:06:10 -08:00
Kartik Agaram feec2292b5 4925 2019-01-14 16:54:41 -08:00
Kartik Agaram 220ac38964 4923
We want slice-equal? for length-prefixed strings, not null-terminated "kernel"
strings.
2019-01-12 22:24:06 -08:00
Kartik Agaram e92fa89edf 4922 2019-01-11 18:12:05 -08:00
Kartik Agaram db8a9ab553 4921 2019-01-11 18:08:21 -08:00
Kartik Agaram dadae33848 4920 2019-01-11 17:50:29 -08:00
Kartik Agaram 44e030822e 4919 2019-01-10 17:19:00 -08:00
Kartik Agaram 96a6bac52d 4914 2019-01-07 13:36:15 -08:00
Kartik Agaram 634b162a98 4901 2019-01-03 17:02:17 -08:00
Kartik Agaram 1ffb27a045 4900
Finally really fix the CI failure of commit 4894.

This is a remainder to forget my knowledge of stack addresses in the SubX
VM when writing SubX programs. Otherwise my programs will work in the VM
but not natively. The only assumptions a SubX program should make about
its segment addresses are what's encoded in the ELF binary. Thanks to
https://en.wikipedia.org/wiki/Address_space_layout_randomization, it can't
know anything else.
2018-12-30 21:01:35 -08:00
Kartik Agaram 901ae47430 4899
Bug in my linkify tool introduced in commit 4891.
2018-12-30 20:24:37 -08:00
Kartik Agaram 0474ec865a 4898 2018-12-30 12:58:21 -08:00
Kartik Agaram 5a68894ca1 4897 2018-12-30 12:54:35 -08:00
Kartik Agaram ebd3552150 4895 2018-12-30 01:42:06 -08:00
Kartik Agaram e0ffdcd1a6 4892 2018-12-30 00:16:32 -08:00
Kartik Agaram 08a0eed699 4891
Couple more tweaks to html rendering:
a) SubX definitions no longer link redundantly to themselves. This long-standing
issue turns out to be tractable to solve for SubX files since the syntax
is so simple.
b) Fix links to SubX definitions in other directories. I forgot that I
have to always generate tags from the directory of the file being linkified.
c) Fix link colors. Before we lost all syntax highlighting for functions
and Globals. Now they maintain their colors, just add an underline.
2018-12-30 00:02:42 -08:00
Kartik Agaram ac07e589b3 4890 - new html renderings
a) Switch to a light background.
b) Linkify calls in .subx files.
c) Keep all colorization in the Vim colorscheme, get rid of hacky special-cases
   in update_html.
2018-12-29 15:27:18 -08:00
Kartik Agaram e0610e396f 4880 2018-12-28 02:18:16 -08:00
Kartik Agaram 044b413021 4879 2018-12-28 02:07:11 -08:00
Kartik Agaram efc3c64b0d 4878 2018-12-27 23:44:03 -08:00
Kartik Agaram f842ab98de 4877 2018-12-27 23:38:38 -08:00
Kartik Agaram cdfff1a18d 4869 2018-12-16 20:52:47 -08:00
Kartik Agaram 3d4fba4d12 4865
More mnemonic register usage in write-stream.
2018-12-10 09:55:46 -08:00
Kartik Agaram 3a4d870730 4864
Our first buffer overflow!
2018-12-10 00:17:47 -08:00
Kartik Agaram dd08c9e69b 4863 2018-12-10 00:14:49 -08:00
Kartik Agaram f9ec61327a 4862 2018-12-09 23:37:34 -08:00
Kartik Agaram 42a933078c 4860 - stage 1 of SubX compiler in SubX is done!
I'm imagining 3 core stages total:
  1. convert text hex bytes -> binary (✓)
  2. pack and reorder operands
  3. compute label addresses

(Not including extras like error-checking.)
2018-12-09 21:18:05 -08:00
Kartik Agaram 3fede2964e 4858 - debugging tips 2018-12-08 01:00:30 -08:00
Kartik Agaram c3adc0d422 4855 2018-12-06 12:54:03 -08:00
Kartik Agaram e9909be374 4849 2018-12-06 11:01:23 -08:00
Kartik Agaram a966881b6e 4848 2018-12-06 10:50:26 -08:00
Kartik Agaram 81605224f0 4847 2018-12-06 09:41:40 -08:00
Kartik Agaram 33e7c3a751 4846
Clean up a few things:

a) Call scan-next-byte in hex.subx with the right number of args. Turns
out tests continue to work fine if they never use the other args.

b) Tear down a test for 'stop' in the right order. Not important since we
have no EBP to restore. But can still be misleading.

c) Have 'check-ints-equal' return nothing. Handy for it to not mess up
EAX. I never use the result anyway, and the name also is imperative suggesting
callers won't expect a return value.
2018-12-06 09:34:55 -08:00
Kartik Agaram 33cf1f90be 4845 2018-12-06 00:42:12 -08:00
Kartik Agaram 257ca35ab4 4845
Making progress on hex1 (http://web.archive.org/web/20061108010907/http://www.rano.org/bcompiler.html)
2018-12-06 00:16:01 -08:00
Kartik Agaram 9fe5bca490 4844 2018-12-06 00:15:45 -08:00
Kartik Agaram 27ef047ae5 4842 2018-12-05 22:34:59 -08:00
Kartik Agaram 79328f9ad6 4841
New helper: print an error message, then a numeric byte, then abort.
2018-12-04 12:26:27 -08:00
Kartik Agaram a94b60b5cc 4840
New helper: printing a string to a buffered file.
2018-12-04 12:16:17 -08:00
Kartik Agaram 707935d0a8 4839 2018-12-04 12:12:18 -08:00
Kartik Agaram af5797eeff 4838
Better to use EDI as a mnemonic for 'destination'.
2018-12-04 10:40:01 -08:00
Kartik Agaram 9e03e2bd37 4837
Let's standardize to use opcode 39 rather than 3b by default.
2018-12-04 10:19:18 -08:00
Kartik Agaram ca0a598c87 4836 2018-12-04 09:59:42 -08:00
Kartik Agaram 768093cd94 4835 2018-12-04 09:57:40 -08:00
Kartik Agaram 381d80f8a4 4834
Fix CI since 4827.
2018-12-04 09:56:23 -08:00
Kartik Agaram cf02c20bb0 4832
Let's start adding ':end' labels in all functions, just because it helps
us visualize where function calls end in traces, thanks to the '--map'
commandline argument.
2018-12-04 00:29:06 -08:00
Kartik Agaram 7cb326df5b 4831 2018-12-04 00:17:40 -08:00
Kartik Agaram 5f3b3e7aea 4830
New helper: printing a byte in textual (hex) form.

This required adding instructions for bitwise shift operations.
2018-12-03 23:26:56 -08:00
Kartik Agaram ee73f5eb31 4829
Showing the error bit pattern explicitly makes it more clear that it's
not possible to generate as a non-error value.
2018-12-03 17:32:42 -08:00
Kartik Agaram 83822d6324 4828 - writing to buffered-file
This is likely a sub-optimal interface, but I'm trying not to agonize.
The whole point of Mu is to permit radical changes at any point in time.
2018-12-03 17:08:53 -08:00
Kartik Agaram 5e27c7f13e 4827
I was 'returning' a phantom value from 'write' when the underlying '_write'
returns nothing.

In general, returning counts of bytes written is not so useful for error
checking when my primitives abstract away from that. We'll come back to
error signalling later.
2018-12-03 16:44:16 -08:00
Kartik Agaram 5082923e81 4826 2018-12-03 16:34:16 -08:00
Kartik Agaram 91dab3e1a4 4824 2018-12-03 12:03:23 -08:00
Kartik Agaram 26efb5f5c2 4823 2018-12-03 11:42:04 -08:00
Kartik Agaram 1eb9cc5679 4822
Fix CI.

It's kind of a hassle (and wasteful) that I need to redefine 'main' in
every single layer.
2018-12-03 11:41:33 -08:00
Kartik Agaram 0eb0f69616 4821 2018-12-02 22:41:28 -08:00
Kartik Agaram ef31035a9f 4820 2018-12-02 20:39:21 -08:00
Kartik Agaram 0043952064 4819 2018-12-02 16:58:30 -08:00
Kartik Agaram c98d4b1c6a 4818 2018-12-02 14:41:21 -08:00
Kartik Agaram f75f333f52 4817 2018-12-02 13:12:23 -08:00
Kartik Agaram 39d718afcf 4816 2018-12-02 13:09:23 -08:00
Kartik Agaram f44c595267 4815 2018-12-02 11:08:30 -08:00
Kartik Agaram e4ac3c9e6e 4814 2018-12-01 14:13:33 -08:00
Kartik Agaram 54e5128a14 4813 2018-12-01 12:44:10 -08:00
Kartik Agaram c6f522007d 4811 2018-11-30 20:01:41 -08:00
Kartik Agaram 14a380525e 4809 - subx: html with 5 colors for comments 2018-11-30 16:54:01 -08:00
Kartik Agaram a20b51bdb7 4797 2018-11-30 09:45:07 -08:00
Kartik Agaram c56d803cd8 4796 2018-11-30 09:43:49 -08:00
Kartik Agaram d1e5e391c7 4788 2018-11-27 12:06:08 -08:00