VirtualBox

Changeset 41744 in vbox for trunk/src/VBox/Disassembler


Ignore:
Timestamp:
Jun 15, 2012 2:29:09 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
78552
Message:

DISOPPARAM: s/base.reg_*/Base.idx*Reg/ + docs

Location:
trunk/src/VBox/Disassembler
Files:
3 edited

Legend:

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

    r41743 r41744  
    643643    {
    644644        pParam->fUse |= DISUSE_BASE | regtype;
    645         pParam->base.reg_gen = base;
     645        pParam->Base.idxGenReg = base;
    646646    }
    647647    return;   /* Already fetched everything in ParseSIB; no size returned */
     
    742742                {
    743743                    pCpu->fPrefix &= ~DISPREFIX_LOCK;
    744                     pParam->base.reg_ctrl = DISCREG_CR8;
     744                    pParam->Base.idxCtrlReg = DISCREG_CR8;
    745745                }
    746746                else
    747                     pParam->base.reg_ctrl = reg;
     747                    pParam->Base.idxCtrlReg = reg;
    748748                return 0;
    749749
    750750            case OP_PARM_D: //debug register
    751751                pParam->fUse |= DISUSE_REG_DBG;
    752                 pParam->base.reg_dbg = reg;
     752                pParam->Base.idxDbgReg = reg;
    753753                return 0;
    754754
     
    756756                reg &= 7;   /* REX.R has no effect here */
    757757                pParam->fUse |= DISUSE_REG_MMX;
    758                 pParam->base.reg_mmx = reg;
     758                pParam->Base.idxMmxReg = reg;
    759759                return 0;
    760760
     
    768768                reg &= 7;   /* REX.R has no effect here */
    769769                pParam->fUse |= DISUSE_REG_TEST;
    770                 pParam->base.reg_test = reg;
     770                pParam->Base.idxTestReg = reg;
    771771                return 0;
    772772
     
    779779            case OP_PARM_V: //XMM register
    780780                pParam->fUse |= DISUSE_REG_XMM;
    781                 pParam->base.reg_xmm = reg;
     781                pParam->Base.idxXmmReg = reg;
    782782                return 0;
    783783            }
     
    15591559        {
    15601560            /* Use 32-bit registers. */
    1561             pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN32_START;
     1561            pParam->Base.idxGenReg = pParam->fParam - OP_PARM_REG_GEN32_START;
    15621562            pParam->fUse  |= DISUSE_REG_GEN32;
    15631563            pParam->cb     = 4;
     
    15671567        {
    15681568            /* Use 64-bit registers. */
    1569             pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN32_START;
     1569            pParam->Base.idxGenReg = pParam->fParam - OP_PARM_REG_GEN32_START;
    15701570            if (    (pOp->fOpType & DISOPTYPE_REXB_EXTENDS_OPREG)
    15711571                &&  pParam == &pCpu->Param1             /* ugly assumption that it only applies to the first parameter */
    15721572                &&  (pCpu->fPrefix & DISPREFIX_REX)
    15731573                &&  (pCpu->fRexPrefix & DISPREFIX_REX_FLAGS))
    1574                 pParam->base.reg_gen += 8;
     1574                pParam->Base.idxGenReg += 8;
    15751575
    15761576            pParam->fUse  |= DISUSE_REG_GEN64;
     
    15801580        {
    15811581            /* Use 16-bit registers. */
    1582             pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN32_START;
     1582            pParam->Base.idxGenReg = pParam->fParam - OP_PARM_REG_GEN32_START;
    15831583            pParam->fUse  |= DISUSE_REG_GEN16;
    15841584            pParam->cb     = 2;
     
    15901590    {
    15911591        /* Segment ES..GS registers. */
    1592         pParam->base.reg_seg = (DISSELREG)(pParam->fParam - OP_PARM_REG_SEG_START);
     1592        pParam->Base.idxSegReg = (DISSELREG)(pParam->fParam - OP_PARM_REG_SEG_START);
    15931593        pParam->fUse  |= DISUSE_REG_SEG;
    15941594        pParam->cb     = 2;
     
    15981598    {
    15991599        /* 16-bit AX..DI registers. */
    1600         pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN16_START;
     1600        pParam->Base.idxGenReg = pParam->fParam - OP_PARM_REG_GEN16_START;
    16011601        pParam->fUse  |= DISUSE_REG_GEN16;
    16021602        pParam->cb     = 2;
     
    16061606    {
    16071607        /* 8-bit AL..DL, AH..DH registers. */
    1608         pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN8_START;
     1608        pParam->Base.idxGenReg = pParam->fParam - OP_PARM_REG_GEN8_START;
    16091609        pParam->fUse  |= DISUSE_REG_GEN8;
    16101610        pParam->cb     = 1;
     
    16161616                &&  (pCpu->fPrefix & DISPREFIX_REX)
    16171617                &&  (pCpu->fRexPrefix & DISPREFIX_REX_FLAGS))
    1618                 pParam->base.reg_gen += 8;              /* least significant byte of R8-R15 */
     1618                pParam->Base.idxGenReg += 8;              /* least significant byte of R8-R15 */
    16191619        }
    16201620    }
     
    16231623    {
    16241624        /* FPU registers. */
    1625         pParam->base.reg_fp = pParam->fParam - OP_PARM_REG_FP_START;
     1625        pParam->Base.idxFpuReg = pParam->fParam - OP_PARM_REG_FP_START;
    16261626        pParam->fUse  |= DISUSE_REG_FP;
    16271627        pParam->cb     = 10;
     
    16421642    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    16431643    {
    1644         pParam->base.reg_gen = DISGREG_ESI;
     1644        pParam->Base.idxGenReg = DISGREG_ESI;
    16451645        pParam->fUse |= DISUSE_REG_GEN32;
    16461646    }
     
    16481648    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    16491649    {
    1650         pParam->base.reg_gen = DISGREG_RSI;
     1650        pParam->Base.idxGenReg = DISGREG_RSI;
    16511651        pParam->fUse |= DISUSE_REG_GEN64;
    16521652    }
    16531653    else
    16541654    {
    1655         pParam->base.reg_gen = DISGREG_SI;
     1655        pParam->Base.idxGenReg = DISGREG_SI;
    16561656        pParam->fUse |= DISUSE_REG_GEN16;
    16571657    }
     
    16671667    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    16681668    {
    1669         pParam->base.reg_gen = DISGREG_ESI;
     1669        pParam->Base.idxGenReg = DISGREG_ESI;
    16701670        pParam->fUse |= DISUSE_REG_GEN32;
    16711671    }
     
    16731673    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    16741674    {
    1675         pParam->base.reg_gen = DISGREG_RSI;
     1675        pParam->Base.idxGenReg = DISGREG_RSI;
    16761676        pParam->fUse |= DISUSE_REG_GEN64;
    16771677    }
    16781678    else
    16791679    {
    1680         pParam->base.reg_gen = DISGREG_SI;
     1680        pParam->Base.idxGenReg = DISGREG_SI;
    16811681        pParam->fUse |= DISUSE_REG_GEN16;
    16821682    }
     
    16921692    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    16931693    {
    1694         pParam->base.reg_gen = DISGREG_EDI;
     1694        pParam->Base.idxGenReg = DISGREG_EDI;
    16951695        pParam->fUse |= DISUSE_REG_GEN32;
    16961696    }
     
    16981698    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    16991699    {
    1700         pParam->base.reg_gen = DISGREG_RDI;
     1700        pParam->Base.idxGenReg = DISGREG_RDI;
    17011701        pParam->fUse |= DISUSE_REG_GEN64;
    17021702    }
    17031703    else
    17041704    {
    1705         pParam->base.reg_gen = DISGREG_DI;
     1705        pParam->Base.idxGenReg = DISGREG_DI;
    17061706        pParam->fUse |= DISUSE_REG_GEN16;
    17071707    }
     
    17171717    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    17181718    {
    1719         pParam->base.reg_gen = DISGREG_EDI;
     1719        pParam->Base.idxGenReg = DISGREG_EDI;
    17201720        pParam->fUse |= DISUSE_REG_GEN32;
    17211721    }
     
    17231723    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    17241724    {
    1725         pParam->base.reg_gen = DISGREG_RDI;
     1725        pParam->Base.idxGenReg = DISGREG_RDI;
    17261726        pParam->fUse |= DISUSE_REG_GEN64;
    17271727    }
    17281728    else
    17291729    {
    1730         pParam->base.reg_gen = DISGREG_DI;
     1730        pParam->Base.idxGenReg = DISGREG_DI;
    17311731        pParam->fUse |= DISUSE_REG_GEN16;
    17321732    }
     
    23412341
    23422342        pParam->fUse |= DISUSE_REG_GEN8;
    2343         pParam->base.reg_gen = idx;
     2343        pParam->Base.idxGenReg = idx;
    23442344        break;
    23452345
     
    23482348
    23492349        pParam->fUse |= DISUSE_REG_GEN16;
    2350         pParam->base.reg_gen = idx;
     2350        pParam->Base.idxGenReg = idx;
    23512351        break;
    23522352
     
    23552355
    23562356        pParam->fUse |= DISUSE_REG_GEN32;
    2357         pParam->base.reg_gen = idx;
     2357        pParam->Base.idxGenReg = idx;
    23582358        break;
    23592359
    23602360    case OP_PARM_q:
    23612361        pParam->fUse |= DISUSE_REG_GEN64;
    2362         pParam->base.reg_gen = idx;
     2362        pParam->Base.idxGenReg = idx;
    23632363        break;
    23642364
     
    23752375    NOREF(pCpu); NOREF(pOp);
    23762376    pParam->fUse |= DISUSE_REG_GEN16;
    2377     pParam->base.reg_gen = BaseModRMReg16[idx];
     2377    pParam->Base.idxGenReg = BaseModRMReg16[idx];
    23782378    if (idx < 4)
    23792379    {
     
    23952395
    23962396    pParam->fUse |= DISUSE_REG_SEG;
    2397     pParam->base.reg_seg = (DISSELREG)idx;
     2397    pParam->Base.idxSegReg = (DISSELREG)idx;
    23982398}
    23992399
  • trunk/src/VBox/Disassembler/DisasmFormatYasm.cpp

    r41743 r41744  
    100100        case DISUSE_REG_GEN8:
    101101        {
    102             Assert(pParam->base.reg_gen < RT_ELEMENTS(g_aszYasmRegGen8));
    103             const char *psz = g_aszYasmRegGen8[pParam->base.reg_gen];
     102            Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen8));
     103            const char *psz = g_aszYasmRegGen8[pParam->Base.idxGenReg];
    104104            *pcchReg = 2 + !!psz[2] + !!psz[3];
    105105            return psz;
     
    108108        case DISUSE_REG_GEN16:
    109109        {
    110             Assert(pParam->base.reg_gen < RT_ELEMENTS(g_aszYasmRegGen16));
    111             const char *psz = g_aszYasmRegGen16[pParam->base.reg_gen];
     110            Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen16));
     111            const char *psz = g_aszYasmRegGen16[pParam->Base.idxGenReg];
    112112            *pcchReg = 2 + !!psz[2] + !!psz[3];
    113113            return psz;
     
    116116        case DISUSE_REG_GEN32:
    117117        {
    118             Assert(pParam->base.reg_gen < RT_ELEMENTS(g_aszYasmRegGen32));
    119             const char *psz = g_aszYasmRegGen32[pParam->base.reg_gen];
     118            Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen32));
     119            const char *psz = g_aszYasmRegGen32[pParam->Base.idxGenReg];
    120120            *pcchReg = 2 + !!psz[2] + !!psz[3];
    121121            return psz;
     
    124124        case DISUSE_REG_GEN64:
    125125        {
    126             Assert(pParam->base.reg_gen < RT_ELEMENTS(g_aszYasmRegGen64));
    127             const char *psz = g_aszYasmRegGen64[pParam->base.reg_gen];
     126            Assert(pParam->Base.idxGenReg < RT_ELEMENTS(g_aszYasmRegGen64));
     127            const char *psz = g_aszYasmRegGen64[pParam->Base.idxGenReg];
    128128            *pcchReg = 2 + !!psz[2] + !!psz[3];
    129129            return psz;
     
    132132        case DISUSE_REG_FP:
    133133        {
    134             Assert(pParam->base.reg_fp < RT_ELEMENTS(g_aszYasmRegFP));
    135             const char *psz = g_aszYasmRegFP[pParam->base.reg_fp];
     134            Assert(pParam->Base.idxFpuReg < RT_ELEMENTS(g_aszYasmRegFP));
     135            const char *psz = g_aszYasmRegFP[pParam->Base.idxFpuReg];
    136136            *pcchReg = 3;
    137137            return psz;
     
    140140        case DISUSE_REG_MMX:
    141141        {
    142             Assert(pParam->base.reg_mmx < RT_ELEMENTS(g_aszYasmRegMMX));
    143             const char *psz = g_aszYasmRegMMX[pParam->base.reg_mmx];
     142            Assert(pParam->Base.idxMmxReg < RT_ELEMENTS(g_aszYasmRegMMX));
     143            const char *psz = g_aszYasmRegMMX[pParam->Base.idxMmxReg];
    144144            *pcchReg = 3;
    145145            return psz;
     
    148148        case DISUSE_REG_XMM:
    149149        {
    150             Assert(pParam->base.reg_xmm < RT_ELEMENTS(g_aszYasmRegXMM));
    151             const char *psz = g_aszYasmRegXMM[pParam->base.reg_mmx];
     150            Assert(pParam->Base.idxXmmReg < RT_ELEMENTS(g_aszYasmRegXMM));
     151            const char *psz = g_aszYasmRegXMM[pParam->Base.idxMmxReg];
    152152            *pcchReg = 4 + !!psz[4];
    153153            return psz;
     
    156156        case DISUSE_REG_CR:
    157157        {
    158             Assert(pParam->base.reg_ctrl < RT_ELEMENTS(g_aszYasmRegCRx));
    159             const char *psz = g_aszYasmRegCRx[pParam->base.reg_ctrl];
     158            Assert(pParam->Base.idxCtrlReg < RT_ELEMENTS(g_aszYasmRegCRx));
     159            const char *psz = g_aszYasmRegCRx[pParam->Base.idxCtrlReg];
    160160            *pcchReg = 3;
    161161            return psz;
     
    164164        case DISUSE_REG_DBG:
    165165        {
    166             Assert(pParam->base.reg_dbg < RT_ELEMENTS(g_aszYasmRegDRx));
    167             const char *psz = g_aszYasmRegDRx[pParam->base.reg_dbg];
     166            Assert(pParam->Base.idxDbgReg < RT_ELEMENTS(g_aszYasmRegDRx));
     167            const char *psz = g_aszYasmRegDRx[pParam->Base.idxDbgReg];
    168168            *pcchReg = 3;
    169169            return psz;
     
    172172        case DISUSE_REG_SEG:
    173173        {
    174             Assert(pParam->base.reg_seg < RT_ELEMENTS(g_aszYasmRegCRx));
    175             const char *psz = g_aszYasmRegSeg[pParam->base.reg_seg];
     174            Assert(pParam->Base.idxSegReg < RT_ELEMENTS(g_aszYasmRegCRx));
     175            const char *psz = g_aszYasmRegSeg[pParam->Base.idxSegReg];
    176176            *pcchReg = 2;
    177177            return psz;
     
    180180        case DISUSE_REG_TEST:
    181181        {
    182             Assert(pParam->base.reg_test < RT_ELEMENTS(g_aszYasmRegTRx));
    183             const char *psz = g_aszYasmRegTRx[pParam->base.reg_test];
     182            Assert(pParam->Base.idxTestReg < RT_ELEMENTS(g_aszYasmRegTRx));
     183            const char *psz = g_aszYasmRegTRx[pParam->Base.idxTestReg];
    184184            *pcchReg = 3;
    185185            return psz;
  • trunk/src/VBox/Disassembler/DisasmReg.cpp

    r41743 r41744  
    270270        AssertCompile(DISGREG_ESP == DISGREG_SP);
    271271        AssertCompile(DISGREG_EBP == DISGREG_BP);
    272         if (pParam->base.reg_gen == DISGREG_ESP || pParam->base.reg_gen == DISGREG_EBP)
     272        if (pParam->Base.idxGenReg == DISGREG_ESP || pParam->Base.idxGenReg == DISGREG_EBP)
    273273            return DISSELREG_SS;
    274274    }
     
    515515            {
    516516                pParamVal->flags |= DISQPV_FLAG_8;
    517                 if (RT_FAILURE(DISFetchReg8(pCtx, pParam->base.reg_gen, &pParamVal->val.val8))) return VERR_INVALID_PARAMETER;
     517                if (RT_FAILURE(DISFetchReg8(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val8))) return VERR_INVALID_PARAMETER;
    518518            }
    519519            else
     
    521521            {
    522522                pParamVal->flags |= DISQPV_FLAG_16;
    523                 if (RT_FAILURE(DISFetchReg16(pCtx, pParam->base.reg_gen, &pParamVal->val.val16))) return VERR_INVALID_PARAMETER;
     523                if (RT_FAILURE(DISFetchReg16(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val16))) return VERR_INVALID_PARAMETER;
    524524            }
    525525            else
     
    527527            {
    528528                pParamVal->flags |= DISQPV_FLAG_32;
    529                 if (RT_FAILURE(DISFetchReg32(pCtx, pParam->base.reg_gen, &pParamVal->val.val32))) return VERR_INVALID_PARAMETER;
     529                if (RT_FAILURE(DISFetchReg32(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val32))) return VERR_INVALID_PARAMETER;
    530530            }
    531531            else
     
    533533            {
    534534                pParamVal->flags |= DISQPV_FLAG_64;
    535                 if (RT_FAILURE(DISFetchReg64(pCtx, pParam->base.reg_gen, &pParamVal->val.val64))) return VERR_INVALID_PARAMETER;
     535                if (RT_FAILURE(DISFetchReg64(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val64))) return VERR_INVALID_PARAMETER;
    536536            }
    537537            else
     
    647647            pParamVal->flags |= DISQPV_FLAG_8;
    648648            pParamVal->size   = sizeof(uint8_t);
    649             if (RT_FAILURE(DISFetchReg8(pCtx, pParam->base.reg_gen, &pParamVal->val.val8))) return VERR_INVALID_PARAMETER;
     649            if (RT_FAILURE(DISFetchReg8(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val8))) return VERR_INVALID_PARAMETER;
    650650        }
    651651        else
     
    654654            pParamVal->flags |= DISQPV_FLAG_16;
    655655            pParamVal->size   = sizeof(uint16_t);
    656             if (RT_FAILURE(DISFetchReg16(pCtx, pParam->base.reg_gen, &pParamVal->val.val16))) return VERR_INVALID_PARAMETER;
     656            if (RT_FAILURE(DISFetchReg16(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val16))) return VERR_INVALID_PARAMETER;
    657657        }
    658658        else
     
    661661            pParamVal->flags |= DISQPV_FLAG_32;
    662662            pParamVal->size   = sizeof(uint32_t);
    663             if (RT_FAILURE(DISFetchReg32(pCtx, pParam->base.reg_gen, &pParamVal->val.val32))) return VERR_INVALID_PARAMETER;
     663            if (RT_FAILURE(DISFetchReg32(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val32))) return VERR_INVALID_PARAMETER;
    664664        }
    665665        else
     
    668668            pParamVal->flags |= DISQPV_FLAG_64;
    669669            pParamVal->size   = sizeof(uint64_t);
    670             if (RT_FAILURE(DISFetchReg64(pCtx, pParam->base.reg_gen, &pParamVal->val.val64))) return VERR_INVALID_PARAMETER;
     670            if (RT_FAILURE(DISFetchReg64(pCtx, pParam->Base.idxGenReg, &pParamVal->val.val64))) return VERR_INVALID_PARAMETER;
    671671        }
    672672        else
     
    767767        {
    768768            uint8_t *pu8Reg;
    769             if (RT_SUCCESS(DISPtrReg8(pCtx, pParam->base.reg_gen, &pu8Reg)))
     769            if (RT_SUCCESS(DISPtrReg8(pCtx, pParam->Base.idxGenReg, &pu8Reg)))
    770770            {
    771771                *pcbSize = sizeof(uint8_t);
     
    778778        {
    779779            uint16_t *pu16Reg;
    780             if (RT_SUCCESS(DISPtrReg16(pCtx, pParam->base.reg_gen, &pu16Reg)))
     780            if (RT_SUCCESS(DISPtrReg16(pCtx, pParam->Base.idxGenReg, &pu16Reg)))
    781781            {
    782782                *pcbSize = sizeof(uint16_t);
     
    789789        {
    790790            uint32_t *pu32Reg;
    791             if (RT_SUCCESS(DISPtrReg32(pCtx, pParam->base.reg_gen, &pu32Reg)))
     791            if (RT_SUCCESS(DISPtrReg32(pCtx, pParam->Base.idxGenReg, &pu32Reg)))
    792792            {
    793793                *pcbSize = sizeof(uint32_t);
     
    800800        {
    801801            uint64_t *pu64Reg;
    802             if (RT_SUCCESS(DISPtrReg64(pCtx, pParam->base.reg_gen, &pu64Reg)))
     802            if (RT_SUCCESS(DISPtrReg64(pCtx, pParam->Base.idxGenReg, &pu64Reg)))
    803803            {
    804804                *pcbSize = sizeof(uint64_t);
Note: See TracChangeset for help on using the changeset viewer.

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