|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectISA
public class ISA
Class containing the Larc ISA.
Field Summary | |
---|---|
static int |
ADD
The opcode of an add defined by the ISA. |
static int |
AND
The opcode of the extended bitwise AND defined by the assembly interface. |
static int |
B
The opcode of the extended unconditional branch defined by the assembly interface. |
static int |
BEQ
The opcode of the extended branch equal to defined by the assembly interface. |
static int |
BEQZ
The opcode of the branch equal to defined by the ISA. |
static int |
BGE
The opcode of the extended branch greater than or equal to defined by the assembly interface. |
static int |
BGEZ
The opcode of the extended branch greater than or equal to zero defined by the assembly interface. |
static int |
BGT
The opcode of the extended branch greater than defined by the assembly interface. |
static int |
BGTZ
The opcode of the extended branch greater than zero defined by the assembly interface. |
static int |
BLE
The opcode of the extended branch less than or equal to defined by the assembly interface. |
static int |
BLEZ
The opcode of the extended branch less than or equal to zero defined by the assembly interface. |
static int |
BLT
The opcode of the extended branch less than defined by the assembly interface. |
static int |
BLTZ
The opcode of the extended branch not equal to defined by the ISA. |
static int |
BNE
The opcode of the extended branch not equal to defined by the assembly interface. |
static int |
BNEZ
The opcode of the branch not equal to zero defined by the ISA. |
static int |
DIV
The opcode of the divide defined by the ISA. |
static int |
JAL
The opcode of the extended jump and link defined by the assembly interface. |
static int |
JALR
The opcode of the jump and link register defined by the ISA. |
static int |
JR
The opcode of the extended jump defined by the assembly interface. |
static int |
LA
The opcode of the extended load address defined by the assembly interface. |
static int |
LI
The opcode of the load immediate defined by the ISA. |
static int |
LUI
The opcode of the load upper immediate defined by the ISA. |
static int |
LW
The opcode of the memory load defined by the ISA. |
static int |
MEM_SIZE
Size of memory, which is 2^width |
static int |
MOVE
The opcode of the extended branch not equal to zero defined by the assembly interface. |
static int |
MUL
The opcode of the multiply defined by the ISA. |
static int |
NEG
The opcode of the extended negation defined by the assembly interface. |
static int |
NOR
The opcode of the bitwise NOR defined by the ISA. |
static int |
NOT
The opcode of the extended bitwise NOT defined by the assembly interface. |
static int |
NUM_REGS
Number of total registers |
static int |
OR
The opcode of the extended bitwise OR defined by the assembly interface. |
static java.lang.String |
REG_A0
Argument register 0 (not preserved across subroutine calls) |
static java.lang.String |
REG_A1
Argument register 1 (not preserved across subroutine calls) |
static java.lang.String |
REG_AT0
Assembler temporary 0 register |
static java.lang.String |
REG_AT1
Assembler temporary 1 register |
static java.lang.String |
REG_K0
Kernel register 0 |
static java.lang.String |
REG_K1
Kernel register 1 |
static int |
REG_MAX_UNSIGNED_VALUE
Maximum unsigned value that can be stored in a register |
static int |
REG_MAX_VALUE
Maximum value (signed) that can be stored in a register |
static int |
REG_MIN_VALUE
Minimum value (signed) that can be stored in a register |
static java.lang.String |
REG_RA
Return address register |
static java.lang.String |
REG_S0
Caller-saved register 0 (preserved across subroutine calls) |
static java.lang.String |
REG_S1
Caller-saved register 1 (preserved across subroutine calls) |
static java.lang.String |
REG_S2
Caller-saved register 2 (preserved across subroutine calls) |
static java.lang.String |
REG_SP
Stack pointer register |
static java.lang.String |
REG_T0
Callee-saved register 0 (not preserved across subroutine calls) |
static java.lang.String |
REG_T1
Callee-saved register 1 (not preserved across subroutine calls) |
static java.lang.String |
REG_T2
Callee-saved register 2 (not preserved across subroutine calls) |
static java.lang.String |
REG_V0
Result register |
static java.lang.String |
REG_ZERO
Zero register |
static int |
REM
The opcode of the extended remainder defined by the assembly interface. |
static int |
SEQ
The opcode of the extended xor defined by the assembly interface. |
static int |
SGE
The opcode of the extended xor defined by the assembly interface. |
static int |
SGT
The opcode of the extended xor defined by the assembly interface. |
static int |
SLE
The opcode of the extended xor defined by the assembly interface. |
static int |
SLL
The opcode of the shift left logical defined by the ISA. |
static int |
SLT
The opcode of the set on less than defined by the ISA. |
static int |
SNE
The opcode of the extended xor defined by the assembly interface. |
static int |
SRL
The opcode of the shift right logical defined by the ISA. |
static int |
SUB
The opcode of a subtract defined by the ISA. |
static int |
SW
The opcode of the memory store defined by the ISA. |
static int |
SYSCALL
The opcode of the system call defined by the ISA. |
static int |
SYSRETN
The opcode the system return instruction (only used by OS). |
static int |
WIDTH
Processor width (number of bits stored in a single register/memory word, also addressability) |
static int |
XOR
The opcode of the extended xor defined by the assembly interface. |
Constructor Summary | |
---|---|
ISA()
|
Method Summary | |
---|---|
static int |
getReg(java.lang.String reg)
Converts a string representation of a register into an integer representation. |
static java.lang.String |
getRegName(int reg)
Converts a register number into the register name. |
static boolean |
isKernelReg(java.lang.String reg)
Is a kernel register (k0 or k1)? |
static boolean |
isReservedReg(java.lang.String reg)
Is a reserved assembler register (at0 or at1)? |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int WIDTH
public static final int NUM_REGS
public static final int REG_MIN_VALUE
public static final int REG_MAX_VALUE
public static final int REG_MAX_UNSIGNED_VALUE
public static final int MEM_SIZE
public static final int ADD
public static final int SUB
public static final int MUL
public static final int DIV
public static final int SLL
public static final int SRL
public static final int NOR
public static final int SLT
public static final int LI
public static final int LUI
public static final int BEQZ
public static final int BNEZ
public static final int LW
public static final int SW
public static final int JALR
public static final int SYSCALL
public static final int SYSRETN
public static final int LA
public static final int MOVE
public static final int NEG
public static final int REM
public static final int NOT
public static final int OR
public static final int AND
public static final int XOR
public static final int SLE
public static final int SGT
public static final int SGE
public static final int SEQ
public static final int SNE
public static final int B
public static final int BLTZ
public static final int BLEZ
public static final int BGTZ
public static final int BGEZ
public static final int BEQ
public static final int BNE
public static final int BLT
public static final int BLE
public static final int BGT
public static final int BGE
public static final int JR
public static final int JAL
public static final java.lang.String REG_ZERO
public static final java.lang.String REG_V0
public static final java.lang.String REG_A0
public static final java.lang.String REG_A1
public static final java.lang.String REG_T0
public static final java.lang.String REG_T1
public static final java.lang.String REG_T2
public static final java.lang.String REG_S0
public static final java.lang.String REG_S1
public static final java.lang.String REG_S2
public static final java.lang.String REG_SP
public static final java.lang.String REG_RA
public static final java.lang.String REG_AT0
public static final java.lang.String REG_AT1
public static final java.lang.String REG_K0
public static final java.lang.String REG_K1
Constructor Detail |
---|
public ISA()
Method Detail |
---|
public static int getReg(java.lang.String reg)
reg
- the register name
public static java.lang.String getRegName(int reg)
reg
- the register identifier
public static boolean isReservedReg(java.lang.String reg)
reg
- the register name
public static boolean isKernelReg(java.lang.String reg)
reg
- the register name
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |