Changeset 47669 in vbox
- Timestamp:
- Aug 12, 2013 10:42:55 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r47568 r47669 15736 15736 case IEMMODE_16BIT: 15737 15737 IEM_MC_BEGIN(0,0); 15738 IEM_MC_SUB_GREG_U16(X86_GREG_xCX, 1); 15739 IEM_MC_IF_CX_IS_NZ() { 15740 IEM_MC_REL_JMP_S8(i8Imm); 15741 } IEM_MC_ELSE() { 15742 IEM_MC_ADVANCE_RIP(); 15743 } IEM_MC_ENDIF(); 15738 if (-(int8_t)pIemCpu->offOpcode != i8Imm) 15739 { 15740 IEM_MC_SUB_GREG_U16(X86_GREG_xCX, 1); 15741 IEM_MC_IF_CX_IS_NZ() { 15742 IEM_MC_REL_JMP_S8(i8Imm); 15743 } IEM_MC_ELSE() { 15744 IEM_MC_ADVANCE_RIP(); 15745 } IEM_MC_ENDIF(); 15746 } 15747 else 15748 { 15749 IEM_MC_STORE_GREG_U16_CONST(X86_GREG_xCX, 0); 15750 IEM_MC_ADVANCE_RIP(); 15751 } 15744 15752 IEM_MC_END(); 15745 15753 return VINF_SUCCESS; … … 15747 15755 case IEMMODE_32BIT: 15748 15756 IEM_MC_BEGIN(0,0); 15749 IEM_MC_SUB_GREG_U32(X86_GREG_xCX, 1); 15750 IEM_MC_IF_ECX_IS_NZ() { 15751 IEM_MC_REL_JMP_S8(i8Imm); 15752 } IEM_MC_ELSE() { 15753 IEM_MC_ADVANCE_RIP(); 15754 } IEM_MC_ENDIF(); 15757 if (-(int8_t)pIemCpu->offOpcode != i8Imm) 15758 { 15759 IEM_MC_SUB_GREG_U32(X86_GREG_xCX, 1); 15760 IEM_MC_IF_ECX_IS_NZ() { 15761 IEM_MC_REL_JMP_S8(i8Imm); 15762 } IEM_MC_ELSE() { 15763 IEM_MC_ADVANCE_RIP(); 15764 } IEM_MC_ENDIF(); 15765 } 15766 else 15767 { 15768 IEM_MC_STORE_GREG_U32_CONST(X86_GREG_xCX, 0); 15769 IEM_MC_ADVANCE_RIP(); 15770 } 15755 15771 IEM_MC_END(); 15756 15772 return VINF_SUCCESS; … … 15758 15774 case IEMMODE_64BIT: 15759 15775 IEM_MC_BEGIN(0,0); 15760 IEM_MC_SUB_GREG_U64(X86_GREG_xCX, 1); 15761 IEM_MC_IF_RCX_IS_NZ() { 15762 IEM_MC_REL_JMP_S8(i8Imm); 15763 } IEM_MC_ELSE() { 15764 IEM_MC_ADVANCE_RIP(); 15765 } IEM_MC_ENDIF(); 15776 if (-(int8_t)pIemCpu->offOpcode != i8Imm) 15777 { 15778 IEM_MC_SUB_GREG_U64(X86_GREG_xCX, 1); 15779 IEM_MC_IF_RCX_IS_NZ() { 15780 IEM_MC_REL_JMP_S8(i8Imm); 15781 } IEM_MC_ELSE() { 15782 IEM_MC_ADVANCE_RIP(); 15783 } IEM_MC_ENDIF(); 15784 } 15785 else 15786 { 15787 IEM_MC_STORE_GREG_U64_CONST(X86_GREG_xCX, 0); 15788 IEM_MC_ADVANCE_RIP(); 15789 } 15766 15790 IEM_MC_END(); 15767 15791 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.