Class RegisterBankArm64
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
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final intProgram counter register id.static final String[]PSTATE aliases indexed by bit position.static final intCoprocessor register group.static final intFlags register group.static final intGeneral-purpose register group.static final intInstruction-pointer register group.static final intSVE predicate register group.static final intSVE predicate-as-counter register group.static final intSIMD register group.static final intSIMD vector register group.static final int64-bit system register group.static final intSVE Z register group.static final intSME ZA register group.static final intZA register id.static final intZero register id.Fields inherited from class com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank
REG_GRP_GP, REG_GRP_SPECIAL -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetA64SystemRegister(int index) Retrieve an AArch64 system register name by encoded index.Get the full-register description entries by register index.static RegisterBankArm64Retrieve the singleton AArch64 register bank.Methods inherited from class com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank
add, add, add, format, getAllDescriptionEntries, getCountOfDescriptionEntries, getDescriptionEntries, getDescriptionEntry, getDescriptionEntryById, getDescriptionEntryByName, getDescriptionEntryByName, getDescriptionEntryByType, toString
-
Field Details
-
regGrp_GP
public static final int regGrp_GPGeneral-purpose register group.- See Also:
-
regGrp_COPROC
public static final int regGrp_COPROCCoprocessor register group.- See Also:
-
regGrp_SYS64
public static final int regGrp_SYS6464-bit system register group.- See Also:
-
regGrp_SIMD
public static final int regGrp_SIMDSIMD register group.- See Also:
-
regGrp_SIMDV
public static final int regGrp_SIMDVSIMD vector register group.- See Also:
-
regGrp_IP
public static final int regGrp_IPInstruction-pointer register group.- See Also:
-
regGrp_Flags
public static final int regGrp_FlagsFlags register group.- See Also:
-
regGrp_Z
public static final int regGrp_ZSVE Z register group.- See Also:
-
regGrp_P
public static final int regGrp_PSVE predicate register group.- See Also:
-
regGrp_ZA
public static final int regGrp_ZASME ZA register group.- See Also:
-
regGrp_PN
public static final int regGrp_PNSVE predicate-as-counter register group.- See Also:
-
PC_ID
public static final int PC_IDProgram counter register id.- See Also:
-
ZR_ID
public static final int ZR_IDZero register id.- See Also:
-
ZA_ID
public static final int ZA_IDZA register id.- See Also:
-
PSTATE_Aliases
PSTATE aliases indexed by bit position.
-
-
Method Details
-
getA64SystemRegister
Retrieve an AArch64 system register name by encoded index.- Parameters:
index- encoded system register index- Returns:
- register name, or null
-
getInstance
Retrieve the singleton AArch64 register bank.- Returns:
- register bank
-
getDescriptionEntryMap
Description copied from class:AbstractRegisterBankGet the full-register description entries by register index.- Specified by:
getDescriptionEntryMapin classAbstractRegisterBank- Returns:
- a map of full registers: key=index, value=full register entry
-