Esempio n. 1
0
 public override IntelInstruction Decode(X86Disassembler disasm, byte op, string opFormat)
 {
     if (disasm.defaultAddressWidth.BitSize == 64)
     {
         return(oprec64.Decode(disasm, op, opFormat));
     }
     else
     {
         return(oprec32.Decode(disasm, op, opFormat));
     }
 }
Esempio n. 2
0
            public override IntelInstruction Decode(X86Disassembler disasm, byte op, string opFormat)
            {
                int  grp = Group - 1;
                byte modRm;

                if (!disasm.TryEnsureModRM(out modRm))
                {
                    return(null);
                }
                OpRec opRec = s_aOpRecGrp[grp * 8 + ((modRm >> 3) & 0x07)];

                return(opRec.Decode(disasm, op, opFormat + format));
            }
Esempio n. 3
0
            public override IntelInstruction Decode(X86Disassembler disasm, byte op, string opFormat)
            {
                byte modRm;

                if (!disasm.TryEnsureModRM(out modRm))
                {
                    return(null);
                }
                if ((modRm & 0xC0) == 0xC0)
                {
                    return(regInstrs[modRm & 0x07].Decode(disasm, op, opFormat));
                }
                else
                {
                    return(memInstr.Decode(disasm, op, opFormat));
                }
            }