The Pedigree Project  0.1
Classes | Public Member Functions | Public Attributes | List of all members
PPCDisassembler Class Reference

#include <Disassembler.h>

+ Inheritance diagram for PPCDisassembler:
+ Collaboration diagram for PPCDisassembler:

Classes

union  Instruction
 
struct  InstructionFormB
 
struct  InstructionFormD
 
struct  InstructionFormDS
 
struct  InstructionFormI
 
struct  InstructionFormM
 
struct  InstructionFormSC
 
struct  InstructionFormX
 
struct  InstructionFormXFX
 
struct  InstructionFormXL
 
struct  InstructionFormXO
 

Public Member Functions

void setLocation (uintptr_t nLocation)
 
uintptr_t getLocation ()
 
void setMode (size_t nMode)
 
void disassemble (LargeStaticString &text)
 
void twi (Instruction insn, LargeStaticString &text)
 
void mulli (Instruction insn, LargeStaticString &text)
 
void subfic (Instruction insn, LargeStaticString &text)
 
void cmpli (Instruction insn, LargeStaticString &text)
 
void cmpi (Instruction insn, LargeStaticString &text)
 
void addic (Instruction insn, LargeStaticString &text)
 
void addic_dot (Instruction insn, LargeStaticString &text)
 
void addi (Instruction insn, LargeStaticString &text)
 
void addis (Instruction insn, LargeStaticString &text)
 
void bc (Instruction insn, LargeStaticString &text)
 
void sc (Instruction insn, LargeStaticString &text)
 
void b (Instruction insn, LargeStaticString &text)
 
void op13 (Instruction insn, LargeStaticString &text)
 
void rlwimi (Instruction insn, LargeStaticString &text)
 
void rlwinm (Instruction insn, LargeStaticString &text)
 
void rlwnm (Instruction insn, LargeStaticString &text)
 
void ori (Instruction insn, LargeStaticString &text)
 
void oris (Instruction insn, LargeStaticString &text)
 
void xori (Instruction insn, LargeStaticString &text)
 
void xoris (Instruction insn, LargeStaticString &text)
 
void andi_dot (Instruction insn, LargeStaticString &text)
 
void andis_dot (Instruction insn, LargeStaticString &text)
 
void op1e (Instruction insn, LargeStaticString &text)
 
void op1f (Instruction insn, LargeStaticString &text)
 
void lwz (Instruction insn, LargeStaticString &text)
 
void lwzu (Instruction insn, LargeStaticString &text)
 
void lbz (Instruction insn, LargeStaticString &text)
 
void lbzu (Instruction insn, LargeStaticString &text)
 
void stw (Instruction insn, LargeStaticString &text)
 
void stwu (Instruction insn, LargeStaticString &text)
 
void stb (Instruction insn, LargeStaticString &text)
 
void stbu (Instruction insn, LargeStaticString &text)
 
void lhz (Instruction insn, LargeStaticString &text)
 
void lhzu (Instruction insn, LargeStaticString &text)
 
void lha (Instruction insn, LargeStaticString &text)
 
void lhau (Instruction insn, LargeStaticString &text)
 
void sth (Instruction insn, LargeStaticString &text)
 
void sthu (Instruction insn, LargeStaticString &text)
 
void lmw (Instruction insn, LargeStaticString &text)
 
void stmw (Instruction insn, LargeStaticString &text)
 
void lfs (Instruction insn, LargeStaticString &text)
 
void lfsu (Instruction insn, LargeStaticString &text)
 
void lfd (Instruction insn, LargeStaticString &text)
 
void lfdu (Instruction insn, LargeStaticString &text)
 
void stfs (Instruction insn, LargeStaticString &text)
 
void stfsu (Instruction insn, LargeStaticString &text)
 
void stfd (Instruction insn, LargeStaticString &text)
 
void stfdu (Instruction insn, LargeStaticString &text)
 
void op3a (Instruction insn, LargeStaticString &text)
 
void op3b (Instruction insn, LargeStaticString &text)
 
void op3e (Instruction insn, LargeStaticString &text)
 
void op3f (Instruction insn, LargeStaticString &text)
 
void null (Instruction insn, LargeStaticString &text)
 
- Public Member Functions inherited from DisassemblerBase
virtual ~DisassemblerBase ()
 

Public Attributes

uintptr_t m_nLocation
 

Detailed Description

A disassembler for R3000-R6000 MIPS32/64 processors.

Note
Doesn't have 64bit instructions yet.

Definition at line 29 of file kernel/core/processor/ppc_common/Disassembler.h.

Member Function Documentation

void PPCDisassembler::disassemble ( LargeStaticString text)
virtual

Disassembles one instruction and populates the given StaticString with a textual representation.

Implements DisassemblerBase.

Definition at line 94 of file ppc_common/Disassembler.cc.

References MipsDisassembler::m_nLocation.

uintptr_t PPCDisassembler::getLocation ( )
virtual

Gets the location of the next instruction to be disassembled.

Implements DisassemblerBase.

Definition at line 85 of file ppc_common/Disassembler.cc.

References MipsDisassembler::m_nLocation.

void PPCDisassembler::setLocation ( uintptr_t  nLocation)
virtual

Sets the location of the next instruction to be disassembled.

Implements DisassemblerBase.

Definition at line 80 of file ppc_common/Disassembler.cc.

References MipsDisassembler::m_nLocation.

void PPCDisassembler::setMode ( size_t  nMode)
virtual

Sets the mode of disassembly - 16-bit, 32-bit or 64-bit If a disassembler doesn't support a requested mode, it should return without changing anything.

Parameters
nModeMode - 16, 32 or 64.

Implements DisassemblerBase.

Definition at line 90 of file ppc_common/Disassembler.cc.

void PPCDisassembler::twi ( PPCDisassembler::Instruction  insn,
LargeStaticString text 
)

Worker delegates

Definition at line 450 of file ppc_common/Disassembler.cc.

References MipsDisassembler::m_nLocation.

Member Data Documentation

uintptr_t PPCDisassembler::m_nLocation

Current disassembling location in memory.

Definition at line 63 of file kernel/core/processor/ppc_common/Disassembler.h.


The documentation for this class was generated from the following files: