-
stores the location of this statement
stores the operation code of this statement
size represents how many bytes long the statement is
instructionTable is a map that holds each of the assembler instructions
locctrTable holds the location counter of each program block
registerTable is a map that holds each valid register
startTable handles the starting location of each program block
Note that we are making startTable a LinkedHashMap
this is so that we can maintain the order of each program block
which is needed for calculating the relative start locations
of each block
Adds the specified integer value to the current value.
Adds the given HexNum value to this HexNum and returns the result as a new HexNum.
Retrieves the location of this statement.
Retrieves the location counter (LOCCTR) for the current block.
Retrieves the location counter (LOCCTR) for the specified block.
Returns the size of the statement.
Returns the size of the statement as a HexNum.
Retrieves the starting address as a HexNum for the default starting block
Retrieves the starting HexNum for the specified block.
Retrieves the HexNum associated with the given symbol in the specified control section.
Calculates the total length of all program blocks by summing up the location counters
of each block in the start table.
Handles the evaluation of an expression, replacing symbols with their decimal values,
and determining if the expression is absolute or relative.
Subtracts a given integer value from the current hexadecimal value.
Subtracts the given HexNum value from this HexNum and returns the result as a new HexNum.
Adds the given HexNum value to this HexNum and returns the result as a new HexNum.
protected void
Adds a given value to the location counter (locctr) of the current block.
protected void
Adds the specified location counter (locctr) value to the current location counter
for the given block in the locctrTable.
static void
Adds a symbol to the symbol table with the specified location, block, and control section.
void
Sets the location of this BaseStatement.
void
Sets the opcode for this RegisterStatement.
void
Sets the value of the first register.
void
Sets the value of the second register.
void
Sets the size of the directive statement.
protected void
Sets the starting address for a given block in the start table.
Subtracts the given HexNum value from this HexNum and returns the result as a new HexNum.
protected
Constructs a BaseStatement with the specified location and opcode.
Constructs a DirectiveStatement with the specified size and directive.
Constructs an ExtendedStatement with the specified location, opcode, and arguments.
Constructs a RegisterStatement with the specified location, opcode, and register 1.
Constructs a RegisterStatement with the specified location, opcode, and registers.
Constructs a SicStatement object with the specified location, opcode, and arguments.
Constructs a SingleStatement object with the specified location and opcode.
protected
Constructs a new Statement with the specified size.
protected
Constructs a new Statement with the specified size and block.