com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterData |
![]() |
Processor registers data, consisting of a register bank and their values.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract IRegisterBank |
getBank()
Get the layout used by this register bank.
| ||||||||||
abstract int |
getBitsize(int regnum)
Get the register size in bits.
| ||||||||||
abstract Endianness |
getEndianness()
Get the byte ordering used by the registers of this bank.
| ||||||||||
abstract long |
getFlags()
This convenience method returns the value of the general purpose flag.
| ||||||||||
abstract String |
getName(int regnum)
Get the common name of a register.
| ||||||||||
abstract long |
getProgramCounter()
This convenience method returns the value of the program counter register.
| ||||||||||
abstract byte[] |
getValue(int regnum)
Get the binary value of a register.
| ||||||||||
abstract Long |
getValueAsLong(int regnum)
Get the value of a register that does not exceed 64 bits, as a long, using the bank's set
byte ordering.
| ||||||||||
abstract boolean |
setValue(int regnum, byte[] bytes)
Set the binary value of a register.
| ||||||||||
abstract boolean |
setValueAsLong(int regnum, long value)
Set the value of a register, if it does not exceed 64 bits.
| ||||||||||
abstract int |
size()
Retrieve the number of registers defined in the layout used by this register bank.
|
Get the layout used by this register bank.
Get the register size in bits. Convenience method.
regnum | register number |
---|
Get the byte ordering used by the registers of this bank.
This convenience method returns the value of the general purpose flag. Which register(s) that value maps to is processor-dependent.
CannotReadRegisterException | on error |
---|
Get the common name of a register. Convenience method.
regnum | register number |
---|
This convenience method returns the value of the program counter register. The value should be interpreted as an unsigned 64-bit integer.
CannotReadRegisterException | on error |
---|
Get the binary value of a register. This method returns null if the value is not available. The bytes are laid out in the target processor byte order.
Note: If the register size is not a multiple of 8, the resulting integer value should be masked to discard the irrelevant upper bits.
regnum | register number |
---|
Get the value of a register that does not exceed 64 bits, as a long, using the bank's set byte ordering.
regnum | register number |
---|
Set the binary value of a register.
regnum | register number |
---|---|
bytes | raw bytes (regardless of byte ordering) |
Set the value of a register, if it does not exceed 64 bits.
regnum | register number |
---|---|
value | register value |
Retrieve the number of registers defined in the layout used by this register bank. Convenience method.