diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-09-21 14:19:05 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-09-21 14:19:05 -0500 |
| commit | 9206dd016ec58c78daf1e60ae7879115f956722a (patch) | |
| tree | 2b243082a03386813299e8b70846d5998afbfe87 /Source/Core/Common/GekkoDisassembler.cpp | |
| parent | 124df2e1348938b3e44e9cedc6abc2a0054600d1 (diff) | |
| parent | 9c4407fb803bd150cfd855e27bdbabb5b00ed813 (diff) | |
Merge pull request #1135 from FioraAeterna/twidisasmfix
Disassembler: fix disassembly of some twi instructions
Diffstat (limited to 'Source/Core/Common/GekkoDisassembler.cpp')
| -rw-r--r-- | Source/Core/Common/GekkoDisassembler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/Common/GekkoDisassembler.cpp b/Source/Core/Common/GekkoDisassembler.cpp index afccf35028..34da4279e6 100644 --- a/Source/Core/Common/GekkoDisassembler.cpp +++ b/Source/Core/Common/GekkoDisassembler.cpp @@ -356,16 +356,18 @@ void GekkoDisassembler::trapi(u32 in, unsigned char dmode) { const char* cnd = trap_condition[PPCGETD(in)]; + + m_flags |= dmode; if (cnd != nullptr) { - m_flags |= dmode; m_opcode = StringFromFormat("t%c%s", dmode ? 'd' : 'w', cnd); - m_operands = imm(in, 0, 2, false); } else { - ill(in); + m_opcode = StringFromFormat("t%ci", dmode ? 'd' : 'w'); + m_operands = StringFromFormat("%d, ", PPCGETD(in)); } + m_operands += imm(in, 0, 2, false); } |
