VirtualBox

Changeset 8355 in vbox


Ignore:
Timestamp:
Apr 24, 2008 11:20:37 AM (17 years ago)
Author:
vboxsync
Message:

Fixes for REX.R

File:
1 edited

Legend:

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

    r8352 r8355  
    627627
    628628            case OP_PARM_P: //MMX register
     629                reg &= 7;   /* REX.R has no effect here */
    629630                disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "MM%d", reg);
    630631                pParam->flags |= USE_REG_MMX;
     
    633634
    634635            case OP_PARM_S: //segment register
     636                reg &= 7;   /* REX.R has no effect here */
    635637                disasmModRMSReg(pCpu, pOp, reg, pParam);
    636638                pParam->flags |= USE_REG_SEG;
     
    638640
    639641            case OP_PARM_T: //test register
     642                reg &= 7;   /* REX.R has no effect here */
    640643                disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "TR%d", reg);
    641644                pParam->flags |= USE_REG_TEST;
     
    643646                return 0;
    644647
     648            case OP_PARM_W: //XMM register or memory operand
     649                if (mod != 3)
     650                    break;  /* memory operand */
     651                /* else no break */
    645652            case OP_PARM_V: //XMM register
    646653                disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "XMM%d", reg);
     
    648655                pParam->base.reg_xmm = reg;
    649656                return 0;
    650 
    651             case OP_PARM_W: //XMM register or memory operand
    652                 if (mod == 3)
    653                 {
    654                     disasmAddStringF(pParam->szParam, sizeof(pParam->szParam), "XMM%d", rm);
    655                     pParam->flags |= USE_REG_XMM;
    656                     pParam->base.reg_xmm = rm;
    657                     return 0;
    658                 }
    659                 /* else memory operand */
    660657            }
    661658        }
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