Mono.Debugger.Architectures.X86_Instruction.DoDecodeInstruction C# (CSharp) Метод

DoDecodeInstruction() защищенный Метод

protected DoDecodeInstruction ( TargetMemoryAccess memory, TargetAddress address ) : void
memory TargetMemoryAccess
address TargetAddress
Результат void
        protected void DoDecodeInstruction(TargetMemoryAccess memory,
						    TargetAddress address)
        {
            TargetReader reader = new TargetReader (
                memory.ReadMemory (address, MaxInstructionLength));

            while (CheckPrefix (reader))
                reader.Offset++;

            byte opcode = reader.ReadByte ();

            if (opcode == 0x0f)
                TwoByteOpcode (reader);
            else
                OneByteOpcode (reader, opcode);

            if (InstructionType != Type.Unknown) {
                insn_size = (int) reader.Offset;
                has_insn_size = true;
            } else {
                insn_size = Opcodes.Disassembler.GetInstructionSize (memory, address);
                has_insn_size = true;
            }

            if (has_insn_size) {
                code = new byte [insn_size];
                Array.Copy (reader.Contents, 0, code, 0, insn_size);
            }
        }