Changeset 37007 in vbox
- Timestamp:
- May 9, 2011 8:16:34 AM (14 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r37004 r37007 3670 3670 * @{ 3671 3671 */ 3672 #define IEM_MC_BEGIN( cArgs, cLocals){3672 #define IEM_MC_BEGIN(a_cArgs, a_cLocals) { 3673 3673 #define IEM_MC_END() } 3674 3674 #define IEM_MC_PAUSE() do {} while (0) … … 3820 3820 #define IEM_MC_FETCH_MEM_U8(a_u8Dst, a_iSeg, a_GCPtrMem) \ 3821 3821 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU8(pIemCpu, &(a_u8Dst), (a_iSeg), (a_GCPtrMem))) 3822 #define IEM_MC_FETCH_MEM16_U8(a_u8Dst, a_iSeg, a_GCPtrMem16) \ 3823 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU8(pIemCpu, &(a_u8Dst), (a_iSeg), (a_GCPtrMem16))) 3824 #define IEM_MC_FETCH_MEM32_U8(a_u8Dst, a_iSeg, a_GCPtrMem32) \ 3825 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU8(pIemCpu, &(a_u8Dst), (a_iSeg), (a_GCPtrMem32))) 3826 3822 3827 #define IEM_MC_FETCH_MEM_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \ 3823 3828 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU16(pIemCpu, &(a_u16Dst), (a_iSeg), (a_GCPtrMem))) 3829 #define IEM_MC_FETCH_MEM_U16_DISP(a_u16Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 3830 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU16(pIemCpu, &(a_u16Dst), (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 3831 3824 3832 #define IEM_MC_FETCH_MEM_U32(a_u32Dst, a_iSeg, a_GCPtrMem) \ 3825 3833 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU32(pIemCpu, &(a_u32Dst), (a_iSeg), (a_GCPtrMem))) 3834 #define IEM_MC_FETCH_MEM_U32_DISP(a_u32Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 3835 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU32(pIemCpu, &(a_u32Dst), (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 3836 3826 3837 #define IEM_MC_FETCH_MEM_S32_SX_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 3827 3838 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataS32SxU64(pIemCpu, &(a_u64Dst), (a_iSeg), (a_GCPtrMem))) 3839 3828 3840 #define IEM_MC_FETCH_MEM_U64(a_u64Dst, a_iSeg, a_GCPtrMem) \ 3829 3841 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU64(pIemCpu, &(a_u64Dst), (a_iSeg), (a_GCPtrMem))) 3842 #define IEM_MC_FETCH_MEM_U64_DISP(a_u64Dst, a_iSeg, a_GCPtrMem, a_offDisp) \ 3843 IEM_MC_RETURN_ON_FAILURE(iemMemFetchDataU64(pIemCpu, &(a_u64Dst), (a_iSeg), (a_GCPtrMem) + (a_offDisp))) 3830 3844 3831 3845 #define IEM_MC_FETCH_MEM_U8_ZX_U16(a_u16Dst, a_iSeg, a_GCPtrMem) \ … … 3911 3925 #define IEM_MC_STORE_MEM_U64(a_iSeg, a_GCPtrMem, a_u64Value) \ 3912 3926 IEM_MC_RETURN_ON_FAILURE(iemMemStoreDataU64(pIemCpu, (a_iSeg), (a_GCPtrMem), (a_u64Value))) 3927 3928 #define IEM_MC_STORE_MEM_U8_CONST(a_iSeg, a_GCPtrMem, a_u8C) \ 3929 IEM_MC_RETURN_ON_FAILURE(iemMemStoreDataU8(pIemCpu, (a_iSeg), (a_GCPtrMem), (a_u8C))) 3913 3930 3914 3931 #define IEM_MC_PUSH_U16(a_u16Value) \ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r37004 r37007 2029 2029 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2030 2030 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { 2031 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2031 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2032 2032 } IEM_MC_ELSE() { 2033 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2033 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2034 2034 } IEM_MC_ENDIF(); 2035 2035 IEM_MC_ADVANCE_RIP(); … … 2069 2069 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2070 2070 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { 2071 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2071 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2072 2072 } IEM_MC_ELSE() { 2073 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2073 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2074 2074 } IEM_MC_ENDIF(); 2075 2075 IEM_MC_ADVANCE_RIP(); … … 2109 2109 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2110 2110 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { 2111 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2111 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2112 2112 } IEM_MC_ELSE() { 2113 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2113 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2114 2114 } IEM_MC_ENDIF(); 2115 2115 IEM_MC_ADVANCE_RIP(); … … 2149 2149 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2150 2150 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { 2151 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2151 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2152 2152 } IEM_MC_ELSE() { 2153 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2153 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2154 2154 } IEM_MC_ENDIF(); 2155 2155 IEM_MC_ADVANCE_RIP(); … … 2189 2189 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2190 2190 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { 2191 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2191 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2192 2192 } IEM_MC_ELSE() { 2193 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2193 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2194 2194 } IEM_MC_ENDIF(); 2195 2195 IEM_MC_ADVANCE_RIP(); … … 2229 2229 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2230 2230 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { 2231 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2231 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2232 2232 } IEM_MC_ELSE() { 2233 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2233 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2234 2234 } IEM_MC_ENDIF(); 2235 2235 IEM_MC_ADVANCE_RIP(); … … 2269 2269 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2270 2270 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { 2271 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2271 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2272 2272 } IEM_MC_ELSE() { 2273 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2273 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2274 2274 } IEM_MC_ENDIF(); 2275 2275 IEM_MC_ADVANCE_RIP(); … … 2309 2309 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2310 2310 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { 2311 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2311 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2312 2312 } IEM_MC_ELSE() { 2313 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2313 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2314 2314 } IEM_MC_ENDIF(); 2315 2315 IEM_MC_ADVANCE_RIP(); … … 2349 2349 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2350 2350 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { 2351 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2351 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2352 2352 } IEM_MC_ELSE() { 2353 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2353 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2354 2354 } IEM_MC_ENDIF(); 2355 2355 IEM_MC_ADVANCE_RIP(); … … 2389 2389 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2390 2390 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { 2391 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2391 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2392 2392 } IEM_MC_ELSE() { 2393 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2393 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2394 2394 } IEM_MC_ENDIF(); 2395 2395 IEM_MC_ADVANCE_RIP(); … … 2429 2429 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2430 2430 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { 2431 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2431 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2432 2432 } IEM_MC_ELSE() { 2433 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2433 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2434 2434 } IEM_MC_ENDIF(); 2435 2435 IEM_MC_ADVANCE_RIP(); … … 2469 2469 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2470 2470 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { 2471 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2471 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2472 2472 } IEM_MC_ELSE() { 2473 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2473 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2474 2474 } IEM_MC_ENDIF(); 2475 2475 IEM_MC_ADVANCE_RIP(); … … 2509 2509 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2510 2510 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { 2511 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2511 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2512 2512 } IEM_MC_ELSE() { 2513 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2513 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2514 2514 } IEM_MC_ENDIF(); 2515 2515 IEM_MC_ADVANCE_RIP(); … … 2549 2549 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2550 2550 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { 2551 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2551 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2552 2552 } IEM_MC_ELSE() { 2553 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2553 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2554 2554 } IEM_MC_ENDIF(); 2555 2555 IEM_MC_ADVANCE_RIP(); … … 2589 2589 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2590 2590 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { 2591 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2591 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2592 2592 } IEM_MC_ELSE() { 2593 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2593 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2594 2594 } IEM_MC_ENDIF(); 2595 2595 IEM_MC_ADVANCE_RIP(); … … 2629 2629 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm); 2630 2630 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { 2631 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 0);2631 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 0); 2632 2632 } IEM_MC_ELSE() { 2633 IEM_MC_STORE_MEM_U8 (pIemCpu->iEffSeg, GCPtrEffDst, 1);2633 IEM_MC_STORE_MEM_U8_CONST(pIemCpu->iEffSeg, GCPtrEffDst, 1); 2634 2634 } IEM_MC_ENDIF(); 2635 2635 IEM_MC_ADVANCE_RIP(); … … 3288 3288 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm); 3289 3289 IEM_MC_FETCH_MEM_U16(offSeg, pIemCpu->iEffSeg, GCPtrEff); 3290 IEM_MC_FETCH_MEM_U16 (uSel, pIemCpu->iEffSeg, GCPtrEff +2);3290 IEM_MC_FETCH_MEM_U16_DISP(uSel, pIemCpu->iEffSeg, GCPtrEff, 2); 3291 3291 IEM_MC_CALL_CIMPL_5(iemCImpl_load_SReg_Greg, uSel, offSeg, iSegRegArg, iGRegArg, enmEffOpSize); 3292 3292 IEM_MC_END(); … … 3303 3303 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm); 3304 3304 IEM_MC_FETCH_MEM_U32(offSeg, pIemCpu->iEffSeg, GCPtrEff); 3305 IEM_MC_FETCH_MEM_U16 (uSel, pIemCpu->iEffSeg, GCPtrEff +4);3305 IEM_MC_FETCH_MEM_U16_DISP(uSel, pIemCpu->iEffSeg, GCPtrEff, 4); 3306 3306 IEM_MC_CALL_CIMPL_5(iemCImpl_load_SReg_Greg, uSel, offSeg, iSegRegArg, iGRegArg, enmEffOpSize); 3307 3307 IEM_MC_END(); … … 3318 3318 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm); 3319 3319 IEM_MC_FETCH_MEM_U64(offSeg, pIemCpu->iEffSeg, GCPtrEff); 3320 IEM_MC_FETCH_MEM_U16 (uSel, pIemCpu->iEffSeg, GCPtrEff +8);3320 IEM_MC_FETCH_MEM_U16_DISP(uSel, pIemCpu->iEffSeg, GCPtrEff, 8); 3321 3321 IEM_MC_CALL_CIMPL_5(iemCImpl_load_SReg_Greg, uSel, offSeg, iSegRegArg, iGRegArg, enmEffOpSize); 3322 3322 IEM_MC_END(); … … 9568 9568 IEM_MC_FETCH_GREG_U8_ZX_U16(u16Addr, X86_GREG_xAX); 9569 9569 IEM_MC_ADD_GREG_U16_TO_LOCAL(u16Addr, X86_GREG_xBX); 9570 IEM_MC_FETCH_MEM _U8(u8Tmp, pIemCpu->iEffSeg, u16Addr);9570 IEM_MC_FETCH_MEM16_U8(u8Tmp, pIemCpu->iEffSeg, u16Addr); 9571 9571 IEM_MC_STORE_GREG_U8(X86_GREG_xAX, u8Tmp); 9572 9572 IEM_MC_ADVANCE_RIP(); … … 9580 9580 IEM_MC_FETCH_GREG_U8_ZX_U32(u32Addr, X86_GREG_xAX); 9581 9581 IEM_MC_ADD_GREG_U32_TO_LOCAL(u32Addr, X86_GREG_xBX); 9582 IEM_MC_FETCH_MEM _U8(u8Tmp, pIemCpu->iEffSeg, u32Addr);9582 IEM_MC_FETCH_MEM32_U8(u8Tmp, pIemCpu->iEffSeg, u32Addr); 9583 9583 IEM_MC_STORE_GREG_U8(X86_GREG_xAX, u8Tmp); 9584 9584 IEM_MC_ADVANCE_RIP(); … … 11049 11049 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11050 11050 IEM_MC_FETCH_MEM_U16(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11051 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +2);11051 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 2); 11052 11052 IEM_MC_CALL_CIMPL_3(iemCImpl_callf, u16Sel, offSeg, enmEffOpSize); 11053 11053 IEM_MC_END(); … … 11062 11062 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11063 11063 IEM_MC_FETCH_MEM_U32(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11064 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +4);11064 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 4); 11065 11065 IEM_MC_CALL_CIMPL_3(iemCImpl_callf, u16Sel, offSeg, enmEffOpSize); 11066 11066 IEM_MC_END(); … … 11075 11075 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11076 11076 IEM_MC_FETCH_MEM_U64(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11077 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +8);11077 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 8); 11078 11078 IEM_MC_CALL_CIMPL_3(iemCImpl_callf, u16Sel, offSeg, enmEffOpSize); 11079 11079 IEM_MC_END(); … … 11198 11198 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11199 11199 IEM_MC_FETCH_MEM_U16(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11200 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +2);11200 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 2); 11201 11201 IEM_MC_CALL_CIMPL_3(iemCImpl_FarJmp, u16Sel, offSeg, enmEffOpSize); 11202 11202 IEM_MC_END(); … … 11211 11211 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11212 11212 IEM_MC_FETCH_MEM_U32(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11213 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +4);11213 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 4); 11214 11214 IEM_MC_CALL_CIMPL_3(iemCImpl_FarJmp, u16Sel, offSeg, enmEffOpSize); 11215 11215 IEM_MC_END(); … … 11224 11224 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm); 11225 11225 IEM_MC_FETCH_MEM_U64(offSeg, pIemCpu->iEffSeg, GCPtrEffSrc); 11226 IEM_MC_FETCH_MEM_U16 (u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc +8);11226 IEM_MC_FETCH_MEM_U16_DISP(u16Sel, pIemCpu->iEffSeg, GCPtrEffSrc, 8); 11227 11227 IEM_MC_CALL_CIMPL_3(iemCImpl_FarJmp, u16Sel, offSeg, enmEffOpSize); 11228 11228 IEM_MC_END();
Note:
See TracChangeset
for help on using the changeset viewer.