VirtualBox

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


Ignore:
Timestamp:
May 31, 2008 6:44:58 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
31473
Message:

Fixed symbol lookup - pCpu was missing.

File:
1 edited

Legend:

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

    r9271 r9272  
    849849                                    && pOp->opcode != OP_LOOPNE
    850850                                    && pOp->opcode != OP_JECXZ;
     851                        if (pOp->opcode == OP_CALL)
     852                            fFlags &= ~DIS_FMT_FLAGS_RELATIVE_BRANCH;
    851853
    852854                        if (pParam->flags & USE_IMMEDIATE8_REL)
     
    894896                        if (pfnGetSymbol)
    895897                        {
    896                             int rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), uTrgAddr, szSymbol, sizeof(szSymbol), &off, pvUser);
     898                            int rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), uTrgAddr, szSymbol, sizeof(szSymbol), &off, pvUser);
    897899                            if (RT_SUCCESS(rc))
    898900                            {
     
    933935                                PUT_NUM_16(pParam->parval);
    934936                                if (pfnGetSymbol)
    935                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     937                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    936938                                break;
    937939                            case USE_IMMEDIATE_ADDR_16_32:
     
    940942                                PUT_NUM_32(pParam->parval);
    941943                                if (pfnGetSymbol)
    942                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     944                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    943945                                break;
    944946                            case USE_DISPLACEMENT16:
    945947                                PUT_NUM_16(pParam->parval);
    946948                                if (pfnGetSymbol)
    947                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     949                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    948950                                break;
    949951                            case USE_DISPLACEMENT32:
    950952                                PUT_NUM_32(pParam->parval);
    951953                                if (pfnGetSymbol)
    952                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     954                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    953955                                break;
    954956                            case USE_DISPLACEMENT64:
    955957                                PUT_NUM_64(pParam->parval);
    956958                                if (pfnGetSymbol)
    957                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint64_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     959                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint64_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    958960                                break;
    959961                            default:
     
    997999                                PUT_NUM_16(pParam->parval);
    9981000                                if (pfnGetSymbol)
    999                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     1001                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint16_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    10001002                                break;
    10011003                            case USE_IMMEDIATE_ADDR_16_32:
     
    10041006                                PUT_NUM_32(pParam->parval);
    10051007                                if (pfnGetSymbol)
    1006                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
     1008                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_VALUE(pParam->parval >> 16), (uint32_t)pParam->parval, szSymbol, sizeof(szSymbol), &off, pvUser);
    10071009                                break;
    10081010                            case USE_DISPLACEMENT16:
    10091011                                PUT_NUM_16(pParam->disp16);
    10101012                                if (pfnGetSymbol)
    1011                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint16_t)pParam->disp16, szSymbol, sizeof(szSymbol), &off, pvUser);
     1013                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint16_t)pParam->disp16, szSymbol, sizeof(szSymbol), &off, pvUser);
    10121014                                break;
    10131015                            case USE_DISPLACEMENT32:
    10141016                                PUT_NUM_32(pParam->disp32);
    10151017                                if (pfnGetSymbol)
    1016                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint32_t)pParam->disp32, szSymbol, sizeof(szSymbol), &off, pvUser);
     1018                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint32_t)pParam->disp32, szSymbol, sizeof(szSymbol), &off, pvUser);
    10171019                                break;
    10181020                            case USE_DISPLACEMENT64:
    10191021                                PUT_NUM_64(pParam->disp64);
    10201022                                if (pfnGetSymbol)
    1021                                     rc = pfnGetSymbol(DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint64_t)pParam->disp64, szSymbol, sizeof(szSymbol), &off, pvUser);
     1023                                    rc = pfnGetSymbol(pCpu, DIS_FMT_SEL_FROM_REG(USE_REG_CS), (uint64_t)pParam->disp64, szSymbol, sizeof(szSymbol), &off, pvUser);
    10221024                                break;
    10231025                            default:
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