public override X86Instruction Decode(X86Disassembler disasm, byte op, string opFormat) { var instr = base.Decode(disasm, op, opFormat); if (disasm.Emulate8087) { var imm = (ImmediateOperand)instr.op1; var vector = imm.Value.ToByte(); if (disasm.IsEmulated8087Vector(vector)) { return(disasm.RewriteEmulated8087Instruction(vector)); } } return(instr); }
public override bool Decode(X86Disassembler disasm, byte op) { if (!base.Decode(disasm, op)) { return(false); } if (disasm.Emulate8087) { var imm = (ImmediateOperand)disasm.decodingContext.ops[0]; var vector = imm.Value.ToByte(); if (disasm.IsEmulated8087Vector(vector)) { disasm.RewriteEmulated8087Instruction(vector); } } return(true); }