2025-12-19 18:31:41 +11:00
|
|
|
#include "vmbl.h"
|
|
|
|
|
|
|
|
|
|
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]));
|
|
|
|
|
|
|
|
|
|
VMBL_Instruction program[] = {
|
2025-12-20 13:29:49 +11:00
|
|
|
MAKE_INST_PUSH(0),
|
|
|
|
|
MAKE_INST_PUSH(1),
|
|
|
|
|
MAKE_INST_DUP(1),
|
|
|
|
|
MAKE_INST_DUP(1),
|
2025-12-19 18:31:41 +11:00
|
|
|
MAKE_INST_ADD,
|
2025-12-20 16:55:40 +11:00
|
|
|
|
|
|
|
|
MAKE_INST_JMP(2),
|
2025-12-19 18:31:41 +11:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
VMBL_State vmblState = {};
|
2025-12-20 16:55:40 +11:00
|
|
|
|
2025-12-20 13:29:49 +11:00
|
|
|
VMBL_LoadExecutable(&vmblState, program, sizeof(program));
|
2025-12-20 16:55:40 +11:00
|
|
|
VMBL_SaveExecutable("fib.vmbl", program, sizeof(program));
|
|
|
|
|
VMBL_LoadExecutableFromFile(&vmblState, "fib.vmbl");
|
2025-12-20 13:29:49 +11:00
|
|
|
VMBL_StartVM(&vmblState);
|
2025-12-19 18:31:41 +11:00
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|