From 612118e8e5a4e28647bd064135777e807b861cbd Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 24 May 2015 01:51:07 -0400 Subject: [PATCH 1/2] GekkoDisassembler: Fix disassembly of mtfsf's FM field --- Source/Core/Common/GekkoDisassembler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Common/GekkoDisassembler.cpp b/Source/Core/Common/GekkoDisassembler.cpp index 7ba77a2ea1..b3f3aca81b 100644 --- a/Source/Core/Common/GekkoDisassembler.cpp +++ b/Source/Core/Common/GekkoDisassembler.cpp @@ -2204,7 +2204,7 @@ u32* GekkoDisassembler::DoDisassembly(bool big_endian) if ((in & 0x02010000) == 0) { m_opcode = StringFromFormat("mtfsf%s", rcsel[in & 1]); - m_operands = StringFromFormat("0x%x,%u", (unsigned int)(in & 0x01fe) >> 17, (int)PPCGETB(in)); + m_operands = StringFromFormat("0x%x,%u", (unsigned int)(in >> 17) & 0x01fe, (int)PPCGETB(in)); } else { From 88e1850231727ac3190182d95db62ef34aa28d3e Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 24 May 2015 01:54:04 -0400 Subject: [PATCH 2/2] GekkoDisassembler: Fix typecast for the second printf param for mtfsf --- Source/Core/Common/GekkoDisassembler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Common/GekkoDisassembler.cpp b/Source/Core/Common/GekkoDisassembler.cpp index b3f3aca81b..ae6c82902e 100644 --- a/Source/Core/Common/GekkoDisassembler.cpp +++ b/Source/Core/Common/GekkoDisassembler.cpp @@ -2204,7 +2204,7 @@ u32* GekkoDisassembler::DoDisassembly(bool big_endian) if ((in & 0x02010000) == 0) { m_opcode = StringFromFormat("mtfsf%s", rcsel[in & 1]); - m_operands = StringFromFormat("0x%x,%u", (unsigned int)(in >> 17) & 0x01fe, (int)PPCGETB(in)); + m_operands = StringFromFormat("0x%x,%u", (unsigned int)(in >> 17) & 0x01fe, (unsigned int)PPCGETB(in)); } else {