Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-10-31 | Remove duplicated code | Aryadev Chavali | |
2023-10-31 | Implemented all the comparators | Aryadev Chavali | |
So much reused code, I definitely need to find a way to make this cleaner. | |||
2023-10-31 | Use standardised signed version of word type from base.h | Aryadev Chavali | |
2023-10-31 | Moved inst module to lib | Aryadev Chavali | |
As it has no dependencies on vm specifically, and it's more necessary for any vendors who wish to target the virtual machine, it makes more sense for inst to be a lib module rather than a vm module. | |||
2023-10-31 | Implemented new types of EQ, forced all comparators to push bytes | Aryadev Chavali | |
Just need to call their unsigned versions. All comparators should push bytes as it makes return types uniform. | |||
2023-10-31 | vm_execute_all: Print every cycle on VERBOSE >= 2, just print final state ↵ | Aryadev Chavali | |
otherwise Changed VERBOSE checks to ensure a degree of information. | |||
2023-10-31 | Created routines for new comparator opcodes (not implemented) | Aryadev Chavali | |
Will cause error if used currently, which is fine. | |||
2023-10-31 | Introduced new instructions for comparison | Aryadev Chavali | |
Comparing signed and unsigned versions of numbers. Same for EQ as well. Notice the irregular pattern of BYTE, CHAR, INT, HWORD,LONG,WORD as OPCODE_IS_TYPE requires the subcodes to be surrounded by BYTE and WORD. | |||
2023-10-29 | Added a "usage" message and colours for assembler | Aryadev Chavali | |
Prints useful and pretty messages when verbose being at least 1. | |||
2023-10-29 | Fixed bug where JUMP_REGISTER couldn't be in bytecode read | Aryadev Chavali | |
2023-10-29 | Fixed bug where reading operand bytecode may stop prematurely | Aryadev Chavali | |
This is due to checking for equality instead of just greater than in darr->used against darr->available. | |||
2023-10-26 | Fixed bug where printing hword of an instruction prints number not hex | Aryadev Chavali | |
This is an easy fix. | |||
2023-10-26 | Moved base functions from inst.c to dedicated file | Aryadev Chavali | |
Doesn't make sense for them to be in the VM module when they have a more general purpose now. | |||
2023-10-26 | vm/main takes a filename as input to execute bytecode | Aryadev Chavali | |
Also prints a usage for incorrect usage. | |||
2023-10-23 | Make root directory an include path, set #include's properly | Aryadev Chavali | |
Easier to write includes now just using < with the module name, in comparison to using relative paths. | |||
2023-10-23 | Added lib folder for general stuff, introduced as target to Makefile | Aryadev Chavali | |
2023-10-23 | Implemented simple example of a for loop in main | Aryadev Chavali | |
2023-10-23 | src->vm, Makefile is now a bit more abstracted and pretty colours | Aryadev Chavali | |
Changed folder names for sake of clarity (will be introducing a new build target soon), and Makefile can now easily support more targets. |