Пример #1
0
        private OpCode(OpType opType, OpCodeDirection direction = OpCodeDirection.RegToRM, bool is32bit = true, bool isImmediate = false)
        {
            Type        = opType;
            Direction   = direction;
            Is32Bit     = is32bit;
            IsImmediate = isImmediate;
            this.bytes  = (byte[])opType.GetBytes().Clone();
            if (opType.SupportsImmediate && IsImmediate)
            {
                bytes = SetImmediateMode(bytes, true);
            }

            if (opType.CanSet32Bit)
            {
                bytes = Modify(bytes, (byte)Direction == (byte)OpCodeDirection.RMToReg ? true : false, is32bit);
            }
        }
Пример #2
0
 public static OpCode Create(OpType opType, OpCodeDirection direction = OpCodeDirection.RegToRM, bool is32bit = false, bool isImmediate = false)
 {
     return(new OpCode(opType, direction, is32bit, isImmediate));
 }