about summary refs log tree commit diff stats
path: root/subx
Commit message (Collapse)AuthorAgeFilesLines
* 4425Kartik Agaram2018-07-261-1/+4
| | | | Better name for a layer.
* 4424Kartik Agaram2018-07-267-71/+70
| | | | Clean up format of example programs.
* Use semicolons instead of commas for sequencingMaxwell Bernstein2018-07-261-14/+28
|
* 4423Kartik Agaram2018-07-261-8/+5
| | | | Silence some messages to the console. Fixes #12.
* 4420Kartik Agaram2018-07-261-6/+6
|
* 4419Kartik Agaram2018-07-261-2/+2
| | | | Unshadow variable. Thanks Max Bernstein for pointing this out.
* 4416 - start collecting traces in runsKartik Agaram2018-07-261-0/+1
| | | | | | To see traces on stdout, set the global `Dump_trace` to true. Thanks Max Bernstein for the feedback.
* Update dependency in ReadmeMax Bernstein2018-07-251-2/+2
|
* 4415Kartik Agaram2018-07-251-3/+7
|
* 4414 - subx: syntax checkingKartik Agaram2018-07-2510-121/+920
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a large patch, and there's a few things wrong with it: a) Helpers are incredibly messy. I want to use has_metadata in layer 24, but can't since it also does error checking. There must be a better basis set of primitives for managing metadata. b) Layer 22 introduces operands for checking, but programs with operands don't actually run until layer 24. So I can't write non-error scenarios in layer 22. That seems ugly. But if I try to introduce layer 24 first there's nothing left to check after it. I *could* play tricks with ordering layers vs transforms. Mu does that a bit, but it becomes hard to mess with, so I'm trying to avoid that. My current plan is for layers within an "abstraction level" to be run in order. Higher layers will necessarily need to come before lower ones. But hopefully this level of hierarchy will help manage the chaos. c) The check for whether an instruction is all hex bytes makes me nervous. I do want to check that an instruction that's just: cd tells the programmer that an operand is missing. The check I currently have is likely not perfectly correct. I *could* put layer 25 in its own commit. But I guess I'm not doing that now. We have a new example program: hello world!
* 4413Kartik Agaram2018-07-253-6/+4
| | | | | 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-253-5/+9
| | | | Port commit 4235 to subx.
* 4410Kartik Agaram2018-07-251-145/+0
| | | | | Temporarily delete support for /imm tags. We'll bring it back momentarily in a totally different way.
* 4409Kartik Agaram2018-07-253-15/+41
| | | | | | Word-wrap online help. Fixes #8.
* 4407 - error message on unimplemented syscallsKartik Agaram2018-07-251-0/+2
| | | | Fixes #9.
* 4403Kartik Agaram2018-07-251-0/+2
| | | | | | Couple of improvements for the tangle/ directory: a) Start running tangle unit tests at build time again. b) Option to print out test names as they run, just like in top-level.
* 4400 - fix a couple of warningsKartik Agaram2018-07-252-3/+2
| | | | Thanks Max Bernstein. Fixes #7.
* 4398Kartik Agaram2018-07-241-1/+1
|
* 4397 - temporarily revert syntax checksKartik Agaram2018-07-242-587/+61
| | | | | | | | | I accidentally published commit 4387, which is broken; most example files are untranslateable. I spent a while trying to push on through, but packing operands correctly into bytes has been surprisingly difficult. Fixing the repo without further delay.
* 4396Kartik Agaram2018-07-244-4/+22
| | | | | | Fix ex4 binary, which has been corrupted in the repo since commit 4356. In this time it hasn't changed further. The correct version added here is also the file that should have been committed then.
* 4395Kartik Agaram2018-07-244-10/+64
|
* 4394Kartik Agaram2018-07-241-2/+2
|
* 4393 - undo 4362Kartik Agaram2018-07-241-1/+0
| | | | Why did I have this?
* 4392Kartik Agaram2018-07-244-0/+16
|
* 4391 - checks for modrm-based instructionsKartik Agaram2018-07-232-62/+146
|
* 4390 - check for instruction operand overflowKartik Agaram2018-07-233-13/+111
|
* 4389Kartik Agaram2018-07-231-0/+0
|
* 4387Kartik Agaram2018-07-221-1/+8
|
* 4386 - start of syntax-checkingKartik Agaram2018-07-222-1/+322
|
* 4385 - online help on addressing modesKartik Agaram2018-07-212-1/+87
|
* 4384 - opcodes all documentedKartik Agaram2018-07-201-0/+18
|
* 4383Kartik Agaram2018-07-202-23/+34
| | | | Make room for including multibyte opcodes in the opcode list.
* 4382Kartik Agaram2018-07-201-0/+5
|
* 4381Kartik Agaram2018-07-202-2/+3
| | | | Fix CI.
* 4380 - single-byte opcodes all documentedKartik Agaram2018-07-203-3/+12
|
* 4379Kartik Agaram2018-07-201-1/+1
|
* 4378Kartik Agaram2018-07-201-1/+1
|
* 4377Kartik Agaram2018-07-202-3/+4
|
* 4376 - subx: online help includes supported opcodesKartik Agaram2018-07-208-8/+167
|
* 4375Kartik Agaram2018-07-202-20/+34
|
* 4374 - starting to use the online help systemKartik Agaram2018-07-203-2/+19
|
* 4373 - subx: beginnings of online helpKartik Agaram2018-07-202-9/+53
|
* 4372Kartik Agaram2018-07-201-2/+5
| | | | Don't refer to program internals before showing its data structures.
* 4371Kartik Agaram2018-07-191-32/+34
|
* 4370Kartik Agaram2018-07-191-5/+7
|
* 4369Kartik Agaram2018-07-191-5/+5
|
* 4368Kartik Agaram2018-07-181-1/+1
|
* 4367Kartik Agaram2018-07-181-0/+2
|
* 4366Kartik Agaram2018-07-171-0/+0
|