Class RegisterBankArm
java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank
com.pnfsoftware.jeb.core.units.code.asm.processor.arch.RegisterBankArm
- All Implemented Interfaces:
IRegisterBank
Register bank for an ARM 32-bit processor.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAPSR alias mask.static final intAPSR_nzcv alias mask.static String[]Banked ARM register names indexed by encoded selector.static final intCPSR register alias index.static final String[]CPSR/APSR aliases indexed by mask.static final intLegacy APSR alias index.static final intLegacy APSR_nzcv alias index.static final intBanked register group.static final intCoprocessor register group.static final intFlags register group.static final intFloating-point system register group.static final intGeneral-purpose register group.static final intSIMD register group.static final intSPSR register alias index.static final String[]SPSR aliases indexed by mask.static final intThreshold used to distinguish system-register bit-start masks.static final StringText used for unpredictable banked-register encodings.Fields inherited from class com.pnfsoftware.jeb.core.units.code.asm.processor.arch.AbstractRegisterBank
REG_GRP_GP, REG_GRP_SPECIAL -
Method Summary
Modifier and TypeMethodDescriptionGet the full-register description entries by register index.static RegisterBankArmRetrieve the singleton ARM register bank.static longgetSpId()Retrieve the standard ARM stack-pointer id.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_BANKED
public static final int regGrp_BANKEDBanked register group.- See Also:
-
regGrp_COPROC
public static final int regGrp_COPROCCoprocessor register group.- See Also:
-
regGrp_SIMD
public static final int regGrp_SIMDSIMD register group.- See Also:
-
regGrp_FP_SYSTEM
public static final int regGrp_FP_SYSTEMFloating-point system register group.- See Also:
-
regGrp_Flags
public static final int regGrp_FlagsFlags register group.- See Also:
-
UNPREDICTABLE
Text used for unpredictable banked-register encodings.- See Also:
-
SYS_BITSTART_MASK_THRESHOLD
public static final int SYS_BITSTART_MASK_THRESHOLDThreshold used to distinguish system-register bit-start masks.- See Also:
-
CPSR_Aliases
CPSR/APSR aliases indexed by mask. -
APSR_MASK
public static final int APSR_MASKAPSR alias mask.- See Also:
-
APSR_nzcv_MASK
public static final int APSR_nzcv_MASKAPSR_nzcv alias mask.- See Also:
-
SPSR_Aliases
SPSR aliases indexed by mask. -
LEGACY_APSR_nzcv
public static final int LEGACY_APSR_nzcvLegacy APSR_nzcv alias index. -
LEGACY_APSR
public static final int LEGACY_APSRLegacy APSR alias index. -
CPSR
public static final int CPSRCPSR register alias index.There are actually 2 Flag registers:
- CPSR/APSR (named differently regarding bits used or instruction)
- SPSR (when not in User Mode)
- See Also:
-
SPSR
public static final int SPSRSPSR register alias index. -
BankedRegisters
Banked ARM register names indexed by encoded selector.
-
-
Method Details
-
getInstance
Retrieve the singleton ARM 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
-
getSpId
public static long getSpId()Retrieve the standard ARM stack-pointer id.- Returns:
- stack-pointer register id
-