diff options
| author | Mistivia <i@mistivia.com> | 2024-12-07 22:54:12 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-12-07 22:54:12 +0800 |
| commit | 3e6bf6091cc32cf11d61c0250bde9115208ad5d5 (patch) | |
| tree | d451ea9afa53610fd98b574676b53d932994d130 /src/fvm.c | |
| parent | 22b08dbf32e9c5de1f10c19897422168100fa639 (diff) | |
simplify asm language
Diffstat (limited to 'src/fvm.c')
| -rw-r--r-- | src/fvm.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -340,8 +340,12 @@ int64_t fvm_execute(struct fvm *vm) { a = fvm_pop(vm); fvm_push(vm, vm->pc + 1); vm->pc = a; + fvm_push(vm, vm->bp); + vm->bp = vm->sp; break; case FVM_OP_RET: + vm->sp = vm->bp; + vm->bp = fvm_pop(vm); a = fvm_pop(vm); vm->pc = a; break; |
