summaryrefslogtreecommitdiff
path: root/Source/Core/Common/GekkoDisassembler.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-09-21 14:19:05 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-09-21 14:19:05 -0500
commit9206dd016ec58c78daf1e60ae7879115f956722a (patch)
tree2b243082a03386813299e8b70846d5998afbfe87 /Source/Core/Common/GekkoDisassembler.cpp
parent124df2e1348938b3e44e9cedc6abc2a0054600d1 (diff)
parent9c4407fb803bd150cfd855e27bdbabb5b00ed813 (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.cpp8
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);
}