PPCDecoder Class Reference

#include <frontend/ppcdecoder.h>

Inheritance diagram for PPCDecoder:

NJMCDecoder List of all members.

Detailed Description

Definition at line 29 of file ppcdecoder.h.

Public Member Functions

virtual int decodeAssemblyInstruction (ADDRESS pc, int delta)
virtual DecodeResultdecodeInstruction (ADDRESS pc, int delta)
 PPCDecoder (Prog *prog)

Private Member Functions

RTLcreateBranchRtl (ADDRESS pc, std::list< Statement * > *stmts, const char *name)
Expdis_Eaddr (ADDRESS pc, int size=0)
Expdis_RAmbz (unsigned r)
Expdis_Reg (unsigned r)
Expdis_RegImm (ADDRESS pc)
DWord getDword (ADDRESS lc)
bool isFuncPrologue (ADDRESS hostPC)
void unused (int x)

Constructor & Destructor Documentation

PPCDecoder::PPCDecoder Prog prog  ) 

Definition at line 435 of file ppc/decoder.m.

References file, Boomerang::get(), Boomerang::getProgPath(), RTLInstDict::readSSLFile(), and NJMCDecoder::RTLDict.

Member Function Documentation

RTL* PPCDecoder::createBranchRtl ADDRESS  pc,
std::list< Statement * > *  stmts,
const char *  name

virtual int PPCDecoder::decodeAssemblyInstruction ADDRESS  pc,
int  delta

Implements NJMCDecoder.

DecodeResult & PPCDecoder::decodeInstruction ADDRESS  pc,
int  delta

Implements NJMCDecoder.

Definition at line 109 of file ppc/decoder.m.

References RTL::appendStmt(), BRANCH_JE, BRANCH_JNE, BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, NJMCDecoder::computedCall(), NJMCDecoder::computedJump(), DIS_BEG, DIS_CRBA, DIS_CRBB, DIS_CRBD, DIS_CRFD, DIS_DISP, DIS_END, DIS_FA, DIS_FB, DIS_FD, DIS_FS, DIS_INDEX, DIS_NZRA, DIS_NZRB, DIS_RA, DIS_RAZ, DIS_RB, DIS_RD, DIS_RD_NUM, DIS_RELADDR, DIS_RS, DIS_RS_NUM, DIS_SIMM, DIS_UIMM, end(), NJMCDecoder::instantiate(), NO_ADDRESS, NULL, DecodeResult::numBytes, opMachFtr, PPC_COND_JUMP, NJMCDecoder::prog, DecodeResult::reset(), result, DecodeResult::rtl, GotoStatement::setDest(), CallStatement::setDestProc(), GotoStatement::setIsComputed(), Prog::setNewProc(), SHOW_ASM, to, NJMCDecoder::unconditionalJump(), unused(), and DecodeResult::valid.

Exp* PPCDecoder::dis_Eaddr ADDRESS  pc,
int  size = 0

Exp * PPCDecoder::dis_RAmbz unsigned  r  )  [private]

Definition at line 390 of file ppc/decoder.m.

References Location::regOf().

Exp * PPCDecoder::dis_Reg unsigned  r  )  [private]

Definition at line 379 of file ppc/decoder.m.

References Location::regOf().

Exp* PPCDecoder::dis_RegImm ADDRESS  pc  )  [private]

DWord PPCDecoder::getDword ADDRESS  lc  )  [private]

Definition at line 423 of file ppc/decoder.m.

bool PPCDecoder::isFuncPrologue ADDRESS  hostPC  )  [private]

Definition at line 406 of file ppc/decoder.m.

void PPCDecoder::unused int  x  )  [private]

Definition at line 87 of file ppc/decoder.m.

Referenced by decodeInstruction().

The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:44 2006 for Boomerang by  doxygen 1.4.6