Package ghidra.app.cmd.disassemble
Class ArmDisassembleCommand
- java.lang.Object
-
- ghidra.framework.cmd.BackgroundCommand
-
- ghidra.app.cmd.disassemble.DisassembleCommand
-
- ghidra.app.cmd.disassemble.ArmDisassembleCommand
-
- All Implemented Interfaces:
Command
public class ArmDisassembleCommand extends DisassembleCommand
Command object for performing Arm/Thumb disassembly
-
-
Field Summary
-
Fields inherited from class ghidra.app.cmd.disassemble.DisassembleCommand
disassemblyPerformed, languageError, nonExecutableStart, startSet, unalignedStart, useDefaultRepeatPatternBehavior
-
-
Constructor Summary
Constructors Constructor Description ArmDisassembleCommand(Address start, AddressSetView restrictedSet, boolean thumbMode)
Constructor for ArmDisassembleCommand.ArmDisassembleCommand(AddressSetView startSet, AddressSetView restrictedSet, boolean thumbMode)
Constructor for ArmDisassembleCommand.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
applyTo(DomainObject obj, TaskMonitor monitor)
Method called when this command is to apply changes to the given domain object.void
setInitialContext(RegisterValue initialContextValue)
Allows a specified initial context to be used at all start points.void
setSeedContext(DisassemblerContextImpl seedContext)
Allows the disassembler context to be seeded for the various disassembly start points which may be encountered using the future flow state of the specified seedContext.-
Methods inherited from class ghidra.app.cmd.disassemble.DisassembleCommand
doDisassembly, doDisassemblySeeds, enableCodeAnalysis, getDisassembledAddressSet, getStatusMsg
-
Methods inherited from class ghidra.framework.cmd.BackgroundCommand
applyTo, canCancel, dispose, getName, hasProgress, isModal, setStatusMsg, taskCompleted, toString
-
-
-
-
Constructor Detail
-
ArmDisassembleCommand
public ArmDisassembleCommand(AddressSetView startSet, AddressSetView restrictedSet, boolean thumbMode)
Constructor for ArmDisassembleCommand.- Parameters:
startSet
- set of addresses to be the start of a disassembly. The Command object will attempt to start a disassembly at each address in this set.restrictedSet
- addresses that can be disassembled. a null set implies no restrictionsthumbMode
- pass true if the disassembling in Thumb Mode
-
ArmDisassembleCommand
public ArmDisassembleCommand(Address start, AddressSetView restrictedSet, boolean thumbMode)
Constructor for ArmDisassembleCommand.- Parameters:
start
- address to be the start of a disassembly.restrictedSet
- addresses that can be disassembled. a null set implies no restrictionsthumbMode
- pass true if the disassembling in Thumb Mode
-
-
Method Detail
-
setSeedContext
public void setSeedContext(DisassemblerContextImpl seedContext)
Description copied from class:DisassembleCommand
Allows the disassembler context to be seeded for the various disassembly start points which may be encountered using the future flow state of the specified seedContext. Any initial context set via theDisassembleCommand.setInitialContext(RegisterValue)
method will take precedence when combined with any seed values. The seedContext should remain unchanged while disassembler command is actively running.- Overrides:
setSeedContext
in classDisassembleCommand
- Parameters:
seedContext
- seed context or null
-
setInitialContext
public void setInitialContext(RegisterValue initialContextValue)
Description copied from class:DisassembleCommand
Allows a specified initial context to be used at all start points. This value will take precedence when combined with any individual seed context values specified by theDisassembleCommand.setSeedContext(DisassemblerContextImpl)
method. The defaultSeedContext should remain unchanged while disassembler command is actively running.- Overrides:
setInitialContext
in classDisassembleCommand
- Parameters:
initialContextValue
- the initial context value to set or null to clear it
-
applyTo
public boolean applyTo(DomainObject obj, TaskMonitor monitor)
Description copied from class:BackgroundCommand
Method called when this command is to apply changes to the given domain object. A monitor is provided to display status information about the command as it executes in the background.- Overrides:
applyTo
in classDisassembleCommand
- Parameters:
obj
- domain object that will be affected by the commandmonitor
- monitor to show progress of the command- Returns:
- true if the command applied successfully
-
-