aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Expand)Author
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
2023-10-15stack.size -> stack.maxAryadev Chavali
2023-10-15Main now loads a stack allocated byte array for VM stackAryadev Chavali
2023-10-15Added a routine to load a pointer as stack memoryAryadev Chavali
2023-10-15Changed stack data to be a pointerAryadev Chavali
2023-10-15Split off general types and structures into separate headerAryadev Chavali
2023-10-15Changed stack.pointer->stack.ptrAryadev Chavali
2023-10-15Added floats (64 bit floating point) push and pop routinesAryadev Chavali
2023-10-15Force big endian when pushing wordsAryadev Chavali
2023-10-15Add macro for size of a wordAryadev Chavali
2023-10-15Added macro constructors for union typesAryadev Chavali
2023-10-15Implemented functions to pop a byte and a wordAryadev Chavali
2023-10-15Implemented a union type to make vm_push_* routines uniformAryadev Chavali