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); } }
public static OpCode Create(OpType opType, OpCodeDirection direction = OpCodeDirection.RegToRM, bool is32bit = false, bool isImmediate = false) { return(new OpCode(opType, direction, is32bit, isImmediate)); }