diff --git a/cpu/decoder.cpp b/cpu/decoder.cpp index 5013cd8..fac61c1 100644 --- a/cpu/decoder.cpp +++ b/cpu/decoder.cpp @@ -67,17 +67,13 @@ void Cpu::executeInstruction() default: data = state.reg16((op >> 4) & 0x3); } - state.SP-=2; - - bus->write16(state.SP, data); + pushStack16(data); mcycles = 4; } else if((op & 0xCF) == 0xC1) // POP rr { - u16 data = bus->read16(state.SP); - - state.SP+=2; + u16 data = popStack16(); switch((op >> 4) & 0x3) {