diff --git a/src/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp b/src/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp index c49312d458..b2415b9521 100644 --- a/src/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp +++ b/src/dynarmic/src/dynarmic/backend/arm64/a64_interface.cpp @@ -152,7 +152,9 @@ struct Jit::Impl final { } std::string Disassemble() const { - UNREACHABLE(); + const size_t size = reinterpret_cast(block_of_code.getCurr()) - reinterpret_cast(block_of_code.GetCodeBegin()); + auto const* p = reinterpret_cast(block_of_code.GetCodeBegin()); + return Common::DisassembleX64(p, p + size); } private: diff --git a/src/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp b/src/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp index 645845c58d..fbfdf24521 100644 --- a/src/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp +++ b/src/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp @@ -323,4 +323,8 @@ void Jit::ClearExclusiveState() { impl->ClearExclusiveState(); } +std::string Jit::Disassemble() const { + return impl->Disassemble(); +} + } // namespace Dynarmic::A32