From e7616cdeb615772c07aba6aae506a969ad2546fb Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Mon, 16 Oct 2023 11:32:20 +0100 Subject: Made a sample program, loaded into VM and executed Seems pretty nice to use, and it works according to GDB. --- src/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 81d1232..f47d308 100644 --- a/src/main.c +++ b/src/main.c @@ -13,6 +13,7 @@ #include #include +#include "./inst.h" #include "./runtime.h" int main(void) @@ -20,5 +21,14 @@ int main(void) byte stack_data[256]; vm_t vm = {0}; vm_load_stack(&vm, stack_data, ARR_SIZE(stack_data)); + inst_t instructions[] = { + INST_BPUSH(0xfa), INST_BMOV(0), INST_BPUSH(0xfb), + INST_BMOV(1), INST_BPUSH(0xfc), INST_BMOV(2), + INST_BPUSH(0xfd), INST_BMOV(3), INST_BPUSH_REG(3), + INST_BPUSH_REG(2), INST_BPUSH_REG(1), INST_BPUSH_REG(0), + }; + vm_load_program(&vm, instructions, ARR_SIZE(instructions)); + for (size_t i = 0; i < ARR_SIZE(instructions); ++i) + vm_execute(&vm); return 0; } -- cgit v1.2.3-13-gbd6f