示例#1
0
        /// <summary>
        /// (This method allocates and is slower than using an <see cref="InstructionInfoFactory"/>.)
        ///
        /// Gets instruction info such as which register is read and written etc.
        /// </summary>
        /// <param name="options">Options</param>
        /// <returns></returns>
        public InstructionInfo GetInfo(InstructionInfoOptions options)
        {
            var usedRegisters       = InstructionInfoInternal.SimpleList <UsedRegister> .Empty;
            var usedMemoryLocations = InstructionInfoInternal.SimpleList <UsedMemory> .Empty;

            return(InstructionInfoFactory.Create(ref this, ref usedRegisters, ref usedMemoryLocations, options));
        }
示例#2
0
        /// <summary>
        /// (This method allocates and is slower than using an <see cref="InstructionInfoFactory"/>.)
        ///
        /// Gets a struct iterator that returns all read and written memory locations
        /// </summary>
        /// <returns></returns>
        public InstructionInfo.UsedMemoryIterator GetUsedMemory()
        {
            var usedRegisters       = InstructionInfoInternal.SimpleList <UsedRegister> .Empty;
            var usedMemoryLocations = InstructionInfoInternal.SimpleList <UsedMemory> .Empty;

            return(InstructionInfoFactory.Create(ref this, ref usedRegisters, ref usedMemoryLocations, InstructionInfoOptions.NoRegisterUsage).GetUsedMemory());
        }
示例#3
0
        /// <summary>
        /// (This method allocates and is slower than using an <see cref="InstructionInfoFactory"/>.)
        ///
        /// Gets instruction info such as which register is read and written etc.
        /// </summary>
        /// <returns></returns>
        public readonly InstructionInfo GetInfo()
        {
            var usedRegisters       = InstructionInfoInternal.SimpleList <UsedRegister> .Empty;
            var usedMemoryLocations = InstructionInfoInternal.SimpleList <UsedMemory> .Empty;

            return(InstructionInfoFactory.Create(this, ref usedRegisters, ref usedMemoryLocations, InstructionInfoOptions.None));
        }