Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 4075 | Kartik K. Agaram | 2017-10-16 | 1 | -3/+4 |
| | |||||
* | 4074 | Kartik K. Agaram | 2017-10-16 | 1 | -6/+10 |
| | |||||
* | 4073 | Kartik K. Agaram | 2017-10-16 | 1 | -4/+7 |
| | |||||
* | 4071 | Kartik K. Agaram | 2017-10-16 | 3 | -46/+510 |
| | | | | | | | | | subx: conditional jump instructions Lots of boilerplate here. This commit really strains my 'copyista' ethic. But I think it's still clearer to see each instruction implemented independently than to try to create a macro or something like that. | ||||
* | 4070 | Kartik K. Agaram | 2017-10-15 | 1 | -0/+11 |
| | |||||
* | 4069 | Kartik K. Agaram | 2017-10-15 | 3 | -0/+80 |
| | | | | subx: unconditional 'jump' | ||||
* | 4068 | Kartik K. Agaram | 2017-10-15 | 1 | -3/+3 |
| | |||||
* | 4067 | Kartik K. Agaram | 2017-10-15 | 3 | -3/+92 |
| | | | | subx: 'mov' | ||||
* | 4066 | Kartik K. Agaram | 2017-10-14 | 2 | -2/+2 |
| | | | | | | I spent a while spelunking into the code generated by C compilers before realizing that ignoring the order of arguments for 'cmp' instructions clarifies everything. | ||||
* | 4065 | Kartik K. Agaram | 2017-10-14 | 3 | -0/+228 |
| | | | | | | subx: 'compare' Hopefully I've implemented the 'sense' of comparisons right.. | ||||
* | 4064 | Kartik K. Agaram | 2017-10-14 | 3 | -41/+20 |
| | |||||
* | 4063 | Kartik K. Agaram | 2017-10-14 | 1 | -2/+2 |
| | |||||
* | 4062 | Kartik K. Agaram | 2017-10-13 | 1 | -0/+4 |
| | |||||
* | 4061 | Kartik K. Agaram | 2017-10-13 | 1 | -5/+5 |
| | |||||
* | 4060 - subx: correct stale Readme | Kartik K. Agaram | 2017-10-13 | 1 | -7/+1 |
| | |||||
* | 4058 | Kartik K. Agaram | 2017-10-13 | 2 | -0/+38 |
| | |||||
* | 4057 | Kartik K. Agaram | 2017-10-13 | 3 | -0/+111 |
| | |||||
* | 4056 | Kartik K. Agaram | 2017-10-13 | 3 | -0/+111 |
| | | | | subx: 'or' | ||||
* | 4055 | Kartik K. Agaram | 2017-10-13 | 3 | -0/+105 |
| | | | | subx: Implement 'and' for the addressing modes we've built so far. | ||||
* | 4053 | Kartik K. Agaram | 2017-10-12 | 2 | -5/+5 |
| | |||||
* | 4051 | Kartik K. Agaram | 2017-10-12 | 3 | -74/+74 |
| | | | | subx: Move register direct mode before indirect in the exposition. | ||||
* | 4050 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+18 |
| | |||||
* | 4049 | Kartik K. Agaram | 2017-10-12 | 3 | -99/+101 |
| | | | | Instead of organizing layers by instruction, do so by addressing mode. | ||||
* | 4048 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+22 |
| | |||||
* | 4047 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+22 |
| | |||||
* | 4046 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+12 |
| | |||||
* | 4045 | Kartik K. Agaram | 2017-10-12 | 1 | -3/+24 |
| | |||||
* | 4044 | Kartik K. Agaram | 2017-10-12 | 2 | -2/+18 |
| | | | | subx: now starting on subtraction instructions. | ||||
* | 4043 | Kartik K. Agaram | 2017-10-12 | 2 | -2/+25 |
| | |||||
* | 4042 | Kartik K. Agaram | 2017-10-12 | 1 | -4/+15 |
| | |||||
* | 4041 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+4 |
| | |||||
* | 4040 | Kartik K. Agaram | 2017-10-12 | 2 | -3/+37 |
| | | | | | | | subx: add immediate First example of a more complex opcode that needs to do its own decoding to decide what instruction to run. | ||||
* | 4039 | Kartik K. Agaram | 2017-10-12 | 1 | -3/+3 |
| | |||||
* | 4038 | Kartik K. Agaram | 2017-10-12 | 2 | -8/+10 |
| | |||||
* | 4037 | Kartik K. Agaram | 2017-10-12 | 2 | -12/+15 |
| | | | | Fix non-standard switch statement. | ||||
* | 4036 | Kartik K. Agaram | 2017-10-12 | 1 | -6/+6 |
| | |||||
* | 4035 | Kartik K. Agaram | 2017-10-12 | 1 | -0/+3 |
| | |||||
* | 4034 | Kartik K. Agaram | 2017-10-12 | 3 | -0/+58 |
| | | | | Start implementing core x86 addressing mode decoding. | ||||
* | 4033 | Kartik K. Agaram | 2017-10-12 | 1 | -1/+0 |
| | |||||
* | 4032 | Kartik K. Agaram | 2017-10-12 | 1 | -13/+13 |
| | | | | Consistent naming for the common terms 'register' and 'memory'. | ||||
* | 4031 | Kartik K. Agaram | 2017-10-12 | 1 | -7/+7 |
| | | | | | | No, go back to a vector for `Memory`. We need it to be contiguously laid out in memory so that we can write words all at once rather than a byte at a time. | ||||
* | 4030 | Kartik K. Agaram | 2017-10-12 | 1 | -18/+53 |
| | | | | Take control of hex byte parsing. | ||||
* | 4029 | Kartik K. Agaram | 2017-10-12 | 1 | -25/+25 |
| | |||||
* | 4028 | Kartik K. Agaram | 2017-10-12 | 1 | -3/+3 |
| | |||||
* | 4026 | Kartik K. Agaram | 2017-10-12 | 2 | -29/+35 |
| | | | | | | | | | | Make memory a sparse map rather than contiguous vector. In the process, a bugfix for `load_program`: support multiple lines of comments. Also save a local copy of the x86 cheatsheet I've been using: https://net.cs.uni-bonn.de/fileadmin/user_upload/plohmann/x86_opcode_structure_and_instruction_overview.pdf | ||||
* | 4025 | Kartik K. Agaram | 2017-10-11 | 1 | -0/+1 |
| | | | | Fix CI. | ||||
* | 4024 - attempt to get CI working for SubX | Kartik K. Agaram | 2017-10-11 | 1 | -0/+1 |
| | |||||
* | 4023 | Kartik K. Agaram | 2017-10-11 | 1 | -4/+4 |
| | |||||
* | 4022 | Kartik K. Agaram | 2017-10-11 | 1 | -2/+4 |
| | |||||
* | 4021 | Kartik K. Agaram | 2017-10-11 | 1 | -2/+2 |
| |