aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Expand)Author
2023-10-22Added macros for NOOP and HALTAryadev Chavali
2023-10-22Changed format of inst_printAryadev Chavali
2023-10-22Store the result of OP_POP in the last register as a wordAryadev Chavali
2023-10-21Implemented vm routines for OP_EQ_*Aryadev Chavali
2023-10-21Implemented vm routines for OP_XOR_*Aryadev Chavali
2023-10-21Implemented vm routines for OP_AND_*Aryadev Chavali
2023-10-21Implemented vm routines for OP_OR_*Aryadev Chavali
2023-10-21Implemented vm routines for OP_NOT_*Aryadev Chavali
2023-10-21Implemented opcode_as_cstr for NOT,OR,AND,XOR,EQAryadev Chavali
2023-10-21Introduced opcodes for NOT, OR, AND, XOR and EQAryadev Chavali
2023-10-21Cleaned up and used macro magic to shorten the INST_* macrosAryadev Chavali
2023-10-21Added vm_execute_all which executes an entire programAryadev Chavali
2023-10-21Wrote generalised procedures for interpret and assemblyAryadev Chavali
2023-10-21Helper functions for read/write instructions from darr or FILE*Aryadev Chavali
2023-10-21Helper darr functions to read/write bytes from FILE *Aryadev Chavali
2023-10-21Switched from floats to halfwordAryadev Chavali
2023-10-16Implemented vm_print_* routinesAryadev Chavali
2023-10-16Added opcode_as_cstr, opcode_type_as_cstr and inst_printAryadev Chavali
2023-10-16Added helper functions to read and write bytes from filesAryadev Chavali
2023-10-16Made a sample program, loaded into VM and executedAryadev Chavali
2023-10-16Fixed bug with get_opcode_data_typeAryadev Chavali
2023-10-16Set opcode after reading parameters in inst_read_byteAryadev Chavali
2023-10-16Fixed error with OP_PUSH where bits weren't in the pattern of data_type_tAryadev Chavali
2023-10-16MOV and PUSH_*_REGISTER should only need bytes for their operandAryadev Chavali
2023-10-16Added functionality to read and write instruction bytecodeAryadev Chavali
2023-10-16Made OP_HALT the only instruction to have the top byte filledAryadev Chavali
2023-10-16MOV now uses the stack, removed register member in inst_tAryadev Chavali
2023-10-15Better checking of opcode typesAryadev Chavali
2023-10-15Remove parameter for INST_*POPAryadev Chavali
2023-10-15Set register parameter for inst_t to be a byteAryadev Chavali
2023-10-15Implemented a dynamically sized byte arrayAryadev Chavali
2023-10-15Added macros for getting the maximum and minimum of two numbersAryadev Chavali
2023-10-15Moved vm_* code to its own file (runtime.(h|c))Aryadev Chavali
2023-10-15Implemented OP_PUSH_*_REGISTER in vm_executeAryadev Chavali
2023-10-15Make error TODOs specific to routine (for vm_mov_*)Aryadev Chavali
2023-10-15Implemented vm_push_*_register routinesAryadev Chavali
2023-10-15Renamed opcodes PUSH_*REG to PUSH_*_REGISTERAryadev Chavali
2023-10-15Rearranged opcodes (switched mov with push_reg)Aryadev Chavali
2023-10-15Added instructions to push register values onto the stackAryadev Chavali
2023-10-15Added a register `ret`, a word, which holds the result of any instructionAryadev Chavali
2023-10-15Implemented vm_execute for pop routinesAryadev Chavali
2023-10-15Made vm_pop_* routines more uniform by returning a data_tAryadev Chavali
2023-10-15Added instructions for popping differing typesAryadev Chavali
2023-10-15Added vm_execute support for mov routinesAryadev Chavali
2023-10-15Move push routines outside of vm_executeAryadev Chavali
2023-10-15Added opcodes for MOV and ability for instructions to hold registersAryadev Chavali
2023-10-15Added registers to virtual machineAryadev Chavali
2023-10-15Make push opcodes a specific bit set and add a NOOP opcodeAryadev Chavali
2023-10-15Split off instruction structure to its own fileAryadev Chavali
2023-10-15Added an instruction setupAryadev Chavali