diff options
Diffstat (limited to 'vm')
-rw-r--r-- | vm/runtime.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/vm/runtime.c b/vm/runtime.c index d188b29..82886b8 100644 --- a/vm/runtime.c +++ b/vm/runtime.c @@ -725,8 +725,7 @@ err_t vm_eq_byte(vm_t *vm) err_t vm_eq_char(vm_t *vm) { - (void)vm; - return ERR_END_OF_PROGRAM; + return vm_eq_byte(vm); } err_t vm_eq_hword(vm_t *vm) @@ -738,19 +737,17 @@ err_t vm_eq_hword(vm_t *vm) err = vm_pop_hword(vm, &b); if (err) return err; - return vm_push_hword(vm, DHWORD(a.as_hword == b.as_hword)); + return vm_push_byte(vm, DBYTE(a.as_hword == b.as_hword)); } err_t vm_eq_int(vm_t *vm) { - (void)vm; - return ERR_END_OF_PROGRAM; + return vm_eq_hword(vm); } err_t vm_eq_long(vm_t *vm) { - (void)vm; - return ERR_END_OF_PROGRAM; + return vm_eq_word(vm); } err_t vm_eq_word(vm_t *vm) @@ -762,7 +759,7 @@ err_t vm_eq_word(vm_t *vm) err = vm_pop_word(vm, &b); if (err) return err; - return vm_push_word(vm, DWORD(a.as_word == b.as_word)); + return vm_push_byte(vm, DBYTE(a.as_word == b.as_word)); } err_t vm_lt_byte(vm_t *vm) |