Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 4080 | Kartik K. Agaram | 2017-10-18 | 2 | -17/+29 |
| | | | | | | | | subx: correct 'push' register. It gets its operand right from the opcode, not a new modrm byte. Have I misinterpreted any other instructions in this manner (`+rd` in the Intel manual)? | ||||
* | 4079 | Kartik K. Agaram | 2017-10-18 | 6 | -33/+183 |
| | | | | subx: 'pop' | ||||
* | 4078 | Kartik K. Agaram | 2017-10-17 | 7 | -450/+454 |
| | |||||
* | 4077 | Kartik K. Agaram | 2017-10-17 | 6 | -33/+33 |
| | | | | | Stop hyperlinking every `i` in subx html files to the integer register union. | ||||
* | 4076 | Kartik K. Agaram | 2017-10-16 | 1 | -1/+1 |
| | |||||
* | 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 |
| | |||||
* | 4072 | Kartik K. Agaram | 2017-10-16 | 6 | -68/+667 |
| | |||||
* | 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 | 7 | -221/+383 |
| | | | | subx: unconditional 'jump' | ||||
* | 4068 | Kartik K. Agaram | 2017-10-15 | 2 | -6/+6 |
| | |||||
* | 4067 | Kartik K. Agaram | 2017-10-15 | 6 | -6/+184 |
| | | | | subx: 'mov' | ||||
* | 4066 | Kartik K. Agaram | 2017-10-14 | 4 | -4/+4 |
| | | | | | | 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 | 6 | -0/+456 |
| | | | | | | subx: 'compare' Hopefully I've implemented the 'sense' of comparisons right.. | ||||
* | 4064 | Kartik K. Agaram | 2017-10-14 | 9 | -519/+477 |
| | |||||
* | 4063 | Kartik K. Agaram | 2017-10-14 | 4 | -8/+8 |
| | |||||
* | 4062 | Kartik K. Agaram | 2017-10-13 | 5 | -252/+260 |
| | |||||
* | 4061 | Kartik K. Agaram | 2017-10-13 | 4 | -18/+18 |
| | |||||
* | 4060 - subx: correct stale Readme | Kartik K. Agaram | 2017-10-13 | 1 | -7/+1 |
| | |||||
* | 4059 | Kartik K. Agaram | 2017-10-13 | 3 | -242/+609 |
| | |||||
* | 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. | ||||
* | 4054 | Kartik K. Agaram | 2017-10-12 | 10 | -371/+375 |
| | |||||
* | 4053 | Kartik K. Agaram | 2017-10-12 | 4 | -10/+10 |
| | |||||
* | 4052 | Kartik K. Agaram | 2017-10-12 | 10 | -140/+1949 |
| | |||||
* | 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. |