C# Класс Reko.Arch.PowerPC.PowerPcArchitecture

Наследование: Reko.Core.ProcessorArchitecture
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CreateDisassembler ( Reko.Core.ImageReader rdr ) : IEnumerable
CreateDisassemblerImpl ( Reko.Core.ImageReader rdr ) : PowerPcDisassembler
CreateImageReader ( MemoryArea image, Address addr ) : Reko.Core.ImageReader
CreateImageReader ( MemoryArea image, Address addrBegin, Address addrEnd ) : Reko.Core.ImageReader
CreateImageReader ( MemoryArea image, ulong offset ) : Reko.Core.ImageReader
CreateImageWriter ( ) : Reko.Core.ImageWriter
CreateImageWriter ( MemoryArea mem, Address addr ) : Reko.Core.ImageWriter
CreateInstructionComparer ( Normalize norm ) : IEqualityComparer
CreatePointerScanner ( Reko.Core.SegmentMap map, Reko.Core.ImageReader rdr, IEnumerable
addrs, PointerScannerFlags flags ) : IEnumerable
CreateProcessorState ( ) : ProcessorState
CreateRewriter ( Reko.Core.ImageReader rdr, ProcessorState state, Frame frame, IRewriterHost host ) : IEnumerable
CreateStackAccess ( Frame frame, int cbOffset, DataType dataType ) : Expression
GetFlagGroup ( string name ) : FlagGroupStorage
GetFlagGroup ( uint grf ) : FlagGroupStorage
GetOpcodeNames ( ) : int>.SortedList
GetOpcodeNumber ( string name ) : int?
GetRegister ( int i ) : RegisterStorage
GetRegister ( string name ) : RegisterStorage
GetRegisters ( ) : RegisterStorage[]
GetSubregister ( RegisterStorage reg, int offset, int width ) : RegisterStorage
GetTrampolineDestination ( IEnumerable rdr, IRewriterHost host ) : Reko.Core.ProcedureBase

Detects the presence of a PowerPC trampoline and returns the imported function that is actually being requested.

A PowerPC trampoline looks like this: addis rX,r0,XXXX (or oris rx,r0,XXXX) lwz rY,YYYY(rX) mtctr rY bctr rY When loading the ELF binary, we discovered the memory locations that will contain pointers to imported functions. If the address XXXXYYYY matches one of those memory locations, we have found a trampoline.

GrfToString ( uint grf ) : string
MakeAddressFromConstant ( Constant c ) : Address
PowerPcArchitecture ( PrimitiveType wordWidth ) : Reko.Core

Creates an instance of PowerPcArchitecture.

ReadCodeAddress ( int size, Reko.Core.ImageReader rdr, ProcessorState state ) : Address
TryGetRegister ( string name, RegisterStorage &reg ) : bool
TryParseAddress ( string txtAddress, Address &addr ) : bool

Описание методов

CreateDisassembler() публичный Метод

public CreateDisassembler ( Reko.Core.ImageReader rdr ) : IEnumerable
rdr Reko.Core.ImageReader
Результат IEnumerable

CreateDisassemblerImpl() публичный Метод

public CreateDisassemblerImpl ( Reko.Core.ImageReader rdr ) : PowerPcDisassembler
rdr Reko.Core.ImageReader
Результат PowerPcDisassembler

CreateImageReader() публичный Метод

public CreateImageReader ( MemoryArea image, Address addr ) : Reko.Core.ImageReader
image Reko.Core.MemoryArea
addr Address
Результат Reko.Core.ImageReader

CreateImageReader() публичный Метод

public CreateImageReader ( MemoryArea image, Address addrBegin, Address addrEnd ) : Reko.Core.ImageReader
image Reko.Core.MemoryArea
addrBegin Address
addrEnd Address
Результат Reko.Core.ImageReader

CreateImageReader() публичный Метод

public CreateImageReader ( MemoryArea image, ulong offset ) : Reko.Core.ImageReader
image Reko.Core.MemoryArea
offset ulong
Результат Reko.Core.ImageReader

CreateImageWriter() публичный Метод

public CreateImageWriter ( ) : Reko.Core.ImageWriter
Результат Reko.Core.ImageWriter

CreateImageWriter() публичный Метод

public CreateImageWriter ( MemoryArea mem, Address addr ) : Reko.Core.ImageWriter
mem Reko.Core.MemoryArea
addr Address
Результат Reko.Core.ImageWriter

CreateInstructionComparer() публичный Метод

public CreateInstructionComparer ( Normalize norm ) : IEqualityComparer
norm Normalize
Результат IEqualityComparer

CreatePointerScanner() публичный абстрактный Метод

public abstract CreatePointerScanner ( Reko.Core.SegmentMap map, Reko.Core.ImageReader rdr, IEnumerable
addrs, PointerScannerFlags flags ) : IEnumerable
map Reko.Core.SegmentMap
rdr Reko.Core.ImageReader
addrs IEnumerable
flags PointerScannerFlags
Результат IEnumerable

CreateProcessorState() публичный Метод

public CreateProcessorState ( ) : ProcessorState
Результат Reko.Core.ProcessorState

CreateRewriter() публичный Метод

public CreateRewriter ( Reko.Core.ImageReader rdr, ProcessorState state, Frame frame, IRewriterHost host ) : IEnumerable
rdr Reko.Core.ImageReader
state Reko.Core.ProcessorState
frame Reko.Core.Frame
host IRewriterHost
Результат IEnumerable

CreateStackAccess() публичный Метод

public CreateStackAccess ( Frame frame, int cbOffset, DataType dataType ) : Expression
frame Reko.Core.Frame
cbOffset int
dataType DataType
Результат Expression

GetFlagGroup() публичный Метод

public GetFlagGroup ( string name ) : FlagGroupStorage
name string
Результат FlagGroupStorage

GetFlagGroup() публичный Метод

public GetFlagGroup ( uint grf ) : FlagGroupStorage
grf uint
Результат FlagGroupStorage

GetOpcodeNames() публичный Метод

public GetOpcodeNames ( ) : int>.SortedList
Результат int>.SortedList

GetOpcodeNumber() публичный Метод

public GetOpcodeNumber ( string name ) : int?
name string
Результат int?

GetRegister() публичный Метод

public GetRegister ( int i ) : RegisterStorage
i int
Результат RegisterStorage

GetRegister() публичный Метод

public GetRegister ( string name ) : RegisterStorage
name string
Результат RegisterStorage

GetRegisters() публичный Метод

public GetRegisters ( ) : RegisterStorage[]
Результат RegisterStorage[]

GetSubregister() публичный Метод

public GetSubregister ( RegisterStorage reg, int offset, int width ) : RegisterStorage
reg RegisterStorage
offset int
width int
Результат RegisterStorage

GetTrampolineDestination() публичный Метод

Detects the presence of a PowerPC trampoline and returns the imported function that is actually being requested.
A PowerPC trampoline looks like this: addis rX,r0,XXXX (or oris rx,r0,XXXX) lwz rY,YYYY(rX) mtctr rY bctr rY When loading the ELF binary, we discovered the memory locations that will contain pointers to imported functions. If the address XXXXYYYY matches one of those memory locations, we have found a trampoline.
public GetTrampolineDestination ( IEnumerable rdr, IRewriterHost host ) : Reko.Core.ProcedureBase
rdr IEnumerable
host IRewriterHost
Результат Reko.Core.ProcedureBase

GrfToString() публичный Метод

public GrfToString ( uint grf ) : string
grf uint
Результат string

MakeAddressFromConstant() публичный абстрактный Метод

public abstract MakeAddressFromConstant ( Constant c ) : Address
c Constant
Результат Address

PowerPcArchitecture() публичный Метод

Creates an instance of PowerPcArchitecture.
public PowerPcArchitecture ( PrimitiveType wordWidth ) : Reko.Core
wordWidth PrimitiveType Supplies the word width of the PowerPC architecture.
Результат Reko.Core

ReadCodeAddress() публичный Метод

public ReadCodeAddress ( int size, Reko.Core.ImageReader rdr, ProcessorState state ) : Address
size int
rdr Reko.Core.ImageReader
state Reko.Core.ProcessorState
Результат Address

TryGetRegister() публичный Метод

public TryGetRegister ( string name, RegisterStorage &reg ) : bool
name string
reg RegisterStorage
Результат bool

TryParseAddress() публичный Метод

public TryParseAddress ( string txtAddress, Address &addr ) : bool
txtAddress string
addr Address
Результат bool