VirtualBox

Ignore:
Timestamp:
Nov 9, 2022 11:02:55 AM (2 years ago)
Author:
vboxsync
Message:

IEM: Fixed many instances of potentially broken EA calculation where we didn't add the size of the following immediate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsThree0f3a.cpp.h

    r97447 r97479  
    7676        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    7777
    78         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     78        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    7979        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    8080        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
     
    135135        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    136136
    137         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     137        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    138138        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    139139        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
     
    195195        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    196196
    197         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     197        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    198198        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    199199        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
     
    296296        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    297297
    298         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     298        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    299299        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    300300        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
     
    434434        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    435435
    436         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     436        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    437437        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    438438        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
     
    536536        IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
    537537
    538         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     538        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1);
    539539        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    540540        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 3);
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