Ghidra 11.3.2
Ghidra internal decompiler documentation.
Loading...
Searching...
No Matches
ghidra::DisassemblyEngine Class Reference
Inheritance diagram for ghidra::DisassemblyEngine:
[legend]
Collaboration diagram for ghidra::DisassemblyEngine:
[legend]

Public Member Functions

void init (const Translate *t)
 
virtual void dump (const Address &addr, OpCode opc, VarnodeData *outvar, VarnodeData *vars, int4 isize)
 The main pcode emit method.
 
void disassemble (const Address &addr, DisassemblyResult &res)
 
void addTarget (const Address &addr)
 
- Public Member Functions inherited from ghidra::PcodeEmit
virtual ~PcodeEmit (void)
 Virtual destructor.
 
void decodeOp (const Address &addr, Decoder &decoder)
 Emit pcode directly from an <op> element.
 

Private Attributes

const Translatetrans
 
vector< Addressjumpaddr
 
set< uintb > targetoffsets
 
OpCode lastop
 
bool hascall
 
bool hitsaddress
 
uintb targethit
 

Member Function Documentation

◆ dump()

void ghidra::DisassemblyEngine::dump ( const Address addr,
OpCode  opc,
VarnodeData outvar,
VarnodeData vars,
int4  isize 
)
virtual

The main pcode emit method.

A single pcode instruction is returned to the application via this method. Particular applications override it to tailor how the operations are used.

Parameters
addris the Address of the machine instruction
opcis the opcode of the particular pcode instruction
outvarif not null is a pointer to data about the output varnode
varsis a pointer to an array of VarnodeData for each input varnode
isizeis the number of input varnodes

Implements ghidra::PcodeEmit.

References ghidra::CPUI_BRANCH, ghidra::CPUI_BRANCHIND, ghidra::CPUI_CALL, ghidra::CPUI_CALLIND, ghidra::CPUI_CBRANCH, ghidra::CPUI_COPY, ghidra::CPUI_LOAD, and ghidra::VarnodeData::offset.


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