Package ghidra.app.cmd.memory
Class AddByteMappedMemoryBlockCmd
java.lang.Object
ghidra.app.cmd.memory.AddByteMappedMemoryBlockCmd
- All Implemented Interfaces:
Command
Command for adding byte-mapped memory blocks
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAddByteMappedMemoryBlockCmd
(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with 1:1 byte mapping schemeAddByteMappedMemoryBlockCmd
(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, ByteMappingScheme byteMappingScheme, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with a specified byte mapping scheme. -
Method Summary
Modifier and TypeMethodDescriptionboolean
applyTo
(DomainObject obj) Applies the command to the given domain object.protected MemoryBlock
createMemoryBlock
(Memory memory) getName()
Returns the name of this command.Returns the status message indicating the status of the command.
-
Field Details
-
message
-
name
-
comment
-
source
-
start
-
length
protected final long length -
read
protected final boolean read -
write
protected final boolean write -
execute
protected final boolean execute -
isVolatile
protected final boolean isVolatile -
isOverlay
protected final boolean isOverlay
-
-
Constructor Details
-
AddByteMappedMemoryBlockCmd
public AddByteMappedMemoryBlockCmd(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, ByteMappingScheme byteMappingScheme, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with a specified byte mapping scheme. Byte mapping scheme is specified by two values schemeDestByteCount and schemeSrcByteCount which may be viewed as a ratio of number of destination bytes to number of mapped source bytes. When the destination consumes bytes from the mapped source it consume schemeDestByteCount bytes then skips (schemeSrcByteCount - schemeDestByteCount) bytes before repeating the mapping sequence over the extent of the destination block. The block start address and source mappedAddress must be chosen carefully as they relate to the mapping scheme when it is anything other than 1:1.- Parameters:
name
- the name for the new memory block.comment
- the comment for the blocksource
- indicates what is creating the blockstart
- the start address for the the blocklength
- the length of the new blockread
- sets the block's read permission flagwrite
- sets the block's write permission flagexecute
- sets the block's execute permission flagisVolatile
- sets the block's volatile flagmappedAddress
- the address in memory that will serve as the bytes source for the blockbyteMappingScheme
- byte mapping scheme (may be null for 1:1 mapping)isOverlay
- if true, the block will be created in a new overlay address space.
-
AddByteMappedMemoryBlockCmd
public AddByteMappedMemoryBlockCmd(String name, String comment, String source, Address start, long length, boolean read, boolean write, boolean execute, boolean isVolatile, Address mappedAddress, boolean isOverlay) Create a new AddByteMappedMemoryBlockCmd with 1:1 byte mapping scheme- Parameters:
name
- the name for the new memory block.comment
- the comment for the blocksource
- indicates what is creating the blockstart
- the start address for the the blocklength
- the length of the new blockread
- sets the block's read permission flagwrite
- sets the block's write permission flagexecute
- sets the block's execute permission flagisVolatile
- sets the block's volatile flagmappedAddress
- the address in memory that will serve as the bytes source for the blockisOverlay
- if true, the block will be created in a new overlay address space.
-
-
Method Details
-
createMemoryBlock
protected MemoryBlock createMemoryBlock(Memory memory) throws LockException, MemoryConflictException, AddressOverflowException, IllegalArgumentException -
getStatusMsg
Description copied from interface:Command
Returns the status message indicating the status of the command.- Specified by:
getStatusMsg
in interfaceCommand
- Returns:
- reason for failure, or null if the status of the command was successful
-
getName
Description copied from interface:Command
Returns the name of this command. -
applyTo
Description copied from interface:Command
Applies the command to the given domain object.
-