Changeset 103511 in vbox for trunk/src/VBox/Disassembler/DisasmTables-x86-amd64.cpp
- Timestamp:
- Feb 22, 2024 1:16:10 AM (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmTables-x86-amd64.cpp
r100571 r103511 321 321 OP("retn %Iw", IDX_ParseImmUshort, 0, 0, OP_RETN, OP_PARM_Iw, OP_PARM_NONE, OP_PARM_NONE, DISOPTYPE_CONTROLFLOW | DISOPTYPE_UNCOND_CONTROLFLOW | DISOPTYPE_X86_FORCED_64_OP_SIZE), 322 322 OP("retn", 0, 0, 0, OP_RETN, OP_PARM_NONE, OP_PARM_NONE, OP_PARM_NONE, DISOPTYPE_CONTROLFLOW | DISOPTYPE_UNCOND_CONTROLFLOW | DISOPTYPE_X86_FORCED_64_OP_SIZE), 323 OP(" les %Gv,%Mp", IDX_ParseModRM, IDX_UseModRM, 0, OP_LES, OP_PARM_Gv, OP_PARM_Mp, OP_PARM_NONE, DISOPTYPE_HARMLESS | DISOPTYPE_X86_INVALID_64),324 OP(" lds %Gv,%Mp", IDX_ParseModRM, IDX_UseModRM, 0, OP_LDS, OP_PARM_Gv, OP_PARM_Mp, OP_PARM_NONE, DISOPTYPE_HARMLESS | DISOPTYPE_X86_INVALID_64 | DISOPTYPE_RRM_DANGEROUS),323 OP("vex3b/les %Gv,%Mp", IDX_ParseVex3b, 0, 0, OP_VEX3B, OP_PARM_NONE, OP_PARM_NONE, OP_PARM_NONE, DISOPTYPE_HARMLESS), 324 OP("vex2b/lds %Gv,%Mp", IDX_ParseVex2b, 0, 0, OP_VEX2B, OP_PARM_NONE, OP_PARM_NONE, OP_PARM_NONE, DISOPTYPE_HARMLESS), 325 325 /** @todo these two are actually group11 */ 326 326 OP("mov %Eb,%Ib", IDX_ParseModRM, IDX_ParseImmByte, 0, OP_MOV, OP_PARM_Eb, OP_PARM_Ib, OP_PARM_NONE, DISOPTYPE_HARMLESS), … … 394 394 }; 395 395 396 const DISOPCODE g_OpcodeLES = 397 OP("les %Gv,%Mp", IDX_ParseModRM, IDX_UseModRM, 0, OP_LES, OP_PARM_Gv, OP_PARM_Mp, OP_PARM_NONE, DISOPTYPE_HARMLESS | DISOPTYPE_X86_INVALID_64); 398 const DISOPCODE g_OpcodeLDS = 399 OP("lds %Gv,%Mp", IDX_ParseModRM, IDX_UseModRM, 0, OP_LDS, OP_PARM_Gv, OP_PARM_Mp, OP_PARM_NONE, DISOPTYPE_HARMLESS | DISOPTYPE_X86_INVALID_64 | DISOPTYPE_RRM_DANGEROUS); 396 400 397 401 const DISOPCODE g_aTwoByteMapX86[256] = … … 3190 3194 }; 3191 3195 3196 /* vex map1 0x72 */ 3197 const DISOPCODE g_aMapX86_VGroup13[8*2] = 3198 { 3199 /* 0 format string, parse param #1, parse param #2, parse param #3, parse param #4, opcode, param #1, param #2, param #3, param #4, flags */ 3200 /* No prefix */ 3201 INVALID_OPCODE_MOD_RM(0x00), 3202 INVALID_OPCODE_MOD_RM(0x01), 3203 INVALID_OPCODE_MOD_RM(0x02), 3204 INVALID_OPCODE_MOD_RM(0x03), 3205 INVALID_OPCODE_MOD_RM(0x04), 3206 INVALID_OPCODE_MOD_RM(0x05), 3207 INVALID_OPCODE_MOD_RM(0x06), 3208 INVALID_OPCODE_MOD_RM(0x07), 3209 3210 /* Group 13 with prefix 0x66 */ 3211 INVALID_OPCODE_MOD_RM(0x08), 3212 INVALID_OPCODE_MOD_RM(0x09), 3213 OPVEX("vpsrld %Hx,%Ux,%Ib", IDX_ParseVexDest, IDX_ParseModRM, IDX_ParseImmByte, 0, OP_VPSRLD, OP_PARM_Hx, OP_PARM_Ux, OP_PARM_Ib, OP_PARM_NONE, DISOPTYPE_HARMLESS), 3214 INVALID_OPCODE_MOD_RM(0x0b), 3215 OPVEX("vpsrad %Hx,%Ux,%Ib", IDX_ParseVexDest, IDX_ParseModRM, IDX_ParseImmByte, 0, OP_VPSRAD, OP_PARM_Hx, OP_PARM_Ux, OP_PARM_Ib, OP_PARM_NONE, DISOPTYPE_HARMLESS), 3216 INVALID_OPCODE_MOD_RM(0x0d), 3217 OPVEX("vpslld %Hx,%Ux,%Ib", IDX_ParseVexDest, IDX_ParseModRM, IDX_ParseImmByte, 0, OP_VPSLLD, OP_PARM_Hx, OP_PARM_Ux, OP_PARM_Ib, OP_PARM_NONE, DISOPTYPE_HARMLESS), 3218 INVALID_OPCODE_MOD_RM(0x0f), 3219 /* format string, parse param #1, parse param #2, parse param #3, parse param #4, opcode, param #1, param #2, param #3, param #4, flags */ 3220 }; 3221 3192 3222 /* 0xF 0x73 */ 3193 3223 const DISOPCODE g_aMapX86_Group14[8*2] = … … 3461 3491 OPVEX("vpshufd %Vx,%Wx,%Ib", IDX_ParseModRM, IDX_UseModRM, IDX_ParseImmByte, 0, OP_VPSHUFD, OP_PARM_Vx, OP_PARM_Wx, OP_PARM_Ib, OP_PARM_NONE, DISOPTYPE_HARMLESS), 3462 3492 INVALID_OPCODE, 3463 INVALID_OPCODE,3493 OP("vgroup13", IDX_ParseGrp13, 0, 0, OP_GRP13, OP_PARM_NONE, OP_PARM_NONE, OP_PARM_NONE, DISOPTYPE_HARMLESS), 3464 3494 INVALID_OPCODE, 3465 3495 OPVEX("vpcmpeqb %Vx,%Hx,%Wx", IDX_ParseModRM, IDX_ParseVexDest, IDX_UseModRM, 0, OP_VPCMPEQB, OP_PARM_Vx, OP_PARM_Hx, OP_PARM_Wx, OP_PARM_NONE, DISOPTYPE_HARMLESS),
Note:
See TracChangeset
for help on using the changeset viewer.