VirtualBox

忽略:
時間撮記:
2012-6-13 上午09:37:47 (12 年 以前)
作者:
vboxsync
訊息:

OP_PARAMETER::flags -> fUse.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Disassembler/DisasmReg.cpp

    r41676 r41678  
    268268    {
    269269        /* Guess segment register by parameter type. */
    270         if (pParam->flags & (DISUSE_REG_GEN32|DISUSE_REG_GEN64|DISUSE_REG_GEN16))
     270        if (pParam->fUse & (DISUSE_REG_GEN32|DISUSE_REG_GEN64|DISUSE_REG_GEN16))
    271271        {
    272272            AssertCompile(USE_REG_ESP == USE_REG_RSP);
     
    509509    memset(pParamVal, 0, sizeof(*pParamVal));
    510510
    511     if (DISUSE_IS_EFFECTIVE_ADDR(pParam->flags))
     511    if (DISUSE_IS_EFFECTIVE_ADDR(pParam->fUse))
    512512    {
    513513        // Effective address
     
    515515        pParamVal->size = pParam->cb;
    516516
    517         if (pParam->flags & DISUSE_BASE)
    518         {
    519             if (pParam->flags & DISUSE_REG_GEN8)
     517        if (pParam->fUse & DISUSE_BASE)
     518        {
     519            if (pParam->fUse & DISUSE_REG_GEN8)
    520520            {
    521521                pParamVal->flags |= PARAM_VAL8;
     
    523523            }
    524524            else
    525             if (pParam->flags & DISUSE_REG_GEN16)
     525            if (pParam->fUse & DISUSE_REG_GEN16)
    526526            {
    527527                pParamVal->flags |= PARAM_VAL16;
     
    529529            }
    530530            else
    531             if (pParam->flags & DISUSE_REG_GEN32)
     531            if (pParam->fUse & DISUSE_REG_GEN32)
    532532            {
    533533                pParamVal->flags |= PARAM_VAL32;
     
    535535            }
    536536            else
    537             if (pParam->flags & DISUSE_REG_GEN64)
     537            if (pParam->fUse & DISUSE_REG_GEN64)
    538538            {
    539539                pParamVal->flags |= PARAM_VAL64;
     
    547547        }
    548548        // Note that scale implies index (SIB byte)
    549         if (pParam->flags & DISUSE_INDEX)
    550         {
    551             if (pParam->flags & DISUSE_REG_GEN16)
     549        if (pParam->fUse & DISUSE_INDEX)
     550        {
     551            if (pParam->fUse & DISUSE_REG_GEN16)
    552552            {
    553553                uint16_t val16;
     
    556556                if (RT_FAILURE(DISFetchReg16(pCtx, pParam->index.reg_gen, &val16))) return VERR_INVALID_PARAMETER;
    557557
    558                 Assert(!(pParam->flags & DISUSE_SCALE));   /* shouldn't be possible in 16 bits mode */
     558                Assert(!(pParam->fUse & DISUSE_SCALE));   /* shouldn't be possible in 16 bits mode */
    559559
    560560                pParamVal->val.val16 += val16;
    561561            }
    562562            else
    563             if (pParam->flags & DISUSE_REG_GEN32)
     563            if (pParam->fUse & DISUSE_REG_GEN32)
    564564            {
    565565                uint32_t val32;
     
    568568                if (RT_FAILURE(DISFetchReg32(pCtx, pParam->index.reg_gen, &val32))) return VERR_INVALID_PARAMETER;
    569569
    570                 if (pParam->flags & DISUSE_SCALE)
     570                if (pParam->fUse & DISUSE_SCALE)
    571571                    val32 *= pParam->scale;
    572572
     
    574574            }
    575575            else
    576             if (pParam->flags & DISUSE_REG_GEN64)
     576            if (pParam->fUse & DISUSE_REG_GEN64)
    577577            {
    578578                uint64_t val64;
     
    581581                if (RT_FAILURE(DISFetchReg64(pCtx, pParam->index.reg_gen, &val64))) return VERR_INVALID_PARAMETER;
    582582
    583                 if (pParam->flags & DISUSE_SCALE)
     583                if (pParam->fUse & DISUSE_SCALE)
    584584                    val64 *= pParam->scale;
    585585
     
    590590        }
    591591
    592         if (pParam->flags & DISUSE_DISPLACEMENT8)
     592        if (pParam->fUse & DISUSE_DISPLACEMENT8)
    593593        {
    594594            if (pCpu->mode == DISCPUMODE_32BIT)
     
    601601        }
    602602        else
    603         if (pParam->flags & DISUSE_DISPLACEMENT16)
     603        if (pParam->fUse & DISUSE_DISPLACEMENT16)
    604604        {
    605605            if (pCpu->mode == DISCPUMODE_32BIT)
     
    612612        }
    613613        else
    614         if (pParam->flags & DISUSE_DISPLACEMENT32)
     614        if (pParam->fUse & DISUSE_DISPLACEMENT32)
    615615        {
    616616            if (pCpu->mode == DISCPUMODE_32BIT)
     
    620620        }
    621621        else
    622         if (pParam->flags & DISUSE_DISPLACEMENT64)
     622        if (pParam->fUse & DISUSE_DISPLACEMENT64)
    623623        {
    624624            Assert(pCpu->mode == DISCPUMODE_64BIT);
     
    626626        }
    627627        else
    628         if (pParam->flags & DISUSE_RIPDISPLACEMENT32)
     628        if (pParam->fUse & DISUSE_RIPDISPLACEMENT32)
    629629        {
    630630            Assert(pCpu->mode == DISCPUMODE_64BIT);
     
    635635    }
    636636
    637     if (pParam->flags & (DISUSE_REG_GEN8|DISUSE_REG_GEN16|DISUSE_REG_GEN32|DISUSE_REG_GEN64|DISUSE_REG_FP|DISUSE_REG_MMX|DISUSE_REG_XMM|DISUSE_REG_CR|DISUSE_REG_DBG|DISUSE_REG_SEG|DISUSE_REG_TEST))
     637    if (pParam->fUse & (DISUSE_REG_GEN8|DISUSE_REG_GEN16|DISUSE_REG_GEN32|DISUSE_REG_GEN64|DISUSE_REG_FP|DISUSE_REG_MMX|DISUSE_REG_XMM|DISUSE_REG_CR|DISUSE_REG_DBG|DISUSE_REG_SEG|DISUSE_REG_TEST))
    638638    {
    639639        if (parmtype == PARAM_DEST)
     
    648648        pParamVal->type = PARMTYPE_IMMEDIATE;
    649649
    650         if (pParam->flags & DISUSE_REG_GEN8)
     650        if (pParam->fUse & DISUSE_REG_GEN8)
    651651        {
    652652            pParamVal->flags |= PARAM_VAL8;
     
    655655        }
    656656        else
    657         if (pParam->flags & DISUSE_REG_GEN16)
     657        if (pParam->fUse & DISUSE_REG_GEN16)
    658658        {
    659659            pParamVal->flags |= PARAM_VAL16;
     
    662662        }
    663663        else
    664         if (pParam->flags & DISUSE_REG_GEN32)
     664        if (pParam->fUse & DISUSE_REG_GEN32)
    665665        {
    666666            pParamVal->flags |= PARAM_VAL32;
     
    669669        }
    670670        else
    671         if (pParam->flags & DISUSE_REG_GEN64)
     671        if (pParam->fUse & DISUSE_REG_GEN64)
    672672        {
    673673            pParamVal->flags |= PARAM_VAL64;
     
    680680            pParamVal->type = PARMTYPE_REGISTER;
    681681        }
    682         Assert(!(pParam->flags & DISUSE_IMMEDIATE));
     682        Assert(!(pParam->fUse & DISUSE_IMMEDIATE));
    683683        return VINF_SUCCESS;
    684684    }
    685685
    686     if (pParam->flags & DISUSE_IMMEDIATE)
     686    if (pParam->fUse & DISUSE_IMMEDIATE)
    687687    {
    688688        pParamVal->type = PARMTYPE_IMMEDIATE;
    689         if (pParam->flags & (DISUSE_IMMEDIATE8|DISUSE_IMMEDIATE8_REL))
     689        if (pParam->fUse & (DISUSE_IMMEDIATE8|DISUSE_IMMEDIATE8_REL))
    690690        {
    691691            pParamVal->flags |= PARAM_VAL8;
     
    702702        }
    703703        else
    704         if (pParam->flags & (DISUSE_IMMEDIATE16|DISUSE_IMMEDIATE16_REL|DISUSE_IMMEDIATE_ADDR_0_16|DISUSE_IMMEDIATE16_SX8))
     704        if (pParam->fUse & (DISUSE_IMMEDIATE16|DISUSE_IMMEDIATE16_REL|DISUSE_IMMEDIATE_ADDR_0_16|DISUSE_IMMEDIATE16_SX8))
    705705        {
    706706            pParamVal->flags |= PARAM_VAL16;
    707707            pParamVal->size   = sizeof(uint16_t);
    708708            pParamVal->val.val16 = (uint16_t)pParam->parval;
    709             AssertMsg(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->flags & DISUSE_IMMEDIATE16_SX8)), ("pParamVal->size %d vs %d EIP=%RX32\n", pParamVal->size, pParam->cb, pCtx->eip) );
    710         }
    711         else
    712         if (pParam->flags & (DISUSE_IMMEDIATE32|DISUSE_IMMEDIATE32_REL|DISUSE_IMMEDIATE_ADDR_0_32|DISUSE_IMMEDIATE32_SX8))
     709            AssertMsg(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE16_SX8)), ("pParamVal->size %d vs %d EIP=%RX32\n", pParamVal->size, pParam->cb, pCtx->eip) );
     710        }
     711        else
     712        if (pParam->fUse & (DISUSE_IMMEDIATE32|DISUSE_IMMEDIATE32_REL|DISUSE_IMMEDIATE_ADDR_0_32|DISUSE_IMMEDIATE32_SX8))
    713713        {
    714714            pParamVal->flags |= PARAM_VAL32;
    715715            pParamVal->size   = sizeof(uint32_t);
    716716            pParamVal->val.val32 = (uint32_t)pParam->parval;
    717             Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->flags & DISUSE_IMMEDIATE32_SX8)) );
    718         }
    719         else
    720         if (pParam->flags & (DISUSE_IMMEDIATE64 | DISUSE_IMMEDIATE64_REL | DISUSE_IMMEDIATE64_SX8))
     717            Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE32_SX8)) );
     718        }
     719        else
     720        if (pParam->fUse & (DISUSE_IMMEDIATE64 | DISUSE_IMMEDIATE64_REL | DISUSE_IMMEDIATE64_SX8))
    721721        {
    722722            pParamVal->flags |= PARAM_VAL64;
    723723            pParamVal->size   = sizeof(uint64_t);
    724724            pParamVal->val.val64 = pParam->parval;
    725             Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->flags & DISUSE_IMMEDIATE64_SX8)) );
    726         }
    727         else
    728         if (pParam->flags & (DISUSE_IMMEDIATE_ADDR_16_16))
     725            Assert(pParamVal->size == pParam->cb || ((pParam->cb == 1) && (pParam->fUse & DISUSE_IMMEDIATE64_SX8)) );
     726        }
     727        else
     728        if (pParam->fUse & (DISUSE_IMMEDIATE_ADDR_16_16))
    729729        {
    730730            pParamVal->flags |= PARAM_VALFARPTR16;
     
    735735        }
    736736        else
    737         if (pParam->flags & (DISUSE_IMMEDIATE_ADDR_16_32))
     737        if (pParam->fUse & (DISUSE_IMMEDIATE_ADDR_16_32))
    738738        {
    739739            pParamVal->flags |= PARAM_VALFARPTR32;
     
    767767{
    768768    NOREF(pCpu);
    769     if (pParam->flags & (DISUSE_REG_GEN8|DISUSE_REG_GEN16|DISUSE_REG_GEN32|DISUSE_REG_FP|DISUSE_REG_MMX|DISUSE_REG_XMM|DISUSE_REG_CR|DISUSE_REG_DBG|DISUSE_REG_SEG|DISUSE_REG_TEST))
     769    if (pParam->fUse & (DISUSE_REG_GEN8|DISUSE_REG_GEN16|DISUSE_REG_GEN32|DISUSE_REG_FP|DISUSE_REG_MMX|DISUSE_REG_XMM|DISUSE_REG_CR|DISUSE_REG_DBG|DISUSE_REG_SEG|DISUSE_REG_TEST))
    770770    {
    771         if (pParam->flags & DISUSE_REG_GEN8)
     771        if (pParam->fUse & DISUSE_REG_GEN8)
    772772        {
    773773            uint8_t *pu8Reg;
     
    780780        }
    781781        else
    782         if (pParam->flags & DISUSE_REG_GEN16)
     782        if (pParam->fUse & DISUSE_REG_GEN16)
    783783        {
    784784            uint16_t *pu16Reg;
     
    791791        }
    792792        else
    793         if (pParam->flags & DISUSE_REG_GEN32)
     793        if (pParam->fUse & DISUSE_REG_GEN32)
    794794        {
    795795            uint32_t *pu32Reg;
     
    802802        }
    803803        else
    804         if (pParam->flags & DISUSE_REG_GEN64)
     804        if (pParam->fUse & DISUSE_REG_GEN64)
    805805        {
    806806            uint64_t *pu64Reg;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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