Fixes
This commit is contained in:
5
vm.cpp
5
vm.cpp
@@ -141,7 +141,8 @@ static void load_program(const char* filename) {
|
||||
free(program);
|
||||
|
||||
if (error_raised()) {
|
||||
error_print();
|
||||
vm_pc = 0xA000;
|
||||
//error_print(&mem[0xA000]);
|
||||
}
|
||||
else {
|
||||
printf("Compilation complete!\nProgram size: %d bytes\nMemory usage: %d bytes\n", parser_get_codesize(), parser_get_memory_usage());
|
||||
@@ -174,7 +175,7 @@ const unsigned short vm_step() {
|
||||
|
||||
case OP_NOP: vm_cycles++; break;
|
||||
case OP_PUSH: PUSH(ds, vm_program[vm_pc++]); vm_cycles++; break;
|
||||
case OP_POP: POP(ds); vm_cycles++; break;
|
||||
case OP_POP: ds[0]--; vm_cycles++; break;
|
||||
case OP_DUP: a = PEEK(ds); PUSH(ds, a); vm_cycles++; break;
|
||||
case OP_SWAP: a = POP(ds); b = POP(ds); PUSH(ds, a); PUSH(ds, b); vm_cycles++; break;
|
||||
case OP_LOAD: PUSH(ds, mem[WORD()]); vm_cycles++; break;
|
||||
|
||||
Reference in New Issue
Block a user