/// <summary> /// A simply move operation (e.g. a copy). /// </summary> /// <param name="inOp">An input operand.</param> /// <param name="outOp">Copy destination.</param> public void Mov(Operand inOp, Operand outOp) { if (!inOp.Equals(outOp) || !outOp.IsWritable) { throw new IncompatibleOperandsException("Mov operation requires both operands " + "to be the same and destination must be writable."); } // There is no constant (no op operation) on those (driver may create it a no-op // operation but since outOp is not constant, we must move it). compiler.Mov(inOp.Name, outOp.Name); }