示例#1
0
 /// <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
 }
示例#2
0
 /// <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
 }
示例#4
0
 /// <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
 }
示例#6
0
        /// <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;
        }
示例#7
0
 /// <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
 }
示例#8
0
 /// <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;
 }
示例#9
0
 /// <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)
 {
 }
示例#10
0
 /// <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;
 }
示例#11
0
 /// <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)
 {
 }
示例#12
0
 /// <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)
 {
 }
示例#13
0
 /// <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
 }
示例#14
0
 /// <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)
 {
 }
示例#15
0
 /// <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
 }
示例#16
0
 /// <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
 }
示例#17
0
 /// <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
 }
示例#18
0
 /// <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)
 {
 }
示例#20
0
 /// <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
 }
示例#21
0
 /// <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
 }
示例#22
0
 /// <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
 }
示例#23
0
 /// <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
 }