Commit Graph

13 Commits

Author SHA1 Message Date
Kartik Agaram 732cf4e7cc 4773 - done with crenshaw chapter 2-1
In the process I had to fix a couple more bugs in support for disp16 instructions.
2018-11-24 23:06:55 -08:00
Kartik Agaram 0f851e48aa 4695 2018-10-14 00:00:39 -07:00
Kartik Agaram 06d9b1a541 4694
Check for duplicate docstrings.
2018-10-13 23:55:07 -07:00
Kartik Agaram dc559a00c7 4693
Add the standard mnemonic for each opcode.

We aren't ever going to have complete docs of the subset of the x86 ISA
we support, so we need to help readers cross-correlate with the complete
docs.
2018-10-13 23:50:10 -07:00
Kartik Agaram 54ed56f2b4 4665
Some syscalls expect null-terminated strings while others get lengths.
Be clear about this distinction.
2018-10-05 14:14:30 -07:00
Kartik Agaram 29ab43973a 4648 2018-10-01 22:48:50 -07:00
Kartik Agaram 2ec6d1e525 4619 - new syscall: mmap() 2018-09-29 17:45:00 -07:00
Kartik Agaram 630433cd9c 4614 - redo simulated RAM
Now simulated 'Memory' isn't just a single flat array. Instead it knows
about segments and VMAs.

The code segment will always be first, and the data/heap segment will always
be second. The brk() syscall knows about the data segment.

One nice side-effect is that I no longer need to mess with Memory initialization
regardless of where I place my segments.
2018-09-29 10:20:13 -07:00
Kartik Agaram fd0cf1cd07 4613 2018-09-29 10:19:51 -07:00
Kartik Agaram 258e380acd 4552
More useful trace if we mess up args to a syscall and pass a non-pointer
where a pointer is expected.
2018-09-20 14:01:53 -07:00
Kartik Agaram a754efc542 4522
Don't use trace infrastructure if you're just going to immediately exit.
2018-08-14 10:55:00 -07:00
Kartik Agaram 5cec03b414 4520 - several syscalls for files 2018-08-13 21:01:04 -07:00
Kartik Agaram a066ad7ed7 4469 2018-08-03 23:42:37 -07:00