A.10.8. 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.

nextAddr must be a hint to the next address that might result in successful disassembly.

mode

contains the execution mode. If 0, use the current execution mode.

desiredCount

can be used to disassemble a sequence of instructions. Up to desiredCount calls are made to CADIDisassemblerCB::ReceiveDisassembly().

The first instruction is the instruction pointed to by address. The sequence of disassembled instructions stops if an error such as, for example, no instruction or illegal address, occurs while attempting to disassemble an instruction

return value

is the status. The possible values are defined by the CADIDisassemblerStatus enumeration. See CADIDisassemblerStatus.

Copyright © 2008-2014 ARM. All rights reserved.ARM DUI 0444M
Non-ConfidentialID051314