Registers Class

Definition

Line 23 of cmsxm/Registers.cm

Constructors & Destructor

public nothrow Registers()

Member Functions

public ulong Get(byte regNum)
public ulong GetInterruptBits()
public nothrow Mutex& GetInterruptMutex()
public inline nothrow ulong GetPC() const
public ulong GetSpecial(byte regNum)
public String<char> GetSpecialRegName(byte specialReg) const
public void ResetInterrupt(ulong interruptBit)
public void Set(byte regNum, ulong value)
public void SetInterrupt(ulong interruptBit)
public inline nothrow void SetPC(ulong pc_)
public void SetSpecial(byte regNum, ulong value)
public nothrow String<char> ToString() const

Constants

public const byte rA = 0u
public const byte rB = 1u
public const byte rBB = 26u
public const byte rC = 2u
public const byte rD = 3u
public const byte rE = 4u
public const byte rF = 5u
public const byte rG = 6u
public const byte rH = 7u
public const byte rI = 8u
public const byte rJ = 9u
public const byte rK = 10u
public const byte rL = 11u
public const byte rM = 12u
public const byte rN = 13u
public const byte rO = 14u
public const byte rP = 15u
public const byte rQ = 16u
public const byte rR = 17u
public const byte rS = 18u
public const byte rT = 19u
public const byte rTT = 27u
public const byte rU = 20u
public const byte rV = 21u
public const byte rW = 22u
public const byte rWW = 28u
public const byte rX = 23u
public const byte rXX = 29u
public const byte rY = 24u
public const byte rYY = 30u
public const byte rZ = 25u
public const byte rZZ = 31u

Member Variables

private ulong[256] globalRegs
private Mutex interruptMutex
private ulong[256] localRegs
private ulong pc
private Map<byte, String<char>, Less<byte>> specialRegMap

Constructor& Destructor Details

Registers Constructor

public nothrow Registers()

Definition
Line 60 of cmsxm/Registers.cm


Member Function Details

Get Member Function

public ulong Get(byte regNum)

Definition
Line 95 of cmsxm/Registers.cm


GetInterruptBits Member Function

public ulong GetInterruptBits()

Definition
Line 165 of cmsxm/Registers.cm


GetInterruptMutex Member Function

public nothrow Mutex& GetInterruptMutex()

Definition
Line 173 of cmsxm/Registers.cm


GetPC Member Function

public inline nothrow ulong GetPC()

Definition
Line 177 of cmsxm/Registers.cm


GetSpecial Member Function

public ulong GetSpecial(byte regNum)

Definition
Line 129 of cmsxm/Registers.cm


GetSpecialRegName Member Function

public String<char> GetSpecialRegName(byte specialReg)

Definition
Line 139 of cmsxm/Registers.cm


ResetInterrupt Member Function

public void ResetInterrupt(ulong interruptBit)

Definition
Line 158 of cmsxm/Registers.cm


Set Member Function

public void Set(byte regNum, ulong value)

Definition
Line 112 of cmsxm/Registers.cm


SetInterrupt Member Function

public void SetInterrupt(ulong interruptBit)

Definition
Line 151 of cmsxm/Registers.cm


SetPC Member Function

public inline nothrow void SetPC(ulong pc_)

Definition
Line 181 of cmsxm/Registers.cm


SetSpecial Member Function

public void SetSpecial(byte regNum, ulong value)

Definition
Line 134 of cmsxm/Registers.cm


ToString Member Function

public nothrow String<char> ToString()

Definition
Line 185 of cmsxm/Registers.cm