java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank
com.pnfsoftware.jeb.core.units.code.asm.processor.arch.RegisterBankArm64
All Implemented Interfaces:
IRegisterBank

public class RegisterBankArm64 extends AbstractRegisterBank
Register bank for an ARM 64-bit (Aarch64, ARM v8) processor.

Note about GIC: the ICV_* registers have the same {op0, op1, CRn, CRm, op2} encodings as the corresponding ICC_* registers. For these encodings, GIC register configuration fields determine which register is accessed. Will use ICC.

  • Field Details

    • regGrp_GP

      public static final int regGrp_GP
      General-purpose register group.
      See Also:
    • regGrp_COPROC

      public static final int regGrp_COPROC
      Coprocessor register group.
      See Also:
    • regGrp_SYS64

      public static final int regGrp_SYS64
      64-bit system register group.
      See Also:
    • regGrp_SIMD

      public static final int regGrp_SIMD
      SIMD register group.
      See Also:
    • regGrp_SIMDV

      public static final int regGrp_SIMDV
      SIMD vector register group.
      See Also:
    • regGrp_IP

      public static final int regGrp_IP
      Instruction-pointer register group.
      See Also:
    • regGrp_Flags

      public static final int regGrp_Flags
      Flags register group.
      See Also:
    • regGrp_Z

      public static final int regGrp_Z
      SVE Z register group.
      See Also:
    • regGrp_P

      public static final int regGrp_P
      SVE predicate register group.
      See Also:
    • regGrp_ZA

      public static final int regGrp_ZA
      SME ZA register group.
      See Also:
    • regGrp_PN

      public static final int regGrp_PN
      SVE predicate-as-counter register group.
      See Also:
    • PC_ID

      public static final int PC_ID
      Program counter register id.
      See Also:
    • ZR_ID

      public static final int ZR_ID
      Zero register id.
      See Also:
    • ZA_ID

      public static final int ZA_ID
      ZA register id.
      See Also:
    • PSTATE_Aliases

      public static final String[] PSTATE_Aliases
      PSTATE aliases indexed by bit position.
  • Method Details

    • getA64SystemRegister

      public static String getA64SystemRegister(int index)
      Retrieve an AArch64 system register name by encoded index.
      Parameters:
      index - encoded system register index
      Returns:
      register name, or null
    • getInstance

      public static RegisterBankArm64 getInstance()
      Retrieve the singleton AArch64 register bank.
      Returns:
      register bank
    • getDescriptionEntryMap

      public Map<Integer,RegisterDescriptionEntry> getDescriptionEntryMap()
      Description copied from class: AbstractRegisterBank
      Get the full-register description entries by register index.
      Specified by:
      getDescriptionEntryMap in class AbstractRegisterBank
      Returns:
      a map of full registers: key=index, value=full register entry