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);
            }
Example #2
0
 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);
 }