diff --git a/src/core/cpu_newrec_compiler_aarch32.cpp b/src/core/cpu_newrec_compiler_aarch32.cpp index b699396c5..2606b46ba 100644 --- a/src/core/cpu_newrec_compiler_aarch32.cpp +++ b/src/core/cpu_newrec_compiler_aarch32.cpp @@ -393,7 +393,7 @@ void CPU::NewRec::AArch32Compiler::EndAndLinkBlock(const std::optional& new { // event test // pc should've been flushed - DebugAssert(!m_dirty_pc && !force_run_events); + DebugAssert(!m_dirty_pc && !m_block_ended); m_block_ended = true; // TODO: try extracting this to a function @@ -2003,7 +2003,7 @@ void CPU::NewRec::AArch32Compiler::TestInterrupts(const vixl::aarch32::Register& EmitMov(RARG2, m_compiler_pc); armAsm->str(RARG1, PTR(&g_state.downcount)); if (m_dirty_pc) - armAsm->str(RARG2, m_compiler_pc); + armAsm->str(RARG2, PTR(&g_state.pc)); m_dirty_pc = false; EndAndLinkBlock(std::nullopt, false, true); }