Files
EMARS/docs/mars/MIPSprogram.html
T
adolphenom 0da1c5dcca Source code of MARS Assembler
First commit of the 4.5 version (latest version available)
2014-12-21 12:49:28 +01:00

883 lines
44 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_33) on Tue Aug 20 12:20:00 EDT 2013 -->
<TITLE>
MIPSprogram
</TITLE>
<META NAME="date" CONTENT="2013-08-20">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MIPSprogram";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../mars/MarsSplashScreen.html" title="class in mars"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../mars/ProcessingException.html" title="class in mars"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../index.html?mars/MIPSprogram.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MIPSprogram.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
mars</FONT>
<BR>
Class MIPSprogram</H2>
<PRE>
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../resources/inherit.gif" ALT="extended by "><B>mars.MIPSprogram</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>MIPSprogram</B><DT>extends <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
</PRE>
<P>
Internal representations of MIPS program. Connects source, tokens and machine code. Having
all these structures available facilitates construction of good messages,
debugging, and easy simulation.
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Pete Sanderson</DD>
</DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#MIPSprogram()">MIPSprogram</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/ErrorList.html" title="class in mars">ErrorList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#assemble(java.util.ArrayList, boolean)">assemble</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;MIPSprogramsToAssemble,
boolean&nbsp;extendedAssemblerEnabled)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assembles the MIPS source program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/ErrorList.html" title="class in mars">ErrorList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#assemble(java.util.ArrayList, boolean, boolean)">assemble</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;MIPSprogramsToAssemble,
boolean&nbsp;extendedAssemblerEnabled,
boolean&nbsp;warningsAreErrors)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assembles the MIPS source program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#backSteppingEnabled()">backSteppingEnabled</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns status of BackStepper associated with this program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#createMacroPool()">createMacroPool</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instantiates a new <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> and sends reference of this
<A HREF="../mars/MIPSprogram.html" title="class in mars"><CODE>MIPSprogram</CODE></A> to it</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#createParsedList()">createParsedList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces new empty list to hold parsed source code statements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/simulator/BackStepper.html" title="class in mars.simulator">BackStepper</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getBackStepper()">getBackStepper</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns BackStepper associated with this program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getFilename()">getFilename</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces name of associated source code file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getLocalMacroPool()">getLocalMacroPool</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets local macro pool <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> for this program</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/assembler/SymbolTable.html" title="class in mars.assembler">SymbolTable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getLocalSymbolTable()">getLocalSymbolTable</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns SymbolTable associated with this program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getMachineList()">getMachineList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces list of machine statements that are assembled from the program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getParsedList()">getParsedList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces existing list of parsed source code statements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getSourceLine(int)">getSourceLine</A></B>(int&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces specified line of MIPS source program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&lt;<A HREF="../mars/assembler/SourceLine.html" title="class in mars.assembler">SourceLine</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getSourceLineList()">getSourceLineList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve list of source statements that comprise the program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getSourceList()">getSourceList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces list of source statements that comprise the program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../mars/assembler/Tokenizer.html" title="class in mars.assembler">Tokenizer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getTokenizer()">getTokenizer</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves Tokenizer for this program</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#getTokenList()">getTokenList</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produces list of tokens that comprise the program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#inSteppedExecution()">inSteppedExecution</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Will be true only while in process of simulating a program statement
in step mode (e.g.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#prepareFilesForAssembly(java.util.ArrayList, java.lang.String, java.lang.String)">prepareFilesForAssembly</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;filenames,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;leadFilename,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;exceptionHandler)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepares the given list of files for assembly.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#readSource(java.lang.String)">readSource</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads MIPS source code from file into structure.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#setLocalMacroPool(mars.assembler.MacroPool)">setLocalMacroPool</A></B>(<A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A>&nbsp;macroPool)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets local macro pool <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> for this program</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#setSourceLineList(java.util.ArrayList)">setSourceLineList</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&lt;<A HREF="../mars/assembler/SourceLine.html" title="class in mars.assembler">SourceLine</A>&gt;&nbsp;sourceLineList)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set list of source statements that comprise the program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#simulate(int)">simulate</A></B>(int&nbsp;maxSteps)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simulates execution of the MIPS program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#simulate(int[])">simulate</A></B>(int[]&nbsp;breakPoints)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simulates execution of the MIPS program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#simulateFromPC(int[], int, javax.swing.AbstractAction)">simulateFromPC</A></B>(int[]&nbsp;breakPoints,
int&nbsp;maxSteps,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/javax/swing/AbstractAction.html?is-external=true" title="class or interface in javax.swing">AbstractAction</A>&nbsp;a)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simulates execution of the MIPS program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#simulateStepAtPC(javax.swing.AbstractAction)">simulateStepAtPC</A></B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/javax/swing/AbstractAction.html?is-external=true" title="class or interface in javax.swing">AbstractAction</A>&nbsp;a)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simulates execution of the MIPS program.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../mars/MIPSprogram.html#tokenize()">tokenize</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tokenizes the MIPS source program.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="MIPSprogram()"><!-- --></A><H3>
MIPSprogram</H3>
<PRE>
public <B>MIPSprogram</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getSourceList()"><!-- --></A><H3>
getSourceList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>getSourceList</B>()</PRE>
<DL>
<DD>Produces list of source statements that comprise the program.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of String. Each String is one line of MIPS source code.</DL>
</DD>
</DL>
<HR>
<A NAME="setSourceLineList(java.util.ArrayList)"><!-- --></A><H3>
setSourceLineList</H3>
<PRE>
public void <B>setSourceLineList</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&lt;<A HREF="../mars/assembler/SourceLine.html" title="class in mars.assembler">SourceLine</A>&gt;&nbsp;sourceLineList)</PRE>
<DL>
<DD>Set list of source statements that comprise the program.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>sourceLineList</CODE> - ArrayList of SourceLine.
Each SourceLine represents one line of MIPS source code.</DL>
</DD>
</DL>
<HR>
<A NAME="getSourceLineList()"><!-- --></A><H3>
getSourceLineList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&lt;<A HREF="../mars/assembler/SourceLine.html" title="class in mars.assembler">SourceLine</A>&gt; <B>getSourceLineList</B>()</PRE>
<DL>
<DD>Retrieve list of source statements that comprise the program.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of SourceLine.
Each SourceLine represents one line of MIPS source cod</DL>
</DD>
</DL>
<HR>
<A NAME="getFilename()"><!-- --></A><H3>
getFilename</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getFilename</B>()</PRE>
<DL>
<DD>Produces name of associated source code file.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>File name as String.</DL>
</DD>
</DL>
<HR>
<A NAME="getTokenList()"><!-- --></A><H3>
getTokenList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>getTokenList</B>()</PRE>
<DL>
<DD>Produces list of tokens that comprise the program.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of TokenList. Each TokenList is list of tokens generated by
corresponding line of MIPS source code.<DT><B>See Also:</B><DD><A HREF="../mars/assembler/TokenList.html" title="class in mars.assembler"><CODE>TokenList</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getTokenizer()"><!-- --></A><H3>
getTokenizer</H3>
<PRE>
public <A HREF="../mars/assembler/Tokenizer.html" title="class in mars.assembler">Tokenizer</A> <B>getTokenizer</B>()</PRE>
<DL>
<DD>Retrieves Tokenizer for this program
<P>
<DD><DL>
<DT><B>Returns:</B><DD>Tokenizer</DL>
</DD>
</DL>
<HR>
<A NAME="createParsedList()"><!-- --></A><H3>
createParsedList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>createParsedList</B>()</PRE>
<DL>
<DD>Produces new empty list to hold parsed source code statements.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of ProgramStatement. Each ProgramStatement represents a parsed
MIPS statement.<DT><B>See Also:</B><DD><A HREF="../mars/ProgramStatement.html" title="class in mars"><CODE>ProgramStatement</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getParsedList()"><!-- --></A><H3>
getParsedList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>getParsedList</B>()</PRE>
<DL>
<DD>Produces existing list of parsed source code statements.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of ProgramStatement. Each ProgramStatement represents a parsed
MIPS statement.<DT><B>See Also:</B><DD><A HREF="../mars/ProgramStatement.html" title="class in mars"><CODE>ProgramStatement</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getMachineList()"><!-- --></A><H3>
getMachineList</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>getMachineList</B>()</PRE>
<DL>
<DD>Produces list of machine statements that are assembled from the program.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>ArrayList of ProgramStatement. Each ProgramStatement represents an assembled
basic MIPS instruction.<DT><B>See Also:</B><DD><A HREF="../mars/ProgramStatement.html" title="class in mars"><CODE>ProgramStatement</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getBackStepper()"><!-- --></A><H3>
getBackStepper</H3>
<PRE>
public <A HREF="../mars/simulator/BackStepper.html" title="class in mars.simulator">BackStepper</A> <B>getBackStepper</B>()</PRE>
<DL>
<DD>Returns BackStepper associated with this program. It is created upon successful assembly.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>BackStepper object, null if there is none.</DL>
</DD>
</DL>
<HR>
<A NAME="getLocalSymbolTable()"><!-- --></A><H3>
getLocalSymbolTable</H3>
<PRE>
public <A HREF="../mars/assembler/SymbolTable.html" title="class in mars.assembler">SymbolTable</A> <B>getLocalSymbolTable</B>()</PRE>
<DL>
<DD>Returns SymbolTable associated with this program. It is created at assembly time,
and stores local labels (those not declared using .globl directive).
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="backSteppingEnabled()"><!-- --></A><H3>
backSteppingEnabled</H3>
<PRE>
public boolean <B>backSteppingEnabled</B>()</PRE>
<DL>
<DD>Returns status of BackStepper associated with this program.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>true if enabled, false if disabled or non-existant.</DL>
</DD>
</DL>
<HR>
<A NAME="getSourceLine(int)"><!-- --></A><H3>
getSourceLine</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSourceLine</B>(int&nbsp;i)</PRE>
<DL>
<DD>Produces specified line of MIPS source program.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - Line number of MIPS source program to get. Line 1 is first line.
<DT><B>Returns:</B><DD>Returns specified line of MIPS source. If outside the line range,
it returns null. Line 1 is first line.</DL>
</DD>
</DL>
<HR>
<A NAME="readSource(java.lang.String)"><!-- --></A><H3>
readSource</H3>
<PRE>
public void <B>readSource</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;file)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Reads MIPS source code from file into structure. Will always read from file.
It is GUI responsibility to assure that source edits are written to file
when user selects compile or run/step options.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>file</CODE> - String containing name of MIPS source code file.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if there is any problem reading the file.</DL>
</DD>
</DL>
<HR>
<A NAME="tokenize()"><!-- --></A><H3>
tokenize</H3>
<PRE>
public void <B>tokenize</B>()
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Tokenizes the MIPS source program. Program must have already been read from file.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while tokenizing.</DL>
</DD>
</DL>
<HR>
<A NAME="prepareFilesForAssembly(java.util.ArrayList, java.lang.String, java.lang.String)"><!-- --></A><H3>
prepareFilesForAssembly</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A> <B>prepareFilesForAssembly</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;filenames,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;leadFilename,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;exceptionHandler)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Prepares the given list of files for assembly. This involves
reading and tokenizing all the source files. There may be only one.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>filenames</CODE> - ArrayList containing the source file name(s) in no particular order<DD><CODE>leadFilename</CODE> - String containing name of source file that needs to go first and
will be represented by "this" MIPSprogram object.<DD><CODE>exceptionHandler</CODE> - String containing name of source file containing exception
handler. This will be assembled first, even ahead of leadFilename, to allow it to
include "startup" instructions loaded beginning at 0x00400000. Specify null or
empty String to indicate there is no such designated exception handler.
<DT><B>Returns:</B><DD>ArrayList containing one MIPSprogram object for each file to assemble.
objects for any additional files (send ArrayList to assembler)
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while reading or tokenizing.</DL>
</DD>
</DL>
<HR>
<A NAME="assemble(java.util.ArrayList, boolean)"><!-- --></A><H3>
assemble</H3>
<PRE>
public <A HREF="../mars/ErrorList.html" title="class in mars">ErrorList</A> <B>assemble</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;MIPSprogramsToAssemble,
boolean&nbsp;extendedAssemblerEnabled)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Assembles the MIPS source program. All files comprising the program must have
already been tokenized. Assembler warnings are not considered errors.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>MIPSprogramsToAssemble</CODE> - ArrayList of MIPSprogram objects, each representing a tokenized source file.<DD><CODE>extendedAssemblerEnabled</CODE> - A boolean value - true means extended (pseudo) instructions
are permitted in source code and false means they are to be flagged as errors.
<DT><B>Returns:</B><DD>ErrorList containing nothing or only warnings (otherwise would have thrown exception).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while assembling.</DL>
</DD>
</DL>
<HR>
<A NAME="assemble(java.util.ArrayList, boolean, boolean)"><!-- --></A><H3>
assemble</H3>
<PRE>
public <A HREF="../mars/ErrorList.html" title="class in mars">ErrorList</A> <B>assemble</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</A>&nbsp;MIPSprogramsToAssemble,
boolean&nbsp;extendedAssemblerEnabled,
boolean&nbsp;warningsAreErrors)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Assembles the MIPS source program. All files comprising the program must have
already been tokenized.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>MIPSprogramsToAssemble</CODE> - ArrayList of MIPSprogram objects, each representing a tokenized source file.<DD><CODE>extendedAssemblerEnabled</CODE> - A boolean value - true means extended (pseudo) instructions
are permitted in source code and false means they are to be flagged as errors<DD><CODE>warningsAreErrors</CODE> - A boolean value - true means assembler warnings will be considered errors and terminate
the assemble; false means the assembler will produce warning message but otherwise ignore warnings.
<DT><B>Returns:</B><DD>ErrorList containing nothing or only warnings (otherwise would have thrown exception).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while assembling.</DL>
</DD>
</DL>
<HR>
<A NAME="simulate(int[])"><!-- --></A><H3>
simulate</H3>
<PRE>
public boolean <B>simulate</B>(int[]&nbsp;breakPoints)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Simulates execution of the MIPS program. Program must have already been assembled.
Begins simulation at beginning of text segment and continues to completion.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>breakPoints</CODE> - int array of breakpoints (PC addresses). Can be null.
<DT><B>Returns:</B><DD>true if execution completed and false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while simulating.</DL>
</DD>
</DL>
<HR>
<A NAME="simulate(int)"><!-- --></A><H3>
simulate</H3>
<PRE>
public boolean <B>simulate</B>(int&nbsp;maxSteps)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Simulates execution of the MIPS program. Program must have already been assembled.
Begins simulation at beginning of text segment and continues to completion or
until the specified maximum number of steps are simulated.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>maxSteps</CODE> - maximum number of steps to simulate.
<DT><B>Returns:</B><DD>true if execution completed and false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while simulating.</DL>
</DD>
</DL>
<HR>
<A NAME="simulateFromPC(int[], int, javax.swing.AbstractAction)"><!-- --></A><H3>
simulateFromPC</H3>
<PRE>
public boolean <B>simulateFromPC</B>(int[]&nbsp;breakPoints,
int&nbsp;maxSteps,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/javax/swing/AbstractAction.html?is-external=true" title="class or interface in javax.swing">AbstractAction</A>&nbsp;a)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Simulates execution of the MIPS program. Program must have already been assembled.
Begins simulation at current program counter address and continues until stopped,
paused, maximum steps exceeded, or exception occurs.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>breakPoints</CODE> - int array of breakpoints (PC addresses). Can be null.<DD><CODE>maxSteps</CODE> - maximum number of instruction executions. Default -1 means no maximum.<DD><CODE>a</CODE> - the GUI component responsible for this call (GO normally). set to null if none.
<DT><B>Returns:</B><DD>true if execution completed and false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while simulating.</DL>
</DD>
</DL>
<HR>
<A NAME="simulateStepAtPC(javax.swing.AbstractAction)"><!-- --></A><H3>
simulateStepAtPC</H3>
<PRE>
public boolean <B>simulateStepAtPC</B>(<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/javax/swing/AbstractAction.html?is-external=true" title="class or interface in javax.swing">AbstractAction</A>&nbsp;a)
throws <A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></PRE>
<DL>
<DD>Simulates execution of the MIPS program. Program must have already been assembled.
Begins simulation at current program counter address and executes one step.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>a</CODE> - the GUI component responsible for this call (STEP normally). Set to null if none.
<DT><B>Returns:</B><DD>true if execution completed and false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="../mars/ProcessingException.html" title="class in mars">ProcessingException</A></CODE> - Will throw exception if errors occured while simulating.</DL>
</DD>
</DL>
<HR>
<A NAME="inSteppedExecution()"><!-- --></A><H3>
inSteppedExecution</H3>
<PRE>
public boolean <B>inSteppedExecution</B>()</PRE>
<DL>
<DD>Will be true only while in process of simulating a program statement
in step mode (e.g. returning to GUI after each step). This is used to
prevent spurious AccessNotices from being sent from Memory and Register
to observers at other times (e.g. while updating the data and register
displays, while assembling program's data segment, etc).
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createMacroPool()"><!-- --></A><H3>
createMacroPool</H3>
<PRE>
public <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A> <B>createMacroPool</B>()</PRE>
<DL>
<DD>Instantiates a new <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> and sends reference of this
<A HREF="../mars/MIPSprogram.html" title="class in mars"><CODE>MIPSprogram</CODE></A> to it
<P>
<DD><DL>
<DT><B>Returns:</B><DD>instatiated MacroPool</DL>
</DD>
</DL>
<HR>
<A NAME="getLocalMacroPool()"><!-- --></A><H3>
getLocalMacroPool</H3>
<PRE>
public <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A> <B>getLocalMacroPool</B>()</PRE>
<DL>
<DD>Gets local macro pool <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> for this program
<P>
<DD><DL>
<DT><B>Returns:</B><DD>MacroPool</DL>
</DD>
</DL>
<HR>
<A NAME="setLocalMacroPool(mars.assembler.MacroPool)"><!-- --></A><H3>
setLocalMacroPool</H3>
<PRE>
public void <B>setLocalMacroPool</B>(<A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler">MacroPool</A>&nbsp;macroPool)</PRE>
<DL>
<DD>Sets local macro pool <A HREF="../mars/assembler/MacroPool.html" title="class in mars.assembler"><CODE>MacroPool</CODE></A> for this program
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>macroPool</CODE> - reference to MacroPool</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../mars/MarsSplashScreen.html" title="class in mars"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../mars/ProcessingException.html" title="class in mars"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../index.html?mars/MIPSprogram.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MIPSprogram.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>