diff options
| author | 2023-02-11 17:04:17 +0000 | |
|---|---|---|
| committer | 2023-02-11 17:04:17 +0000 | |
| commit | 15fb92e5022eb6331806c6f9aeb8e0ca71fac6f2 (patch) | |
| tree | 5bf313c4fea5632aadc50e4a50d54affb6d3c7bf /creole.c | |
| parent | enable compiling and add compile test (diff) | |
comments and negative immediates
Diffstat (limited to 'creole.c')
| -rw-r--r-- | creole.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -448,17 +448,18 @@ creole_compile(struct creole_env *env, struct creole_reader *r) return CREOLE_COMPILE_OK; } -enum creole_run_ret creole_reg_write(struct creole_env *env, - creole_word w, unsigned reg) +enum creole_run_ret creole_reg_write(struct creole_env *env, unsigned reg, + creole_word w) { - if (!valid_register(env, reg)) - return CREOLE_REGISTER_OVERFLOW; + if (!valid_register(env, reg)) { + return CREOLE_REGISTER_OVERFLOW; + } env->reg[reg] = w; return CREOLE_STEP_CONTINUE; } -enum creole_run_ret creole_reg_read(struct creole_env *env, creole_word *w, - unsigned reg) +enum creole_run_ret creole_reg_read(struct creole_env *env, unsigned reg, + creole_word *w) { if (!valid_register(env, reg)) return CREOLE_REGISTER_OVERFLOW; @@ -472,7 +473,7 @@ static enum creole_run_ret read_val(struct creole_env *env, creole_word *w) { if (ins->w_flags[arg] == CREOLE_REGISTER) { - return creole_reg_read(env, w, ins->w[arg]); + return creole_reg_read(env, ins->w[arg], w); } else { *w = ins->w[arg]; } @@ -526,7 +527,7 @@ enum creole_run_ret creole_step(struct creole_env *env, creole_word *sc) break; case CREOLE_POP: check(creole_pop(env, &a1)); - check(creole_reg_write(env, a1, ins->w[0])); + check(creole_reg_write(env, ins->w[0], a1)); break; case CREOLE_ADD: check(read_val(env, ins, 1, &a1)); |
