JIMSCore
Class InstructionExecuter
java.lang.Object
|
+--JIMSCore.InstructionExecuter
- public class InstructionExecuter
- extends java.lang.Object
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
SC_PRINT_INT
public static final int SC_PRINT_INT
SC_PRINT_FLOAT
public static final int SC_PRINT_FLOAT
SC_PRINT_DOUBLE
public static final int SC_PRINT_DOUBLE
SC_PRINT_STRING
public static final int SC_PRINT_STRING
SC_READ_INT
public static final int SC_READ_INT
SC_READ_FLOAT
public static final int SC_READ_FLOAT
SC_READ_DOUBLE
public static final int SC_READ_DOUBLE
SC_READ_STRING
public static final int SC_READ_STRING
SC_SBRK
public static final int SC_SBRK
SC_EXIT
public static final int SC_EXIT
OP_MULTI_1
public static final int OP_MULTI_1
OP_MULTI_2
public static final int OP_MULTI_2
OP_J
public static final int OP_J
OP_JAL
public static final int OP_JAL
OP_BEQ
public static final int OP_BEQ
OP_BNE
public static final int OP_BNE
OP_BLEZ
public static final int OP_BLEZ
OP_BGTZ
public static final int OP_BGTZ
OP_ADDI
public static final int OP_ADDI
OP_ADDIU
public static final int OP_ADDIU
OP_SLTI
public static final int OP_SLTI
OP_SLTIU
public static final int OP_SLTIU
OP_ANDI
public static final int OP_ANDI
OP_ORI
public static final int OP_ORI
OP_XORI
public static final int OP_XORI
OP_LUI
public static final int OP_LUI
OP_MULTI_3
public static final int OP_MULTI_3
OP_MULTI_4
public static final int OP_MULTI_4
OP_MULTI_5
public static final int OP_MULTI_5
OP_MULTI_6
public static final int OP_MULTI_6
OP_LB
public static final int OP_LB
OP_LH
public static final int OP_LH
OP_LWL
public static final int OP_LWL
OP_LW
public static final int OP_LW
OP_LBU
public static final int OP_LBU
OP_LHU
public static final int OP_LHU
OP_LWR
public static final int OP_LWR
OP_SB
public static final int OP_SB
OP_SH
public static final int OP_SH
OP_SWL
public static final int OP_SWL
OP_SW
public static final int OP_SW
OP_SWR
public static final int OP_SWR
OP_LWC0
public static final int OP_LWC0
OP_LWC1
public static final int OP_LWC1
OP_LWC2
public static final int OP_LWC2
OP_LWC3
public static final int OP_LWC3
OP_SWC0
public static final int OP_SWC0
OP_SWC1
public static final int OP_SWC1
OP_SWC2
public static final int OP_SWC2
OP_SWC3
public static final int OP_SWC3
OP_SLL
public static final int OP_SLL
OP_SRL
public static final int OP_SRL
OP_SRA
public static final int OP_SRA
OP_SLLV
public static final int OP_SLLV
OP_SRLV
public static final int OP_SRLV
OP_SRAV
public static final int OP_SRAV
OP_JR
public static final int OP_JR
OP_JALR
public static final int OP_JALR
OP_SYSCALL
public static final int OP_SYSCALL
OP_BREAK
public static final int OP_BREAK
OP_MFHI
public static final int OP_MFHI
OP_MTHI
public static final int OP_MTHI
OP_MFLO
public static final int OP_MFLO
OP_MTLO
public static final int OP_MTLO
OP_MULT
public static final int OP_MULT
OP_MULTU
public static final int OP_MULTU
OP_DIV
public static final int OP_DIV
OP_DIVU
public static final int OP_DIVU
OP_ADD
public static final int OP_ADD
OP_ADDU
public static final int OP_ADDU
OP_SUB
public static final int OP_SUB
OP_SUBU
public static final int OP_SUBU
OP_AND
public static final int OP_AND
OP_OR
public static final int OP_OR
OP_XOR
public static final int OP_XOR
OP_NOR
public static final int OP_NOR
OP_SLT
public static final int OP_SLT
OP_SLTU
public static final int OP_SLTU
OP_BLTZ
public static final int OP_BLTZ
OP_BGEZ
public static final int OP_BGEZ
OP_BLTZAL
public static final int OP_BLTZAL
OP_BGEZAL
public static final int OP_BGEZAL
OP_MFCZ
public static final int OP_MFCZ
OP_CFCZ
public static final int OP_CFCZ
OP_MTCZ
public static final int OP_MTCZ
OP_CTCZ
public static final int OP_CTCZ
OP_MULTI_7
public static final int OP_MULTI_7
OP_COPZ_1
public static final int OP_COPZ_1
OP_COPZ_2
public static final int OP_COPZ_2
OP_TLBR
public static final int OP_TLBR
OP_TLBWL
public static final int OP_TLBWL
OP_TLBWR
public static final int OP_TLBWR
OP_TLBP
public static final int OP_TLBP
OP_RFE
public static final int OP_RFE
OP_ADD_F
public static final int OP_ADD_F
OP_SUB_F
public static final int OP_SUB_F
OP_MUL_F
public static final int OP_MUL_F
OP_DIV_F
public static final int OP_DIV_F
OP_ABS_F
public static final int OP_ABS_F
OP_MOV_F
public static final int OP_MOV_F
OP_NEG_F
public static final int OP_NEG_F
OP_CVT_S_F
public static final int OP_CVT_S_F
OP_CVT_D_F
public static final int OP_CVT_D_F
OP_CVT_W_F
public static final int OP_CVT_W_F
OP_C_F_F
public static final int OP_C_F_F
OP_C_UN_F
public static final int OP_C_UN_F
OP_C_EQ_F
public static final int OP_C_EQ_F
OP_C_UEQ_F
public static final int OP_C_UEQ_F
OP_C_OLT_F
public static final int OP_C_OLT_F
OP_C_ULT_F
public static final int OP_C_ULT_F
OP_C_OLE_F
public static final int OP_C_OLE_F
OP_C_ULE_F
public static final int OP_C_ULE_F
OP_C_ST_F
public static final int OP_C_ST_F
OP_C_NGLE_F
public static final int OP_C_NGLE_F
OP_C_SEQ_F
public static final int OP_C_SEQ_F
OP_C_NGL_F
public static final int OP_C_NGL_F
OP_C_LT_F
public static final int OP_C_LT_F
OP_C_NGE_F
public static final int OP_C_NGE_F
OP_C_LE_F
public static final int OP_C_LE_F
OP_C_NGT_F
public static final int OP_C_NGT_F
FP_S
public static final int FP_S
FP_D
public static final int FP_D
UNDEFINED_DIVIDE
public static final int UNDEFINED_DIVIDE
simulator
private Simulator simulator
state
private State state
stateHistoryBuffer
private StateHistoryBuffer stateHistoryBuffer
bInvalidOpcodeDetected
private boolean bInvalidOpcodeDetected
iExecuteResult
private int iExecuteResult
ERR_NONE
private static final int ERR_NONE
ERR_INVALID_OPCODE
private static final int ERR_INVALID_OPCODE
ERR_FP_HARDWARE_REQUIRED
private static final int ERR_FP_HARDWARE_REQUIRED
ERR_SYSCALL
private static final int ERR_SYSCALL
ERR_BREAK
private static final int ERR_BREAK
ERR_OVERFLOW
private static final int ERR_OVERFLOW
ERR_FP_EXCEPTION
private static final int ERR_FP_EXCEPTION
InstructionExecuter
public InstructionExecuter(StateHistoryBuffer stateHistoryBuffer,
Simulator simulator)
status
public void status(java.lang.String sMessage)
unknownOpcode
private void unknownOpcode()
iExecute
public int iExecute(InstructionDecodeBuffer db)
execute
private void execute(InstructionDecodeBuffer db)
executeMulti1Instruction
private void executeMulti1Instruction(InstructionDecodeBuffer db)
executeMulti2Instruction
private void executeMulti2Instruction(InstructionDecodeBuffer db)
executeMultiZInstruction
private void executeMultiZInstruction(InstructionDecodeBuffer db,
int z)
executeMiscInstruction
private void executeMiscInstruction(InstructionDecodeBuffer db)
executeFPInstruction
private void executeFPInstruction(InstructionDecodeBuffer db,
int fpType)
executeFPSInstruction
private void executeFPSInstruction(InstructionDecodeBuffer db)
executeFPDInstruction
private void executeFPDInstruction(InstructionDecodeBuffer db)
performSystemCall
private void performSystemCall(int iService)