Changeset 66137 in vbox
- Timestamp:
- Mar 16, 2017 4:27:04 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r66136 r66137 6502 6502 6503 6503 6504 /** 6505 * Implements 'AAS'. 6506 */ 6507 IEM_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 6504 6534 6505 6535
Note:
See TracChangeset
for help on using the changeset viewer.