| |||
Home > Class Reference > The CADIDisassembler class > CADIDisassembler::GetDisassembly() |
Function enables standard type disassembly. Each disassembled
instruction triggers the CADIDisassembler::ReceiveDisassembly()
callback.
virtual CADIDisassemblerStatus CADIDisassembler::GetDisassembly( CADIDisassemblerCB *callback, const CADIAddr_t &address, CADIAddr_t &nextAddr, const uint32_t mode, uint32_t desiredCount = 1) =0;
where:
callback
is the callback object to receive the disassembly.
address
passes the address of the instruction to disassemble
and to return the address of the next valid instruction. Mandatory
if the return value is CADI_DISASSEMBLER_STATUS_NO_INSTRUCTION
or CADI_DISASSEMBLER_STATUS_ILLEGAL_ADDRESS
.
nextAddr
returns the address of the next instruction. This
must be used if the return value is CADI_DISASSEMBLER_STATUS_NO_INSTRUCTION
or CADI_DISASSEMBLER_STATUS_ILLEGAL_ADDRESS
.
must
be a hint to the next address that might result in successful disassembly.nextAddr
mode
contains the execution mode. If 0, use the current execution mode.
desiredCount
can be used to disassemble a sequence of instructions.
Up to
calls are
made to desiredCount
CADIDisassemblerCB::ReceiveDisassembly()
.
The first instruction is the instruction pointed to by
.
The sequence of disassembled instructions stops if an error such
as, for example, no instruction or illegal address, occurs while
attempting to disassemble an instructionaddress
return value
is the status. The possible values are defined by
the CADIDisassemblerStatus
enumeration. See CADIDisassemblerStatus.