コード例 #1
0
 /// <summary>
 ///     Create an M68K Memory Operand Value.
 /// </summary>
 /// <param name="disassembler">
 ///     A disassembler.
 /// </param>
 /// <param name="nativeMemoryOperandValue">
 ///     A native M68K memory operand value.
 /// </param>
 internal M68KMemoryOperandValue(CapstoneDisassembler disassembler, ref NativeM68KMemoryOperandValue nativeMemoryOperandValue)
 {
     this.Base                 = M68KRegister.TryCreate(disassembler, nativeMemoryOperandValue.Base);
     this.BitField             = nativeMemoryOperandValue.BitField;
     this.Displacement         = nativeMemoryOperandValue.Displacement;
     this.Index                = M68KRegister.TryCreate(disassembler, nativeMemoryOperandValue.Index);
     this.IndexSize            = nativeMemoryOperandValue.IndexSize;
     this.IndirectBase         = M68KRegister.TryCreate(disassembler, nativeMemoryOperandValue.IndirectBase);
     this.IndirectDisplacement = nativeMemoryOperandValue.IndirectDisplacement;
     this.Offset               = nativeMemoryOperandValue.Offset;
     this.OutDisplacement      = nativeMemoryOperandValue.OutDisplacement;
     this.Scale                = nativeMemoryOperandValue.Scale;
     this.Width                = nativeMemoryOperandValue.Width;
 }
コード例 #2
0
        /// <summary>
        ///     Create an M68K Register.
        /// </summary>
        /// <param name="disassembler">
        ///     A disassembler.
        /// </param>
        /// <param name="id">
        ///     The register's unique identifier.
        /// </param>
        /// <returns>
        ///     An M68K register. A null reference if the register's unique identifier is equal to
        ///     <see cref="M68KRegisterId.Invalid" />.
        /// </returns>
        /// <exception cref="System.ObjectDisposedException">
        ///     Thrown if the disassembler is disposed.
        /// </exception>
        internal static M68KRegister TryCreate(CapstoneDisassembler disassembler, M68KRegisterId id)
        {
            M68KRegister @object = null;

            if (id != M68KRegisterId.Invalid)
            {
                // ...
                //
                // Throws an exception if the operation fails.
                var name = NativeCapstone.GetRegisterName(disassembler.Handle, (int)id);

                @object = new M68KRegister(id, name);
            }

            return(@object);
        }