B2R2


B2R2.FrontEnd.BinLifter.ARM64 Namespace

Type/Module Description

AddressingMode

Amount

ARM64Instruction

The internal representation for an ARM64 instruction used by our disassembler and lifter.

ARM64Parser

Parser for 64-bit ARM instructions. Parser will return a platform-agnostic instruction type (Instruction).

ARM64RegisterBay

ARM64RegisterSet (Module)

ARM64RegisterSet (Type)

ARM64TranslationContext

Translation context for 64-bit ARM instructions.

Basis

Condition

Condition Code. The A64 ISA has some instructions that set condition flags or test condition codes or both.

Const

DCOpr

ExtendRegisterOffset

ExtendType

ImmOffset

Index

InsInfo

Basic information for a single ARMv8 instruction obtained after parsing.

InvalidRegAccessException

This is a fatal error that happens when B2R2 tries to access non-existing register symbol. This exception should not happen in general.

InvalidTypeException

Label

Offset

Opcode

ARMv8 (AArch64) opcodes. This type should be generated using scripts/genOpcode.fsx from the `ARM64SupportedOpcodes.txt` file.

Operand

Operands

OptionOpr

Parser

ARMv8 instruction parser.

PrefetchOperation

Pstate

Register (Module)

This module exposes several useful functions to handle ARMv8 registers.

Register (Type)

ARMv8 registers. Below is how we encode register as a 20-bit integer.

   19 18 17 16 15        ...        00 (bit position)
   +----------+----------------------+
   | Kind     |  Register ID.        |
   +----------+----------------------+

   # Kind (19 - 16)
   - 0000 : General purpose registers.
   - 0001 : SIMD registers.
   - 0010 : VFP registers.
   - 0011 : Co-processor registers.
   - 0100 : Control flags.
   - 0101 : Control register.

RegisterOffset

Shift

SIMDFPRegister

SIMDFPscalRegister

SIMD&FP Register

SIMDOperand

SIMDVector

SIMDVectorRegister

SIMD vector register

SIMDVectorRegisterWithIndex

SIMD vector register with element index

SRType

SysOperand

SystemOp

UnallocatedException

UnknownRegException