store current_pos in VM for better logging

This commit is contained in:
2024-11-16 22:05:20 +05:00
parent 83172df776
commit 9d2a26fae3
12 changed files with 110 additions and 51 deletions

View File

@@ -2,14 +2,14 @@
#include "../instructions.h"
#define readVar(VAR) {\
if(!VM_dataRead(vm, &VAR, pos, sizeof(VAR))) \
if(!VM_dataRead(vm, &VAR, vm->current_pos, sizeof(VAR))) \
return -1;\
pos += sizeof(VAR);\
vm->current_pos += sizeof(VAR);\
}
#define validateRegisterIndex(VAR) {\
if(VAR > sizeof(vm->registers)){\
VM_setErrorMessage(vm, "[%p] invalid register index (%x)", (void*)pos, VAR);\
VM_setError(vm, "invalid register index (%x)", VAR);\
return -1;\
}\
}
@@ -21,7 +21,7 @@
#define validateValueSize(VAR) {\
if(VAR < 1 || VAR > 4){\
VM_setErrorMessage(vm, "[%p] invalid value_size (%x)", (void*)pos, VAR);\
VM_setError(vm, "invalid value_size (%x)", VAR);\
return -1;\
}\
}