diff --git a/emulator.c b/emulator.c index 7544c8d..12b82a7 100644 --- a/emulator.c +++ b/emulator.c @@ -98,8 +98,8 @@ static u8 skiptable[32] = { /* operand forms that advance pc */ }; void dcpu_skip(struct dcpu *d) { - u16 op = d->m[d->pc++]; - d->pc += skiptable[op >> 10]; + u16 op = d->m[++d->pc]; + d->pc += skiptable[(op >> 10) & 31]; if ((op & 15) == 0) d->pc += skiptable[(op >> 4) & 31]; }