/// <summary> /// Initializes a new instance of the <see cref="In"/> class. /// </summary> /// <param name="port">The port.</param> public In(Immediate port) : this((Operand)port) { #region Contract Contract.Requires<ArgumentNullException>(port != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Int"/> class. /// </summary> /// <param name="interruptVector">The interrupt vector.</param> public Int(Immediate interruptVector) { #region Contract Contract.Requires<ArgumentNullException>(interruptVector != null); #endregion this.interruptVector = interruptVector; }
/// <summary> /// Initializes a new instance of the <see cref="ArithmeticInstruction"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate operand.</param> protected ArithmeticInstruction(EffectiveAddress destination, Immediate source) : this((IRegisterOrMemoryOperand)destination, (ISourceOperand)source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Shrd"/> class. /// </summary> /// <param name="value">The value to shift.</param> /// <param name="source">The bits to shift in.</param> /// <param name="positions">The number of positions to adjust.</param> public Shrd(RegisterOperand value, RegisterOperand source, Immediate positions) : this((Operand)positions, source, (Operand)positions) { #region Contract Contract.Requires<ArgumentNullException>(value != null); Contract.Requires<ArgumentNullException>(source != null); Contract.Requires<ArgumentNullException>(positions != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="ArithmeticInstruction"/> class. /// </summary> /// <param name="destination">The destination register operand.</param> /// <param name="source">The source immediate operand.</param> protected ArithmeticInstruction(RegisterOperand destination, Immediate source) : this((IRegisterOrMemoryOperand)destination, (ISourceOperand)source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentException>(destination.Register.IsGeneralPurposeRegister()); Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Enter"/> class. /// </summary> /// <param name="stackframeSize">The stack frame size.</param> /// <param name="nestingLevel">The nesting level.</param> public Enter(Immediate stackframeSize, Immediate nestingLevel) { #region Contract Contract.Requires<ArgumentNullException>(stackframeSize != null); Contract.Requires<ArgumentNullException>(nestingLevel != null); #endregion this.stackframeSize = stackframeSize; this.nestingLevel = nestingLevel; }
/// <summary> /// Initializes a new instance of the <see cref="Imul"/> class. /// </summary> /// <param name="destination">The destination operand.</param> /// <param name="source">The source operand.</param> /// <param name="multiplier">The multiplier.</param> public Imul(RegisterOperand destination, RegisterOperand source, Immediate multiplier) : this(destination, (Operand)source, (Operand)multiplier) { #region Contract Contract.Requires<ArgumentNullException>(multiplier != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Retf"/> class. /// </summary> /// <param name="popcount">The number of bytes to pop from the stack after returning.</param> private Retf(Immediate popcount) { this.popcount = popcount; }
/// <summary> /// Initializes a new instance of the <see cref="And"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate value.</param> public And(EffectiveAddress destination, Immediate source) : this((Operand)destination, (Operand)source) { }
/// <summary> /// Initializes a new instance of the <see cref="Aad"/> class. /// </summary> /// <param name="base">The base of the operation.</param> public Aad(Immediate @base) { this.@base = @base; }
/// <summary> /// Initializes a new instance of the <see cref="And"/> class. /// </summary> /// <param name="destination">The destination register operand.</param> /// <param name="source">The source immediate value.</param> public And(RegisterOperand destination, Immediate source) : this((Operand)destination, (Operand)source) { }
/// <summary> /// Initializes a new instance of the <see cref="Adc"/> class. /// </summary> /// <param name="destination">The destination register operand.</param> /// <param name="source">The source immediate operand.</param> public Adc(RegisterOperand destination, Immediate source) : base(destination, source) { }
/// <summary> /// Initializes a new instance of the <see cref="Shr"/> class. /// </summary> /// <param name="value">The value to change.</param> /// <param name="positions">The number of positions to adjust.</param> public Shr(EffectiveAddress value, Immediate positions) : this((Operand)value, (Operand)positions) { #region Contract Contract.Requires<ArgumentNullException>(value != null); Contract.Requires<ArgumentNullException>(positions != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Adc"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate operand.</param> public Adc(EffectiveAddress destination, Immediate source) : base(destination, source) { }
/// <summary> /// Initializes a new instance of the <see cref="Cmp"/> class. /// </summary> /// <param name="second">The destination memory operand.</param> /// <param name="first">The source immediate value.</param> public Cmp(EffectiveAddress second, Immediate first) : this((Operand)second, (Operand)first) { #region Contract Contract.Requires<ArgumentNullException>(second != null); Contract.Requires<ArgumentNullException>(first != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Adc"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate operand.</param> public Adc(EffectiveAddress destination, Immediate source) : base(destination, source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Adc"/> class. /// </summary> /// <param name="destination">The destination register operand.</param> /// <param name="source">The source immediate operand.</param> public Adc(RegisterOperand destination, Immediate source) : base(destination, source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentException>(destination.Register.IsGeneralPurposeRegister()); Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Btc"/> class. /// </summary> /// <param name="subject">The register operand whose bit is copied and toggled.</param> /// <param name="bitIndex">The index of the bit to copy.</param> public Btc(RegisterOperand subject, Immediate bitIndex) : this((Operand)subject, (Operand)bitIndex) { #region Contract Contract.Requires<ArgumentNullException>(subject != null); Contract.Requires<ArgumentNullException>(bitIndex != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="ArithmeticInstruction"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate operand.</param> protected ArithmeticInstruction(EffectiveAddress destination, Immediate source) : this((IRegisterOrMemoryOperand)destination, (ISourceOperand)source) { }
/// <summary> /// Initializes a new instance of the <see cref="Bt"/> class. /// </summary> /// <param name="subject">The memory operand whose bit is copied.</param> /// <param name="bitindex">The index of the bit to copy.</param> public Bt(EffectiveAddress subject, Immediate bitindex) : this((Operand)subject, (Operand)bitindex) { #region Contract Contract.Requires<ArgumentNullException>(subject != null); Contract.Requires<ArgumentNullException>(bitindex != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Push"/> class. /// </summary> /// <param name="source">The source immediate value.</param> public Push(Immediate source) : this((Operand)source) { #region Contract Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Sbb"/> class. /// </summary> /// <param name="destination">The destination memory operand.</param> /// <param name="source">The source immediate value.</param> public Sbb(EffectiveAddress destination, Immediate source) : this((Operand)destination, (Operand)source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentNullException>(source != null); #endregion }
/// <summary> /// Initializes a new instance of the <see cref="Sub"/> class. /// </summary> /// <param name="destination">The destination register operand.</param> /// <param name="source">The source immediate value.</param> public Sub(RegisterOperand destination, Immediate source) : this((Operand)destination, (Operand)source) { #region Contract Contract.Requires<ArgumentNullException>(destination != null); Contract.Requires<ArgumentNullException>(source != null); #endregion }