Transaction-Level Modeling Framework for Space Applications
#include <instructionBase.hpp>
Public Member Functions | |
virtual std::string | getInstructionName () const =0 throw () |
Returns the instruction name. More... | |
virtual std::string | getMnemonic () const =0 throw () |
virtual unsigned int | getId () const =0 throw () |
Gets the ID of the instruction as returned by the decoder. More... | |
Base class for all instructions; it enables access to the instruction fields from the tools
|
pure virtual |
Gets the ID of the instruction as returned by the decoder.
Implemented in leon3_funclt_trap::IRQ_IRQ_Instruction, leon3_funclt_trap::ANDcc_imm, leon3_funclt_trap::WRITEpsr_reg, leon3_funclt_trap::CALL, leon3_funclt_trap::ORcc_imm, leon3_funclt_trap::OR_reg, leon3_funclt_trap::SAVE_reg, leon3_funclt_trap::SDIVcc_imm, leon3_funclt_trap::RETT_reg, leon3_funclt_trap::LDUB_imm, leon3_funclt_trap::TRAP_reg, leon3_funclt_trap::LD_imm, leon3_funclt_trap::RESTORE_imm, leon3_funclt_trap::SLL_reg, leon3_funclt_trap::LDDA_reg, leon3_funclt_trap::STHA_reg, leon3_funclt_trap::LDA_reg, leon3_funclt_trap::STBAR, leon3_funclt_trap::XNORcc_imm, leon3_funclt_trap::UDIV_reg, leon3_funclt_trap::ADDX_reg, leon3_funclt_trap::JUMP_reg, leon3_funclt_trap::LDUBA_reg, leon3_funclt_trap::ORNcc_imm, leon3_funclt_trap::XORcc_imm, leon3_funclt_trap::SMUL_reg, leon3_funclt_trap::JUMP_imm, leon3_funclt_trap::UMAC_reg, leon3_funclt_trap::STDA_reg, leon3_funclt_trap::SUBX_imm, leon3_funclt_trap::SWAP_reg, leon3_funclt_trap::SMULcc_imm, leon3_funclt_trap::SDIV_reg, leon3_funclt_trap::TADDccTV_reg, leon3_funclt_trap::SUBcc_imm, leon3_funclt_trap::XOR_reg, leon3_funclt_trap::ADDcc_reg, leon3_funclt_trap::SUB_imm, leon3_funclt_trap::SMULcc_reg, leon3_funclt_trap::BRANCH, leon3_funclt_trap::TSUBcc_reg, leon3_funclt_trap::UMAC_imm, leon3_funclt_trap::WRITEwim_reg, leon3_funclt_trap::SUB_reg, leon3_funclt_trap::XORcc_reg, leon3_funclt_trap::MULScc_imm, leon3_funclt_trap::ORcc_reg, leon3_funclt_trap::UMULcc_imm, leon3_funclt_trap::LDSTUBA_reg, leon3_funclt_trap::UNIMP, leon3_funclt_trap::LDSH_imm, leon3_funclt_trap::UDIV_imm, leon3_funclt_trap::XNOR_imm, leon3_funclt_trap::SUBX_reg, leon3_funclt_trap::WRITEtbr_reg, leon3_funclt_trap::TADDccTV_imm, leon3_funclt_trap::ANDNcc_imm, leon3_funclt_trap::STD_reg, leon3_funclt_trap::ORN_imm, leon3_funclt_trap::UDIVcc_reg, leon3_funclt_trap::LDSH_reg, leon3_funclt_trap::SRA_imm, leon3_funclt_trap::SETHI, leon3_funclt_trap::TSUBccTV_reg, leon3_funclt_trap::ANDN_reg, leon3_funclt_trap::LDSB_reg, leon3_funclt_trap::SMAC_imm, leon3_funclt_trap::LDSTUB_imm, leon3_funclt_trap::READwim, leon3_funclt_trap::UMUL_imm, leon3_funclt_trap::ADD_imm, leon3_funclt_trap::SMUL_imm, leon3_funclt_trap::AND_imm, leon3_funclt_trap::STB_reg, leon3_funclt_trap::ADDXcc_reg, leon3_funclt_trap::RESTORE_reg, leon3_funclt_trap::LDUB_reg, leon3_funclt_trap::WRITEtbr_imm, leon3_funclt_trap::TRAP_imm, leon3_funclt_trap::ADD_reg, leon3_funclt_trap::SDIVcc_reg, leon3_funclt_trap::RETT_imm, leon3_funclt_trap::ORNcc_reg, leon3_funclt_trap::FLUSH_reg, leon3_funclt_trap::TSUBccTV_imm, leon3_funclt_trap::SDIV_imm, leon3_funclt_trap::TADDcc_imm, leon3_funclt_trap::TADDcc_reg, leon3_funclt_trap::LDUHA_reg, leon3_funclt_trap::SLL_imm, leon3_funclt_trap::LDD_imm, leon3_funclt_trap::WRITEwim_imm, leon3_funclt_trap::STH_imm, leon3_funclt_trap::SRA_reg, leon3_funclt_trap::FLUSH_imm, leon3_funclt_trap::AND_reg, leon3_funclt_trap::WRITEY_imm, leon3_funclt_trap::UMUL_reg, leon3_funclt_trap::SWAP_imm, leon3_funclt_trap::ADDX_imm, leon3_funclt_trap::SUBXcc_reg, leon3_funclt_trap::STD_imm, leon3_funclt_trap::OR_imm, leon3_funclt_trap::MULScc_reg, leon3_funclt_trap::SAVE_imm, leon3_funclt_trap::SRL_reg, leon3_funclt_trap::LDUH_reg, leon3_funclt_trap::ADDcc_imm, leon3_funclt_trap::LDD_reg, leon3_funclt_trap::SUBcc_reg, leon3_funclt_trap::ST_reg, leon3_funclt_trap::LD_reg, leon3_funclt_trap::WRITEasr_reg, leon3_funclt_trap::SMAC_reg, leon3_funclt_trap::XOR_imm, leon3_funclt_trap::LDSTUB_reg, leon3_funclt_trap::UMULcc_reg, leon3_funclt_trap::WRITEasr_imm, leon3_funclt_trap::SRL_imm, leon3_funclt_trap::STH_reg, leon3_funclt_trap::SUBXcc_imm, leon3_funclt_trap::STB_imm, leon3_funclt_trap::ADDXcc_imm, leon3_funclt_trap::SWAPA_reg, leon3_funclt_trap::UDIVcc_imm, leon3_funclt_trap::READtbr, leon3_funclt_trap::ST_imm, leon3_funclt_trap::STBA_reg, leon3_funclt_trap::LDSHA_reg, leon3_funclt_trap::ORN_reg, leon3_funclt_trap::STA_reg, leon3_funclt_trap::LDUH_imm, leon3_funclt_trap::LDSBA_reg, leon3_funclt_trap::TSUBcc_imm, leon3_funclt_trap::ANDcc_reg, leon3_funclt_trap::ANDN_imm, leon3_funclt_trap::READpsr, leon3_funclt_trap::XNORcc_reg, leon3_funclt_trap::READy, leon3_funclt_trap::WRITEpsr_imm, leon3_funclt_trap::LDSB_imm, leon3_funclt_trap::ANDNcc_reg, leon3_funclt_trap::XNOR_reg, leon3_funclt_trap::WRITEY_reg, leon3_funclt_trap::READasr, leon3_funclt_trap::InvalidInstr, and leon3_funclt_trap::Instruction.
|
pure virtual |
Returns the instruction name.
Implemented in leon3_funclt_trap::IRQ_IRQ_Instruction, leon3_funclt_trap::ANDcc_imm, leon3_funclt_trap::WRITEpsr_reg, leon3_funclt_trap::CALL, leon3_funclt_trap::ORcc_imm, leon3_funclt_trap::OR_reg, leon3_funclt_trap::SAVE_reg, leon3_funclt_trap::SDIVcc_imm, leon3_funclt_trap::RETT_reg, leon3_funclt_trap::LDUB_imm, leon3_funclt_trap::TRAP_reg, leon3_funclt_trap::LD_imm, leon3_funclt_trap::RESTORE_imm, leon3_funclt_trap::SLL_reg, leon3_funclt_trap::LDDA_reg, leon3_funclt_trap::STHA_reg, leon3_funclt_trap::LDA_reg, leon3_funclt_trap::STBAR, leon3_funclt_trap::XNORcc_imm, leon3_funclt_trap::UDIV_reg, leon3_funclt_trap::ADDX_reg, leon3_funclt_trap::JUMP_reg, leon3_funclt_trap::LDUBA_reg, leon3_funclt_trap::ORNcc_imm, leon3_funclt_trap::XORcc_imm, leon3_funclt_trap::SMUL_reg, leon3_funclt_trap::JUMP_imm, leon3_funclt_trap::UMAC_reg, leon3_funclt_trap::STDA_reg, leon3_funclt_trap::SUBX_imm, leon3_funclt_trap::SWAP_reg, leon3_funclt_trap::SMULcc_imm, leon3_funclt_trap::SDIV_reg, leon3_funclt_trap::TADDccTV_reg, leon3_funclt_trap::SUBcc_imm, leon3_funclt_trap::XOR_reg, leon3_funclt_trap::ADDcc_reg, leon3_funclt_trap::SUB_imm, leon3_funclt_trap::SMULcc_reg, leon3_funclt_trap::BRANCH, leon3_funclt_trap::TSUBcc_reg, leon3_funclt_trap::UMAC_imm, leon3_funclt_trap::WRITEwim_reg, leon3_funclt_trap::SUB_reg, leon3_funclt_trap::XORcc_reg, leon3_funclt_trap::MULScc_imm, leon3_funclt_trap::ORcc_reg, leon3_funclt_trap::UMULcc_imm, leon3_funclt_trap::LDSTUBA_reg, leon3_funclt_trap::UNIMP, leon3_funclt_trap::LDSH_imm, leon3_funclt_trap::UDIV_imm, leon3_funclt_trap::XNOR_imm, leon3_funclt_trap::SUBX_reg, leon3_funclt_trap::WRITEtbr_reg, leon3_funclt_trap::TADDccTV_imm, leon3_funclt_trap::ANDNcc_imm, leon3_funclt_trap::STD_reg, leon3_funclt_trap::ORN_imm, leon3_funclt_trap::UDIVcc_reg, leon3_funclt_trap::LDSH_reg, leon3_funclt_trap::SRA_imm, leon3_funclt_trap::SETHI, leon3_funclt_trap::TSUBccTV_reg, leon3_funclt_trap::ANDN_reg, leon3_funclt_trap::LDSB_reg, leon3_funclt_trap::SMAC_imm, leon3_funclt_trap::LDSTUB_imm, leon3_funclt_trap::READwim, leon3_funclt_trap::UMUL_imm, leon3_funclt_trap::ADD_imm, leon3_funclt_trap::SMUL_imm, leon3_funclt_trap::AND_imm, leon3_funclt_trap::STB_reg, leon3_funclt_trap::ADDXcc_reg, leon3_funclt_trap::RESTORE_reg, leon3_funclt_trap::LDUB_reg, leon3_funclt_trap::WRITEtbr_imm, leon3_funclt_trap::TRAP_imm, leon3_funclt_trap::ADD_reg, leon3_funclt_trap::SDIVcc_reg, leon3_funclt_trap::RETT_imm, leon3_funclt_trap::ORNcc_reg, leon3_funclt_trap::FLUSH_reg, leon3_funclt_trap::TSUBccTV_imm, leon3_funclt_trap::SDIV_imm, leon3_funclt_trap::TADDcc_imm, leon3_funclt_trap::TADDcc_reg, leon3_funclt_trap::LDUHA_reg, leon3_funclt_trap::SLL_imm, leon3_funclt_trap::LDD_imm, leon3_funclt_trap::WRITEwim_imm, leon3_funclt_trap::STH_imm, leon3_funclt_trap::SRA_reg, leon3_funclt_trap::FLUSH_imm, leon3_funclt_trap::AND_reg, leon3_funclt_trap::WRITEY_imm, leon3_funclt_trap::UMUL_reg, leon3_funclt_trap::SWAP_imm, leon3_funclt_trap::ADDX_imm, leon3_funclt_trap::SUBXcc_reg, leon3_funclt_trap::STD_imm, leon3_funclt_trap::OR_imm, leon3_funclt_trap::MULScc_reg, leon3_funclt_trap::SAVE_imm, leon3_funclt_trap::SRL_reg, leon3_funclt_trap::LDUH_reg, leon3_funclt_trap::ADDcc_imm, leon3_funclt_trap::LDD_reg, leon3_funclt_trap::SUBcc_reg, leon3_funclt_trap::ST_reg, leon3_funclt_trap::LD_reg, leon3_funclt_trap::WRITEasr_reg, leon3_funclt_trap::SMAC_reg, leon3_funclt_trap::XOR_imm, leon3_funclt_trap::LDSTUB_reg, leon3_funclt_trap::UMULcc_reg, leon3_funclt_trap::WRITEasr_imm, leon3_funclt_trap::SRL_imm, leon3_funclt_trap::STH_reg, leon3_funclt_trap::SUBXcc_imm, leon3_funclt_trap::STB_imm, leon3_funclt_trap::ADDXcc_imm, leon3_funclt_trap::SWAPA_reg, leon3_funclt_trap::UDIVcc_imm, leon3_funclt_trap::READtbr, leon3_funclt_trap::ST_imm, leon3_funclt_trap::STBA_reg, leon3_funclt_trap::LDSHA_reg, leon3_funclt_trap::ORN_reg, leon3_funclt_trap::STA_reg, leon3_funclt_trap::LDUH_imm, leon3_funclt_trap::LDSBA_reg, leon3_funclt_trap::TSUBcc_imm, leon3_funclt_trap::ANDcc_reg, leon3_funclt_trap::ANDN_imm, leon3_funclt_trap::READpsr, leon3_funclt_trap::XNORcc_reg, leon3_funclt_trap::READy, leon3_funclt_trap::WRITEpsr_imm, leon3_funclt_trap::LDSB_imm, leon3_funclt_trap::ANDNcc_reg, leon3_funclt_trap::XNOR_reg, leon3_funclt_trap::WRITEY_reg, leon3_funclt_trap::READasr, leon3_funclt_trap::InvalidInstr, and leon3_funclt_trap::Instruction.
|
pure virtual |
Returns the instruction mnemonic, so how the current instruction translated to assebmly code
Implemented in leon3_funclt_trap::IRQ_IRQ_Instruction, leon3_funclt_trap::ANDcc_imm, leon3_funclt_trap::WRITEpsr_reg, leon3_funclt_trap::CALL, leon3_funclt_trap::ORcc_imm, leon3_funclt_trap::OR_reg, leon3_funclt_trap::SAVE_reg, leon3_funclt_trap::SDIVcc_imm, leon3_funclt_trap::RETT_reg, leon3_funclt_trap::LDUB_imm, leon3_funclt_trap::TRAP_reg, leon3_funclt_trap::LD_imm, leon3_funclt_trap::RESTORE_imm, leon3_funclt_trap::SLL_reg, leon3_funclt_trap::LDDA_reg, leon3_funclt_trap::STHA_reg, leon3_funclt_trap::LDA_reg, leon3_funclt_trap::STBAR, leon3_funclt_trap::XNORcc_imm, leon3_funclt_trap::UDIV_reg, leon3_funclt_trap::ADDX_reg, leon3_funclt_trap::JUMP_reg, leon3_funclt_trap::LDUBA_reg, leon3_funclt_trap::ORNcc_imm, leon3_funclt_trap::XORcc_imm, leon3_funclt_trap::SMUL_reg, leon3_funclt_trap::JUMP_imm, leon3_funclt_trap::UMAC_reg, leon3_funclt_trap::STDA_reg, leon3_funclt_trap::SUBX_imm, leon3_funclt_trap::SWAP_reg, leon3_funclt_trap::SMULcc_imm, leon3_funclt_trap::SDIV_reg, leon3_funclt_trap::TADDccTV_reg, leon3_funclt_trap::SUBcc_imm, leon3_funclt_trap::XOR_reg, leon3_funclt_trap::ADDcc_reg, leon3_funclt_trap::SUB_imm, leon3_funclt_trap::SMULcc_reg, leon3_funclt_trap::BRANCH, leon3_funclt_trap::TSUBcc_reg, leon3_funclt_trap::UMAC_imm, leon3_funclt_trap::WRITEwim_reg, leon3_funclt_trap::SUB_reg, leon3_funclt_trap::XORcc_reg, leon3_funclt_trap::MULScc_imm, leon3_funclt_trap::ORcc_reg, leon3_funclt_trap::UMULcc_imm, leon3_funclt_trap::LDSTUBA_reg, leon3_funclt_trap::UNIMP, leon3_funclt_trap::LDSH_imm, leon3_funclt_trap::UDIV_imm, leon3_funclt_trap::XNOR_imm, leon3_funclt_trap::SUBX_reg, leon3_funclt_trap::WRITEtbr_reg, leon3_funclt_trap::TADDccTV_imm, leon3_funclt_trap::ANDNcc_imm, leon3_funclt_trap::STD_reg, leon3_funclt_trap::ORN_imm, leon3_funclt_trap::UDIVcc_reg, leon3_funclt_trap::LDSH_reg, leon3_funclt_trap::SRA_imm, leon3_funclt_trap::SETHI, leon3_funclt_trap::TSUBccTV_reg, leon3_funclt_trap::ANDN_reg, leon3_funclt_trap::LDSB_reg, leon3_funclt_trap::SMAC_imm, leon3_funclt_trap::LDSTUB_imm, leon3_funclt_trap::READwim, leon3_funclt_trap::UMUL_imm, leon3_funclt_trap::ADD_imm, leon3_funclt_trap::SMUL_imm, leon3_funclt_trap::AND_imm, leon3_funclt_trap::STB_reg, leon3_funclt_trap::ADDXcc_reg, leon3_funclt_trap::RESTORE_reg, leon3_funclt_trap::LDUB_reg, leon3_funclt_trap::WRITEtbr_imm, leon3_funclt_trap::TRAP_imm, leon3_funclt_trap::ADD_reg, leon3_funclt_trap::SDIVcc_reg, leon3_funclt_trap::RETT_imm, leon3_funclt_trap::ORNcc_reg, leon3_funclt_trap::FLUSH_reg, leon3_funclt_trap::TSUBccTV_imm, leon3_funclt_trap::SDIV_imm, leon3_funclt_trap::TADDcc_imm, leon3_funclt_trap::TADDcc_reg, leon3_funclt_trap::LDUHA_reg, leon3_funclt_trap::SLL_imm, leon3_funclt_trap::LDD_imm, leon3_funclt_trap::WRITEwim_imm, leon3_funclt_trap::STH_imm, leon3_funclt_trap::SRA_reg, leon3_funclt_trap::FLUSH_imm, leon3_funclt_trap::AND_reg, leon3_funclt_trap::WRITEY_imm, leon3_funclt_trap::UMUL_reg, leon3_funclt_trap::SWAP_imm, leon3_funclt_trap::ADDX_imm, leon3_funclt_trap::SUBXcc_reg, leon3_funclt_trap::STD_imm, leon3_funclt_trap::OR_imm, leon3_funclt_trap::MULScc_reg, leon3_funclt_trap::SAVE_imm, leon3_funclt_trap::SRL_reg, leon3_funclt_trap::LDUH_reg, leon3_funclt_trap::ADDcc_imm, leon3_funclt_trap::LDD_reg, leon3_funclt_trap::SUBcc_reg, leon3_funclt_trap::ST_reg, leon3_funclt_trap::LD_reg, leon3_funclt_trap::WRITEasr_reg, leon3_funclt_trap::SMAC_reg, leon3_funclt_trap::XOR_imm, leon3_funclt_trap::LDSTUB_reg, leon3_funclt_trap::UMULcc_reg, leon3_funclt_trap::WRITEasr_imm, leon3_funclt_trap::SRL_imm, leon3_funclt_trap::STH_reg, leon3_funclt_trap::SUBXcc_imm, leon3_funclt_trap::STB_imm, leon3_funclt_trap::ADDXcc_imm, leon3_funclt_trap::SWAPA_reg, leon3_funclt_trap::UDIVcc_imm, leon3_funclt_trap::READtbr, leon3_funclt_trap::ST_imm, leon3_funclt_trap::STBA_reg, leon3_funclt_trap::LDSHA_reg, leon3_funclt_trap::ORN_reg, leon3_funclt_trap::STA_reg, leon3_funclt_trap::LDUH_imm, leon3_funclt_trap::LDSBA_reg, leon3_funclt_trap::TSUBcc_imm, leon3_funclt_trap::ANDcc_reg, leon3_funclt_trap::ANDN_imm, leon3_funclt_trap::READpsr, leon3_funclt_trap::XNORcc_reg, leon3_funclt_trap::READy, leon3_funclt_trap::WRITEpsr_imm, leon3_funclt_trap::LDSB_imm, leon3_funclt_trap::ANDNcc_reg, leon3_funclt_trap::XNOR_reg, leon3_funclt_trap::WRITEY_reg, leon3_funclt_trap::READasr, leon3_funclt_trap::InvalidInstr, and leon3_funclt_trap::Instruction.