#include <frontend/sparcdecoder.h>
Inheritance diagram for SparcDecoder:
Definition at line 30 of file sparcdecoder.h.
Public Member Functions | |
virtual int | decodeAssemblyInstruction (ADDRESS pc, int delta) |
virtual DecodeResult & | decodeInstruction (ADDRESS pc, int delta) |
bool | isRestore (ADDRESS hostPC) |
SparcDecoder (Prog *prog) | |
Private Member Functions | |
RTL * | createBranchRtl (ADDRESS pc, std::list< Statement * > *stmts, const char *name) |
Exp * | dis_Eaddr (ADDRESS pc, int size=0) |
Exp * | dis_RegImm (ADDRESS pc) |
Exp * | dis_RegLhs (unsigned r) |
Exp * | dis_RegRhs (unsigned r) |
DWord | getDword (ADDRESS lc) |
bool | isFuncPrologue (ADDRESS hostPC) |
void | unused (int x) |
|
Definition at line 802 of file sparc/decoder.m. References file, Boomerang::get(), Boomerang::getProgPath(), RTLInstDict::readSSLFile(), and NJMCDecoder::RTLDict. |
|
Definition at line 80 of file sparc/decoder.m. References RTL::appendStmt(), BRANCH_JE, BRANCH_JMI, BRANCH_JNE, BRANCH_JPOS, BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, BRANCH_JUG, BRANCH_JUGE, BRANCH_JUL, BRANCH_JULE, NULL, and BranchStatement::setCondType(). Referenced by decodeInstruction(). |
|
Implements NJMCDecoder. |
|
Implements NJMCDecoder. Definition at line 202 of file sparc/decoder.m. References addr(), RTL::appendStmt(), createBranchRtl(), DD, DEBUG_STMTS, DIS_ADDR, dis_Eaddr(), DIS_FDD, DIS_FDQ, DIS_FDS, DIS_FS1D, DIS_FS1Q, DIS_FS1S, DIS_FS2D, DIS_FS2Q, DIS_FS2S, NJMCDecoder::dis_Num(), DIS_RD, DIS_RDR, DIS_ROI, DIS_RS1, RTL::getList(), NJMCDecoder::instantiate(), NCT, NO_ADDRESS, NOP, NULL, DecodeResult::numBytes, NJMCDecoder::prog, DecodeResult::reset(), result, DecodeResult::rtl, SCD, SCDAN, SD, GotoStatement::setDest(), CallStatement::setDestProc(), GotoStatement::setIsComputed(), Prog::setNewProc(), SHOW_ASM, SKIP, SU, to, DecodeResult::type, unused(), and DecodeResult::valid. |
|
Definition at line 713 of file sparc/decoder.m. References opPlus, Location::regOf(), and to. Referenced by decodeInstruction(). |
|
|
|
Definition at line 666 of file sparc/decoder.m. References Location::regOf(). |
|
Definition at line 679 of file sparc/decoder.m. References Location::regOf(). |
|
Definition at line 790 of file sparc/decoder.m. |
|
Definition at line 742 of file sparc/decoder.m. References InstructionPatterns::new_reg_win(), InstructionPatterns::new_reg_win_large(), NULL, NJMCDecoder::prog, InstructionPatterns::same_reg_win(), and InstructionPatterns::same_reg_win_large(). |
|
Definition at line 768 of file sparc/decoder.m. |
|
Definition at line 69 of file sparc/decoder.m. Referenced by decodeInstruction(), and isRestore(). |