op0域提供了system instruction类型的最顶层编码分类,它的值有:
0b00 These encodings provide:
Instructions with an immediate field for accessing PSTATE, the current PE state.
The architectural hint instructions.
Barriers and the CLREX instruction.
0b01 These encodings provide:
Cache maintenance instructions.
TLB maintenance instructions.
Address translation instructions.
Prediction restriction instructions.
BRBE instructions.
0b10 These encodings provide moves to and from:
Legacy AArch32 System registers for execution environments, to provide access to these registers from higher Exception levels that are using AArch64.
Debug and trace registers.
0b11 These encodings provide:
Moves to and from Non-debug System registers. The accessed registers provide system control, and system status information.
Access to Special-purpose registers.
记忆原则就是43522,4是op1的类别,3522分别对应op1为0,1,,2,3的类别。
3. op0之下的分类
在上面我们看到系统寄存器的分类取决于{op0, op1, CRn, CRm, op2}参数。op0决定大类,在之下的根据op1,op2,CRn,CRm还可以继续细分有:
上述是总体小类别划分的总结。
op0 == 0b00
op0 == 0b01
op0 == 0b10
op0 == 0b11