Changeset 92807 in vbox for trunk/src/VBox
- Timestamp:
- Dec 8, 2021 10:31:13 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmCore.cpp
r92806 r92807 2733 2733 for (;;) 2734 2734 { 2735 uint8_t const bCode= disReadByte(pDis, offInstr++);2736 uint16_t const opcode =paOneByteMap[bCode].uOpcode;2735 uint8_t const bCode = disReadByte(pDis, offInstr++); 2736 enum OPCODES const enmOpcode = (enum OPCODES)paOneByteMap[bCode].uOpcode; 2737 2737 2738 2738 /* Hardcoded assumption about OP_* values!! */ 2739 if ( opcode <= OP_LAST_PREFIX)2739 if (enmOpcode <= OP_LAST_PREFIX) 2740 2740 { 2741 2741 /* The REX prefix must precede the opcode byte(s). Any other placement is ignored. */ 2742 if ( opcode != OP_REX)2742 if (enmOpcode != OP_REX) 2743 2743 { 2744 2744 /* Last prefix byte (for SSE2 extension tables); don't include the REX prefix */ 2745 pDis->bLastPrefix = opcode;2746 pDis->fPrefix &= ~DISPREFIX_REX;2745 pDis->bLastPrefix = (uint8_t)enmOpcode; 2746 pDis->fPrefix &= ~DISPREFIX_REX; 2747 2747 } 2748 2748 2749 switch ( opcode)2749 switch (enmOpcode) 2750 2750 { 2751 2751 case OP_INVALID: … … 2817 2817 /* Check if this is a VEX prefix. Not for 32-bit mode. */ 2818 2818 if (pDis->uCpuMode != DISCPUMODE_64BIT 2819 && ( opcode == OP_LES || opcode == OP_LDS)2819 && (enmOpcode == OP_LES || enmOpcode == OP_LDS) 2820 2820 && (disReadByte(pDis, offInstr) & 0xc0) == 0xc0) 2821 2821 {
Note:
See TracChangeset
for help on using the changeset viewer.