Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 4788 | Kartik Agaram | 2018-11-27 | 2 | -2/+2 |
| | |||||
* | 4787 | Kartik Agaram | 2018-11-27 | 2 | -180/+194 |
| | |||||
* | 4786 | Kartik Agaram | 2018-11-26 | 1 | -1/+1 |
| | |||||
* | 4785 | Kartik Agaram | 2018-11-26 | 1 | -1/+1 |
| | |||||
* | 4784 | Kartik Agaram | 2018-11-26 | 1 | -1/+1 |
| | |||||
* | 4783 | Kartik Agaram | 2018-11-26 | 1 | -0/+46 |
| | |||||
* | 4782 | Kartik Agaram | 2018-11-26 | 52 | -4034/+6662 |
| | |||||
* | 4781 | Kartik Agaram | 2018-11-26 | 1 | -9/+11 |
| | |||||
* | 4780 | Kartik Agaram | 2018-11-26 | 21 | -12/+12 |
| | |||||
* | 4779 | Kartik Agaram | 2018-11-26 | 1 | -54/+95 |
| | |||||
* | 4778 - entirely rewritten Readme | Kartik Agaram | 2018-11-25 | 5 | -135/+266 |
| | |||||
* | 4777 | Kartik Agaram | 2018-11-25 | 1 | -7/+7 |
| | |||||
* | 4776 | Kartik Agaram | 2018-11-25 | 4 | -100/+90 |
| | | | | | | | | | | | | | Crenshaw compiler now runs natively as well. It turns out I was misreading the Intel manual, and the jump instructions that I thought take disp16 operands actually take disp32 operands by default on both i686 and x86_64 processors. The disp16 versions are some holdover from the 16-bit days. This was the first time I've used one of these erstwhile-disp16 instructions, but I still haven't tested most of them. We'll see if we run into future issues. | ||||
* | 4775 | Kartik Agaram | 2018-11-24 | 5 | -213/+857 |
| | | | | | | | Start with an exactly corresponding version to Crenshaw 2-1: single-digit numbers. The only change: we assume the number is in hex. The next version now supports multi-digit hex numbers. | ||||
* | 4774 | Kartik Agaram | 2018-11-24 | 3 | -23/+2 |
| | | | | Simplification. | ||||
* | 4773 - done with crenshaw chapter 2-1 | Kartik Agaram | 2018-11-24 | 5 | -15/+128 |
| | | | | In the process I had to fix a couple more bugs in support for disp16 instructions. | ||||
* | 4772 | Kartik Agaram | 2018-11-24 | 2 | -2/+4 |
| | |||||
* | 4771 | Kartik Agaram | 2018-11-24 | 2 | -0/+7 |
| | | | | | | | I stopped handling disp16 at some point, and using instructions with such an operand messes up segment alignment when generating ELF binaries. I don't test my ELF generation. This is a sign that maybe I should start. | ||||
* | 4770 | Kartik Agaram | 2018-11-24 | 1 | -6/+6 |
| | |||||
* | 4769 | Kartik Agaram | 2018-11-24 | 1 | -9/+37 |
| | |||||
* | 4768 | Kartik Agaram | 2018-11-24 | 3 | -0/+240 |
| | |||||
* | 4767 | Kartik Agaram | 2018-11-24 | 3 | -50/+50 |
| | |||||
* | 4766 | Kartik Agaram | 2018-11-24 | 1 | -3/+4 |
| | |||||
* | 4765 | Kartik Agaram | 2018-11-23 | 1 | -1/+2 |
| | |||||
* | 4764 | Kartik Agaram | 2018-11-23 | 2 | -5/+221 |
| | |||||
* | 4763 - back to the 'trivial' crenshaw2-1 compiler | Kartik Agaram | 2018-11-23 | 3 | -2/+426 |
| | | | | | This time I've ported (and test-driven) 'GetChar' and 'GetNum'. The new tests bring together our new testable interfaces for read() and exit(). | ||||
* | 4762 | Kartik Agaram | 2018-11-23 | 1 | -5/+8 |
| | |||||
* | 4761 | Kartik Agaram | 2018-11-23 | 4 | -12/+11 |
| | | | | | Bugfix: I forgot about ELF segment offsets when implementing VMAs. Eventually segments grew large enough that I started seeing overlaps. | ||||
* | 4760 | Kartik Agaram | 2018-11-21 | 4 | -0/+8 |
| | |||||
* | 4759 | Kartik Agaram | 2018-11-20 | 8 | -10/+10 |
| | |||||
* | 4758 | Kartik Agaram | 2018-11-20 | 1 | -4/+4 |
| | |||||
* | 4757 | Kartik Agaram | 2018-11-20 | 6 | -40/+46 |
| | | | | | | Let's start highlighting all global variables in Red. Assembly programming has a tendency to over-use them. They're a necessary evil, but we should minimize the number of functions that access them. | ||||
* | 4756 | Kartik Agaram | 2018-11-19 | 6 | -4/+4 |
| | | | | | Long-standing and long-copied typo has been messing with our exit status on test failures. | ||||
* | 4755 - read-byte (sometimes called getchar) | Kartik Agaram | 2018-11-19 | 3 | -0/+243 |
| | |||||
* | 4754 - allow data segment to refer to variables | Kartik Agaram | 2018-11-19 | 3 | -13/+55 |
| | |||||
* | 4753 | Kartik Agaram | 2018-11-19 | 1 | -5/+5 |
| | |||||
* | 4752 | Kartik Agaram | 2018-11-18 | 1 | -24/+24 |
| | |||||
* | 4751 | Kartik Agaram | 2018-11-18 | 1 | -0/+6 |
| | |||||
* | 4750 | Kartik Agaram | 2018-11-18 | 1 | -0/+4 |
| | | | | | There can be situations where a run is striding through a segment. Reduce the number of reallocations that reallocations that requires. | ||||
* | 4749 - speed up tests | Kartik Agaram | 2018-11-18 | 1 | -8/+14 |
| | | | | | | | When we implemented 'read' our apps went over 0x1000 bytes, so I grew the initial segment size. But that slowed down emulation because each test was reallocating all segments. Now we allocate small segments at the start, and grow them gradually as needed. | ||||
* | 4748 | Kartik Agaram | 2018-11-18 | 1 | -4/+4 |
| | | | | Fix CI. | ||||
* | 4747 - subx: 'read' primitive | Kartik Agaram | 2018-11-18 | 5 | -16/+385 |
| | |||||
* | 4746 | Kartik Agaram | 2018-11-17 | 1 | -17/+17 |
| | |||||
* | 4745 | Kartik Agaram | 2018-11-17 | 3 | -1/+1 |
| | |||||
* | 4744 | Kartik Agaram | 2018-11-17 | 1 | -2/+2 |
| | |||||
* | 4743 | Kartik Agaram | 2018-11-12 | 3 | -4/+5 |
| | |||||
* | 4742 | Kartik Agaram | 2018-11-05 | 1 | -1/+2 |
| | |||||
* | 4741 | Kartik Agaram | 2018-10-30 | 3 | -16/+46 |
| | | | | Extract a helper that we'll need for 'read'. | ||||
* | 4740 | Kartik Agaram | 2018-10-30 | 3 | -53/+57 |
| | |||||
* | 4739 | Kartik Agaram | 2018-10-30 | 1 | -3/+3 |
| |