/// <summary> /// Create an ARM64 Register. /// </summary> /// <param name="disassembler"> /// A disassembler. /// </param> /// <param name="id"> /// The register's unique identifier. /// </param> /// <returns> /// An ARM64 register. /// </returns> /// <exception cref="System.ObjectDisposedException"> /// Thrown if the disassembler is disposed. /// </exception> internal static Arm64Register TryCreate(CapstoneDisassembler disassembler, Arm64RegisterId id) { Arm64Register @object = null; if (id != Arm64RegisterId.Invalid) { // ... // // Throws an exception if the operation fails. var name = NativeCapstone.GetRegisterName(disassembler.Handle, (int)id); @object = new Arm64Register(id, name); } return(@object); }
/// <summary> /// Create an ARM64 Memory Operand Value. /// </summary> /// <param name="disassembler"> /// A disassembler. /// </param> /// <param name="nativeMemoryOperandValue"> /// A native ARM64 memory operand value. /// </param> internal Arm64MemoryOperandValue(CapstoneDisassembler disassembler, ref NativeArm64MemoryOperandValue nativeMemoryOperandValue) { this.Base = Arm64Register.TryCreate(disassembler, nativeMemoryOperandValue.Base); this.Displacement = nativeMemoryOperandValue.Displacement; this.Index = Arm64Register.TryCreate(disassembler, nativeMemoryOperandValue.Index); }