VirtualBox

Changeset 38084 in vbox


Ignore:
Timestamp:
Jul 20, 2011 4:45:23 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
73031
Message:

IEM: Implemented immediate far call.

File:
1 edited

Legend:

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

    r38079 r38084  
    77817781
    77827782/** Opcode 0x9a. */
    7783 FNIEMOP_STUB(iemOp_call_Ap);
     7783FNIEMOP_DEF(iemOp_call_Ap)
     7784{
     7785    IEMOP_MNEMONIC("call Ap");
     7786    IEMOP_HLP_NO_64BIT();
     7787
     7788    /* Decode the far pointer address and pass it on to the far call C implementation. */
     7789    uint32_t offSeg;
     7790    if (pIemCpu->enmEffOpSize != IEMMODE_16BIT)
     7791        IEM_OPCODE_GET_NEXT_U32(&offSeg);
     7792    else
     7793    {
     7794        uint16_t offSeg16; IEM_OPCODE_GET_NEXT_U16(&offSeg16);
     7795        offSeg = offSeg16;
     7796    }
     7797    uint16_t uSel;  IEM_OPCODE_GET_NEXT_U16(&uSel);
     7798    IEMOP_HLP_NO_LOCK_PREFIX();
     7799    return IEM_MC_DEFER_TO_CIMPL_3(iemCImpl_callf, uSel, offSeg, pIemCpu->enmEffOpSize);
     7800}
    77847801
    77857802
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