Commit graph

25 commits

Author SHA1 Message Date
Anthony Foxclaw
b825931ce5 Support for memory allocation
- Corten now has basic support for memory allocation through with the ALOC code.
2020-02-09 16:41:13 -05:00
Anthony Foxclaw
86f060e0f5 Implemented HLT instruction
- Instructions are now detected automatically based on context
- Since MIPs can't decide if it wants to be open or not, Corten will be aiming to be more of a RISC-V VM in the long term.
2020-02-09 15:16:38 -05:00
Anthony Foxclaw
76af517a49 Tweaked Github CI 2020-02-08 17:00:18 -05:00
Anthony Foxclaw
b90b5c22bf Fixed up READMEs 2020-02-08 16:21:41 -05:00
Anthony Foxclaw
317feb9188 Minor fixes to the code 2020-02-08 15:36:04 -05:00
Anthony Foxclaw
853188b010 Fixed bug with VM assigning wrong opcode
- Fixed a bug with VM assigning wrong opcode. After doing a little digging into the Iridium 1 source code (skipping to the next part of the tutorial), I discovered I had to have implement from() function in both directions. I.e. the Opcode outputs integer and integer outputs an Opcode. Derp moment in retrospective since I already had it done for the former but this is a learning experience.
- Moved Opcode enum to assembler module.
2020-02-08 15:14:37 -05:00
Anthony Foxclaw
afb68e46b3 Finished assembler paser
The assembler parser is finished and all tests do pass but the "load" command keeps pointing to "sub" for some reason.
2020-02-07 23:53:59 -05:00
Anthony Foxclaw
fe69c0d0c8 Implemented more of the assembler 2020-02-07 22:33:36 -05:00
Anthony Foxclaw
4bfde58cc5 Wrote AssemblerInstruction and Program parser 2020-02-07 21:49:56 -05:00
Anthony Foxclaw
1af8f089c3 Initial start on assembly parser 2020-02-07 21:10:16 -05:00
Anthony Foxclaw
95272a3472 Updated spec page 2020-02-07 02:17:59 -05:00
Anthony Foxclaw
75465c6a20 Fixed mis-numbering of opcodes
This bug was intentionally kept in order to make sure everything ran flawlessly regardless.
2020-02-07 01:01:39 -05:00
Anthony Foxclaw
d63bedda7c Added version to REPL 2020-02-07 00:02:43 -05:00
Anthony Foxclaw
263686902b REPL!
- Created a basic REPL that accepts hex code
- Commented a lot of the code
2020-02-06 23:13:00 -05:00
Anthony Foxclaw
717c99a4a6 Finished porting over the unit tests 2020-02-06 22:10:21 -05:00
Anthony Foxclaw
4822f5e00b Implemented equality checks
- Ported over most of the unit tests for the checks from Iridium 1
2020-02-06 22:05:48 -05:00
Anthony Foxclaw
2564b650ff Initial start on equality checks 2020-02-06 21:40:09 -05:00
Anthony Foxclaw
75f814a99f Fixed README links 2020-02-06 20:43:19 -05:00
Anthony Foxclaw
850d8b4ead Rereorganized README for docs 2020-02-06 20:39:19 -05:00
Anthony Foxclaw
c1bdbc78c5 Rearranaged opcode order
- Rearranaged opcodes to match Iridium's
- Grabbed the get_test_vm() function from the Iridium 1 source to keep up with the tutorial
- Specifications page with details regarding Iridium and Corten's instruction set list
2020-02-06 19:57:38 -05:00
Anthony Foxclaw
ee08374252 Implemented jump opcode 2020-02-06 18:02:09 -05:00
Anthony Foxclaw
6dd33396f0 Added Jump opcode
- And fixed a oversight in the match statement while I was at it.
2020-02-06 17:42:51 -05:00
Anthony Foxclaw
223ce4c1bd Finished LOAD, ADD, HUL and DIV implementation 2020-02-06 17:40:43 -05:00
Anthony Foxclaw
d1340fe9fc Initial start on LOAD, ADD, HUL and DIV opcodes 2020-02-06 16:47:01 -05:00
Anthony Foxclaw
08b16dae6b Initial source commit 2020-02-06 16:37:23 -05:00