Commit Graph

8 Commits

Author SHA1 Message Date
Aryadev Chavali
c9b23b7b24 Implemented vm routines for OP_AND_* 2023-10-21 23:55:29 +01:00
Aryadev Chavali
6161a352e0 Implemented vm routines for OP_OR_* 2023-10-21 23:55:16 +01:00
Aryadev Chavali
ae7f0efc85 Implemented vm routines for OP_NOT_* 2023-10-21 23:54:59 +01:00
Aryadev Chavali
d2cdb211b2 Added vm_execute_all which executes an entire program
Handles OP_HALT
2023-10-21 23:31:48 +01:00
Aryadev Chavali
dcedb70a5c Switched from floats to halfword
Registers are now just words, with pushing from and moving to
registers with specified subtypes just pushing those types into the
word registers.  That means there are 8 word registers which can act
as 16 half word registers, which themselves can act as 64 byte
registers.
2023-10-21 22:57:43 +01:00
Aryadev Chavali
266b4e4572 Implemented vm_print_* routines
Prints each aspect of the vm, and vm_print_all does it all.
2023-10-16 12:55:19 +01:00
Aryadev Chavali
0f37a59940 MOV now uses the stack, removed register member in inst_t
Instead of taking an operand and a register, mov just uses the stack
for the operand.  Therefore, there's no need for a register member in
inst_t.

As a result, PUSH_*_REGISTER now uses the operand for the register.
2023-10-16 01:05:42 +01:00
Aryadev Chavali
639808a092 Moved vm_* code to its own file (runtime.(h|c)) 2023-10-15 21:41:16 +01:00