VirtualBox

Changeset 66137 in vbox


Ignore:
Timestamp:
Mar 16, 2017 4:27:04 PM (8 years ago)
Author:
vboxsync
Message:

IEM: Implemented AAS.

File:
1 edited

Legend:

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

    r66136 r66137  
    65026502
    65036503
     6504/**
     6505 * Implements 'AAS'.
     6506 */
     6507IEM_CIMPL_DEF_0(iemCImpl_aas)
     6508{
     6509    PCPUMCTX pCtx = IEM_GET_CTX(pVCpu);
     6510
     6511    uint8_t const uMaskedAl = pCtx->al & 0xf;
     6512    if (   pCtx->eflags.Bits.u1AF
     6513        || uMaskedAl >= 10)
     6514    {
     6515        pCtx->ax  = (pCtx->ax - 6) & UINT16_C(0xff0f);
     6516        pCtx->ah -= 1;
     6517        pCtx->eflags.Bits.u1AF = 1;
     6518        pCtx->eflags.Bits.u1CF = 1;
     6519    }
     6520    else
     6521    {
     6522        pCtx->al = uMaskedAl;
     6523        pCtx->eflags.Bits.u1AF = 0;
     6524        pCtx->eflags.Bits.u1CF = 0;
     6525    }
     6526
     6527    iemHlpUpdateArithEFlagsU8(pVCpu, pCtx->al, X86_EFL_SF | X86_EFL_ZF | X86_EFL_PF, X86_EFL_OF);
     6528    iemRegAddToRipAndClearRF(pVCpu, cbInstr);
     6529    return VINF_SUCCESS;
     6530}
     6531
     6532
     6533
    65046534
    65056535
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