C# Класс Emul8.Peripherals.CPU.TranslationCPU

Наследование: IGPIOReceiver, IControllableCPU, IDisposable, IDisassemblable
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
ClockSource Emul8.Time.BaseClockSource
InvalidInterruptNumberException Exception
machine Emul8.Core.Machine

Private Properties

Свойство Тип Описание
AdjustBlockSize void
Allocate System.IntPtr
BlitArray void
CheckCpuThreadId void
CheckHalted bool
CheckIfOnSynchronizedThread void
CpuLoop void
DeactivateHooks void
ExecuteHooks void
Free void
FreeState void
GetCpuIndex int
GetSymbolName string
HandleRamSetup void
HandleStepping void
IClockSource Emul8.Time.ClockEntry
IClockSource IEnumerable
IClockSource bool
Init void
InitDisas void
InitInterruptEvents void
InnerPause void
InvalidateTbInOtherCpus void
InvokeHalted void
InvokeInCpuThreadSafely void
IsBlockBeginEventEnabled uint
IsInstructionCountEnabled uint
IsIoAccessed int
LogAsCpu void
LogDisassembly void
ObtainPauseGuard CpuThreadPauseGuard
OnBlockBegin void
OnTranslationBlockFetch void
OnTranslationCacheSizeChange void
PrepareState void
ReactivateHooks void
ReadByteFromBus uint
ReadDoubleWordFromBus uint
ReadWordFromBus uint
Reallocate IntPtr
RebuildMemoryMappings void
RegisterMemoryChecked void
ReportAbort void
RestoreState void
SetMaximumBlockSize void
SetPCFromEntryPoint void
SubmitTranslationCacheSizeUpdate void
TouchHostBlock void
TrySetDisassembler bool
UpdateInstructionCounter void
UpdateTranslationCacheSize void
ValidateMemoryRangeAndThrow void
WriteByteToBus void
WriteDoubleWordToBus void
WriteWordToBus void

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

Метод Описание
AddHook ( uint addr, Action hook ) : void
ClearHookAtBlockBegin ( ) : void
ClearPageAccessViaIo ( long address ) : void
ClearTranslationCache ( bool skipSync = false ) : void
DisassembleBlock ( uint addr, uint flags ) : string
Dispose ( ) : void
DisposeInner ( bool silent = false ) : void
EnterSingleStepModeSafely ( Emul8.Peripherals.CPU.HaltArguments args ) : void
GetRegisterUnsafe ( int register ) : uint
GetRegisters ( ) : int[]
GetRegistersValues ( ) : ].string[

Gets the registers values.

IClockSource ( System.Action action ) : void
IClockSource ( System.Action handler, Action visitor ) : void
IClockSource ( System.Action handler, ClockEntry>.Func visitor, Func factorIfNonExistant ) : void
IClockSource ( Emul8.Time.ClockEntry entry ) : void
IClockSource ( IEnumerable entries ) : void
InitFromElf ( ELF elf ) : void
InitFromUImage ( UImage uImage ) : void
IsSetEvent ( int number ) : bool
LogFunctionNames ( bool value ) : void
MapMemory ( IMappedSegment segment ) : void
MeasureExecutionRate ( ) : void
OnGPIO ( int number, bool value ) : void
Pause ( ) : void
RemoveAllHooks ( ) : void
RemoveHook ( uint addr, Action hook ) : void
RemoveHooksAt ( uint addr ) : void
Reset ( ) : void
Resume ( ) : void
SetHookAtBlockBegin ( uint>.Action hook ) : void
SetPageAccessViaIo ( long address ) : void
SetRegisterUnsafe ( int register, uint value ) : void
Start ( ) : void
StartGdbServer ( int port ) : void
Step ( int count = 1 ) : void
StopGdbServer ( ) : void
SymbolLookup ( uint addr ) : Symbol
TranslateAddress ( uint logicalAddress ) : uint
UnmapMemory ( Range range ) : void
UpdateContext ( ) : void

Защищенные методы

Метод Описание
AfterLoad ( IntPtr statePtr ) : void
BeforeSave ( IntPtr statePtr ) : void
DecodeInterrupt ( int number ) : Interrupt
DoLookupSymbolInner ( uint offset ) : Symbol
ExtendWaitHandlers ( WaitHandle handle ) : void
InitializeRegisters ( ) : void
ResetInterruptEvent ( int number ) : void
TranslationCPU ( string cpuType, Emul8.Core.Machine machine, Endianess endianness ) : System

Приватные методы

Метод Описание
AdjustBlockSize ( ) : void
Allocate ( int size ) : IntPtr
BlitArray ( IntPtr targetPointer, dynamic structures ) : void
CheckCpuThreadId ( ) : void
CheckHalted ( ) : bool
CheckIfOnSynchronizedThread ( ) : void
CpuLoop ( ) : void
DeactivateHooks ( uint address ) : void
ExecuteHooks ( uint address ) : void
Free ( IntPtr pointer ) : void
FreeState ( ) : void
GetCpuIndex ( ) : int
GetSymbolName ( uint offset ) : string
HandleRamSetup ( ) : void
HandleStepping ( bool force = false ) : void
IClockSource ( System.Action handler ) : Emul8.Time.ClockEntry
IClockSource ( ) : IEnumerable
IClockSource ( System.Action handler ) : bool
Init ( ) : void
InitDisas ( ) : void
InitInterruptEvents ( ) : void
InnerPause ( HaltArguments haltArgs ) : void
InvalidateTbInOtherCpus ( IntPtr start, IntPtr end ) : void
InvokeHalted ( HaltArguments arguments ) : void
InvokeInCpuThreadSafely ( Action a ) : void
IsBlockBeginEventEnabled ( ) : uint
IsInstructionCountEnabled ( ) : uint
IsIoAccessed ( uint address ) : int
LogAsCpu ( int level, string s ) : void
LogDisassembly ( uint pc, uint count, uint flags ) : void
ObtainPauseGuard ( bool forReading, long address ) : CpuThreadPauseGuard
OnBlockBegin ( uint address, uint size ) : void
OnTranslationBlockFetch ( uint offset ) : void
OnTranslationCacheSizeChange ( int realSize ) : void
PrepareState ( ) : void
ReactivateHooks ( ) : void
ReadByteFromBus ( uint offset ) : uint
ReadDoubleWordFromBus ( uint offset ) : uint
ReadWordFromBus ( uint offset ) : uint
Reallocate ( IntPtr oldPointer, int newSize ) : IntPtr
RebuildMemoryMappings ( ) : void
RegisterMemoryChecked ( long offset, long size ) : void
ReportAbort ( string message ) : void
RestoreState ( ) : void
SetMaximumBlockSize ( uint value, bool skipSync = false ) : void
SetPCFromEntryPoint ( uint entryPoint ) : void
SubmitTranslationCacheSizeUpdate ( ) : void
TouchHostBlock ( uint offset ) : void
TrySetDisassembler ( string type ) : bool
UpdateInstructionCounter ( int value ) : void
UpdateTranslationCacheSize ( int sizeAtThatTime ) : void
ValidateMemoryRangeAndThrow ( uint startAddress, uint uintSize ) : void
WriteByteToBus ( uint offset, uint value ) : void
WriteDoubleWordToBus ( uint offset, uint value ) : void
WriteWordToBus ( uint offset, uint value ) : void

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

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

public AddHook ( uint addr, Action hook ) : void
addr uint
hook Action
Результат void

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

protected AfterLoad ( IntPtr statePtr ) : void
statePtr System.IntPtr
Результат void

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

protected BeforeSave ( IntPtr statePtr ) : void
statePtr System.IntPtr
Результат void

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

public ClearHookAtBlockBegin ( ) : void
Результат void

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

public ClearPageAccessViaIo ( long address ) : void
address long
Результат void

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

public ClearTranslationCache ( bool skipSync = false ) : void
skipSync bool
Результат void

DecodeInterrupt() защищенный абстрактный Метод

protected abstract DecodeInterrupt ( int number ) : Interrupt
number int
Результат Interrupt

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

public DisassembleBlock ( uint addr, uint flags ) : string
addr uint
flags uint
Результат string

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

public Dispose ( ) : void
Результат void

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

public DisposeInner ( bool silent = false ) : void
silent bool
Результат void

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

protected DoLookupSymbolInner ( uint offset ) : Symbol
offset uint
Результат Symbol

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

public EnterSingleStepModeSafely ( Emul8.Peripherals.CPU.HaltArguments args ) : void
args Emul8.Peripherals.CPU.HaltArguments
Результат void

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

protected ExtendWaitHandlers ( WaitHandle handle ) : void
handle System.Threading.WaitHandle
Результат void

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

public abstract GetRegisterUnsafe ( int register ) : uint
register int
Результат uint

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

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

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

Gets the registers values.
public GetRegistersValues ( ) : ].string[
Результат ].string[

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

public IClockSource ( System.Action action ) : void
action System.Action
Результат void

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

public IClockSource ( System.Action handler, Action visitor ) : void
handler System.Action
visitor Action
Результат void

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

public IClockSource ( System.Action handler, ClockEntry>.Func visitor, Func factorIfNonExistant ) : void
handler System.Action
visitor ClockEntry>.Func
factorIfNonExistant Func
Результат void

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

public IClockSource ( Emul8.Time.ClockEntry entry ) : void
entry Emul8.Time.ClockEntry
Результат void

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

public IClockSource ( IEnumerable entries ) : void
entries IEnumerable
Результат void

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

public InitFromElf ( ELF elf ) : void
elf ELF
Результат void

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

public InitFromUImage ( UImage uImage ) : void
uImage UImage
Результат void

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

protected InitializeRegisters ( ) : void
Результат void

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

public IsSetEvent ( int number ) : bool
number int
Результат bool

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

public LogFunctionNames ( bool value ) : void
value bool
Результат void

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

public MapMemory ( IMappedSegment segment ) : void
segment IMappedSegment
Результат void

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

public MeasureExecutionRate ( ) : void
Результат void

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

public OnGPIO ( int number, bool value ) : void
number int
value bool
Результат void

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

public Pause ( ) : void
Результат void

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

public RemoveAllHooks ( ) : void
Результат void

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

public RemoveHook ( uint addr, Action hook ) : void
addr uint
hook Action
Результат void

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

public RemoveHooksAt ( uint addr ) : void
addr uint
Результат void

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

public Reset ( ) : void
Результат void

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

protected ResetInterruptEvent ( int number ) : void
number int
Результат void

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

public Resume ( ) : void
Результат void

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

public SetHookAtBlockBegin ( uint>.Action hook ) : void
hook uint>.Action
Результат void

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

public SetPageAccessViaIo ( long address ) : void
address long
Результат void

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

public abstract SetRegisterUnsafe ( int register, uint value ) : void
register int
value uint
Результат void

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

public Start ( ) : void
Результат void

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

public StartGdbServer ( int port ) : void
port int
Результат void

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

public Step ( int count = 1 ) : void
count int
Результат void

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

public StopGdbServer ( ) : void
Результат void

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

public SymbolLookup ( uint addr ) : Symbol
addr uint
Результат Symbol

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

public TranslateAddress ( uint logicalAddress ) : uint
logicalAddress uint
Результат uint

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

protected TranslationCPU ( string cpuType, Emul8.Core.Machine machine, Endianess endianness ) : System
cpuType string
machine Emul8.Core.Machine
endianness Endianess
Результат System

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

public UnmapMemory ( Range range ) : void
range Range
Результат void

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

public UpdateContext ( ) : void
Результат void

Описание свойств

ClockSource защищенное свойство

protected BaseClockSource,Emul8.Time ClockSource
Результат Emul8.Time.BaseClockSource

InvalidInterruptNumberException защищенное статическое свойство

protected static Exception InvalidInterruptNumberException
Результат Exception

machine защищенное свойство

protected Machine,Emul8.Core machine
Результат Emul8.Core.Machine