Beispiel #1
0
 protected OpCodeHandler(uint opCode, int groupIndex, OpCodeHandlerFlags flags, Encodable encodable, OperandSize opSize, AddressSize addrSize, TryConvertToDisp8N?tryConvertToDisp8N, Op[] operands)
 {
     OpCode             = opCode;
     GroupIndex         = groupIndex;
     Flags              = flags;
     Encodable          = encodable;
     OpSize             = opSize;
     AddrSize           = addrSize;
     TryConvertToDisp8N = tryConvertToDisp8N;
     Operands           = operands;
 }
Beispiel #2
0
 protected OpCodeHandler(EncFlags2 encFlags2, EncFlags3 encFlags3, bool isSpecialInstr, TryConvertToDisp8N?tryConvertToDisp8N, Op[] operands)
 {
     EncFlags3          = encFlags3;
     OpCode             = GetOpCode(encFlags2);
     Is2ByteOpCode      = (encFlags2 & EncFlags2.OpCodeIs2Bytes) != 0;
     GroupIndex         = (encFlags2 & EncFlags2.HasGroupIndex) == 0 ? -1 : (int)(((uint)encFlags2 >> (int)EncFlags2.GroupIndexShift) & 7);
     RmGroupIndex       = (encFlags3 & EncFlags3.HasRmGroupIndex) == 0 ? -1 : (int)(((uint)encFlags2 >> (int)EncFlags2.GroupIndexShift) & 7);
     IsSpecialInstr     = isSpecialInstr;
     OpSize             = (CodeSize)(((uint)encFlags3 >> (int)EncFlags3.OperandSizeShift) & (uint)EncFlags3.OperandSizeMask);
     AddrSize           = (CodeSize)(((uint)encFlags3 >> (int)EncFlags3.AddressSizeShift) & (uint)EncFlags3.AddressSizeMask);
     TryConvertToDisp8N = tryConvertToDisp8N;
     Operands           = operands;
 }