about summary refs log tree commit diff stats
path: root/subx/001help.cc
Commit message (Collapse)AuthorAgeFilesLines
* 5133 - show instruction source in traceKartik Agaram2019-04-281-4/+2
| | | | | | | | | | It's a little hacky in some corner cases. In particular, if debug information isn't available the trace will contain duplicated lines. This is because I don't want the core trace lines all my tests rely on (introduced in the 'vm' layer) to have to know about debug info (introduced in the 'labels' and 'debug' layers). Thanks Charles Saternos for the feedback and suggestion!
* 5131Kartik Agaram2019-04-271-4/+5
| | | | Rename '--map' to '--debug'.
* 4857Kartik Agaram2018-12-061-3/+12
| | | | | | Clean up the debugging flow, and go over help messages for inconsistencies. They predate the new Readme, which takes some time to describe the x86 instruction set.
* 4694Kartik Agaram2018-10-131-0/+5
| | | | Check for duplicate docstrings.
* 4637 - subx: support multiple input filesKartik Agaram2018-10-011-1/+1
|
* 4624Kartik Agaram2018-09-301-1/+1
| | | | | | | | Start requiring a '-o' flag to designate the output binary when translating. Things currently get funky if you pass in multiple inputs, but that's ok. This is the first step to supporting multiple input files for a single output binary.
* 4436Kartik Agaram2018-07-271-2/+8
|
* 4427 - support for '--trace' argvKartik Agaram2018-07-261-0/+15
| | | | This ports commit 4421 to the subx/ program.
* 4413Kartik Agaram2018-07-251-3/+1
| | | | | Never mind, let's drop unused/vestigial altogether. Use absence of names to signal unused arguments.
* 4412Kartik Agaram2018-07-251-1/+1
| | | | Drop names of unused arguments.
* 4411Kartik Agaram2018-07-251-2/+6
| | | | Port commit 4235 to subx.
* 4409Kartik Agaram2018-07-251-3/+7
| | | | | | Word-wrap online help. Fixes #8.
* 4381Kartik Agaram2018-07-201-0/+3
| | | | Fix CI.
* 4378Kartik Agaram2018-07-201-1/+1
|
* 4376 - subx: online help includes supported opcodesKartik Agaram2018-07-201-3/+5
|
* 4375Kartik Agaram2018-07-201-20/+19
|
* 4374 - starting to use the online help systemKartik Agaram2018-07-201-1/+3
|
* 4373 - subx: beginnings of online helpKartik Agaram2018-07-201-9/+46
|
* 4289 - beginnings of a translator to ELFKartik Agaram2018-06-301-3/+2
| | | | | The source 'language' is still entirely open. We'll see how it evolves as I write programs in machine code.
* 4277 - make room for a 'compile' sub-commandKartik Agaram2018-06-271-1/+3
|
* 4276 - switching gears to subxKartik Agaram2018-06-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New plan: spend some time learning to program in machine code atop subx, relying solely on a tiny subset of kernel-provided syscalls. Gradually introduce helpers. Helpers we're sure we don't need, so far: a) Nested expressions b) Garbage collection c) One-size-fits-all memory allocation primitive d) Function overloading and generics Helpers we're sure we need, so far: a) Dependency-injected versions of syscalls b) Tangling directives c) Statically checked types Workflow for a C translator from ascii to binary: a) run generated machine code atop subx (unit tests probably go here) b) emit machine code packaged as an ELF file c) check that the ELF binary runs natively d) check that the ELF binary can be unwrapped and run atop subx This is different from a conventional compiler because the 'HLL' is unconstrained. It is also different from Forth given the emphasis on types. We want a simple stack that also encourages code sharing between programmers. Conventional languages grow monotonically complex. Forth discourages code sharing; it is non-trivial to figure out the 'shape' of data a strange function expects on the stack.
* 4063Kartik K. Agaram2017-10-141-2/+2
|
* 4014 - core skeleton for x86 interpreterKartik K. Agaram2017-10-111-16/+4
|
* 4011 - start of sub-x86 VMKartik K. Agaram2017-10-091-2/+2
|
* 3930 - experimental bytecode interpreterKartik K. Agaram2017-06-191-0/+220
class="m">1-8]* || exit 1 echo "=== edit: until 009" ./mu_bin test edit/00* || exit 1 fi if [[ ! $1 || $1 == edit4 ]] then echo "=== edit: until 010" ./mu_bin test edit/00* edit/010* || exit 1 echo "=== edit: until 011" ./mu_bin test edit/00* edit/01[01]* || exit 1 echo "=== edit: until 012" ./mu_bin test edit/00* edit/01[0-2]* || exit 1 fi