| com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank |
Known Indirect Subclasses
|
A bank of registers, consisting of a bank layout and registers data.
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 IRegisterBankLayout |
getLayout()
Get the layout used by this register bank.
| ||||||||||
| 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 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 layout used by this register bank.
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.