This commit is contained in:
Kartik Agaram 2018-12-20 16:37:10 -08:00
parent f9b08fb7c1
commit 17b8233f44
2 changed files with 13 additions and 6 deletions

View File

@ -1,4 +1,5 @@
_by Stephen Malina and Kartik Agaram_
_(Current development is in the [`subx/`](https://github.com/akkartik/mu/blob/master/subx/Readme.md)
sub-directory. That prototype will be promoted to the top-level one day.)_
Mu explores ways to turn arbitrary manual tests into reproducible automated
tests. Hoped-for benefits:

View File

@ -102,11 +102,17 @@ SubX supports a small, regular subset of the 32-bit x86 instruction set.
The (rudimentary, statically linked) ELF binaries SubX generates can be run
natively on Linux, and they require only the Linux kernel.
_Status_: SubX is currently implemented in C++, so you need a C++ compiler and
libraries to build SubX binaries. However, I'm learning how to build a
compiler in assembly language by working through [Jack Crenshaw's "Let's build
a compiler" series](https://compilers.iecc.com/crenshaw). Look in [the `apps/`
sub-directory](http://akkartik.github.io/mu/html/subx/apps/crenshaw2-1.subx.html).
## Status
I'm currently implementing SubX in SubX in 3 phases:
1. Converting ascii hex bytes to binary. (✓)
2. Packing bitfields for x86 instructions into bytes.
3. Replacing addresses with labels.
In parallel, I'm designing testable wrappers for syscalls, particularly for
scalably running blocking syscalls with a test harness concurrently monitoring
their progress.
## An example program