C# Class Reko.Core.ProcessorArchitecture

Inheritance: IProcessorArchitecture
Afficher le fichier Open project: uxmal/reko

Méthodes publiques

Méthode Description
CreateDisassembler ( Reko.Core.ImageReader imageReader ) : IEnumerable
CreateFrame ( ) : Frame
CreateImageReader ( MemoryArea img, Address addr ) : Reko.Core.ImageReader
CreateImageReader ( MemoryArea img, Address addrBegin, Address addrEnd ) : Reko.Core.ImageReader
CreateImageReader ( MemoryArea img, ulong off ) : Reko.Core.ImageReader
CreateImageWriter ( ) : Reko.Core.ImageWriter
CreateImageWriter ( MemoryArea img, Address addr ) : Reko.Core.ImageWriter
CreateInstructionComparer ( Normalize norm ) : IEqualityComparer
CreatePointerScanner ( Reko.Core.SegmentMap map, Reko.Core.ImageReader rdr, IEnumerable
knownAddresses, 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
GetAliases ( RegisterStorage reg ) : IEnumerable
GetFlagGroup ( string name ) : FlagGroupStorage
GetFlagGroup ( uint grf ) : FlagGroupStorage
GetOpcodeNames ( ) : int>.SortedList

Returns a map of opcode names to their internal (Reko) numbers.

GetOpcodeNumber ( string name ) : int?

For a particular opcode name, returns its internal (Reko) number.

GetPart ( RegisterStorage reg, DataType dt ) : RegisterStorage
GetRegister ( int i ) : RegisterStorage
GetRegister ( string name ) : RegisterStorage
GetRegisters ( ) : RegisterStorage[]
GetSubregister ( RegisterStorage reg, int offset, int width ) : RegisterStorage

Get the improper subregister of reg that starts at offset offset and is of size width.

Most architectures not have subregisters, and will use this default implementation. This method is overridden for architectures like x86 and Z80, where subregisters (ah al etc) do exist.

GetWidestSubregister ( RegisterStorage reg, HashSet regs ) : RegisterStorage
GrfToString ( uint grf ) : string
LoadUserOptions ( object>.Dictionary options ) : void
MakeAddressFromConstant ( Constant c ) : Address
MakeSegmentedAddress ( Constant seg, Constant offset ) : Address
ReadCodeAddress ( int size, Reko.Core.ImageReader rdr, ProcessorState state ) : Address
RemoveAliases ( ISet ids, RegisterStorage reg ) : void
SaveUserOptions ( ) : object>.Dictionary
TryGetRegister ( string name, RegisterStorage &reg ) : bool
TryParseAddress ( string txtAddr, Address &addr ) : bool

Method Details

CreateDisassembler() public abstract méthode

public abstract CreateDisassembler ( Reko.Core.ImageReader imageReader ) : IEnumerable
imageReader Reko.Core.ImageReader
Résultat IEnumerable

CreateFrame() public méthode

public CreateFrame ( ) : Frame
Résultat Frame

CreateImageReader() public abstract méthode

public abstract CreateImageReader ( MemoryArea img, Address addr ) : Reko.Core.ImageReader
img MemoryArea
addr Address
Résultat Reko.Core.ImageReader

CreateImageReader() public abstract méthode

public abstract CreateImageReader ( MemoryArea img, Address addrBegin, Address addrEnd ) : Reko.Core.ImageReader
img MemoryArea
addrBegin Address
addrEnd Address
Résultat Reko.Core.ImageReader

CreateImageReader() public abstract méthode

public abstract CreateImageReader ( MemoryArea img, ulong off ) : Reko.Core.ImageReader
img MemoryArea
off ulong
Résultat Reko.Core.ImageReader

CreateImageWriter() public abstract méthode

public abstract CreateImageWriter ( ) : Reko.Core.ImageWriter
Résultat Reko.Core.ImageWriter

CreateImageWriter() public abstract méthode

public abstract CreateImageWriter ( MemoryArea img, Address addr ) : Reko.Core.ImageWriter
img MemoryArea
addr Address
Résultat Reko.Core.ImageWriter

CreateInstructionComparer() public abstract méthode

public abstract CreateInstructionComparer ( Normalize norm ) : IEqualityComparer
norm Normalize
Résultat IEqualityComparer

CreatePointerScanner() public abstract méthode

public abstract CreatePointerScanner ( Reko.Core.SegmentMap map, Reko.Core.ImageReader rdr, IEnumerable
knownAddresses, PointerScannerFlags flags ) : IEnumerable
map Reko.Core.SegmentMap
rdr Reko.Core.ImageReader
knownAddresses IEnumerable
flags PointerScannerFlags
Résultat IEnumerable

CreateProcessorState() public abstract méthode

public abstract CreateProcessorState ( ) : ProcessorState
Résultat ProcessorState

CreateRewriter() public abstract méthode

public abstract CreateRewriter ( Reko.Core.ImageReader rdr, ProcessorState state, Frame frame, IRewriterHost host ) : IEnumerable
rdr Reko.Core.ImageReader
state ProcessorState
frame Frame
host IRewriterHost
Résultat IEnumerable

CreateStackAccess() public abstract méthode

public abstract CreateStackAccess ( Frame frame, int cbOffset, DataType dataType ) : Expression
frame Frame
cbOffset int
dataType DataType
Résultat Expression

GetAliases() public méthode

public GetAliases ( RegisterStorage reg ) : IEnumerable
reg RegisterStorage
Résultat IEnumerable

GetFlagGroup() public abstract méthode

public abstract GetFlagGroup ( string name ) : FlagGroupStorage
name string
Résultat FlagGroupStorage

GetFlagGroup() public abstract méthode

public abstract GetFlagGroup ( uint grf ) : FlagGroupStorage
grf uint
Résultat FlagGroupStorage

GetOpcodeNames() public abstract méthode

Returns a map of opcode names to their internal (Reko) numbers.
public abstract GetOpcodeNames ( ) : int>.SortedList
Résultat int>.SortedList

GetOpcodeNumber() public abstract méthode

For a particular opcode name, returns its internal (Reko) number.
public abstract GetOpcodeNumber ( string name ) : int?
name string
Résultat int?

GetPart() public méthode

public GetPart ( RegisterStorage reg, DataType dt ) : RegisterStorage
reg RegisterStorage
dt DataType
Résultat RegisterStorage

GetRegister() public abstract méthode

public abstract GetRegister ( int i ) : RegisterStorage
i int
Résultat RegisterStorage

GetRegister() public abstract méthode

public abstract GetRegister ( string name ) : RegisterStorage
name string
Résultat RegisterStorage

GetRegisters() public abstract méthode

public abstract GetRegisters ( ) : RegisterStorage[]
Résultat RegisterStorage[]

GetSubregister() public méthode

Get the improper subregister of reg that starts at offset offset and is of size width.
Most architectures not have subregisters, and will use this default implementation. This method is overridden for architectures like x86 and Z80, where subregisters (ah al etc) do exist.
public GetSubregister ( RegisterStorage reg, int offset, int width ) : RegisterStorage
reg RegisterStorage
offset int
width int
Résultat RegisterStorage

GetWidestSubregister() public méthode

public GetWidestSubregister ( RegisterStorage reg, HashSet regs ) : RegisterStorage
reg RegisterStorage
regs HashSet
Résultat RegisterStorage

GrfToString() public abstract méthode

public abstract GrfToString ( uint grf ) : string
grf uint
Résultat string

LoadUserOptions() public méthode

public LoadUserOptions ( object>.Dictionary options ) : void
options object>.Dictionary
Résultat void

MakeAddressFromConstant() public abstract méthode

public abstract MakeAddressFromConstant ( Constant c ) : Address
c Constant
Résultat Address

MakeSegmentedAddress() public méthode

public MakeSegmentedAddress ( Constant seg, Constant offset ) : Address
seg Constant
offset Constant
Résultat Address

ReadCodeAddress() public abstract méthode

public abstract ReadCodeAddress ( int size, Reko.Core.ImageReader rdr, ProcessorState state ) : Address
size int
rdr Reko.Core.ImageReader
state ProcessorState
Résultat Address

RemoveAliases() public méthode

public RemoveAliases ( ISet ids, RegisterStorage reg ) : void
ids ISet
reg RegisterStorage
Résultat void

SaveUserOptions() public méthode

public SaveUserOptions ( ) : object>.Dictionary
Résultat object>.Dictionary

TryGetRegister() public abstract méthode

public abstract TryGetRegister ( string name, RegisterStorage &reg ) : bool
name string
reg RegisterStorage
Résultat bool

TryParseAddress() public abstract méthode

public abstract TryParseAddress ( string txtAddr, Address &addr ) : bool
txtAddr string
addr Address
Résultat bool