MOV now uses the stack, removed register member in inst_t

Instead of taking an operand and a register, mov just uses the stack
for the operand.  Therefore, there's no need for a register member in
inst_t.

As a result, PUSH_*_REGISTER now uses the operand for the register.
This commit is contained in:
2023-10-16 00:59:30 +01:00
parent cd19f1e1d3
commit 0f37a59940
3 changed files with 39 additions and 27 deletions

View File

@@ -69,11 +69,11 @@ static const push_reg_f PUSH_REG_ROUTINES[] = {
[OP_PUSH_FLOAT_REGISTER] = vm_push_float_register,
};
void vm_mov_byte(vm_t *, data_t, word);
void vm_mov_word(vm_t *, data_t, word);
void vm_mov_float(vm_t *, data_t, word);
data_t vm_mov_byte(vm_t *, word);
data_t vm_mov_word(vm_t *, word);
data_t vm_mov_float(vm_t *, word);
typedef void (*mov_f)(vm_t *, data_t, word);
typedef data_t (*mov_f)(vm_t *, word);
static const mov_f MOV_ROUTINES[] = {
[OP_MOV_BYTE] = vm_mov_byte,
[OP_MOV_WORD] = vm_mov_word,