# Class: com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterData

Common base implementation of a bank of registers.

## Constructor: AbstractRegisterData
- parameter: `layout`, type: `com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank`
- parameter: `endianness`, type: `com.pnfsoftware.jeb.util.io.Endianness`

Description: Create register data.
parameter: layout: register bank layout
parameter: endianness: register byte order

## Protected Field: dirtyRegisters
Type: `java.util.Set<java.lang.Integer>`

## Protected Field: values
Type: `java.util.Map<java.lang.Integer,byte[]>`

## Method: clearAllDirty

Description: Clear all dirty marks.

## Method: clearDirty
- parameter: `regnum`, type: `int`

Description: Clear a register dirty mark.
parameter: regnum: register number

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


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


## Method: getDirtyRegisters
- return type: `java.util.Set<java.lang.Integer>`

Description: Retrieve dirty register numbers.
return: dirty register numbers

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


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


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


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


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

Description: Retrieve the register size in bytes.
parameter: regnum: register number
return: register size in bytes

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


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


## Method: isDirty
- parameter: `regnum`, type: `int`
- return type: `boolean`

Description: Determine whether a register is marked dirty.
parameter: regnum: register number
return: true if dirty

## Method: setAllDirty

Description: Mark all registers with values dirty.

## Method: setDirty
- parameter: `regnum`, type: `int`

Description: Mark a register dirty.
parameter: regnum: register number

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


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


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


## Method: toString
- return type: `java.lang.String`


