virtualSoC  0.6.2
baskett
Vcsos.Komponent.Register Class Reference

Public Member Functions

 Register (int stackAddr=-1)
 
override string ToString ()
 
int Get (string name)
 
void Set (string name, int v)
 

Properties

Stack Stack [get, set]
 
bool SignFlag [get, set]
 
bool ZeroFlag [get, set]
 
bool OverFlow [get, set]
 
bool CarryFlag [get, set]
 
bool UnderFlow [get, set]
 
bool DivByZero [get, set]
 
int sp [get, set]
 
int ip [get, set]
 
int ax [get, set]
 
int bx [get, set]
 
int cx [get, set]
 
int lck [get, set]
 

Detailed Description

Constructor & Destructor Documentation

◆ Register()

Vcsos.Komponent.Register.Register ( int  stackAddr = -1)
122  {
123  m_pMemRegister = new Memory (28, "Register");
124 
125  sp = (stackAddr == -1 ? VM.Instance.Ram.Size - 1 : stackAddr);
126  ip = 0;
127  ax = ax.RandR ();
128  bx = bx.RandR ();
129 
130  DivByZero = false;
131  OverFlow = false;
132  UnderFlow = false;
133  Exections = false;
134  lck = 0;
135  m_pStack = new Stack ();
136  }
int ax
Definition: Register.cs:89
int lck
Definition: Register.cs:116
bool DivByZero
Definition: Register.cs:64
int ip
Definition: Register.cs:84
bool OverFlow
Definition: Register.cs:49
int sp
Definition: Register.cs:79
int bx
Definition: Register.cs:106
Stack Stack
Definition: Register.cs:34
bool UnderFlow
Definition: Register.cs:59

Member Function Documentation

◆ Get()

int Vcsos.Komponent.Register.Get ( string  name)
143  {
144  switch (name) {
145  case "AX":
146  return ax;
147  case "BX":
148  return bx;
149  case "SP":
150  return sp;
151  case "IP":
152  return ip;
153  case "TIK":
154  return (int)VM.Instance.CurrentCore.Ticks;
155  default:
156  throw new Exception ("Register/Flag with Name: " + name + " not found");
157  }
158  }
int ax
Definition: Register.cs:89
int ip
Definition: Register.cs:84
int sp
Definition: Register.cs:79
int bx
Definition: Register.cs:106

◆ Set()

void Vcsos.Komponent.Register.Set ( string  name,
int  v 
)
160  {
161  switch (name) {
162  case "AX":
163  ax = v;
164  break;
165  case "BX":
166  bx = v;
167  break;
168  case "SP":
169  sp = v;
170  break;
171  case "IP":
172  ip = v;
173  break;
174  default:
175  throw new Exception ("Register/Flag with Name: " + name + " not found");
176  }
177  }
int ax
Definition: Register.cs:89
int ip
Definition: Register.cs:84
int sp
Definition: Register.cs:79
int bx
Definition: Register.cs:106

◆ ToString()

override string Vcsos.Komponent.Register.ToString ( )
138  {
139  return string.Format ("[Register: SignFlag={0}, ZeroFlag={1}, OverFlow={2}, CarryFlag={3}, UnderFlow={4}, DivByZero={5}, " +
140  "sp={6}, ip={7}, ax={8}, bx={9}, cx={10}]", SignFlag, ZeroFlag, OverFlow, CarryFlag, UnderFlow, DivByZero, sp, ip, ax, bx, cx);
141  }
int ax
Definition: Register.cs:89
bool SignFlag
Definition: Register.cs:39
bool DivByZero
Definition: Register.cs:64
bool CarryFlag
Definition: Register.cs:54
bool ZeroFlag
Definition: Register.cs:44
int cx
Definition: Register.cs:111
int ip
Definition: Register.cs:84
bool OverFlow
Definition: Register.cs:49
int sp
Definition: Register.cs:79
int bx
Definition: Register.cs:106
bool UnderFlow
Definition: Register.cs:59

Property Documentation

◆ ax

int Vcsos.Komponent.Register.ax
getset

◆ bx

int Vcsos.Komponent.Register.bx
getset

◆ CarryFlag

bool Vcsos.Komponent.Register.CarryFlag
getset

◆ cx

int Vcsos.Komponent.Register.cx
getset

◆ DivByZero

bool Vcsos.Komponent.Register.DivByZero
getset

◆ ip

int Vcsos.Komponent.Register.ip
getset

◆ lck

int Vcsos.Komponent.Register.lck
getset

◆ OverFlow

bool Vcsos.Komponent.Register.OverFlow
getset

◆ SignFlag

bool Vcsos.Komponent.Register.SignFlag
getset

◆ sp

int Vcsos.Komponent.Register.sp
getset

◆ Stack

Stack Vcsos.Komponent.Register.Stack
getset

◆ UnderFlow

bool Vcsos.Komponent.Register.UnderFlow
getset

◆ ZeroFlag

bool Vcsos.Komponent.Register.ZeroFlag
getset

The documentation for this class was generated from the following file: