Machine Class

Definition

Line 39 of cmsxm/Machine.cm

Constructors & Destructor

static Machine()
private Machine()
suppress Machine(Machine&&)
suppress Machine(const Machine&)

Member Functions

private void AddInst(Instruction* inst)
public void Exit()
public ExceptionPtr GetException()
public static inline nothrow bool GetFlag(Flags flag)
public inline nothrow Instruction* GetInst(byte opCode) const
public nothrow ulong GetKernelRootPageAddress() const
public inline nothrow Memory& GetMemory()
public inline nothrow Processor& GetProcessor()
public inline nothrow Registers& GetRegisters()
private void InitInsts()
public static nothrow Machine& Instance()
public static inline nothrow void ResetFlag(Flags flag)
public void Run()
public void SetException(const ExceptionPtr& ex)
public static inline nothrow void SetFlag(Flags flag)
public nothrow void SetKernelRootPageAddress(ulong kernelRootPageAddress_)
suppress void operator=(Machine&&)
suppress void operator=(const Machine&)

Enumerated Types

public enum Flags

Member Variables

private ExceptionPtr exceptionPtr
private static Flags flags
private static UniquePtr<Machine> instance
private List<UniquePtr<Instruction>> instructionList
private Instruction*[256] instructions
private ulong kernelRootPageAddress
private Memory memory
private Processor processor

Constructor& Destructor Details

Machine Static Constructor

static Machine()

Definition
Line 65 of cmsxm/Machine.cm


Machine Constructor

private Machine()

Definition
Line 104 of cmsxm/Machine.cm


Machine Constructor

suppress Machine(Machine&&)

Definition
Line 69 of cmsxm/Machine.cm


Machine Constructor

suppress Machine(const Machine&)

Definition
Line 68 of cmsxm/Machine.cm


Member Function Details

AddInst Member Function

private void AddInst(Instruction* inst)

Definition
Line 349 of cmsxm/Machine.cm


Exit Member Function

public void Exit()

Definition
Line 80 of cmsxm/Machine.cm


GetException Member Function

public ExceptionPtr GetException()

Definition
Line 88 of cmsxm/Machine.cm


GetFlag Static Member Function

public static inline nothrow bool GetFlag(Flags flag)

Definition
Line 57 of cmsxm/Machine.cm


GetInst Member Function

public inline nothrow Instruction* GetInst(byte opCode)

Definition
Line 328 of cmsxm/Machine.cm


GetKernelRootPageAddress Member Function

public nothrow ulong GetKernelRootPageAddress()

Definition
Line 332 of cmsxm/Machine.cm


GetMemory Member Function

public inline nothrow Memory& GetMemory()

Definition
Line 92 of cmsxm/Machine.cm


GetProcessor Member Function

public inline nothrow Processor& GetProcessor()

Definition
Line 96 of cmsxm/Machine.cm


GetRegisters Member Function

public inline nothrow Registers& GetRegisters()

Definition
Line 100 of cmsxm/Machine.cm


InitInsts Member Function

private void InitInsts()

Definition
Line 340 of cmsxm/Machine.cm


Instance Static Member Function

public static nothrow Machine& Instance()

Definition
Line 72 of cmsxm/Machine.cm


ResetFlag Static Member Function

public static inline nothrow void ResetFlag(Flags flag)

Definition
Line 61 of cmsxm/Machine.cm


Run Member Function

public void Run()

Definition
Line 76 of cmsxm/Machine.cm


SetException Member Function

public void SetException(const ExceptionPtr& ex)

Definition
Line 84 of cmsxm/Machine.cm


SetFlag Static Member Function

public static inline nothrow void SetFlag(Flags flag)

Definition
Line 53 of cmsxm/Machine.cm


SetKernelRootPageAddress Member Function

public nothrow void SetKernelRootPageAddress(ulong kernelRootPageAddress_)

Definition
Line 336 of cmsxm/Machine.cm


operator= Member Function

suppress void operator=(Machine&&)

Definition
Line 71 of cmsxm/Machine.cm


operator= Member Function

suppress void operator=(const Machine&)

Definition
Line 70 of cmsxm/Machine.cm