aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Expand)Author
2023-10-22Fix bug where negative opcodes lead to invalid bytecode parsingAryadev Chavali
2023-10-22Added runtime errors to virtual machineAryadev Chavali
2023-10-22Added and implemented OP_JUMP_(STACK|REGISTER)Aryadev Chavali
2023-10-22Removed `ret` registerAryadev Chavali
2023-10-22Added and implemented OP_JUMP_ABSAryadev Chavali
2023-10-22Fixed bug in vm_execute_all, if no OP_HALT then program kept goingAryadev Chavali
2023-10-22Implemented vm_* routines for OP_DUP and vm_execute codeAryadev Chavali
2023-10-22Use conversion functions for (h)word to and from bytes instead of bit shiftingAryadev Chavali
2023-10-22Added NUMBER_OF_OPCODES which aids in compilation errorsAryadev Chavali
2023-10-22Added opcode OP_DUP_*Aryadev Chavali
2023-10-22Cleaned up inst.cAryadev Chavali
2023-10-22Functions which convert (h)words to and from bytesAryadev Chavali
2023-10-22Simple program which assembles instructions then executes themAryadev Chavali
2023-10-22Fix bug where accessing byte/hword registers > 8 wouldn't workAryadev Chavali
2023-10-22When VEROBSE flag is set greater than 0, print traces in vm_execute_allAryadev Chavali
2023-10-22Changed formats for vm_print_(stack|program)Aryadev Chavali
2023-10-22Fix bug where FILE is closed when passing to darr_(write|read)Aryadev Chavali
2023-10-22Added flag in base.h, VERBOSEAryadev Chavali
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