index
:
ovm
asm-rewrite-cpp
master
ARCHIVED - A stack based virtual machine to act as a target for other programming languages
Aryadev Chavali <aryadev@aryadevchavali.com>
about
summary
refs
log
tree
commit
diff
log msg
author
committer
range
path:
root
/
src
Age
Commit message (
Expand
)
Author
2023-10-21
Helper functions for read/write instructions from darr or FILE*
Aryadev Chavali
2023-10-21
Helper darr functions to read/write bytes from FILE *
Aryadev Chavali
2023-10-21
Switched from floats to halfword
Aryadev Chavali
2023-10-16
Implemented vm_print_* routines
Aryadev Chavali
2023-10-16
Added opcode_as_cstr, opcode_type_as_cstr and inst_print
Aryadev Chavali
2023-10-16
Added helper functions to read and write bytes from files
Aryadev Chavali
2023-10-16
Made a sample program, loaded into VM and executed
Aryadev Chavali
2023-10-16
Fixed bug with get_opcode_data_type
Aryadev Chavali
2023-10-16
Set opcode after reading parameters in inst_read_byte
Aryadev Chavali
2023-10-16
Fixed error with OP_PUSH where bits weren't in the pattern of data_type_t
Aryadev Chavali
2023-10-16
MOV and PUSH_*_REGISTER should only need bytes for their operand
Aryadev Chavali
2023-10-16
Added functionality to read and write instruction bytecode
Aryadev Chavali
2023-10-16
Made OP_HALT the only instruction to have the top byte filled
Aryadev Chavali
2023-10-16
MOV now uses the stack, removed register member in inst_t
Aryadev Chavali
2023-10-15
Better checking of opcode types
Aryadev Chavali
2023-10-15
Remove parameter for INST_*POP
Aryadev Chavali
2023-10-15
Set register parameter for inst_t to be a byte
Aryadev Chavali
2023-10-15
Implemented a dynamically sized byte array
Aryadev Chavali
2023-10-15
Added macros for getting the maximum and minimum of two numbers
Aryadev Chavali
2023-10-15
Moved vm_* code to its own file (runtime.(h|c))
Aryadev Chavali
2023-10-15
Implemented OP_PUSH_*_REGISTER in vm_execute
Aryadev Chavali
2023-10-15
Make error TODOs specific to routine (for vm_mov_*)
Aryadev Chavali
2023-10-15
Implemented vm_push_*_register routines
Aryadev Chavali
2023-10-15
Renamed opcodes PUSH_*REG to PUSH_*_REGISTER
Aryadev Chavali
2023-10-15
Rearranged opcodes (switched mov with push_reg)
Aryadev Chavali
2023-10-15
Added instructions to push register values onto the stack
Aryadev Chavali
2023-10-15
Added a register `ret`, a word, which holds the result of any instruction
Aryadev Chavali
2023-10-15
Implemented vm_execute for pop routines
Aryadev Chavali
2023-10-15
Made vm_pop_* routines more uniform by returning a data_t
Aryadev Chavali
2023-10-15
Added instructions for popping differing types
Aryadev Chavali
2023-10-15
Added vm_execute support for mov routines
Aryadev Chavali
2023-10-15
Move push routines outside of vm_execute
Aryadev Chavali
2023-10-15
Added opcodes for MOV and ability for instructions to hold registers
Aryadev Chavali
2023-10-15
Added registers to virtual machine
Aryadev Chavali
2023-10-15
Make push opcodes a specific bit set and add a NOOP opcode
Aryadev Chavali
2023-10-15
Split off instruction structure to its own file
Aryadev Chavali
2023-10-15
Added an instruction setup
Aryadev Chavali
2023-10-15
stack.size -> stack.max
Aryadev Chavali
2023-10-15
Main now loads a stack allocated byte array for VM stack
Aryadev Chavali
2023-10-15
Added a routine to load a pointer as stack memory
Aryadev Chavali
2023-10-15
Changed stack data to be a pointer
Aryadev Chavali
2023-10-15
Split off general types and structures into separate header
Aryadev Chavali
2023-10-15
Changed stack.pointer->stack.ptr
Aryadev Chavali
2023-10-15
Added floats (64 bit floating point) push and pop routines
Aryadev Chavali
2023-10-15
Force big endian when pushing words
Aryadev Chavali
2023-10-15
Add macro for size of a word
Aryadev Chavali
2023-10-15
Added macro constructors for union types
Aryadev Chavali
2023-10-15
Implemented functions to pop a byte and a word
Aryadev Chavali
2023-10-15
Implemented a union type to make vm_push_* routines uniform
Aryadev Chavali
2023-10-15
Added functions to push a byte and a word
Aryadev Chavali
[next]