1
0
Fork 0
mirror of https://github.com/pnx/m16vm synced 2026-06-16 03:44:55 +02:00

src/cpu.c: LW/SW are Type-RI.

This commit is contained in:
Henrik Hautakoski 2018-11-25 11:21:40 +01:00
parent 6256fa7512
commit 6d2ad112af
No known key found for this signature in database
GPG key ID: 839F3A7EAFAEAFAA

View file

@ -56,12 +56,12 @@ static void execute(struct cpu_state *state, struct instr *instr) {
state->reg[instr->r.rs] = (state->reg[instr->r.rs] & 0x00FF) | (((uint16_t) instr->i.imm) << 8);
break;
case OP_LW :
debug("lw\tr%i r%i #%i\n", instr->r.rs, instr->r.r0, instr->r.r1);
state->reg[instr->r.rs] = mm_lw(state->reg[instr->r.r0] + instr->r.r1);
debug("lw\tr%i r%i #%i\n", instr->ri.rs, instr->ri.r0, instr->ri.offset);
state->reg[instr->r.rs] = mm_lw(state->reg[instr->ri.r0] + instr->ri.offset);
break;
case OP_SW :
debug("sw\tr%i r%i #%i\n", instr->r.rs, instr->r.r0, instr->r.r1);
mm_sw(state->reg[instr->r.rs] + instr->r.r1, state->reg[instr->r.r0]);
debug("sw\tr%i r%i #%i\n", instr->ri.rs, instr->ri.r0, instr->ri.offset);
mm_sw(state->reg[instr->ri.rs] + instr->ri.offset, state->reg[instr->ri.r0]);
break;
case OP_JMP :
debug("jmp\t#%i\n", instr->j.addr);