You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.0 KiB

package processor.pipeline;
public class RegisterFile {
int[] registerFile;
int programCounter;
public RegisterFile()
{
registerFile = new int[32];
registerFile[0]=0; //%xo is always 0 [RISC V]
}
public int getValue(int registerNumber)
{
return registerFile[registerNumber];
}
public void setValue(int registerNumber, int value)
{
registerFile[registerNumber] = value;
}
public int getProgramCounter()
{
return programCounter;
}
public void setProgramCounter(int programCounter)
{
this.programCounter = programCounter;
}
public void incrementProgramCounter()
{
this.programCounter++;
}
public String getContentsAsString()
{
StringBuilder sb = new StringBuilder();
sb.append("\nRegister File Contents:\n\n");
sb.append("PC" + "\t: " + programCounter + "\n\n");
sb.append("x" + 0 + "\t: " + registerFile[0]+ "\n"); //%xo is always 0 [RISC V]
for(int i = 1; i < 32; i++)
{
sb.append("x" + i + "\t: " + registerFile[i] + "\n");
}
sb.append("\n");
return sb.toString();
}
}