Interface IRegisterBank

All Known Implementing Classes:
AbstractRegisterBank, AbstractRegisterBank2, RegisterBankArm, RegisterBankArm64, RegisterBankDummy1, RegisterBankEmpty, RegisterBankMips, RegisterBankMips64, RegisterBankX64, RegisterBankX86

public interface IRegisterBank
A layout definition for a bank of registers.

Bank layout for common processors are defined in the arch sub-package.

See Also:
  • Method Details

    • getCountOfDescriptionEntries

      int getCountOfDescriptionEntries()
      Get the number of fill register entries. Slices are not counted.
      Returns:
    • getDescriptionEntries

      Collection<RegisterDescriptionEntry> getDescriptionEntries()
      Get the list of full register entries. Slices are not returned.
      Returns:
    • getDescriptionEntry

      RegisterDescriptionEntry getDescriptionEntry(int regnum)
      Get a full register entry by index (do not confuse with id). Slices cannot be retrieved.
      Parameters:
      regnum -
      Returns:
    • getDescriptionEntryByType

      RegisterDescriptionEntry getDescriptionEntryByType(RegisterType type)
      Get a full register entry by type. Slices cannot be retrieved.
      Parameters:
      type -
      Returns:
    • getAllDescriptionEntries

      Collection<RegisterDescriptionEntry> getAllDescriptionEntries()
      Get the list of all (full and slices) register entries.
      Returns:
    • getDescriptionEntryByName

      RegisterDescriptionEntry getDescriptionEntryByName(String name)
      Get a register entry (full or slice) by name.
      Parameters:
      name -
      Returns:
    • getDescriptionEntryByName

      RegisterDescriptionEntry getDescriptionEntryByName(Collection<String> names)
      Get a register entry (full or slice) by name, using a list of candidate names. Useful when a register goes by different names.
      Parameters:
      names - candidate names
      Returns:
    • getDescriptionEntryById

      RegisterDescriptionEntry getDescriptionEntryById(long id)
      Get a register entry (full or slice) by id (do not confuse with index).
      Parameters:
      id -
      Returns:
    • format

      String format(int type)
      Format the register bank as a string.
      Parameters:
      type - 0: short-form (i.e., #toString()), 1: user-friendly long-form
      Returns:
      the formatted bank