From 17b8233f44d42b06420df2f7a51a87cc22a7adbc Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 20 Dec 2018 16:37:10 -0800 Subject: 4873 --- subx/Readme.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'subx') diff --git a/subx/Readme.md b/subx/Readme.md index eab5b27c..42f2cedb 100644 --- a/subx/Readme.md +++ b/subx/Readme.md @@ -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 -- cgit 1.4.1-2-gfad0