JIMSCore
Class Assembler
java.lang.Object
|
+--JIMSCore.Assembler
- public class Assembler
- extends java.lang.Object
This is the Assembler class.
- Author:
- Steve Lewis, Fred Williams
Method Summary |
void |
addToDataVector(DataEntry dataEntry)
|
void |
addToTextVector(TextEntry textEntry)
|
boolean |
bLabelDefined(java.lang.String s)
|
int |
iGetLabelAddress(java.lang.String s)
|
private int |
iGetLabelIndex(java.lang.String sLabel)
|
int |
iGetLastInvalidUseOfAT()
|
int |
iGetNumPhaseTwoErrors()
|
private int |
iProcessDirective(java.lang.String sRawInput,
java.lang.String sInput,
int iCurrLine)
|
private int |
iProcessInstruction(java.lang.String sRawInput,
java.lang.String sInput,
int iCurrLine)
|
int |
iProcessLine(java.lang.String sRawInput,
int iCurrLine)
PHASE 1 -- INITIAL TRANSLATION |
static boolean |
isAT(java.lang.String s)
|
void |
reset()
|
static java.lang.String[] |
saGetParams(java.lang.String s)
|
java.lang.StringBuffer |
sbGetMachineCode(java.lang.String sSourceName)
|
private java.lang.StringBuffer |
sbProcessDataSection(DataSection dataSection)
|
private java.lang.StringBuffer |
sbProcessTextSection(TextSection textSection)
|
private java.lang.String |
sCompressBitSequence(java.lang.String sInput)
|
private java.lang.String |
sFinalizeData(java.lang.String s)
Translates addr(X) into a 32-bit address. |
private java.lang.String |
sFinalizeInstruction(java.lang.String s,
int iSourceLine,
int iCurrentAddress)
Translates shamt, hi16, lo16, target, offset, branch, imm. |
private java.lang.String |
sProcessedDataString(java.lang.String sInput)
|
java.lang.String |
toString()
|
private static java.util.Vector |
vGetParams(java.lang.String sInput)
|
static void |
warnAboutUseOfAT(int iSourceLine)
|
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait |
NEWLINE
public static final char NEWLINE
MODE_TEXT
public static final int MODE_TEXT
MODE_DATA
public static final int MODE_DATA
MODE_KTEXT
public static final int MODE_KTEXT
MODE_KDATA
public static final int MODE_KDATA
MODE_NONE
public static final int MODE_NONE
TEXT_SECTION
public static final int TEXT_SECTION
DATA_SECTION
public static final int DATA_SECTION
iCurrentMode
public int iCurrentMode
iCurrentTextIndex
public int iCurrentTextIndex
iCurrentDataIndex
public int iCurrentDataIndex
vLabelVector
public java.util.Vector vLabelVector
vTextSection
public java.util.Vector vTextSection
currentTextSection
public TextSection currentTextSection
iCurrentTextSectionIndex
public int iCurrentTextSectionIndex
vDataSection
public java.util.Vector vDataSection
currentDataSection
public DataSection currentDataSection
iCurrentDataSectionIndex
public int iCurrentDataSectionIndex
instructionEncoder
private InstructionEncoder instructionEncoder
directiveProcessor
private DirectiveProcessor directiveProcessor
iInvalidUseOfAT
private static int iInvalidUseOfAT
iPhaseTwoErrors
private int iPhaseTwoErrors
- PHASE 2 -- FINAL TRANSLATION
Assembler
public Assembler(java.lang.String sModifiedSourceFilename)
Assembler
public Assembler()
reset
public void reset()
iGetLastInvalidUseOfAT
public int iGetLastInvalidUseOfAT()
iProcessLine
public int iProcessLine(java.lang.String sRawInput,
int iCurrLine)
throws java.lang.Exception
- PHASE 1 -- INITIAL TRANSLATION
iProcessInstruction
private int iProcessInstruction(java.lang.String sRawInput,
java.lang.String sInput,
int iCurrLine)
throws java.lang.Exception
iProcessDirective
private int iProcessDirective(java.lang.String sRawInput,
java.lang.String sInput,
int iCurrLine)
sbGetMachineCode
public java.lang.StringBuffer sbGetMachineCode(java.lang.String sSourceName)
throws java.lang.Exception
iGetNumPhaseTwoErrors
public int iGetNumPhaseTwoErrors()
sbProcessTextSection
private java.lang.StringBuffer sbProcessTextSection(TextSection textSection)
throws java.lang.Exception
sbProcessDataSection
private java.lang.StringBuffer sbProcessDataSection(DataSection dataSection)
sFinalizeData
private java.lang.String sFinalizeData(java.lang.String s)
- Translates addr(X) into a 32-bit address.
- Parameters:
s
- The data directive to be processed.
sFinalizeInstruction
private java.lang.String sFinalizeInstruction(java.lang.String s,
int iSourceLine,
int iCurrentAddress)
throws java.lang.Exception
- Translates shamt, hi16, lo16, target, offset, branch, imm.
- Parameters:
s
- The instruction to be processed.iCurrentAddress
- The address of the instruction.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
bLabelDefined
public boolean bLabelDefined(java.lang.String s)
iGetLabelAddress
public int iGetLabelAddress(java.lang.String s)
iGetLabelIndex
private int iGetLabelIndex(java.lang.String sLabel)
addToDataVector
public void addToDataVector(DataEntry dataEntry)
addToTextVector
public void addToTextVector(TextEntry textEntry)
sProcessedDataString
private java.lang.String sProcessedDataString(java.lang.String sInput)
sCompressBitSequence
private java.lang.String sCompressBitSequence(java.lang.String sInput)
warnAboutUseOfAT
public static void warnAboutUseOfAT(int iSourceLine)
isAT
public static boolean isAT(java.lang.String s)
saGetParams
public static java.lang.String[] saGetParams(java.lang.String s)
vGetParams
private static java.util.Vector vGetParams(java.lang.String sInput)