OSDN Git Service

[General] Merge Upstream 2018-12-27.
[csp-qt/common_source_project-fm7.git] / source / src / vm / mame / emu / cpu / i386 / pentops.c
index 8968e06..ea38632 100644 (file)
@@ -59,11 +59,14 @@ static void PENTIUMOP(rdmsr)(i386_state* cpustate)          // Opcode 0x0f 32
        UINT8 valid_msr = 0;
 
        data = MSR_READ(cpustate,REG32(ECX),&valid_msr);
-       REG32(EDX) = data >> 32;
-       REG32(EAX) = data & 0xffffffff;
 
        if(cpustate->CPL != 0 || valid_msr == 0) // if current privilege level isn't 0 or the register isn't recognized ...
                FAULT(FAULT_GP,0) // ... throw a general exception fault
+       else
+       {
+               REG32(EDX) = data >> 32;
+               REG32(EAX) = data & 0xffffffff;
+       }
 
        CYCLES(cpustate,CYCLES_RDMSR);
 }