VirtualBox

Changeset 41740 in vbox for trunk/src


Ignore:
Timestamp:
Jun 15, 2012 1:41:24 AM (13 years ago)
Author:
vboxsync
Message:

DISOPPARAM: s/param/fParam/ to match the related DISOPCODE members.

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

Legend:

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

    r41739 r41740  
    471471
    472472    // Should contain the parameter type on input
    473     pCpu->Param1.param = pOp->fParam1;
    474     pCpu->Param2.param = pOp->fParam2;
    475     pCpu->Param3.param = pOp->fParam3;
     473    pCpu->Param1.fParam = pOp->fParam1;
     474    pCpu->Param2.fParam = pOp->fParam2;
     475    pCpu->Param3.fParam = pOp->fParam3;
    476476
    477477    /* Correct the operand size if the instruction is marked as forced or default 64 bits */
     
    534534
    535535        // Should contain the parameter type on input
    536         pCpu->Param1.param = fpop->fParam1;
    537         pCpu->Param2.param = fpop->fParam2;
     536        pCpu->Param1.fParam = fpop->fParam1;
     537        pCpu->Param2.fParam = fpop->fParam2;
    538538    }
    539539    else
     
    718718unsigned UseModRM(RTUINTPTR uCodePtr, PCDISOPCODE pOp, PDISOPPARAM pParam, PDISCPUSTATE pCpu)
    719719{
    720     int      vtype = OP_PARM_VTYPE(pParam->param);
     720    unsigned vtype = OP_PARM_VTYPE(pParam->fParam);
    721721    unsigned reg = pCpu->ModRM.Bits.Reg;
    722722    unsigned mod = pCpu->ModRM.Bits.Mod;
     
    14011401    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    14021402    {
    1403         if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p)
     1403        if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p)
    14041404        {
    14051405            /* far 16:32 pointer */
     
    14251425    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    14261426    {
    1427         Assert(OP_PARM_VSUBTYPE(pParam->param) != OP_PARM_p);
     1427        Assert(OP_PARM_VSUBTYPE(pParam->fParam) != OP_PARM_p);
    14281428        /*
    14291429         * near 64 bits pointer
     
    14371437        return sizeof(uint64_t);
    14381438    }
    1439     if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p)
     1439    if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p)
    14401440    {
    14411441        /* far 16:16 pointer */
     
    14641464    if (pCpu->uAddrMode == DISCPUMODE_32BIT)
    14651465    {
    1466         if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p)
     1466        if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p)
    14671467        {// far 16:32 pointer
    14681468            return sizeof(uint32_t) + sizeof(uint16_t);
     
    14751475    if (pCpu->uAddrMode == DISCPUMODE_64BIT)
    14761476    {
    1477         Assert(OP_PARM_VSUBTYPE(pParam->param) != OP_PARM_p);
     1477        Assert(OP_PARM_VSUBTYPE(pParam->fParam) != OP_PARM_p);
    14781478        return sizeof(uint64_t);
    14791479    }
    14801480    else
    14811481    {
    1482         if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p)
     1482        if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p)
    14831483        {// far 16:16 pointer
    14841484            return sizeof(uint32_t);
     
    14961496    // immediate far pointers - only 16:16 or 16:32; determined by operand, *not* address size!
    14971497    Assert(pCpu->uOpMode == DISCPUMODE_16BIT || pCpu->uOpMode == DISCPUMODE_32BIT);
    1498     Assert(OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p);
     1498    Assert(OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p);
    14991499    if (pCpu->uOpMode == DISCPUMODE_32BIT)
    15001500    {
     
    15201520    // immediate far pointers - only 16:16 or 16:32
    15211521    Assert(pCpu->uOpMode == DISCPUMODE_16BIT || pCpu->uOpMode == DISCPUMODE_32BIT);
    1522     Assert(OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p);
     1522    Assert(OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p);
    15231523    if (pCpu->uOpMode == DISCPUMODE_32BIT)
    15241524    {
     
    15421542     */
    15431543
    1544     if (pParam->param == OP_PARM_NONE)
     1544    if (pParam->fParam == OP_PARM_NONE)
    15451545    {
    15461546        /* No parameter at all. */
     
    15531553    AssertCompile(OP_PARM_REG_GEN8_END < OP_PARM_REG_FP_END);
    15541554
    1555     if (pParam->param <= OP_PARM_REG_GEN32_END)
     1555    if (pParam->fParam <= OP_PARM_REG_GEN32_END)
    15561556    {
    15571557        /* 32-bit EAX..EDI registers. */
     
    15591559        {
    15601560            /* Use 32-bit registers. */
    1561             pParam->base.reg_gen = pParam->param - OP_PARM_REG_GEN32_START;
     1561            pParam->base.reg_gen = 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->param - OP_PARM_REG_GEN32_START;
     1569            pParam->base.reg_gen = 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 */
     
    15801580        {
    15811581            /* Use 16-bit registers. */
    1582             pParam->base.reg_gen = pParam->param - OP_PARM_REG_GEN32_START;
     1582            pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN32_START;
    15831583            pParam->fUse  |= DISUSE_REG_GEN16;
    15841584            pParam->cb     = 2;
    1585             pParam->param = pParam->param - OP_PARM_REG_GEN32_START + OP_PARM_REG_GEN16_START;
    1586         }
    1587     }
    1588     else
    1589     if (pParam->param <= OP_PARM_REG_SEG_END)
     1585            pParam->fParam = pParam->fParam - OP_PARM_REG_GEN32_START + OP_PARM_REG_GEN16_START;
     1586        }
     1587    }
     1588    else
     1589    if (pParam->fParam <= OP_PARM_REG_SEG_END)
    15901590    {
    15911591        /* Segment ES..GS registers. */
    1592         pParam->base.reg_seg = (DISSELREG)(pParam->param - OP_PARM_REG_SEG_START);
     1592        pParam->base.reg_seg = (DISSELREG)(pParam->fParam - OP_PARM_REG_SEG_START);
    15931593        pParam->fUse  |= DISUSE_REG_SEG;
    15941594        pParam->cb     = 2;
    15951595    }
    15961596    else
    1597     if (pParam->param <= OP_PARM_REG_GEN16_END)
     1597    if (pParam->fParam <= OP_PARM_REG_GEN16_END)
    15981598    {
    15991599        /* 16-bit AX..DI registers. */
    1600         pParam->base.reg_gen = pParam->param - OP_PARM_REG_GEN16_START;
     1600        pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN16_START;
    16011601        pParam->fUse  |= DISUSE_REG_GEN16;
    16021602        pParam->cb     = 2;
    16031603    }
    16041604    else
    1605     if (pParam->param <= OP_PARM_REG_GEN8_END)
     1605    if (pParam->fParam <= OP_PARM_REG_GEN8_END)
    16061606    {
    16071607        /* 8-bit AL..DL, AH..DH registers. */
    1608         pParam->base.reg_gen = pParam->param - OP_PARM_REG_GEN8_START;
     1608        pParam->base.reg_gen = pParam->fParam - OP_PARM_REG_GEN8_START;
    16091609        pParam->fUse  |= DISUSE_REG_GEN8;
    16101610        pParam->cb     = 1;
     
    16201620    }
    16211621    else
    1622     if (pParam->param <= OP_PARM_REG_FP_END)
     1622    if (pParam->fParam <= OP_PARM_REG_FP_END)
    16231623    {
    16241624        /* FPU registers. */
    1625         pParam->base.reg_fp = pParam->param - OP_PARM_REG_FP_START;
     1625        pParam->base.reg_fp = pParam->fParam - OP_PARM_REG_FP_START;
    16261626        pParam->fUse  |= DISUSE_REG_FP;
    16271627        pParam->cb     = 10;
    16281628    }
    1629     Assert(!(pParam->param >= OP_PARM_REG_GEN64_START && pParam->param <= OP_PARM_REG_GEN64_END));
     1629    Assert(!(pParam->fParam >= OP_PARM_REG_GEN64_START && pParam->fParam <= OP_PARM_REG_GEN64_END));
    16301630
    16311631    /* else - not supported for now registers. */
     
    22982298static void disasmModRMReg(PDISCPUSTATE pCpu, PCDISOPCODE pOp, unsigned idx, PDISOPPARAM pParam, int fRegAddr)
    22992299{
    2300     int subtype, type, mod;
    23012300    NOREF(pOp); NOREF(pCpu);
    23022301
    2303     mod     = pCpu->ModRM.Bits.Mod;
    2304 
    2305     type    = OP_PARM_VTYPE(pParam->param);
    2306     subtype = OP_PARM_VSUBTYPE(pParam->param);
     2302    unsigned mod     = pCpu->ModRM.Bits.Mod;
     2303
     2304    unsigned type    = OP_PARM_VTYPE(pParam->fParam);
     2305    unsigned subtype = OP_PARM_VSUBTYPE(pParam->fParam);
    23072306    if (fRegAddr)
    23082307        subtype = (pCpu->uAddrMode == DISCPUMODE_64BIT) ? OP_PARM_q : OP_PARM_d;
  • trunk/src/VBox/Disassembler/DisasmFormatYasm.cpp

    r41739 r41740  
    543543            case OP_FLD:
    544544                if (pCpu->bOpCode == 0xdb) /* m80fp workaround. */
    545                     *(int *)&pCpu->Param1.param &= ~0x1f; /* make it pure OP_PARM_M */
     545                    *(int *)&pCpu->Param1.fParam &= ~0x1f; /* make it pure OP_PARM_M */
    546546                break;
    547547            case OP_LAR: /* hack w -> v, probably not correct. */
    548                 *(int *)&pCpu->Param2.param &= ~0x1f;
    549                 *(int *)&pCpu->Param2.param |= OP_PARM_v;
     548                *(int *)&pCpu->Param2.fParam &= ~0x1f;
     549                *(int *)&pCpu->Param2.fParam |= OP_PARM_v;
    550550                break;
    551551        }
     
    559559#define PUT_FAR() \
    560560            do { \
    561                 if (    OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_p \
     561                if (    OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_p \
    562562                    &&  pOp->uOpcode != OP_LDS /* table bugs? */ \
    563563                    &&  pOp->uOpcode != OP_LES \
     
    571571#define PUT_SIZE_OVERRIDE() \
    572572            do { \
    573                 switch (OP_PARM_VSUBTYPE(pParam->param)) \
     573                switch (OP_PARM_VSUBTYPE(pParam->fParam)) \
    574574                { \
    575575                    case OP_PARM_v: \
     
    587587                    case OP_PARM_q: PUT_SZ("qword "); break; \
    588588                    case OP_PARM_dq: \
    589                         if (OP_PARM_VTYPE(pParam->param) != OP_PARM_W) /* these are 128 bit, pray they are all unambiguous.. */ \
     589                        if (OP_PARM_VTYPE(pParam->fParam) != OP_PARM_W) /* these are 128 bit, pray they are all unambiguous.. */ \
    590590                            PUT_SZ("qword "); \
    591591                        break; \
     
    594594                    case OP_PARM_z: break; \
    595595                    case OP_PARM_NONE: \
    596                         if (    OP_PARM_VTYPE(pParam->param) == OP_PARM_M \
     596                        if (    OP_PARM_VTYPE(pParam->fParam) == OP_PARM_M \
    597597                            &&  ((pParam->fUse & DISUSE_REG_FP) || pOp->uOpcode == OP_FLD)) \
    598598                            PUT_SZ("tword "); \
     
    673673                            /* Work around mov seg,[mem16]  and mov [mem16],seg as these always make a 16-bit mem
    674674                               while the register variants deals with 16, 32 & 64 in the normal fashion. */
    675                             if (    pParam->param != OP_PARM_Ev
     675                            if (    pParam->fParam != OP_PARM_Ev
    676676                                ||  pOp->uOpcode != OP_MOV
    677677                                ||  (   pOp->fParam1 != OP_PARM_Sw
     
    808808                                   )
    809809                                {
    810                                     if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_b)
     810                                    if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_b)
    811811                                        PUT_SZ_STRICT("strict byte ", "byte ");
    812                                     else if (   OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_v
    813                                              || OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_z)
     812                                    else if (   OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_v
     813                                             || OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_z)
    814814                                        PUT_SZ_STRICT("strict word ", "word ");
    815815                                }
     
    831831                                    )
    832832                                {
    833                                     if (OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_b)
     833                                    if (OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_b)
    834834                                        PUT_SZ_STRICT("strict byte ", "byte ");
    835                                     else if (   OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_v
    836                                              || OP_PARM_VSUBTYPE(pParam->param) == OP_PARM_z)
     835                                    else if (   OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_v
     836                                             || OP_PARM_VSUBTYPE(pParam->fParam) == OP_PARM_z)
    837837                                        PUT_SZ_STRICT("strict dword ", "dword ");
    838838                                }
  • trunk/src/VBox/Disassembler/DisasmReg.cpp

    r41736 r41740  
    203203DISDECL(int) DISGetParamSize(PDISCPUSTATE pCpu, PDISOPPARAM pParam)
    204204{
    205     int subtype = OP_PARM_VSUBTYPE(pParam->param);
     205    unsigned subtype = OP_PARM_VSUBTYPE(pParam->fParam);
    206206
    207207    if (subtype == OP_PARM_v)
     
    224224    }
    225225
    226     switch(subtype)
     226    switch (subtype)
    227227    {
    228228    case OP_PARM_b:
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