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

The register bank service is a global registry maintaining processors' register banks, used by native code objects. 

 Typically, register banks are added to this service in a [code plugin](AbstractNativeDisassemblerPlugin) static initializer block.

## Method: add
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- parameter: `bank`, type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank`

Description: Register a register bank for a given processor. Only a single bank can be associated with a given processor.
parameter: proctype: processor type
parameter: bank: register bank
return: the previous bank associated with the given processor type, null if there was none

## Method: get
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.IRegisterBank`

Description: Retrieve the register bank associated with the given processor type, if any.
parameter: proctype: processor type
return: a bank or null

## Method: getSupportedProcessors
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.codeobject.ProcessorType>`

Description: Retrieve the list of processor types having a register bank, managed by this service.
return: a collection of unique processor types

## Method: remove
- parameter: `proctype`, type: `com.pnfsoftware.jeb.core.units.codeobject.ProcessorType`
- return type: `boolean`

Description: Unregister a register bank.
parameter: proctype: processor type
return: success indicator: true if the bank was removed, false otherwise \(e.g. it was not         registered\)

## Static Method: getInstance
- return type: `com.pnfsoftware.jeb.core.units.code.asm.processor.RegisterBankService`

Description: Get the shared register bank service.
return: register bank service

