summaryrefslogtreecommitdiff
path: root/Source/Core/Common/GekkoDisassembler.cpp
diff options
context:
space:
mode:
authorFiora <fioraaeterna@gmail.com>2014-09-21 08:01:47 -0700
committerFiora <fioraaeterna@gmail.com>2014-09-21 08:17:41 -0700
commit9c4407fb803bd150cfd855e27bdbabb5b00ed813 (patch)
tree880824503c722b53e643fb9c279483b06af3125a /Source/Core/Common/GekkoDisassembler.cpp
parent9f2d4ee53e9040925aa56ea5a04a374578562d02 (diff)
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);
}