first commit

This commit is contained in:
2024-11-15 09:03:18 +05:00
commit 38d62ba8d7
19 changed files with 772 additions and 0 deletions

View File

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