mars
Class Globals

java.lang.Object
  extended by mars.Globals

public class Globals
extends Object

Collection of globally-available data structures.

Author:
Pete Sanderson

Field Summary
static String ASCII_NON_PRINT
          Placeholder for non-printable ASCII codes
static String[] ASCII_TABLE
          Array of strings to display for ASCII codes in ASCII display of data segment.
static String copyrightHolders
          MARS copyright holders
static String copyrightYears
          MARS copyright years
static boolean debug
          Flag to determine whether or not to produce internal debugging information.
static int exitCode
          MARS exit code -- useful with SYSCALL 17 when running from command line (not GUI)
static ArrayList fileExtensions
          List of accepted file extensions for MIPS assembly source files.
static String helpPath
          Path to folder that contains help text
static String imagesPath
          Path to folder that contains images
static InstructionSet instructionSet
          The set of implemented MIPS instructions.
static int maximumBacksteps
          Maximum number of back-step operations to buffer
static int maximumErrorMessages
          Maximum number of assembler errors produced by one assemble operation
static int maximumMessageCharacters
          Maximum length of scrolled message window (MARS Messages and Run I/O)
static Memory memory
          Simulated MIPS memory component.
static Object memoryAndRegistersLock
          Lock variable used at head of synchronized block to guard MIPS memory and registers
static MIPSprogram program
          the program currently being worked with.
static boolean runSpeedPanelExists
           
static SymbolTable symbolTable
          Symbol table for file currently being assembled.
static String userInputAlert
          String to GUI's RunI/O text area when echoing user input from pop-up dialog.
static String version
          The current MARS version number.
 
Constructor Summary
Globals()
           
 
Method Summary
static String getAsciiNonPrint()
           
static String[] getAsciiStrings()
           
static ArrayList getExternalTools()
          Get list of MarsTools that reside outside the MARS distribution.
static VenusUI getGui()
           
static String getPropertyEntry(String propertiesFile, String propertyName)
          Read and return property file value (if any) for requested property.
static Settings getSettings()
           
 ArrayList getSyscallOverrides()
          Read any syscall number assignment overrides from config file.
static void initialize(boolean gui)
          Method called once upon system initialization to create the global data structures.
static void setGui(VenusUI g)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instructionSet

public static InstructionSet instructionSet
The set of implemented MIPS instructions.


program

public static MIPSprogram program
the program currently being worked with. Used by GUI only, not command line.


symbolTable

public static SymbolTable symbolTable
Symbol table for file currently being assembled.


memory

public static Memory memory
Simulated MIPS memory component.


memoryAndRegistersLock

public static Object memoryAndRegistersLock
Lock variable used at head of synchronized block to guard MIPS memory and registers


debug

public static boolean debug
Flag to determine whether or not to produce internal debugging information.


userInputAlert

public static String userInputAlert
String to GUI's RunI/O text area when echoing user input from pop-up dialog.


imagesPath

public static final String imagesPath
Path to folder that contains images

See Also:
Constant Field Values

helpPath

public static final String helpPath
Path to folder that contains help text

See Also:
Constant Field Values

version

public static final String version
The current MARS version number. Can't wait for "initialize()" call to get it.

See Also:
Constant Field Values

fileExtensions

public static final ArrayList fileExtensions
List of accepted file extensions for MIPS assembly source files.


maximumMessageCharacters

public static final int maximumMessageCharacters
Maximum length of scrolled message window (MARS Messages and Run I/O)


maximumErrorMessages

public static final int maximumErrorMessages
Maximum number of assembler errors produced by one assemble operation


maximumBacksteps

public static final int maximumBacksteps
Maximum number of back-step operations to buffer


copyrightYears

public static final String copyrightYears
MARS copyright years


copyrightHolders

public static final String copyrightHolders
MARS copyright holders


ASCII_NON_PRINT

public static final String ASCII_NON_PRINT
Placeholder for non-printable ASCII codes


ASCII_TABLE

public static final String[] ASCII_TABLE
Array of strings to display for ASCII codes in ASCII display of data segment. ASCII code 0-255 is array index.


exitCode

public static int exitCode
MARS exit code -- useful with SYSCALL 17 when running from command line (not GUI)


runSpeedPanelExists

public static boolean runSpeedPanelExists
Constructor Detail

Globals

public Globals()
Method Detail

setGui

public static void setGui(VenusUI g)

getGui

public static VenusUI getGui()

getSettings

public static Settings getSettings()

initialize

public static void initialize(boolean gui)
Method called once upon system initialization to create the global data structures.


getAsciiNonPrint

public static String getAsciiNonPrint()

getAsciiStrings

public static String[] getAsciiStrings()

getExternalTools

public static ArrayList getExternalTools()
Get list of MarsTools that reside outside the MARS distribution. Currently this is done by adding the tool's path name to the list of values for the external_tools property. Use ";" as delimiter!

Returns:
ArrayList. Each item is file path to .class file of a class that implements MarsTool. If none, returns empty list.

getPropertyEntry

public static String getPropertyEntry(String propertiesFile,
                                      String propertyName)
Read and return property file value (if any) for requested property.

Parameters:
propertiesFile - name of properties file (do NOT include filename extension, which is assumed to be ".properties")
propertyName - String containing desired property name
Returns:
String containing associated value; null if property not found

getSyscallOverrides

public ArrayList getSyscallOverrides()
Read any syscall number assignment overrides from config file.

Returns:
ArrayList of SyscallNumberOverride objects