Changeset 92806 in vbox for trunk/src/VBox
- Timestamp:
- Dec 8, 2021 10:29:21 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmCore.cpp
r91673 r92806 2733 2733 for (;;) 2734 2734 { 2735 uint8_t codebyte= disReadByte(pDis, offInstr++);2736 uint 8_t opcode = paOneByteMap[codebyte].uOpcode;2735 uint8_t const bCode = disReadByte(pDis, offInstr++); 2736 uint16_t const opcode = paOneByteMap[bCode].uOpcode; 2737 2737 2738 2738 /* Hardcoded assumption about OP_* values!! */ … … 2756 2756 // segment override prefix byte 2757 2757 case OP_SEG: 2758 pDis->idxSegPrefix = (DISSELREG)(paOneByteMap[ codebyte].fParam1 - OP_PARM_REG_SEG_START);2758 pDis->idxSegPrefix = (DISSELREG)(paOneByteMap[bCode].fParam1 - OP_PARM_REG_SEG_START); 2759 2759 #if 0 /* Try be accurate in our reporting, shouldn't break anything... :-) */ 2760 2760 /* Segment prefixes for CS, DS, ES and SS are ignored in long mode. */ … … 2806 2806 /* REX prefix byte */ 2807 2807 pDis->fPrefix |= DISPREFIX_REX; 2808 pDis->fRexPrefix = DISPREFIX_REX_OP_2_FLAGS(paOneByteMap[ codebyte].fParam1);2808 pDis->fRexPrefix = DISPREFIX_REX_OP_2_FLAGS(paOneByteMap[bCode].fParam1); 2809 2809 if (pDis->fRexPrefix & DISPREFIX_REX_FLAGS_W) 2810 2810 pDis->uOpMode = DISCPUMODE_64BIT; /* overrides size prefix byte */ … … 2824 2824 2825 2825 /* first opcode byte. */ 2826 pDis->bOpCode = codebyte;2826 pDis->bOpCode = bCode; 2827 2827 pDis->cbPrefix = (uint8_t)offInstr - 1; 2828 2828 2829 offInstr = disParseInstruction(offInstr, &paOneByteMap[ pDis->bOpCode], pDis);2829 offInstr = disParseInstruction(offInstr, &paOneByteMap[bCode], pDis); 2830 2830 break; 2831 2831 }
Note:
See TracChangeset
for help on using the changeset viewer.