#include <include/decoder.h>
Inheritance diagram for NJMCDecoder:
Definition at line 103 of file decoder.h.
Public Member Functions | |
void | computedCall (const char *name, int size, Exp *dest, ADDRESS pc, std::list< Statement * > *stmts, DecodeResult &result) |
void | computedJump (const char *name, int size, Exp *dest, ADDRESS pc, std::list< Statement * > *stmts, DecodeResult &result) |
virtual int | decodeAssemblyInstruction (ADDRESS pc, int delta)=0 |
virtual DecodeResult & | decodeInstruction (ADDRESS pc, int delta)=0 |
Prog * | getProg () |
RTLInstDict & | getRTLDict () |
NJMCDecoder (Prog *prog) | |
virtual | ~NJMCDecoder () |
Protected Member Functions | |
Exp * | dis_Num (unsigned num) |
Exp * | dis_Reg (int regNum) |
std::list< Statement * > * | instantiate (ADDRESS pc, const char *name,...) |
Exp * | instantiateNamedParam (char *name,...) |
void | substituteCallArgs (char *name, Exp *&exp,...) |
void | unconditionalJump (const char *name, int size, ADDRESS relocd, int delta, ADDRESS pc, std::list< Statement * > *stmts, DecodeResult &result) |
Protected Attributes | |
char | constrName [84] |
Prog * | prog |
RTLInstDict | RTLDict |
|
Definition at line 52 of file njmcDecoder.cpp. |
|
|
|
Definition at line 268 of file njmcDecoder.cpp. References RTL::appendStmt(), DecodeResult::numBytes, result, DecodeResult::rtl, GotoStatement::setDest(), GotoStatement::setIsComputed(), and SHOW_ASM. Referenced by PPCDecoder::decodeInstruction(). |
|
Definition at line 246 of file njmcDecoder.cpp. References RTL::appendStmt(), DecodeResult::numBytes, result, DecodeResult::rtl, GotoStatement::setDest(), GotoStatement::setIsComputed(), and SHOW_ASM. Referenced by PPCDecoder::decodeInstruction(). |
|
Implemented in PentiumDecoder, PPCDecoder, SparcDecoder, and ST20Decoder. Definition at line 380 of file disassembler.2.m. References _assembly, ADDIL(), addr(), astr, b_06_names, BL(), BLR(), BREAK(), BV(), constrName, COPY(), cr_06_names, ct_06_names, getDword(), killDot(), LDIL(), LDSID(), MFIA(), MFSP(), MTCTL(), MTSP(), NOP, r_06_names, r_11_names, s2_16_names, s3_16_names, t_06_names, t_11_names, t_27_names, to, and x_11_names. |
|
Implemented in PentiumDecoder, PPCDecoder, SparcDecoder, and ST20Decoder. Referenced by decodeRtl(). |
|
Definition at line 212 of file njmcDecoder.cpp. Referenced by SparcDecoder::decodeInstruction(), and PentiumDecoder::decodeInstruction(). |
|
Definition at line 200 of file njmcDecoder.cpp. References Location::regOf(). Referenced by ST20Decoder::decodeInstruction(), PentiumDecoder::dis_Eaddr(), and PentiumDecoder::dis_Mem(). |
|
Definition at line 132 of file decoder.h. References prog. |
|
Definition at line 124 of file decoder.h. References RTLDict. Referenced by PentiumFrontEnd::decodeInstruction(), FrontEnd::getRegName(), and FrontEnd::getRegSize(). |
|
Definition at line 65 of file njmcDecoder.cpp. References DEBUG_DECODER, RTLInstDict::getSignature(), and RTLDict. Referenced by ST20Decoder::decodeInstruction(), SparcDecoder::decodeInstruction(), PPCDecoder::decodeInstruction(), and PentiumDecoder::decodeInstruction(). |
|
Definition at line 111 of file njmcDecoder.cpp. References RTLInstDict::ParamSet, and RTLDict. |
|
Definition at line 150 of file njmcDecoder.cpp. References RTLInstDict::ParamSet, and RTLDict. |
|
Definition at line 225 of file njmcDecoder.cpp. References RTL::appendStmt(), DecodeResult::numBytes, result, DecodeResult::rtl, GotoStatement::setDest(), and SHOW_ASM. Referenced by ST20Decoder::decodeInstruction(), PPCDecoder::decodeInstruction(), and PentiumDecoder::decodeInstruction(). |
|
Definition at line 167 of file decoder.h. Referenced by decodeAssemblyInstruction(). |
|
Definition at line 105 of file decoder.h. Referenced by PentiumDecoder::addReloc(), SparcDecoder::decodeInstruction(), PPCDecoder::decodeInstruction(), PentiumDecoder::decodeInstruction(), PentiumDecoder::getDword(), getProg(), SparcDecoder::isFuncPrologue(), and PentiumDecoder::isFuncPrologue(). |
|
Definition at line 176 of file decoder.h. Referenced by getRTLDict(), instantiate(), instantiateNamedParam(), PentiumDecoder::PentiumDecoder(), PPCDecoder::PPCDecoder(), SparcDecoder::SparcDecoder(), ST20Decoder::ST20Decoder(), and substituteCallArgs(). |