# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64

Wrapper for ARM64 system register access in Unicorn Engine. ARM64 system registers are encoded as a tuple of \(op0, op1, CRn, CRm, op2\)

## Constructor: UnicornArm64


## Static Field: CPACR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: CTR_EL0
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: DCZID_EL0
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: FPCR
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: FPSR
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: MIDR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: MPIDR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: NZCV
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: SCTLR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: TCR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: TPIDR_EL0
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: TPIDR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: TTBR0_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: TTBR1_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Field: UC_ARM64_REG_CP_REG
Type: `int`

Constant value: `24576`

## Static Field: VBAR_EL1
Type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

## Static Method: createSysReg
- parameter: `op0`, type: `int`
- parameter: `op1`, type: `int`
- parameter: `crn`, type: `int`
- parameter: `crm`, type: `int`
- parameter: `op2`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

Description: Create a custom system register encoding
parameter: op0: op0 field
parameter: op1: op1 field
parameter: crn: CRn field
parameter: crm: CRm field
parameter: op2: op2 field
return: The system register structure

## Static Method: parseSysRegName
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`

Description: Parse a system register name like "S3\_0\_C0\_C0\_0" into a structure
parameter: name: The system register name
return: The system register structure

## Static Method: readSysReg
- parameter: `mu`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornEngine`
- parameter: `sysReg`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`
- return type: `long`


## Static Method: writeSysReg
- parameter: `mu`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornEngine`
- parameter: `sysReg`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.emulator.unicorn.UnicornArm64.SysReg`
- parameter: `value`, type: `long`


