Skip to content
Snippets Groups Projects
Commit 82a1f67c authored by jdh8d's avatar jdh8d
Browse files

fixed movsd to distinquish between move string and move scalar double

Former-commit-id: 07194500c336be698a6b9eda5341fe9d2d75584d
parent f088351b
No related branches found
No related tags found
No related merge requests found
......@@ -154,16 +154,20 @@ void DecodedInstructionCapstone_t::Disassemble(const virtual_offset_t start_addr
const auto mnemonic=string(insn->mnemonic);
const auto x86=insn->detail->x86;
if(mnemonic=="fcompi")
strcpy(insn->mnemonic, "fcomip"); // bad opcode out of capstone.
else if(string(insn->mnemonic)=="movsq")
strcpy(insn->op_str, ""); // force into MOVS
else if(string(insn->mnemonic)=="movsd")
strcpy(insn->op_str, ""); // force into MOVS
else if(string(insn->mnemonic)=="movsw")
strcpy(insn->op_str, ""); // force into MOVS
else if(string(insn->mnemonic)=="movsb")
strcpy(insn->op_str, ""); // force into MOVS
else if(x86.opcode[0]==0xa5 && string(insn->mnemonic)=="movsq")
strcpy(insn->op_str, ""); // force into MOVS version
// note, there's two forms of movsd -- one is move string, the other is move scalar double,
// only adjust the move string version
else if(x86.opcode[0]==0xa4 && string(insn->mnemonic)=="movsd")
strcpy(insn->op_str, ""); // force into MOVS version
else if(x86.opcode[0]==0xa5 && string(insn->mnemonic)=="movsw")
strcpy(insn->op_str, ""); // force into MOVS version
else if(x86.opcode[0]==0xa4 && string(insn->mnemonic)=="movsb")
strcpy(insn->op_str, ""); // force into MOVS version
if(mnemonic=="movabs")
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment