# Interface: com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterData

Processor registers data, consisting of a register bank and their concrete values.

## Method: getBank
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank`

Description: Get the layout used by this register bank.
return: non\-null layout

## Method: getBitsize
- parameter: `regnum`, type: `int`
- return type: `int`

Description: Get the register size in bits. Convenience method.
parameter: regnum: register number
return: register size in bits

## Method: getEndianness
- return type: `com.pnfsoftware.jeb.util.io.Endianness`

Description: Get the byte ordering used by the registers of this bank.
return: non\-null endianness

## Method: getFlags
- return type: `long`

Description: This convenience method returns the value of the general purpose flag. Which register\(s\) that value maps to is processor\-dependent.
return: the flags value
throws: on error

## Method: getName
- parameter: `regnum`, type: `int`
- return type: `java.lang.String`

Description: Get the common name of a register. Convenience method.
parameter: regnum: register number
return: register name

## Method: getProgramCounter
- return type: `long`

Description: This convenience method returns the value of the program counter register. The value should be interpreted as an unsigned 64\-bit integer.
return: the PC value
throws: on error

## Method: getValue
- parameter: `regnum`, type: `int`
- return type: `byte[]`

Description: 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.
parameter: regnum: register number
return: raw bytes \(regardless of byte ordering\); null if no value was set for the register

## Method: getValueAsLong
- parameter: `regnum`, type: `int`
- return type: `java.lang.Long`

Description: Get the value of a register that does not exceed 64 bits, as a long, using the bank's set byte ordering.
parameter: regnum: register number
return: null on error \(eg, no value set for given register, value does not fit on 64\-bit\)

## Method: setValue
- parameter: `regnum`, type: `int`
- parameter: `bytes`, type: `byte[]`
- return type: `boolean`

Description: Set the binary value of a register.
parameter: regnum: register number
parameter: bytes: raw bytes \(regardless of byte ordering\)
return: success indicator

## Method: setValueAsLong
- parameter: `regnum`, type: `int`
- parameter: `value`, type: `long`
- return type: `boolean`

Description: Set the value of a register, if it does not exceed 64 bits.
parameter: regnum: register number
parameter: value: register value
return: success indicator

## Method: size
- return type: `int`

Description: Retrieve the number of registers defined in the layout used by this register bank. Convenience method.
return: number of registers

