Changeset 105731 in vbox for trunk/src/VBox/Disassembler/DisasmTables-armv8-a64.cpp
- Timestamp:
- Aug 19, 2024 4:57:30 PM (6 months ago)
- svn:sync-xref-src-repo-rev:
- 164436
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmTables-armv8-a64.cpp
r100046 r105731 59 59 /* UDF */ 60 60 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_aArmV8A64InsnRsvd) 61 DIS_ARMV8_OP(0xffff0000, 0x00000000, "udf %I" ,OP_ARMV8_A64_UDF, DISOPTYPE_INVALID)61 DIS_ARMV8_OP(0xffff0000, 0x00000000, "udf" , OP_ARMV8_A64_UDF, DISOPTYPE_INVALID) 62 62 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_aArmV8A64InsnRsvd, 0 /*fClass*/, 63 63 kDisArmV8OpcDecodeNop, 0xffff0000, 16) 64 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 0, 16 ),64 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 0, 16, 0 /*idxParam*/), 65 65 DIS_ARMV8_INSN_PARAM_NONE, 66 66 DIS_ARMV8_INSN_PARAM_NONE, … … 71 71 /* ADR/ADRP */ 72 72 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Adr) 73 DIS_ARMV8_OP(0x9f000000, 0x10000000, "adr %X,%I" ,OP_ARMV8_A64_ADR, DISOPTYPE_HARMLESS),74 DIS_ARMV8_OP(0x9f000000, 0x90000000, "adrp %X,%I" ,OP_ARMV8_A64_ADRP, DISOPTYPE_HARMLESS)73 DIS_ARMV8_OP(0x9f000000, 0x10000000, "adr" , OP_ARMV8_A64_ADR, DISOPTYPE_HARMLESS), 74 DIS_ARMV8_OP(0x9f000000, 0x90000000, "adrp" , OP_ARMV8_A64_ADRP, DISOPTYPE_HARMLESS) 75 75 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Adr, DISARMV8INSNCLASS_F_FORCED_64BIT, 76 76 kDisArmV8OpcDecodeNop, RT_BIT_32(31), 31) 77 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),78 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmAdr, 0, 0 ),77 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 78 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmAdr, 0, 0, 1 /*idxParam*/), 79 79 DIS_ARMV8_INSN_PARAM_NONE, 80 80 DIS_ARMV8_INSN_PARAM_NONE … … 84 84 /* ADD/ADDS/SUB/SUBS */ 85 85 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64AddSubImm) 86 DIS_ARMV8_OP(0x7f800000, 0x11000000, "add %X,%X,%I" ,OP_ARMV8_A64_ADD, DISOPTYPE_HARMLESS),87 DIS_ARMV8_OP(0x7f800000, 0x31000000, "adds %X,%X,%I" ,OP_ARMV8_A64_ADDS, DISOPTYPE_HARMLESS),88 DIS_ARMV8_OP(0x7f800000, 0x51000000, "sub %X,%X,%I" ,OP_ARMV8_A64_SUB, DISOPTYPE_HARMLESS),89 DIS_ARMV8_OP(0x7f800000, 0x71000000, "subs %X,%X,%I" ,OP_ARMV8_A64_SUBS, DISOPTYPE_HARMLESS),86 DIS_ARMV8_OP(0x7f800000, 0x11000000, "add" , OP_ARMV8_A64_ADD, DISOPTYPE_HARMLESS), 87 DIS_ARMV8_OP(0x7f800000, 0x31000000, "adds" , OP_ARMV8_A64_ADDS, DISOPTYPE_HARMLESS), 88 DIS_ARMV8_OP(0x7f800000, 0x51000000, "sub" , OP_ARMV8_A64_SUB, DISOPTYPE_HARMLESS), 89 DIS_ARMV8_OP(0x7f800000, 0x71000000, "subs" , OP_ARMV8_A64_SUBS, DISOPTYPE_HARMLESS), 90 90 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64AddSubImm, DISARMV8INSNCLASS_F_SF, 91 91 kDisArmV8OpcDecodeNop, RT_BIT_32(29) | RT_BIT_32(30), 29) 92 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),93 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 5 ),94 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 10, 12 ),92 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 93 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 5, 1 /*idxParam*/), 94 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 10, 12, 2 /*idxParam*/), 95 95 DIS_ARMV8_INSN_PARAM_NONE 96 96 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; … … 99 99 /* AND/ORR/EOR/ANDS */ 100 100 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64LogicalImm) 101 DIS_ARMV8_OP(0x7f800000, 0x12000000, "and %X,%X,%I" ,OP_ARMV8_A64_AND, DISOPTYPE_HARMLESS),102 DIS_ARMV8_OP(0x7f800000, 0x32000000, "orr %X,%X,%I" ,OP_ARMV8_A64_ORR, DISOPTYPE_HARMLESS),103 DIS_ARMV8_OP(0x7f800000, 0x52000000, "eor %X,%X,%I" ,OP_ARMV8_A64_EOR, DISOPTYPE_HARMLESS),104 DIS_ARMV8_OP(0x7f800000, 0x72000000, "ands %X,%X,%I" ,OP_ARMV8_A64_ANDS, DISOPTYPE_HARMLESS),101 DIS_ARMV8_OP(0x7f800000, 0x12000000, "and" , OP_ARMV8_A64_AND, DISOPTYPE_HARMLESS), 102 DIS_ARMV8_OP(0x7f800000, 0x32000000, "orr" , OP_ARMV8_A64_ORR, DISOPTYPE_HARMLESS), 103 DIS_ARMV8_OP(0x7f800000, 0x52000000, "eor" , OP_ARMV8_A64_EOR, DISOPTYPE_HARMLESS), 104 DIS_ARMV8_OP(0x7f800000, 0x72000000, "ands" , OP_ARMV8_A64_ANDS, DISOPTYPE_HARMLESS), 105 105 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64LogicalImm, DISARMV8INSNCLASS_F_SF, 106 106 kDisArmV8OpcDecodeNop, RT_BIT_32(29) | RT_BIT_32(30), 29) 107 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),108 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 6 ),109 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmsImmrN, 10, 13 ),107 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 108 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 6, 1 /*idxParam*/), 109 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmsImmrN, 10, 13, 2 /*idxParam*/), 110 110 DIS_ARMV8_INSN_PARAM_NONE 111 111 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; … … 114 114 /* MOVN/MOVZ/MOVK */ 115 115 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64MoveWide) 116 DIS_ARMV8_OP(0x7f800000, 0x12800000, "movn %X,%I LSL %I",OP_ARMV8_A64_MOVN, DISOPTYPE_HARMLESS),116 DIS_ARMV8_OP(0x7f800000, 0x12800000, "movn", OP_ARMV8_A64_MOVN, DISOPTYPE_HARMLESS), 117 117 INVALID_OPCODE, 118 DIS_ARMV8_OP(0x7f800000, 0x52800000, "movz %X,%I LSL %I" ,OP_ARMV8_A64_MOVZ, DISOPTYPE_HARMLESS),119 DIS_ARMV8_OP(0x7f800000, 0x72800000, "movk %X,%I LSL %I" ,OP_ARMV8_A64_MOVK, DISOPTYPE_HARMLESS),118 DIS_ARMV8_OP(0x7f800000, 0x52800000, "movz" , OP_ARMV8_A64_MOVZ, DISOPTYPE_HARMLESS), 119 DIS_ARMV8_OP(0x7f800000, 0x72800000, "movk" , OP_ARMV8_A64_MOVK, DISOPTYPE_HARMLESS), 120 120 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64MoveWide, DISARMV8INSNCLASS_F_SF, 121 121 kDisArmV8OpcDecodeNop, RT_BIT_32(29) | RT_BIT_32(30), 29) 122 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),123 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 16 ),124 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseHw, 21, 2 ),122 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 123 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 16, 1 /*idxParam*/), 124 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseHw, 21, 2, 2 /*idxParam*/), 125 125 DIS_ARMV8_INSN_PARAM_NONE 126 126 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; … … 129 129 /* SBFM/BFM/UBFM */ 130 130 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Bitfield) 131 DIS_ARMV8_OP(0x7f800000, 0x13000000, "sbfm %X,%X,%I",OP_ARMV8_A64_SBFM, DISOPTYPE_HARMLESS),132 DIS_ARMV8_OP(0x7f800000, 0x33000000, "bfm %X,%X,%I",OP_ARMV8_A64_BFM, DISOPTYPE_HARMLESS),133 DIS_ARMV8_OP(0x7f800000, 0x23000000, "ubfm %X,%X,%I",OP_ARMV8_A64_UBFM, DISOPTYPE_HARMLESS),131 DIS_ARMV8_OP(0x7f800000, 0x13000000, "sbfm", OP_ARMV8_A64_SBFM, DISOPTYPE_HARMLESS), 132 DIS_ARMV8_OP(0x7f800000, 0x33000000, "bfm", OP_ARMV8_A64_BFM, DISOPTYPE_HARMLESS), 133 DIS_ARMV8_OP(0x7f800000, 0x23000000, "ubfm", OP_ARMV8_A64_UBFM, DISOPTYPE_HARMLESS), 134 134 INVALID_OPCODE, 135 135 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Bitfield, DISARMV8INSNCLASS_F_SF | DISARMV8INSNCLASS_F_N_FORCED_1_ON_64BIT, 136 136 kDisArmV8OpcDecodeNop, RT_BIT_32(29) | RT_BIT_32(30), 29) 137 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),138 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 5 ),139 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmsImmrN, 10, 13 ),137 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 138 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 5, 1 /*idxParam*/), 139 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmsImmrN, 10, 13, 2 /*idxParam*/), 140 140 DIS_ARMV8_INSN_PARAM_NONE 141 141 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; … … 170 170 /* B.cond/BC.cond */ 171 171 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64CondBr) 172 DIS_ARMV8_OP(0xff000010, 0x54000000, "b. %C %J",OP_ARMV8_A64_B, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW | DISOPTYPE_RELATIVE_CONTROLFLOW | DISOPTYPE_COND_CONTROLFLOW),173 DIS_ARMV8_OP(0xff000010, 0x54000010, "bc. %C %J" ,OP_ARMV8_A64_BC, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW | DISOPTYPE_RELATIVE_CONTROLFLOW | DISOPTYPE_COND_CONTROLFLOW),172 DIS_ARMV8_OP(0xff000010, 0x54000000, "b.", OP_ARMV8_A64_B, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW | DISOPTYPE_RELATIVE_CONTROLFLOW | DISOPTYPE_COND_CONTROLFLOW), 173 DIS_ARMV8_OP(0xff000010, 0x54000010, "bc." , OP_ARMV8_A64_BC, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW | DISOPTYPE_RELATIVE_CONTROLFLOW | DISOPTYPE_COND_CONTROLFLOW), 174 174 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64CondBr, 0 /*fClass*/, 175 175 kDisArmV8OpcDecodeNop, RT_BIT_32(4), 4) 176 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCond, 0, 4 ),177 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 19 ),176 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCond, 0, 4, DIS_ARMV8_INSN_PARAM_UNSET), 177 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 19, 1 /*idxParam*/), 178 178 DIS_ARMV8_INSN_PARAM_NONE, 179 179 DIS_ARMV8_INSN_PARAM_NONE … … 183 183 /* SVC/HVC/SMC/BRK/HLT/TCANCEL/DCPS1/DCPS2/DCPS3 */ 184 184 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Excp) 185 DIS_ARMV8_OP(0xffe0001f, 0xd4000001, "svc %I",OP_ARMV8_A64_SVC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),186 DIS_ARMV8_OP(0xffe0001f, 0xd4000002, "hvc %I",OP_ARMV8_A64_HVC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT | DISOPTYPE_PRIVILEGED),187 DIS_ARMV8_OP(0xffe0001f, 0xd4000003, "smc %I",OP_ARMV8_A64_SMC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT | DISOPTYPE_PRIVILEGED),188 DIS_ARMV8_OP(0xffe0001f, 0xd4200000, "brk %I",OP_ARMV8_A64_BRK, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),189 DIS_ARMV8_OP(0xffe0001f, 0xd4400000, "hlt %I",OP_ARMV8_A64_HLT, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),190 DIS_ARMV8_OP(0xffe0001f, 0xd4600000, "tcancel %I",OP_ARMV8_A64_TCANCEL, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), /* FEAT_TME */191 DIS_ARMV8_OP(0xffe0001f, 0xd4a00001, "dcps1 %I",OP_ARMV8_A64_DCPS1, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),192 DIS_ARMV8_OP(0xffe0001f, 0xd4a00002, "dcps2 %I",OP_ARMV8_A64_DCPS2, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),193 DIS_ARMV8_OP(0xffe0001f, 0xd4a00003, "dcps3 %I",OP_ARMV8_A64_DCPS3, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT),185 DIS_ARMV8_OP(0xffe0001f, 0xd4000001, "svc", OP_ARMV8_A64_SVC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 186 DIS_ARMV8_OP(0xffe0001f, 0xd4000002, "hvc", OP_ARMV8_A64_HVC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT | DISOPTYPE_PRIVILEGED), 187 DIS_ARMV8_OP(0xffe0001f, 0xd4000003, "smc", OP_ARMV8_A64_SMC, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT | DISOPTYPE_PRIVILEGED), 188 DIS_ARMV8_OP(0xffe0001f, 0xd4200000, "brk", OP_ARMV8_A64_BRK, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 189 DIS_ARMV8_OP(0xffe0001f, 0xd4400000, "hlt", OP_ARMV8_A64_HLT, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 190 DIS_ARMV8_OP(0xffe0001f, 0xd4600000, "tcancel", OP_ARMV8_A64_TCANCEL, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), /* FEAT_TME */ 191 DIS_ARMV8_OP(0xffe0001f, 0xd4a00001, "dcps1", OP_ARMV8_A64_DCPS1, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 192 DIS_ARMV8_OP(0xffe0001f, 0xd4a00002, "dcps2", OP_ARMV8_A64_DCPS2, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 193 DIS_ARMV8_OP(0xffe0001f, 0xd4a00003, "dcps3", OP_ARMV8_A64_DCPS3, DISOPTYPE_CONTROLFLOW | DISOPTYPE_INTERRUPT), 194 194 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Excp, 0 /*fClass*/, 195 195 kDisArmV8OpcDecodeLookup, 0xffe0001f, 0) 196 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 16 ),196 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 16, 0 /*idxParam*/), 197 197 DIS_ARMV8_INSN_PARAM_NONE, 198 198 DIS_ARMV8_INSN_PARAM_NONE, … … 203 203 /* WFET/WFIT */ 204 204 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64SysReg) 205 DIS_ARMV8_OP(0xffffffe0, 0xd5031000, "wfet %X",OP_ARMV8_A64_WFET, DISOPTYPE_HARMLESS), /* FEAT_WFxT */206 DIS_ARMV8_OP(0xffffffe0, 0x54000010, "wfit %X" ,OP_ARMV8_A64_WFIT, DISOPTYPE_HARMLESS), /* FEAT_WFxT */205 DIS_ARMV8_OP(0xffffffe0, 0xd5031000, "wfet", OP_ARMV8_A64_WFET, DISOPTYPE_HARMLESS), /* FEAT_WFxT */ 206 DIS_ARMV8_OP(0xffffffe0, 0x54000010, "wfit" , OP_ARMV8_A64_WFIT, DISOPTYPE_HARMLESS), /* FEAT_WFxT */ 207 207 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64SysReg, DISARMV8INSNCLASS_F_FORCED_64BIT, 208 208 kDisArmV8OpcDecodeNop, 0xfe0, 5) 209 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),209 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 210 210 DIS_ARMV8_INSN_PARAM_NONE, 211 211 DIS_ARMV8_INSN_PARAM_NONE, … … 216 216 /* Various hint instructions */ 217 217 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Hints) 218 DIS_ARMV8_OP(0xffffffff, 0xd503201f, "nop", OP_ARMV8_A64_NOP, DISOPTYPE_HARMLESS),219 DIS_ARMV8_OP(0xffffffff, 0xd503203f, "yield", OP_ARMV8_A64_YIELD, DISOPTYPE_HARMLESS),220 DIS_ARMV8_OP(0xffffffff, 0xd503205f, "wfe", OP_ARMV8_A64_WFE, DISOPTYPE_HARMLESS),221 DIS_ARMV8_OP(0xffffffff, 0xd503207f, "wfi", OP_ARMV8_A64_WFI, DISOPTYPE_HARMLESS),222 DIS_ARMV8_OP(0xffffffff, 0xd503209f, "sev", OP_ARMV8_A64_SEV, DISOPTYPE_HARMLESS),223 DIS_ARMV8_OP(0xffffffff, 0xd50320bf, "sevl", OP_ARMV8_A64_SEVL, DISOPTYPE_HARMLESS),224 DIS_ARMV8_OP(0xffffffff, 0xd50320df, "dgh", OP_ARMV8_A64_DGH, DISOPTYPE_HARMLESS), /* FEAT_DGH */225 DIS_ARMV8_OP(0xffffffff, 0xd50320ff, "xpaclri", OP_ARMV8_A64_XPACLRI, DISOPTYPE_HARMLESS), /* FEAT_PAuth */218 DIS_ARMV8_OP(0xffffffff, 0xd503201f, "nop", OP_ARMV8_A64_NOP, DISOPTYPE_HARMLESS), 219 DIS_ARMV8_OP(0xffffffff, 0xd503203f, "yield", OP_ARMV8_A64_YIELD, DISOPTYPE_HARMLESS), 220 DIS_ARMV8_OP(0xffffffff, 0xd503205f, "wfe", OP_ARMV8_A64_WFE, DISOPTYPE_HARMLESS), 221 DIS_ARMV8_OP(0xffffffff, 0xd503207f, "wfi", OP_ARMV8_A64_WFI, DISOPTYPE_HARMLESS), 222 DIS_ARMV8_OP(0xffffffff, 0xd503209f, "sev", OP_ARMV8_A64_SEV, DISOPTYPE_HARMLESS), 223 DIS_ARMV8_OP(0xffffffff, 0xd50320bf, "sevl", OP_ARMV8_A64_SEVL, DISOPTYPE_HARMLESS), 224 DIS_ARMV8_OP(0xffffffff, 0xd50320df, "dgh", OP_ARMV8_A64_DGH, DISOPTYPE_HARMLESS), /* FEAT_DGH */ 225 DIS_ARMV8_OP(0xffffffff, 0xd50320ff, "xpaclri", OP_ARMV8_A64_XPACLRI, DISOPTYPE_HARMLESS), /* FEAT_PAuth */ 226 226 /** @todo */ 227 227 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Hints, 0 /*fClass*/, … … 235 235 236 236 /* CLREX */ 237 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Clrex) 238 DIS_ARMV8_OP(0xfffff0ff, 0xd503305f, "clrex %I", OP_ARMV8_A64_CLREX, DISOPTYPE_HARMLESS), 239 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Clrex, 0 /*fClass*/, 240 kDisArmV8OpcDecodeNop, 0, 0) 241 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 8, 4), 237 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64DecBarriers) 238 DIS_ARMV8_OP(0xfffff0ff, 0xd503304f, "clrex", OP_ARMV8_A64_CLREX, DISOPTYPE_HARMLESS), 239 DIS_ARMV8_OP(0xfffff0ff, 0xd50330bf, "dmb", OP_ARMV8_A64_DMB, DISOPTYPE_HARMLESS), 240 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64DecBarriers, 0 /*fClass*/, 241 kDisArmV8OpcDecodeNop, RT_BIT_32(5), 5) 242 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 8, 4, 0 /*idxParam*/), 242 243 DIS_ARMV8_INSN_PARAM_NONE, 243 244 DIS_ARMV8_INSN_PARAM_NONE, … … 249 250 DIS_ARMV8_DECODE_MAP_DEFINE_BEGIN(g_ArmV8A64DecodeBarriers) 250 251 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, 251 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo DSB - Encoding */252 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64 Clrex),/* CLREX */253 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo TCOMMIT */254 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo DSB - Encoding */255 DIS_ARMV8_DECODE_MAP_ INVALID_ENTRY, /** @todoDMB */256 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo ISB */257 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY /** @todo SB */252 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo DSB - Encoding */ 253 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64DecBarriers), /* CLREX */ 254 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo TCOMMIT */ 255 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo DSB - Encoding */ 256 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64DecBarriers), /* DMB */ 257 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /** @todo ISB */ 258 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY /** @todo SB */ 258 259 DIS_ARMV8_DECODE_MAP_DEFINE_END(g_ArmV8A64DecodeBarriers, RT_BIT_32(5) | RT_BIT_32(6) | RT_BIT_32(7), 5); 259 260 … … 261 262 /* MSR (and potentially CFINV,XAFLAG,AXFLAG) */ 262 263 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64PState) 263 DIS_ARMV8_OP(0xfffff0ff, 0xd503305f, "msr %P, %I",OP_ARMV8_A64_MSR, DISOPTYPE_PRIVILEGED),264 DIS_ARMV8_OP(0xfffff0ff, 0xd503305f, "msr", OP_ARMV8_A64_MSR, DISOPTYPE_PRIVILEGED), 264 265 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64PState, 0 /*fClass*/, 265 266 kDisArmV8OpcDecodeNop, 0, 0) 266 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParsePState, 0, 0 ), /* This is special for the MSR instruction. */267 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 8, 4 ), /* CRm field encodes the immediate value */267 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParsePState, 0, 0, 0 /*idxParam*/), /* This is special for the MSR instruction. */ 268 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 8, 4, 1 /*idxParam*/), /* CRm field encodes the immediate value */ 268 269 DIS_ARMV8_INSN_PARAM_NONE, 269 270 DIS_ARMV8_INSN_PARAM_NONE … … 273 274 /* TSTART/TTEST */ 274 275 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64SysResult) 275 DIS_ARMV8_OP(0xfffffffe, 0xd5233060, "tstart %X",OP_ARMV8_A64_TSTART, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED), /* FEAT_TME */276 DIS_ARMV8_OP(0xfffffffe, 0xd5233160, "ttest %X",OP_ARMV8_A64_TTEST, DISOPTYPE_HARMLESS), /* FEAT_TME */276 DIS_ARMV8_OP(0xfffffffe, 0xd5233060, "tstart", OP_ARMV8_A64_TSTART, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED), /* FEAT_TME */ 277 DIS_ARMV8_OP(0xfffffffe, 0xd5233160, "ttest", OP_ARMV8_A64_TTEST, DISOPTYPE_HARMLESS), /* FEAT_TME */ 277 278 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64SysResult, DISARMV8INSNCLASS_F_FORCED_64BIT, 278 279 kDisArmV8OpcDecodeNop, RT_BIT_32(8) | RT_BIT_32(9) | RT_BIT_32(10) | RT_BIT_32(11), 8) 279 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),280 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 280 281 DIS_ARMV8_INSN_PARAM_NONE, 281 282 DIS_ARMV8_INSN_PARAM_NONE, … … 286 287 /* SYS */ 287 288 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Sys) 288 DIS_ARMV8_OP(0xfff80000, 0xd5080000, "sys %I, %Cn, %Cm, %I, %X",OP_ARMV8_A64_SYS, DISOPTYPE_HARMLESS),289 DIS_ARMV8_OP(0xfff80000, 0xd5080000, "sys", OP_ARMV8_A64_SYS, DISOPTYPE_HARMLESS), 289 290 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Sys, DISARMV8INSNCLASS_F_FORCED_64BIT, 290 291 kDisArmV8OpcDecodeNop, 0, 0) 291 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 16, 3 ),292 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCRnCRm, 8, 8 ),293 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 3 ),294 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 )292 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 16, 3, 0 /*idxParam*/), 293 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCRnCRm, 8, 8, 1 /*idxParam*/), 294 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 3, 2 /*idxParam*/), 295 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 3 /*idxParam*/) 295 296 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; 296 297 … … 298 299 /* SYSL */ 299 300 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64SysL) 300 DIS_ARMV8_OP(0xfff80000, 0xd5280000, "sysl %X, %I, %Cn, %Cm, %I",OP_ARMV8_A64_SYSL, DISOPTYPE_HARMLESS),301 DIS_ARMV8_OP(0xfff80000, 0xd5280000, "sysl", OP_ARMV8_A64_SYSL, DISOPTYPE_HARMLESS), 301 302 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64SysL, DISARMV8INSNCLASS_F_FORCED_64BIT, 302 303 kDisArmV8OpcDecodeNop, 0, 0) 303 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),304 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 16, 3 ),305 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCRnCRm, 8, 8 ),306 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 3 )304 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 305 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 16, 3, 1 /*idxParam*/), 306 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseCRnCRm, 8, 8, 2 /*idxParam*/), 307 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 5, 3, 3 /*idxParam*/) 307 308 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; 308 309 … … 310 311 /* MSR */ 311 312 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Msr) 312 DIS_ARMV8_OP(0xfff00000, 0xd5 080000, "msr %S, %X",OP_ARMV8_A64_MSR, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED),313 DIS_ARMV8_OP(0xfff00000, 0xd5100000, "msr", OP_ARMV8_A64_MSR, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED), 313 314 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Msr, DISARMV8INSNCLASS_F_FORCED_64BIT, 314 315 kDisArmV8OpcDecodeNop, 0, 0) 315 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseSysReg, 5, 15 ),316 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),316 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseSysReg, 5, 15, 0 /*idxParam*/), 317 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 1 /*idxParam*/), 317 318 DIS_ARMV8_INSN_PARAM_NONE, 318 319 DIS_ARMV8_INSN_PARAM_NONE … … 322 323 /* MRS */ 323 324 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Mrs) 324 DIS_ARMV8_OP(0xfff00000, 0xd5 280000, "mrs %X, %S",OP_ARMV8_A64_MRS, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED),325 DIS_ARMV8_OP(0xfff00000, 0xd5300000, "mrs", OP_ARMV8_A64_MRS, DISOPTYPE_HARMLESS | DISOPTYPE_PRIVILEGED), 325 326 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Mrs, DISARMV8INSNCLASS_F_FORCED_64BIT, 326 327 kDisArmV8OpcDecodeNop, 0, 0) 327 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5), 328 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseSysReg, 5, 15), 328 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 329 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseSysReg, 5, 15, 1 /*idxParam*/), 330 DIS_ARMV8_INSN_PARAM_NONE, 331 DIS_ARMV8_INSN_PARAM_NONE 332 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; 333 334 335 /* RET/RETAA/RETAB */ 336 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64Ret) 337 DIS_ARMV8_OP(0xfffffc1f, 0xd65f0000, "ret", OP_ARMV8_A64_RET, DISOPTYPE_HARMLESS), 338 DIS_ARMV8_OP(0xfffffc1f, 0xd65f0800, "retaa", OP_ARMV8_A64_RETAA, DISOPTYPE_HARMLESS), 339 DIS_ARMV8_OP(0xfffffc1f, 0xd65f0c00, "retab", OP_ARMV8_A64_RETAB, DISOPTYPE_HARMLESS), 340 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64Ret, DISARMV8INSNCLASS_F_FORCED_64BIT, 341 kDisArmV8OpcDecodeLookup, 0xfffffc1f, 0) 342 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 5, 5, 0 /*idxParam*/), 343 DIS_ARMV8_INSN_PARAM_NONE, 329 344 DIS_ARMV8_INSN_PARAM_NONE, 330 345 DIS_ARMV8_INSN_PARAM_NONE … … 336 351 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, 337 352 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, 338 DIS_ARMV8_DECODE_MAP_ INVALID_ENTRY,353 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64Ret), /* RET/RETAA/RETAB */ 339 354 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, 340 355 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, … … 355 370 /* B/BL */ 356 371 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64UncondBrImm) 357 DIS_ARMV8_OP(0xfc000000, 0x14000000, "b %J",OP_ARMV8_A64_B, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),358 DIS_ARMV8_OP(0xfc000000, 0x94000000, "bl %J",OP_ARMV8_A64_BL, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),372 DIS_ARMV8_OP(0xfc000000, 0x14000000, "b", OP_ARMV8_A64_B, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 373 DIS_ARMV8_OP(0xfc000000, 0x94000000, "bl", OP_ARMV8_A64_BL, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 359 374 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64UncondBrImm, 0 /*fClass*/, 360 375 kDisArmV8OpcDecodeNop, RT_BIT_32(31), 31) 361 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 0, 26 ),376 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 0, 26, 0 /*idxParam*/), 362 377 DIS_ARMV8_INSN_PARAM_NONE, 363 378 DIS_ARMV8_INSN_PARAM_NONE, … … 368 383 /* CBZ/CBNZ */ 369 384 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64CmpBrImm) 370 DIS_ARMV8_OP(0x7f000000, 0x34000000, "cbz %X, %J",OP_ARMV8_A64_CBZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),371 DIS_ARMV8_OP(0x7f000000, 0x35000000, "cbnz %X, %J",OP_ARMV8_A64_CBNZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),385 DIS_ARMV8_OP(0x7f000000, 0x34000000, "cbz", OP_ARMV8_A64_CBZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 386 DIS_ARMV8_OP(0x7f000000, 0x35000000, "cbnz", OP_ARMV8_A64_CBNZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 372 387 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64CmpBrImm, DISARMV8INSNCLASS_F_SF, 373 388 kDisArmV8OpcDecodeNop, RT_BIT_32(24), 24) 374 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),375 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 19 ),389 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 390 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 19, 1 /*idxParam*/), 376 391 DIS_ARMV8_INSN_PARAM_NONE, 377 392 DIS_ARMV8_INSN_PARAM_NONE … … 381 396 /* TBZ/TBNZ */ 382 397 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64TestBrImm) 383 DIS_ARMV8_OP(0x7f000000, 0x36000000, "tbz %X, %I, %J",OP_ARMV8_A64_TBZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),384 DIS_ARMV8_OP(0x7f000000, 0x37000000, "tbnz %X, %I, %J",OP_ARMV8_A64_TBNZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW),398 DIS_ARMV8_OP(0x7f000000, 0x36000000, "tbz", OP_ARMV8_A64_TBZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 399 DIS_ARMV8_OP(0x7f000000, 0x37000000, "tbnz", OP_ARMV8_A64_TBNZ, DISOPTYPE_HARMLESS | DISOPTYPE_CONTROLFLOW), 385 400 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64TestBrImm, DISARMV8INSNCLASS_F_SF, 386 401 kDisArmV8OpcDecodeNop, RT_BIT_32(24), 24) 387 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5 ),388 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 19, 5 ),389 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 14 ),402 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseReg, 0, 5, 0 /*idxParam*/), 403 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImm, 19, 5, 1 /*idxParam*/), 404 DIS_ARMV8_INSN_PARAM_CREATE(kDisParmParseImmRel, 5, 14, 2 /*idxParam*/), 390 405 DIS_ARMV8_INSN_PARAM_NONE 391 406 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; … … 420 435 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, 421 436 DIS_ARMV8_DECODE_MAP_DEFINE_END(g_ArmV8A64DataProcReg, RT_BIT_32(24), 24); 437 438 439 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(g_ArmV8A64LdSt) 440 DIS_ARMV8_OP(0xbfc00000, 0xb9400000, "ldr", OP_ARMV8_A64_LDR, DISOPTYPE_HARMLESS), 441 DIS_ARMV8_OP(0xbfc00000, 0xb9000000, "str", OP_ARMV8_A64_STR, DISOPTYPE_HARMLESS), 442 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_PARAMS(g_ArmV8A64LdSt, 0 /*fClass*/, 443 kDisArmV8OpcDecodeLookup, 0xbfc00000, 0) 444 DIS_ARMV8_INSN_PARAM_CREATE( kDisParmParseIs32Bit, 30, 1, DIS_ARMV8_INSN_PARAM_UNSET), 445 DIS_ARMV8_INSN_PARAM_CREATE( kDisParmParseReg, 0, 5, 0 /*idxParam*/), 446 DIS_ARMV8_INSN_PARAM_CREATE_EX(kDisParmParseReg, 5, 5, 1 /*idxParam*/, DIS_ARMV8_INSN_PARAM_F_ADDR_BEGIN), 447 DIS_ARMV8_INSN_PARAM_CREATE_EX(kDisParmParseImm, 10, 12, 2 /*idxParam*/, DIS_ARMV8_INSN_PARAM_F_ADDR_END), 448 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END; 422 449 423 450 … … 473 500 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64BrExcpSys), /* Branches / Exception generation and system instructions. */ 474 501 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64BrExcpSys), /* Branches / Exception generation and system instructions. */ 475 DIS_ARMV8_DECODE_MAP_ INVALID_ENTRY,/* Load/Stores. */502 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64LdSt), /* Load/Stores. */ 476 503 DIS_ARMV8_DECODE_MAP_ENTRY(g_ArmV8A64DataProcReg), /* Data processing (register) (see op1 in C4.1.68). */ 477 504 DIS_ARMV8_DECODE_MAP_INVALID_ENTRY, /* Load/Stores. */
Note:
See TracChangeset
for help on using the changeset viewer.