| com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank |
Definition for bank of registers. The common names as well are indexes will be defined by contract. Note that a register value may not be known.
CONTRACTS FOR BANK LAYOUTS FOR COMMON PROCESSORS:
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| abstract byte[] |
getBytes(int index)
Get the binary value of a register.
| ||||||||||
| abstract long |
getFlags()
This convenience method returns the value of the general purpose flag.
| ||||||||||
| abstract String |
getName(int index)
Get the common name of a register.
| ||||||||||
| abstract long |
getProgramCounter()
This convenience method returns the value of the program counter register.
| ||||||||||
| abstract int |
getSize(int index)
Get the register size, in bits.
| ||||||||||
| abstract int |
size()
Number of registers held in this bank.
| ||||||||||
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.
| index | register index, should be less than size() |
|---|
This convenience method returns the value of the general purpose flag. Which register(s) that value maps to is processor-dependent.
Get the common name of a register.
| index | register index, should be less than size() |
|---|
This convenience method returns the value of the program counter register. The value should be interpreted as an unsigned 64-bit integer.
Get the register size, in bits.
| index | register index, should be less than size() |
|---|
Number of registers held in this bank.