Class Register

java.lang.Object
mars.mips.hardware.Register

public class Register extends Object
Abstraction to represent a register of a MIPS Assembler.
Version:
June 2003
Author:
Jason Bumgarner, Jason Shrewsbury, Ben Sherman
  • Constructor Details

    • Register

      public Register(String name, int number, int defaultValue)
      Creates a new register with specified name, number, and value.
      Parameters:
      name - The name of the register.
      number - The number of the register.
      defaultValue - The default (and initial) value of the register.
  • Method Details

    • getName

      public String getName()
      Returns the name of the register.
      Returns:
      The name of the register.
    • getNumber

      public int getNumber()
      Returns the number of the register.
      Returns:
      The number of the register.
    • getDefaultValue

      public int getDefaultValue()
      Returns the default (initial) value of the register.
      Returns:
      The default value of the register.
    • setDefaultValue

      public void setDefaultValue(int defaultValue)
      Change the register's default value, the value to which it will be set when resetValueToDefault() is called.
    • getValue

      public int getValue()
      Gets the value of the register, notifying listeners.
      Returns:
      The value of the register.
    • getValueNoNotify

      public int getValueNoNotify()
      Gets the value of the register without notifying listeners.
      Returns:
      The value of the register.
    • setValue

      public int setValue(int value)
      Sets the value of the register, notifying listeners.
      Parameters:
      value - Value to set the register to.
      Returns:
      Previous value of the register.
    • resetValueToDefault

      public void resetValueToDefault()
      Resets the value of the register to the value it was constructed with. Listeners are not notified.
    • addListener

      public void addListener(Register.Listener listener)
    • removeListener

      public void removeListener(Register.Listener listener)
    • getListeners

      public Register.Listener[] getListeners()