VirtualBox

Ignore:
Timestamp:
Jun 21, 2012 9:10:22 PM (12 years ago)
Author:
vboxsync
Message:

DIS: Moved OP_PARM_Q to the group of 'rare' operands, next to OP_PARAM_P, so that MMX register aren't confused with 64-bit general register (rax, etc).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/DisasmCore.cpp

    r41863 r41869  
    947947                return offInstr;
    948948
     949            case OP_PARM_Q: //MMX or memory operand
     950                if (mod != 3)
     951                    break;  /* memory operand */
     952                reg = rm; /* the RM field specifies the xmm register */
     953                /* else no break */
     954
    949955            case OP_PARM_P: //MMX register
    950956                reg &= 7;   /* REX.R has no effect here */
     
    24372443            case OP_SEG:
    24382444                pDis->idxSegPrefix = (DISSELREG)(paOneByteMap[codebyte].fParam1 - OP_PARM_REG_SEG_START);
     2445#if 0  /* Try be accurate in our reporting, shouldn't break anything... :-) */
    24392446                /* Segment prefixes for CS, DS, ES and SS are ignored in long mode. */
    24402447                if (   pDis->uCpuMode != DISCPUMODE_64BIT
    24412448                    || pDis->idxSegPrefix >= DISSELREG_FS)
    2442                 {
    24432449                    pDis->fPrefix   |= DISPREFIX_SEG;
    2444                 }
     2450#else
     2451                pDis->fPrefix |= DISPREFIX_SEG;
     2452#endif
    24452453                continue;   //fetch the next byte
    24462454
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette