Package ghidra.app.cmd.memory
Class AddByteMappedMemoryBlockCmd
- java.lang.Object
-
- ghidra.app.cmd.memory.AddByteMappedMemoryBlockCmd
-
- All Implemented Interfaces:
Command
public class AddByteMappedMemoryBlockCmd extends java.lang.ObjectCommand for adding byte-mapped memory blocks
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringcommentprotected booleanexecuteprotected booleanisOverlayprotected booleanisVolatileprotected longlengthprotected java.lang.Stringmessageprotected java.lang.Stringnameprotected booleanreadprotected java.lang.Stringsourceprotected Addressstartprotected booleanwrite
-
Constructor Summary
Constructors Constructor Description AddByteMappedMemoryBlockCmd(java.lang.String name, java.lang.String comment, java.lang.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(java.lang.String name, java.lang.String comment, java.lang.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanapplyTo(DomainObject obj)Applies the command to the given domain object.protected MemoryBlockcreateMemoryBlock(Memory memory)java.lang.StringgetName()Returns the name of this command.java.lang.StringgetStatusMsg()Returns the status message indicating the status of the command.
-
-
-
Field Detail
-
message
protected java.lang.String message
-
name
protected final java.lang.String name
-
comment
protected final java.lang.String comment
-
source
protected final java.lang.String source
-
start
protected final Address 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 Detail
-
AddByteMappedMemoryBlockCmd
public AddByteMappedMemoryBlockCmd(java.lang.String name, java.lang.String comment, java.lang.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(java.lang.String name, java.lang.String comment, java.lang.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 Detail
-
createMemoryBlock
protected MemoryBlock createMemoryBlock(Memory memory) throws LockException, MemoryConflictException, AddressOverflowException, java.lang.IllegalArgumentException
- Throws:
LockExceptionMemoryConflictExceptionAddressOverflowExceptionjava.lang.IllegalArgumentException
-
getStatusMsg
public java.lang.String getStatusMsg()
Description copied from interface:CommandReturns the status message indicating the status of the command.- Specified by:
getStatusMsgin interfaceCommand- Returns:
- reason for failure, or null if the status of the command was successful
-
getName
public java.lang.String getName()
Description copied from interface:CommandReturns the name of this command.
-
applyTo
public boolean applyTo(DomainObject obj)
Description copied from interface:CommandApplies the command to the given domain object.
-
-