[FAST486]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 25 Oct 2014 17:16:37 +0000 (17:16 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Sat, 25 Oct 2014 17:16:37 +0000 (17:16 +0000)
The opcode handlers don't need a return value, it's not used anywhere.

svn path=/trunk/; revision=64988

reactos/lib/fast486/common.h
reactos/lib/fast486/extraops.c
reactos/lib/fast486/fpu.c
reactos/lib/fast486/fpu.h
reactos/lib/fast486/opcodes.c
reactos/lib/fast486/opcodes.h
reactos/lib/fast486/opgroups.c

index 0e0c0c8..6b9cb6a 100644 (file)
@@ -44,7 +44,7 @@
 if (State->PrefixFlags & FAST486_PREFIX_LOCK)\
 {\
     Fast486Exception(State, FAST486_EXCEPTION_UD);\
-    return FALSE;\
+    return;\
 }
 
 #define TOGGLE_OPSIZE(x)\
index 38dfc3f..9d23cb9 100644 (file)
@@ -301,21 +301,19 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeInvalid)
 {
     DPRINT1("FAST486 -- Extended opcode 0x%02X is INVALID!\n", Opcode);
     Fast486Exception(State, FAST486_EXCEPTION_UD);
-    return FALSE;
+    return;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeUnimplemented)
 {
     DPRINT1("FAST486 -- Extended opcode 0x%02X is UNIMPLEMENTED\n", Opcode);
     // Fast486Exception(State, FAST486_EXCEPTION_UD);
-    return FALSE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcode0F0B)
 {
     /* Reserved opcode (UD2) */
     Fast486Exception(State, FAST486_EXCEPTION_UD);
-    return FALSE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
@@ -333,7 +331,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
     {
         /* Not recognized */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     NO_LOCK_PREFIX();
@@ -344,7 +342,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -355,7 +353,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     
         Selector = LOWORD(Value);
@@ -366,7 +364,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Selector))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -376,7 +374,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
         if (GET_SEGMENT_INDEX(Selector) >= (State->Gdtr.Size + 1))
         {
             State->Flags.Zf = FALSE;
-            return TRUE;
+            return;
         }
 
         /* Read the GDT */
@@ -387,7 +385,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
                                      sizeof(GdtEntry)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -396,7 +394,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
         if (GET_SEGMENT_INDEX(Selector) >= (State->Ldtr.Limit + 1))
         {
             State->Flags.Zf = FALSE;
-            return TRUE;
+            return;
         }
 
         /* Read the LDT */
@@ -407,7 +405,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
                                      sizeof(GdtEntry)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -416,7 +414,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
         || (Fast486GetCurrentPrivLevel(State) > GdtEntry.Dpl))
     {
         State->Flags.Zf = FALSE;
-        return TRUE;
+        return;
     }
 
     /* Set ZF */
@@ -426,24 +424,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLar)
     AccessRights = ((PDWORD)&GdtEntry)[1] & 0x00F0FF00;
 
     /* Return the access rights */
-    if (OperandSize)
-    {
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, AccessRights))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-    else
-    {
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(AccessRights)))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-
-    return TRUE;
+    if (OperandSize) Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, AccessRights);
+    else Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(AccessRights));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
@@ -461,7 +443,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
     {
         /* Not recognized */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     NO_LOCK_PREFIX();
@@ -472,7 +454,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -483,7 +465,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     
         Selector = LOWORD(Value);
@@ -494,7 +476,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Selector))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -504,7 +486,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
         if (GET_SEGMENT_INDEX(Selector) >= (State->Gdtr.Size + 1))
         {
             State->Flags.Zf = FALSE;
-            return TRUE;
+            return;
         }
 
         /* Read the GDT */
@@ -515,7 +497,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
                                      sizeof(GdtEntry)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -524,7 +506,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
         if (GET_SEGMENT_INDEX(Selector) >= (State->Ldtr.Limit + 1))
         {
             State->Flags.Zf = FALSE;
-            return TRUE;
+            return;
         }
 
         /* Read the LDT */
@@ -535,7 +517,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
                                      sizeof(GdtEntry)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -544,7 +526,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
         || (Fast486GetCurrentPrivLevel(State) > GdtEntry.Dpl))
     {
         State->Flags.Zf = FALSE;
-        return TRUE;
+        return;
     }
 
     /* Calculate the limit */
@@ -554,26 +536,9 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLsl)
     /* Set ZF */
     State->Flags.Zf = TRUE;
 
-    if (OperandSize)
-    {
-        /* Return the limit */
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, Limit))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-    else
-    {
-        /* Return the limit */
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(Limit)))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-
-    return TRUE;
+    /* Return the limit */
+    if (OperandSize) Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, Limit);
+    else Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(Limit));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeClts)
@@ -584,13 +549,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeClts)
     if (Fast486GetCurrentPrivLevel(State) != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     /* Clear the task switch bit */
     State->ControlRegisters[FAST486_REG_CR0] &= ~FAST486_CR0_TS;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg)
@@ -605,21 +568,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* The current privilege level must be zero */
     if (Fast486GetCurrentPrivLevel(State) != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     if ((ModRegRm.Register == 1) || (ModRegRm.Register > 3))
     {
         /* CR1, CR4, CR5, CR6 and CR7 don't exist */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register != 0)
@@ -630,9 +593,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg)
 
     /* Store the value of the control register */
     State->GeneralRegs[ModRegRm.SecondRegister].Long = State->ControlRegisters[ModRegRm.Register];
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreDebugReg)
@@ -647,14 +607,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreDebugReg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* The current privilege level must be zero */
     if (Fast486GetCurrentPrivLevel(State) != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     if ((ModRegRm.Register == 6) || (ModRegRm.Register == 7))
@@ -667,14 +627,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreDebugReg)
     {
         /* Disallow access to debug registers */
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     /* Store the value of the debug register */
     State->GeneralRegs[ModRegRm.SecondRegister].Long = State->DebugRegisters[ModRegRm.Register];
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadControlReg)
@@ -690,21 +647,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadControlReg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* The current privilege level must be zero */
     if (Fast486GetCurrentPrivLevel(State) != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     if ((ModRegRm.Register == 1) || (ModRegRm.Register > 3))
     {
         /* CR1, CR4, CR5, CR6 and CR7 don't exist */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register != 0)
@@ -725,15 +682,12 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadControlReg)
         {
             /* Invalid value */
             Fast486Exception(State, FAST486_EXCEPTION_GP);
-            return FALSE;
+            return;
         }
     }
 
     /* Load a value to the control register */
     State->ControlRegisters[ModRegRm.Register] = Value;
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadDebugReg)
@@ -748,14 +702,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadDebugReg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* The current privilege level must be zero */
     if (Fast486GetCurrentPrivLevel(State) != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     if ((ModRegRm.Register == 6) || (ModRegRm.Register == 7))
@@ -768,7 +722,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadDebugReg)
     {
         /* Disallow access to debug registers */
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     /* Load a value to the debug register */
@@ -784,15 +738,12 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadDebugReg)
         /* The reserved bits are 0 */
         State->DebugRegisters[ModRegRm.Register] &= ~FAST486_DR5_RESERVED;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodePushFs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_FS].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_FS].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodePopFs)
@@ -802,11 +753,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodePopFs)
     if (!Fast486StackPop(State, &NewSelector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486LoadSegment(State, FAST486_REG_FS, LOWORD(NewSelector));
+    Fast486LoadSegment(State, FAST486_REG_FS, LOWORD(NewSelector));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest)
@@ -828,7 +779,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Get the bit number */
@@ -855,7 +806,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -869,15 +820,12 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBitTest)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
         State->Flags.Cf = (Value >> BitNumber) & 1;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
@@ -897,7 +845,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Opcode == 0xA4)
@@ -906,7 +854,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
         if (!Fast486FetchByte(State, &Count))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -919,7 +867,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
     Count &= 0x1F;
 
     /* Do nothing if the count is zero */
-    if (Count == 0) return TRUE;
+    if (Count == 0) return;
 
     if (OperandSize)
     {
@@ -928,7 +876,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -943,7 +891,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
     }
     else
     {
@@ -953,7 +901,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         DoubleSource = Source | (Source << 16);
@@ -972,14 +920,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShld)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result);
     }
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodePushGs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_GS].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_GS].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodePopGs)
@@ -989,11 +937,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodePopGs)
     if (!Fast486StackPop(State, &NewSelector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486LoadSegment(State, FAST486_REG_GS, LOWORD(NewSelector));
+    Fast486LoadSegment(State, FAST486_REG_GS, LOWORD(NewSelector));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
@@ -1015,7 +963,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Get the bit number */
@@ -1042,7 +990,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1052,11 +1000,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
         Value |= 1 << BitNumber;
 
         /* Write back the result */
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -1066,7 +1010,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1076,15 +1020,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBts)
         Value |= 1 << BitNumber;
 
         /* Write back the result */
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
@@ -1104,7 +1041,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Opcode == 0xAC)
@@ -1113,7 +1050,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
         if (!Fast486FetchByte(State, &Count))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -1126,7 +1063,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
     Count &= 0x1F;
 
     /* Do nothing if the count is zero */
-    if (Count == 0) return TRUE;
+    if (Count == 0) return;
 
     if (OperandSize)
     {
@@ -1135,7 +1072,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1150,7 +1087,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
     }
     else
     {
@@ -1159,7 +1096,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1178,7 +1115,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeShrd)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result);
     }
 }
 
@@ -1196,7 +1133,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeImul)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -1211,7 +1148,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeImul)
                                            (PULONG)&Source))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1221,7 +1158,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeImul)
         State->Flags.Cf = State->Flags.Of = ((Result < -2147483648LL) || (Result > 2147483647LL));
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, (ULONG)((LONG)Result));
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, (ULONG)((LONG)Result));
     }
     else
     {
@@ -1235,7 +1172,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeImul)
                                           (PUSHORT)&Source))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1245,7 +1182,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeImul)
         State->Flags.Cf = State->Flags.Of = ((Result < -32768) || (Result > 32767));
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, (USHORT)((SHORT)Result));
+        Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, (USHORT)((SHORT)Result));
     }
 }
 
@@ -1262,14 +1199,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchgByte)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, &Source, &Destination))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Compare AL with the destination */
@@ -1287,16 +1224,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchgByte)
     if (State->Flags.Zf)
     {
         /* Load the source operand into the destination */
-        return Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Source);
+        Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Source);
     }
     else
     {
         /* Load the destination into AL */
         State->GeneralRegs[FAST486_REG_EAX].LowByte = Destination;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
@@ -1313,7 +1247,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -1325,7 +1259,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Compare EAX with the destination */
@@ -1343,7 +1277,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
         if (State->Flags.Zf)
         {
             /* Load the source operand into the destination */
-            return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Source);
+            Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Source);
         }
         else
         {
@@ -1360,7 +1294,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, &Source, &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Compare AX with the destination */
@@ -1378,7 +1312,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
         if (State->Flags.Zf)
         {
             /* Load the source operand into the destination */
-            return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Source);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Source);
         }
         else
         {
@@ -1386,9 +1320,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeCmpXchg)
             State->GeneralRegs[FAST486_REG_EAX].LowWord = Destination;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLss)
@@ -1409,14 +1340,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLss)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!ModRegRm.Memory)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadMemory(State,
@@ -1428,7 +1359,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLss)
                            OperandSize ? 6 : 4))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -1440,9 +1371,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLss)
         State->GeneralRegs[ModRegRm.Register].Long = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  FAST486_REG_SS,
-                                  Segment);
+        Fast486LoadSegment(State, FAST486_REG_SS, Segment);
     }
     else
     {
@@ -1453,9 +1382,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLss)
         State->GeneralRegs[ModRegRm.Register].LowWord = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  FAST486_REG_SS,
-                                  Segment);
+        Fast486LoadSegment(State, FAST486_REG_SS, Segment);
     }
 }
 
@@ -1478,7 +1405,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Get the bit number */
@@ -1505,7 +1432,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1515,11 +1442,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr)
         Value &= ~(1 << BitNumber);
 
         /* Write back the result */
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -1529,7 +1452,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1539,15 +1462,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtr)
         Value &= ~(1 << BitNumber);
 
         /* Write back the result */
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs)
@@ -1568,14 +1484,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!ModRegRm.Memory)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadMemory(State,
@@ -1587,7 +1503,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs)
                            OperandSize ? 6 : 4))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -1599,10 +1515,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs)
         State->GeneralRegs[ModRegRm.Register].Long = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  (Opcode == 0xB4)
-                                  ? FAST486_REG_FS : FAST486_REG_GS,
-                                  Segment);
+        Fast486LoadSegment(State,
+                           (Opcode == 0xB4)
+                           ? FAST486_REG_FS : FAST486_REG_GS,
+                           Segment);
     }
     else
     {
@@ -1613,10 +1529,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLfsLgs)
         State->GeneralRegs[ModRegRm.Register].LowWord = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  (Opcode == 0xB4)
-                                  ? FAST486_REG_FS : FAST486_REG_GS,
-                                  Segment);
+        Fast486LoadSegment(State,
+                           (Opcode == 0xB4)
+                           ? FAST486_REG_FS : FAST486_REG_GS,
+                           Segment);
     }
 }
 
@@ -1635,21 +1551,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxByte)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write back the zero-extended value */
-    return Fast486WriteModrmDwordOperands(State,
-                                          &ModRegRm,
-                                          TRUE,
-                                          (ULONG)Value);
+    Fast486WriteModrmDwordOperands(State,
+                                   &ModRegRm,
+                                   TRUE,
+                                   (ULONG)Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxWord)
@@ -1667,21 +1583,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovzxWord)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write back the zero-extended value */
-    return Fast486WriteModrmDwordOperands(State,
-                                          &ModRegRm,
-                                          TRUE,
-                                          (ULONG)Value);
+    Fast486WriteModrmDwordOperands(State,
+                                   &ModRegRm,
+                                   TRUE,
+                                   (ULONG)Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
@@ -1703,7 +1619,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Get the bit number */
@@ -1730,7 +1646,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1740,11 +1656,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
         Value ^= 1 << BitNumber;
 
         /* Write back the result */
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -1754,7 +1666,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -1764,15 +1676,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBtc)
         Value ^= 1 << BitNumber;
 
         /* Write back the result */
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf)
@@ -1799,7 +1704,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the value */
@@ -1808,7 +1713,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -1819,13 +1724,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf)
                                           (PUSHORT)&Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
     /* Set ZF */
     State->Flags.Zf = (Value == 0);
-    if (State->Flags.Zf) return TRUE;
+    if (State->Flags.Zf) return;
 
     for (i = 0; i < DataSize; i++)
     {
@@ -1840,24 +1745,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsf)
     }
 
     /* Write back the result */
-    if (OperandSize)
-    {
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, BitNumber))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-    else
-    {
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(BitNumber)))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-
-    return TRUE;
+    if (OperandSize) Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, BitNumber);
+    else Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(BitNumber));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr)
@@ -1884,7 +1773,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the value */
@@ -1893,7 +1782,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -1904,13 +1793,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr)
                                           (PUSHORT)&Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
     /* Set ZF according to the value */
     State->Flags.Zf = (Value == 0);
-    if (State->Flags.Zf) return TRUE;
+    if (State->Flags.Zf) return;
 
     for (i = DataSize - 1; i >= 0; i--)
     {
@@ -1925,24 +1814,8 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBsr)
     }
 
     /* Write back the result */
-    if (OperandSize)
-    {
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, BitNumber))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-    else
-    {
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(BitNumber)))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
-    }
-
-    return TRUE;
+    if (OperandSize) Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, BitNumber);
+    else Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, LOWORD(BitNumber));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxByte)
@@ -1960,21 +1833,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxByte)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, (PUCHAR)&Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write back the sign-extended value */
-    return Fast486WriteModrmDwordOperands(State,
-                                          &ModRegRm,
-                                          TRUE,
-                                          (ULONG)((LONG)Value));
+    Fast486WriteModrmDwordOperands(State,
+                                   &ModRegRm,
+                                   TRUE,
+                                   (ULONG)((LONG)Value));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxWord)
@@ -1992,21 +1865,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeMovsxWord)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, (PUSHORT)&Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write back the sign-extended value */
-    return Fast486WriteModrmDwordOperands(State,
-                                          &ModRegRm,
-                                          TRUE,
-                                          (ULONG)((LONG)Value));
+    Fast486WriteModrmDwordOperands(State,
+                                   &ModRegRm,
+                                   TRUE,
+                                   (ULONG)((LONG)Value));
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalJmp)
@@ -2027,7 +1900,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalJmp)
         if (!Fast486FetchDword(State, (PULONG)&Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -2037,7 +1910,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalJmp)
         if (!Fast486FetchWord(State, (PUSHORT)&Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Sign-extend */
@@ -2114,9 +1987,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalJmp)
         /* Move the instruction pointer */
         State->InstPtr.Long += Offset;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalSet)
@@ -2131,7 +2001,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalSet)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Make sure this is the right instruction */
@@ -2203,7 +2073,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeConditionalSet)
     }
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXaddByte)
@@ -2221,7 +2091,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXaddByte)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -2230,7 +2100,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXaddByte)
                                       &Destination))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2249,17 +2119,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXaddByte)
     if (!Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Result))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write the old value of the destination to the source */
-    if (!Fast486WriteModrmByteOperands(State, &ModRegRm, TRUE, Destination))
-    {
-        /* Exception occurred */
-        return FALSE;
-    }
-
-    return TRUE;
+    Fast486WriteModrmByteOperands(State, &ModRegRm, TRUE, Destination);
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
@@ -2279,7 +2143,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -2293,7 +2157,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
                                            &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2312,15 +2176,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
         if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, TRUE, Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the sum to the destination */
-        if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
     }
     else
     {
@@ -2332,7 +2192,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
                                           &Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2351,18 +2211,12 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeXadd)
         if (!Fast486WriteModrmWordOperands(State, &ModRegRm, TRUE, Destination))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the sum to the destination */
-        if (!Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Result);
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBswap)
@@ -2377,9 +2231,6 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeBswap)
     /* Swap the byte order */
     SWAP(Pointer[0], Pointer[3]);
     SWAP(Pointer[1], Pointer[2]);
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeExtended)
@@ -2390,11 +2241,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeExtended)
     if (!Fast486FetchByte(State, &SecondOpcode))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the extended opcode handler */
-    return Fast486ExtendedHandlers[SecondOpcode](State, SecondOpcode);
+    Fast486ExtendedHandlers[SecondOpcode](State, SecondOpcode);
 }
 
 /* EOF */
index 6a16fdf..a0399e5 100644 (file)
@@ -316,7 +316,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -340,7 +340,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
                                    sizeof(ULONGLONG)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             Fast486FpuGetDoubleReal(State, Value, &MemoryData);
@@ -352,7 +352,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
             if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             Fast486FpuGetSingleReal(State, Value, &MemoryData);
@@ -369,7 +369,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
         {
             /* Invalid operation */
             State->FpuStatus.Ie = TRUE;
-            return FALSE;
+            return;
         }
     }
 
@@ -380,7 +380,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
     {
         /* Invalid operation */
         State->FpuStatus.Ie = TRUE;
-        return FALSE;
+        return;
     }
 
     /* Check the operation */
@@ -441,8 +441,6 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD8DC)
     }
 
 #endif
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
@@ -454,7 +452,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -462,11 +460,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
 #ifndef FAST486_NO_FPU
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 #else
     /* Do nothing */
-    return TRUE;
 #endif
 }
 
@@ -479,7 +474,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDA)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -487,11 +482,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDA)
 #ifndef FAST486_NO_FPU
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 #else
     /* Do nothing */
-    return TRUE;
 #endif
 }
 
@@ -504,7 +496,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -562,14 +554,11 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB)
             default:
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
             }
         }
     }
 
 #endif
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
@@ -581,7 +570,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -589,11 +578,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDD)
 #ifndef FAST486_NO_FPU
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 #else
     /* Do nothing */
-    return TRUE;
 #endif
 }
 
@@ -606,7 +592,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDE)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -614,11 +600,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDE)
 #ifndef FAST486_NO_FPU
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 #else
     /* Do nothing */
-    return TRUE;
 #endif
 }
 
@@ -631,7 +614,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     FPU_CHECK();
@@ -639,11 +622,8 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF)
 #ifndef FAST486_NO_FPU
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 #else
     /* Do nothing */
-    return TRUE;
 #endif
 }
 
index 00c2921..b23c795 100644 (file)
@@ -31,7 +31,7 @@
 #define FPU_CHECK() if (State->ControlRegisters[FAST486_REG_CR0] & FAST486_CR0_EM) \
                     { \
                         Fast486Exception(State, FAST486_EXCEPTION_NM); \
-                        return FALSE; \
+                        return; \
                     }
 #define FPU_ST(i) State->FpuRegisters[(State->FpuStatus.Top + (i)) % FAST486_NUM_FPU_REGS]
 #define FPU_GET_TAG(i)  ((State->FpuTag >> ((i) * 2)) & 3)
index 06b3f9e..f31ce73 100644 (file)
@@ -307,7 +307,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInvalid)
      */
     DPRINT1("FAST486 -- Calling ICEBP opcode\n");
     Fast486Exception(State, FAST486_EXCEPTION_UD);
-    return FALSE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePrefix)
@@ -465,10 +464,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePrefix)
 
         /* Throw an exception */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeIncrement)
@@ -500,9 +496,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIncrement)
     State->Flags.Zf = (Value == 0);
     State->Flags.Af = ((Value & 0x0F) == 0);
     State->Flags.Pf = Fast486CalculateParity(LOBYTE(Value));
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeDecrement)
@@ -534,9 +527,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeDecrement)
     State->Flags.Zf = (Value == 0);
     State->Flags.Af = ((Value & 0x0F) == 0x0F);
     State->Flags.Pf = Fast486CalculateParity(LOBYTE(Value));
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushReg)
@@ -547,7 +537,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushReg)
     ASSERT((Opcode & 0xF8) == 0x50);
 
     /* Call the internal function */
-    return Fast486StackPush(State, State->GeneralRegs[Opcode & 0x07].Long);
+    Fast486StackPush(State, State->GeneralRegs[Opcode & 0x07].Long);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopReg)
@@ -562,19 +552,15 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopReg)
     ASSERT((Opcode & 0xF8) == 0x58);
 
     /* Call the internal function */
-    if (!Fast486StackPop(State, &Value)) return FALSE;
+    if (!Fast486StackPop(State, &Value)) return;
 
     /* Store the value */
     if (Size) State->GeneralRegs[Opcode & 0x07].Long = Value;
     else State->GeneralRegs[Opcode & 0x07].LowWord = Value;
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeNop)
 {
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeExchangeEax)
@@ -605,8 +591,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeExchangeEax)
         State->GeneralRegs[Reg].LowWord = State->GeneralRegs[FAST486_REG_EAX].LowWord;
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Value;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeShortConditionalJmp)
@@ -624,7 +608,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeShortConditionalJmp)
     if (!Fast486FetchByte(State, (PUCHAR)&Offset))
     {
         /* An exception occurred */
-        return FALSE;
+        return;
     }
 
     switch ((Opcode & 0x0F) >> 1)
@@ -703,9 +687,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeShortConditionalJmp)
             State->InstPtr.Long &= 0xFFFF;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeClearCarry)
@@ -717,12 +698,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearCarry)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Clear CF and return success */
     State->Flags.Cf = FALSE;
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSetCarry)
@@ -734,12 +714,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetCarry)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Set CF and return success*/
     State->Flags.Cf = TRUE;
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeComplCarry)
@@ -751,12 +730,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeComplCarry)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Toggle CF and return success */
     State->Flags.Cf = !State->Flags.Cf;
-    return TRUE;
+    return;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeClearInt)
@@ -768,7 +747,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearInt)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Check for protected mode */
@@ -784,7 +763,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearInt)
         {
             /* General Protection Fault */
             Fast486Exception(State, FAST486_EXCEPTION_GP);
-            return FALSE;
+            return;
         }
     }
     else
@@ -792,9 +771,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearInt)
         /* Just clear the interrupt flag */
         State->Flags.If = FALSE;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSetInt)
@@ -806,7 +782,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetInt)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Check for protected mode */
@@ -822,7 +798,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetInt)
         {
             /* General Protection Fault */
             Fast486Exception(State, FAST486_EXCEPTION_GP);
-            return FALSE;
+            return;
         }
     }
     else
@@ -830,9 +806,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetInt)
         /* Just set the interrupt flag */
         State->Flags.If = TRUE;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeClearDir)
@@ -844,12 +817,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeClearDir)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
-    /* Clear DF and return success */
+    /* Clear DF */
     State->Flags.Df = FALSE;
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSetDir)
@@ -861,12 +833,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSetDir)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
-    /* Set DF and return success*/
+    /* Set DF */
     State->Flags.Df = TRUE;
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeHalt)
@@ -878,21 +849,18 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeHalt)
     if (State->PrefixFlags)
     {
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Privileged instructions can only be executed under CPL = 0 */
     if (State->SegmentRegs[FAST486_REG_CS].Dpl != 0)
     {
         Fast486Exception(State, FAST486_EXCEPTION_GP);
-        return FALSE;
+        return;
     }
 
     /* Halt */
     State->Halted = TRUE;
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeInByte)
@@ -909,7 +877,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInByte)
         if (!Fast486FetchByte(State, &Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set the port number to the parameter */
@@ -926,8 +894,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInByte)
 
     /* Store the result in AL */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Data;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeIn)
@@ -949,7 +915,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIn)
         if (!Fast486FetchByte(State, &Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set the port number to the parameter */
@@ -981,8 +947,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIn)
         /* Store the value in AX */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Data;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOutByte)
@@ -999,7 +963,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOutByte)
         if (!Fast486FetchByte(State, &Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set the port number to the parameter */
@@ -1016,8 +980,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOutByte)
 
     /* Write the byte to the I/O port */
     State->IoWriteCallback(State, Port, &Data, 1, sizeof(UCHAR));
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOut)
@@ -1039,7 +1001,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOut)
         if (!Fast486FetchByte(State, &Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set the port number to the parameter */
@@ -1067,8 +1029,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOut)
         /* Write a word to the I/O port */
         State->IoWriteCallback(State, Port, &Data, 1, sizeof(USHORT));
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeShortJump)
@@ -1085,7 +1045,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeShortJump)
     if (!Fast486FetchByte(State, (PUCHAR)&Offset))
     {
         /* An exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Move the instruction pointer */
@@ -1096,8 +1056,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeShortJump)
         /* Clear the top half of EIP */
         State->InstPtr.Long &= 0xFFFF;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovRegImm)
@@ -1118,7 +1076,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovRegImm)
         if (!Fast486FetchDword(State, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Store the value in the register */
@@ -1132,14 +1090,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovRegImm)
         if (!Fast486FetchWord(State, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Store the value in the register */
         State->GeneralRegs[Opcode & 0x07].LowWord = Value;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteRegImm)
@@ -1153,14 +1109,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteRegImm)
     {
         /* Invalid prefix */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Fetch the byte */
     if (!Fast486FetchByte(State, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Opcode & 0x04)
@@ -1173,8 +1129,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteRegImm)
         /* AL, CL, DL or BL */
         State->GeneralRegs[Opcode & 0x03].LowByte = Value;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAddByteModrm)
@@ -1192,7 +1146,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -1201,7 +1155,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1217,10 +1171,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
@@ -1240,7 +1194,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -1254,7 +1208,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1270,10 +1224,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -1285,7 +1239,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1301,10 +1255,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmWordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
 }
 
@@ -1320,13 +1274,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1343,8 +1297,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAddEax)
@@ -1365,7 +1317,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1391,7 +1343,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1409,8 +1361,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAddEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOrByteModrm)
@@ -1428,7 +1378,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -1437,7 +1387,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1451,10 +1401,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
@@ -1474,7 +1424,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -1488,7 +1438,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1502,10 +1452,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -1517,7 +1467,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1531,10 +1481,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmWordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
 }
 
@@ -1550,13 +1500,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1571,8 +1521,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOrEax)
@@ -1593,7 +1541,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1617,7 +1565,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1633,8 +1581,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOrEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAndByteModrm)
@@ -1652,7 +1598,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -1661,7 +1607,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1675,10 +1621,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
@@ -1698,7 +1644,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -1712,7 +1658,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1726,10 +1672,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -1741,7 +1687,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1755,10 +1701,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmWordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
 }
 
@@ -1775,7 +1721,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndAl)
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1790,8 +1736,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAndEax)
@@ -1812,7 +1756,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1836,7 +1780,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1852,8 +1796,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAndEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXorByteModrm)
@@ -1871,7 +1813,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -1880,7 +1822,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -1894,10 +1836,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
@@ -1917,7 +1859,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -1931,7 +1873,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1945,10 +1887,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -1960,7 +1902,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -1974,10 +1916,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      Opcode & FAST486_OPCODE_WRITE_REG,
+                                      Result);
     }
 }
 
@@ -1993,13 +1935,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2014,8 +1956,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXorEax)
@@ -2036,7 +1976,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2060,7 +2000,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2076,8 +2016,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXorEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeTestByteModrm)
@@ -2095,7 +2033,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -2104,7 +2042,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
     /* Calculate the result */
     Result = FirstValue & SecondValue;
@@ -2115,9 +2053,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestByteModrm)
     State->Flags.Zf = (Result == 0);
     State->Flags.Sf = ((Result & SIGN_FLAG_BYTE) != 0);
     State->Flags.Pf = Fast486CalculateParity(Result);
-
-    /* The result is discarded */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeTestModrm)
@@ -2137,7 +2072,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -2151,7 +2086,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2174,7 +2109,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2187,9 +2122,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestModrm)
         State->Flags.Sf = ((Result & SIGN_FLAG_WORD) != 0);
         State->Flags.Pf = Fast486CalculateParity(Result);
     }
-
-    /* The result is discarded */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeTestAl)
@@ -2204,13 +2136,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2222,9 +2154,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestAl)
     State->Flags.Zf = (Result == 0);
     State->Flags.Sf = ((Result & SIGN_FLAG_BYTE) != 0);
     State->Flags.Pf = Fast486CalculateParity(Result);
-
-    /* The result is discarded */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeTestEax)
@@ -2245,7 +2174,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2266,7 +2195,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2279,9 +2208,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeTestEax)
         State->Flags.Sf = ((Result & SIGN_FLAG_WORD) != 0);
         State->Flags.Pf = Fast486CalculateParity(Result);
     }
-
-    /* The result is discarded */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXchgByteModrm)
@@ -2299,7 +2225,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -2308,7 +2234,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write the value from the register to the R/M */
@@ -2318,20 +2244,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgByteModrm)
                                        FirstValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write the value from the R/M to the register */
-    if (!Fast486WriteModrmByteOperands(State,
-                                       &ModRegRm,
-                                       TRUE,
-                                       SecondValue))
-    {
-        /* Exception occurred */
-        return FALSE;
-    }
-
-    return TRUE;
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  TRUE,
+                                  SecondValue);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
@@ -2351,7 +2271,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -2365,7 +2285,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the value from the register to the R/M */
@@ -2375,18 +2295,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
                                             FirstValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the value from the R/M to the register */
-        if (!Fast486WriteModrmDwordOperands(State,
-                                            &ModRegRm,
-                                            TRUE,
-                                            SecondValue))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       TRUE,
+                                       SecondValue);
     }
     else
     {
@@ -2398,7 +2314,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the value from the register to the R/M */
@@ -2408,28 +2324,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXchgModrm)
                                            FirstValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write the value from the R/M to the register */
-        if (!Fast486WriteModrmWordOperands(State,
-                                           &ModRegRm,
-                                           TRUE,
-                                           SecondValue))
-        {
-            /* Exception occurred */
-            return FALSE;
-        }
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      TRUE,
+                                      SecondValue);
     }
-
-    /* The result is discarded */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushEs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_ES].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_ES].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopEs)
@@ -2439,17 +2348,17 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopEs)
     if (!Fast486StackPop(State, &NewSelector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486LoadSegment(State, FAST486_REG_ES, LOWORD(NewSelector));
+    Fast486LoadSegment(State, FAST486_REG_ES, LOWORD(NewSelector));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushCs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_CS].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_CS].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAdcByteModrm)
@@ -2467,7 +2376,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -2476,7 +2385,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2496,10 +2405,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
@@ -2519,7 +2428,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -2533,7 +2442,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2553,10 +2462,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -2568,7 +2477,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2588,10 +2497,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmWordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
 
 }
@@ -2608,13 +2517,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2635,8 +2544,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAdcEax)
@@ -2657,7 +2564,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2687,7 +2594,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2709,14 +2616,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAdcEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushSs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_SS].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_SS].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopSs)
@@ -2726,11 +2631,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopSs)
     if (!Fast486StackPop(State, &NewSelector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486LoadSegment(State, FAST486_REG_SS, LOWORD(NewSelector));
+    Fast486LoadSegment(State, FAST486_REG_SS, LOWORD(NewSelector));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSbbByteModrm)
@@ -2749,7 +2654,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -2758,7 +2663,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check if this is the instruction that writes to R/M */
@@ -2781,10 +2686,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbByteModrm)
     State->Flags.Pf = Fast486CalculateParity(Result);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
@@ -2805,7 +2710,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -2819,7 +2724,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
                                            &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Check if this is the instruction that writes to R/M */
@@ -2842,10 +2747,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -2857,7 +2762,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Check if this is the instruction that writes to R/M */
@@ -2880,10 +2785,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbModrm)
         State->Flags.Pf = Fast486CalculateParity(Result);
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             Opcode & FAST486_OPCODE_WRITE_REG,
-                                             Result);
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      Opcode & FAST486_OPCODE_WRITE_REG,
+                                      Result);
     }
 }
 
@@ -2900,13 +2805,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -2923,9 +2828,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbAl)
 
     /* Write back the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
-
-    return TRUE;
-
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSbbEax)
@@ -2947,7 +2849,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2973,7 +2875,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -2991,15 +2893,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSbbEax)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
     }
-
-    return TRUE;
-
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushDs)
 {
     /* Call the internal API */
-    return Fast486StackPush(State, State->SegmentRegs[FAST486_REG_DS].Selector);
+    Fast486StackPush(State, State->SegmentRegs[FAST486_REG_DS].Selector);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopDs)
@@ -3009,11 +2908,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopDs)
     if (!Fast486StackPop(State, &NewSelector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486LoadSegment(State, FAST486_REG_DS, LOWORD(NewSelector));
+    Fast486LoadSegment(State, FAST486_REG_DS, LOWORD(NewSelector));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeDaa)
@@ -3055,8 +2954,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeDaa)
     State->Flags.Sf = (Value & SIGN_FLAG_BYTE) != 0;
     State->Flags.Zf = (Value == 0);
     State->Flags.Pf = Fast486CalculateParity(Value);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubByteModrm)
@@ -3074,7 +2971,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -3083,7 +2980,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check if this is the instruction that writes to R/M */
@@ -3109,15 +3006,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubByteModrm)
     if (!(Opcode & 0x10))
     {
         /* Write back the result */
-        return Fast486WriteModrmByteOperands(State,
-                                             &ModRegRm,
-                                             Opcode & FAST486_OPCODE_WRITE_REG,
-                                             Result);
-    }
-    else
-    {
-        /* Discard the result */
-        return TRUE;
+        Fast486WriteModrmByteOperands(State,
+                                      &ModRegRm,
+                                      Opcode & FAST486_OPCODE_WRITE_REG,
+                                      Result);
     }
 }
 
@@ -3138,7 +3030,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -3152,7 +3044,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Check if this is the instruction that writes to R/M */
@@ -3178,15 +3070,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubModrm)
         if (!(Opcode & 0x10))
         {
             /* Write back the result */
-            return Fast486WriteModrmDwordOperands(State,
-                                                  &ModRegRm,
-                                                  Opcode & FAST486_OPCODE_WRITE_REG,
-                                                  Result);
-        }
-        else
-        {
-            /* Discard the result */
-            return TRUE;
+            Fast486WriteModrmDwordOperands(State,
+                                           &ModRegRm,
+                                           Opcode & FAST486_OPCODE_WRITE_REG,
+                                           Result);
         }
     }
     else
@@ -3199,7 +3086,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Check if this is the instruction that writes to R/M */
@@ -3225,15 +3112,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubModrm)
         if (!(Opcode & 0x10))
         {
             /* Write back the result */
-            return Fast486WriteModrmWordOperands(State,
-                                                 &ModRegRm,
-                                                 Opcode & FAST486_OPCODE_WRITE_REG,
-                                                 Result);
-        }
-        else
-        {
-            /* Discard the result */
-            return TRUE;
+            Fast486WriteModrmWordOperands(State,
+                                          &ModRegRm,
+                                          Opcode & FAST486_OPCODE_WRITE_REG,
+                                          Result);
         }
     }
 }
@@ -3250,13 +3132,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubAl)
     {
         /* This opcode doesn't take any prefixes */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -3277,8 +3159,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubAl)
         /* Write back the result */
         State->GeneralRegs[FAST486_REG_EAX].LowByte = Result;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubEax)
@@ -3299,7 +3179,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubEax)
         if (!Fast486FetchDword(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -3329,7 +3209,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubEax)
         if (!Fast486FetchWord(State, &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -3351,8 +3231,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmpSubEax)
             State->GeneralRegs[FAST486_REG_EAX].LowWord = Result;
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeDas)
@@ -3394,8 +3272,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeDas)
     State->Flags.Sf = (Value & SIGN_FLAG_BYTE) != 0;
     State->Flags.Zf = (Value == 0);
     State->Flags.Pf = Fast486CalculateParity(Value);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAaa)
@@ -3423,8 +3299,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAaa)
 
     /* Keep only the lowest 4 bits of AL */
     State->GeneralRegs[FAST486_REG_EAX].LowByte &= 0x0F;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAas)
@@ -3452,8 +3326,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAas)
 
     /* Keep only the lowest 4 bits of AL */
     State->GeneralRegs[FAST486_REG_EAX].LowByte &= 0x0F;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushAll)
@@ -3477,7 +3349,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushAll)
             if (!Fast486StackPush(State, Size ? SavedEsp.Long : SavedEsp.LowWord))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
         }
         else
@@ -3487,12 +3359,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushAll)
                                               : State->GeneralRegs[i].LowWord))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopAll)
@@ -3514,7 +3384,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopAll)
         if (!Fast486StackPop(State, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Don't modify ESP */
@@ -3524,8 +3394,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopAll)
             else State->GeneralRegs[i].LowWord = LOWORD(Value);
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
@@ -3543,14 +3411,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!ModRegRm.Memory)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Check for the segment override */
@@ -3571,7 +3439,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
                                            (PULONG)&LowerBound))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (!Fast486ReadMemory(State,
@@ -3582,14 +3450,13 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
                                sizeof(ULONG)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if ((Index < LowerBound) || (Index > UpperBound))
         {
             /* Out of bounds */
             Fast486Exception(State, FAST486_EXCEPTION_BR);
-            return FALSE;
         }
     }
     else
@@ -3603,7 +3470,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
                                           (PUSHORT)&LowerBound))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (!Fast486ReadMemory(State,
@@ -3614,18 +3481,15 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeBound)
                                sizeof(USHORT)))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if ((Index < LowerBound) || (Index > UpperBound))
         {
             /* Out of bounds */
             Fast486Exception(State, FAST486_EXCEPTION_BR);
-            return FALSE;
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeArpl)
@@ -3640,7 +3504,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeArpl)
     {
         /* Cannot be used in real mode or with a LOCK prefix */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     TOGGLE_ADSIZE(AddressSize);
@@ -3649,7 +3513,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeArpl)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
@@ -3659,7 +3523,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeArpl)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check if the RPL needs adjusting */
@@ -3673,13 +3537,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeArpl)
         State->Flags.Zf = TRUE;
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, SecondValue);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, SecondValue);
     }
     else
     {
         /* Clear ZF */
         State->Flags.Zf = FALSE;
-        return TRUE;
     }
 }
 
@@ -3700,11 +3563,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushImm)
         if (!Fast486FetchDword(State, &Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Call the internal API */
-        return Fast486StackPush(State, Data);
+        Fast486StackPush(State, Data);
     }
     else
     {
@@ -3713,11 +3576,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushImm)
         if (!Fast486FetchWord(State, (PUSHORT)&Data))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Call the internal API */
-        return Fast486StackPush(State, Data);
+        Fast486StackPush(State, Data);
     }
 }
 
@@ -3739,7 +3602,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Opcode == 0x6B)
@@ -3750,7 +3613,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
         if (!Fast486FetchByte(State, (PUCHAR)&Byte))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         Multiplier = (LONG)Byte;
@@ -3765,7 +3628,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
             if (!Fast486FetchDword(State, (PULONG)&Dword))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             Multiplier = Dword;
@@ -3778,7 +3641,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
             if (!Fast486FetchWord(State, (PUSHORT)&Word))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             Multiplier = (LONG)Word;
@@ -3797,7 +3660,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
                                            (PULONG)&Multiplicand))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Multiply */
@@ -3807,10 +3670,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
         State->Flags.Cf = State->Flags.Of = ((Product < MINLONG) || (Product > MAXLONG));
 
         /* Write-back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              TRUE,
-                                              (ULONG)((LONG)Product));
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       TRUE,
+                                       (ULONG)((LONG)Product));
     }
     else
     {
@@ -3824,7 +3687,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
                                           (PUSHORT)&Multiplicand))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Multiply */
@@ -3834,10 +3697,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeImulModrmImm)
         State->Flags.Cf = State->Flags.Of = ((Product < MINSHORT) || (Product > MAXSHORT));
 
         /* Write-back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             TRUE,
-                                             (USHORT)((SHORT)Product));
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      TRUE,
+                                      (USHORT)((SHORT)Product));
     }
 }
 
@@ -3851,11 +3714,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushByteImm)
     if (!Fast486FetchByte(State, (PUCHAR)&Data))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Call the internal API */
-    return Fast486StackPush(State, Data);
+    Fast486StackPush(State, Data);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteModrm)
@@ -3873,7 +3736,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadModrmByteOperands(State,
@@ -3882,17 +3745,17 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovByteModrm)
                                       &SecondValue))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Opcode & FAST486_OPCODE_WRITE_REG) Result = SecondValue;
     else Result = FirstValue;
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         Opcode & FAST486_OPCODE_WRITE_REG,
-                                         Result);
+    Fast486WriteModrmByteOperands(State,
+                                  &ModRegRm,
+                                  Opcode & FAST486_OPCODE_WRITE_REG,
+                                  Result);
 
 }
 
@@ -3913,7 +3776,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovModrm)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check the operand size */
@@ -3927,17 +3790,17 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (Opcode & FAST486_OPCODE_WRITE_REG) Result = SecondValue;
         else Result = FirstValue;
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              Opcode & FAST486_OPCODE_WRITE_REG,
-                                              Result);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       Opcode & FAST486_OPCODE_WRITE_REG,
+                                       Result);
     }
     else
     {
@@ -3949,17 +3812,17 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovModrm)
                                           &SecondValue))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (Opcode & FAST486_OPCODE_WRITE_REG) Result = SecondValue;
         else Result = FirstValue;
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             Opcode & FAST486_OPCODE_WRITE_REG,
-                                             Result);
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      Opcode & FAST486_OPCODE_WRITE_REG,
+                                      Result);
     }
 }
 
@@ -3980,29 +3843,29 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovStoreSeg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register >= FAST486_NUM_SEG_REGS)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
     {
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              FALSE,
-                                              State->SegmentRegs[ModRegRm.Register].Selector);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       FALSE,
+                                       State->SegmentRegs[ModRegRm.Register].Selector);
     }
     else
     {
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             FALSE,
-                                             State->SegmentRegs[ModRegRm.Register].Selector);
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      FALSE,
+                                      State->SegmentRegs[ModRegRm.Register].Selector);
     }
 }
 
@@ -4023,7 +3886,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLea)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* The second operand must be memory */
@@ -4031,23 +3894,23 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLea)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Write the address to the register */
     if (OperandSize)
     {
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              TRUE,
-                                              ModRegRm.MemoryAddress);
+        Fast486WriteModrmDwordOperands(State,
+                                       &ModRegRm,
+                                       TRUE,
+                                       ModRegRm.MemoryAddress);
     }
     else
     {
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             TRUE,
-                                             ModRegRm.MemoryAddress);
+        Fast486WriteModrmWordOperands(State,
+                                      &ModRegRm,
+                                      TRUE,
+                                      ModRegRm.MemoryAddress);
 
     }
 }
@@ -4069,7 +3932,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if ((ModRegRm.Register >= FAST486_NUM_SEG_REGS)
@@ -4077,7 +3940,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -4087,10 +3950,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Selector))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
-        return Fast486LoadSegment(State, ModRegRm.Register, LOWORD(Selector));
+        Fast486LoadSegment(State, ModRegRm.Register, LOWORD(Selector));
     }
     else
     {
@@ -4099,10 +3962,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovLoadSeg)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Selector))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
-        return Fast486LoadSegment(State, ModRegRm.Register, Selector);
+        Fast486LoadSegment(State, ModRegRm.Register, Selector);
     }
 }
 
@@ -4133,8 +3996,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCwde)
         (State->GeneralRegs[FAST486_REG_EAX].LowByte & SIGN_FLAG_BYTE)
         ? 0xFF : 0x00;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCdq)
@@ -4161,8 +4022,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCdq)
         (State->GeneralRegs[FAST486_REG_EAX].LowWord & SIGN_FLAG_WORD)
         ? 0xFFFF : 0x0000;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCallAbs)
@@ -4183,7 +4042,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCallAbs)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -4191,7 +4050,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCallAbs)
         if (!Fast486FetchWord(State, (PUSHORT)&Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -4199,43 +4058,39 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCallAbs)
     if (!Fast486FetchWord(State, &Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Push the current code segment selector */
     if (!Fast486StackPush(State, State->SegmentRegs[FAST486_REG_CS].Selector))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Push the current value of the instruction pointer */
     if (!Fast486StackPush(State, State->InstPtr.Long))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load the new CS */
     if (!Fast486LoadSegment(State, FAST486_REG_CS, Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load new (E)IP */
     if (Size) State->InstPtr.Long = Offset;
     else State->InstPtr.LowWord = LOWORD(Offset);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeWait)
 {
     // TODO: NOT IMPLEMENTED
     UNIMPLEMENTED;
-
-    return FALSE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePushFlags)
@@ -4250,12 +4105,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePushFlags)
     {
         /* Call the VM86 monitor */
         Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, 0);
-        return FALSE;
+        return;
     }
 
     /* Push the flags */
-    if (Size) return Fast486StackPush(State, State->Flags.Long);
-    else return Fast486StackPush(State, LOWORD(State->Flags.Long));
+    if (Size) Fast486StackPush(State, State->Flags.Long);
+    else Fast486StackPush(State, LOWORD(State->Flags.Long));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodePopFlags)
@@ -4271,7 +4126,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopFlags)
     if (!Fast486StackPop(State, &NewFlags.Long))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check for VM86 mode when IOPL is not 3 */
@@ -4279,7 +4134,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopFlags)
     {
         /* Call the VM86 monitor */
         Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, 0);
-        return FALSE;
+        return;
     }
 
     State->Flags.Cf = NewFlags.Cf;
@@ -4295,8 +4150,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodePopFlags)
 
     if (Cpl == 0) State->Flags.Iopl = NewFlags.Iopl;
     if (Cpl <= State->Flags.Iopl) State->Flags.If = NewFlags.If;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeSahf)
@@ -4311,8 +4164,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSahf)
     /* Restore the reserved bits of FLAGS */
     State->Flags.AlwaysSet = TRUE;
     State->Flags.Reserved0 = State->Flags.Reserved1 = FALSE;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeLahf)
@@ -4322,8 +4173,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLahf)
 
     /* Set AH to the low-order byte of FLAGS */
     State->GeneralRegs[FAST486_REG_EAX].HighByte = LOBYTE(State->Flags.Long);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeRet)
@@ -4341,11 +4190,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeRet)
     if (Opcode == 0xC2)
     {
         /* Fetch the number of bytes to pop after the return */
-        if (!Fast486FetchWord(State, &BytesToPop)) return FALSE;
+        if (!Fast486FetchWord(State, &BytesToPop)) return;
     }
 
     /* Pop the return address */
-    if (!Fast486StackPop(State, &ReturnAddress)) return FALSE;
+    if (!Fast486StackPop(State, &ReturnAddress)) return;
 
     /* Return to the calling procedure, and if necessary, pop the parameters */
     if (Size)
@@ -4358,8 +4207,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeRet)
         State->InstPtr.LowWord = LOWORD(ReturnAddress);
         State->GeneralRegs[FAST486_REG_ESP].LowWord += BytesToPop;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
@@ -4380,7 +4227,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!ModRegRm.Memory)
@@ -4397,7 +4244,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
             if (!Fast486FetchByte(State, &BopCode))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Call the BOP handler */
@@ -4414,13 +4261,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
                 State->IntStatus = FAST486_INT_DELAYED;
             }
 
-            /* Return success */
-            return TRUE;
+            return;
         }
 
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (!Fast486ReadMemory(State,
@@ -4432,7 +4278,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
                            OperandSize ? 6 : 4))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -4444,10 +4290,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
         State->GeneralRegs[ModRegRm.Register].Long = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  (Opcode == 0xC4)
-                                  ? FAST486_REG_ES : FAST486_REG_DS,
-                                  Segment);
+        Fast486LoadSegment(State,
+                           (Opcode == 0xC4)
+                           ? FAST486_REG_ES : FAST486_REG_DS,
+                           Segment);
     }
     else
     {
@@ -4458,10 +4304,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLdsLes)
         State->GeneralRegs[ModRegRm.Register].LowWord = Offset;
 
         /* Load the segment */
-        return Fast486LoadSegment(State,
-                                  (Opcode == 0xC4)
-                                  ? FAST486_REG_ES : FAST486_REG_DS,
-                                  Segment);
+        Fast486LoadSegment(State,
+                           (Opcode == 0xC4)
+                           ? FAST486_REG_ES : FAST486_REG_DS,
+                           Segment);
     }
 }
 
@@ -4482,20 +4328,20 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeEnter)
     if (!Fast486FetchWord(State, &FrameSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486FetchByte(State, &NestingLevel))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Push EBP */
     if (!Fast486StackPush(State, State->GeneralRegs[FAST486_REG_EBP].Long))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Save ESP */
@@ -4524,8 +4370,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeEnter)
     /* Reserve space for the frame */
     if (Size) State->GeneralRegs[FAST486_REG_ESP].Long -= (ULONG)FrameSize;
     else State->GeneralRegs[FAST486_REG_ESP].LowWord -= FrameSize;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeLeave)
@@ -4544,7 +4388,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLeave)
         State->GeneralRegs[FAST486_REG_ESP].Long = State->GeneralRegs[FAST486_REG_EBP].Long;
 
         /* Pop the saved base pointer from the stack */
-        return Fast486StackPop(State, &State->GeneralRegs[FAST486_REG_EBP].Long);
+        Fast486StackPop(State, &State->GeneralRegs[FAST486_REG_EBP].Long);
     }
     else
     {
@@ -4557,9 +4401,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLeave)
         if (Fast486StackPop(State, &Value))
         {
             State->GeneralRegs[FAST486_REG_EBP].LowWord = LOWORD(Value);
-            return TRUE;
         }
-        else return FALSE;
     }
 }
 
@@ -4579,28 +4421,28 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeRetFar)
     if (Opcode == 0xCA)
     {
         /* Fetch the number of bytes to pop after the return */
-        if (!Fast486FetchWord(State, &BytesToPop)) return FALSE;
+        if (!Fast486FetchWord(State, &BytesToPop)) return;
     }
 
     /* Pop the offset */
     if (!Fast486StackPop(State, &Offset))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Pop the segment */
     if (!Fast486StackPop(State, &Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load the new CS */
     if (!Fast486LoadSegment(State, FAST486_REG_CS, Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load new (E)IP, and if necessary, pop the parameters */
@@ -4614,8 +4456,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeRetFar)
         State->InstPtr.LowWord = LOWORD(Offset);
         State->GeneralRegs[FAST486_REG_ESP].LowWord += BytesToPop;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeInt)
@@ -4637,7 +4477,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInt)
             if (!Fast486FetchByte(State, &IntNum))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             break;
@@ -4646,7 +4486,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInt)
         case 0xCE:  // INTO
         {
             /* Don't do anything if OF is cleared */
-            if (!State->Flags.Of) return TRUE;
+            if (!State->Flags.Of) return;
 
             /* Exception #OF */
             IntNum = FAST486_EXCEPTION_OF;
@@ -4662,7 +4502,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInt)
     }
 
     /* Perform the interrupt */
-    return Fast486PerformInterrupt(State, IntNum);
+    Fast486PerformInterrupt(State, IntNum);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
@@ -4682,21 +4522,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
     if (!Fast486StackPop(State, &InstPtr))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Pop CS */
     if (!Fast486StackPop(State, &CodeSel))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Pop EFLAGS */
     if (!Fast486StackPop(State, &NewFlags.Long))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check for protected mode */
@@ -4718,7 +4558,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
                 if (!Fast486LoadSegment(State, FAST486_REG_CS, CodeSel))
                 {
                     /* Exception occurred */
-                    return FALSE;
+                    return;
                 }
 
                 /* Set the new flags */
@@ -4731,10 +4571,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             {
                 /* Call the VM86 monitor */
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, 0);
-                return FALSE;
+                return;
             }
 
-            return TRUE;
+            return;
         }
 
         if (State->Flags.Nt)
@@ -4742,7 +4582,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             /* Nested task return */
 
             UNIMPLEMENTED;
-            return FALSE;
+            return;
         }
 
         if (NewFlags.Vm)
@@ -4751,12 +4591,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             ULONG Es, Ds, Fs, Gs;
 
             /* Pop ESP, SS, ES, FS, GS */
-            if (!Fast486StackPop(State, &StackPtr)) return FALSE;
-            if (!Fast486StackPop(State, &StackSel)) return FALSE;
-            if (!Fast486StackPop(State, &Es)) return FALSE;
-            if (!Fast486StackPop(State, &Ds)) return FALSE;
-            if (!Fast486StackPop(State, &Fs)) return FALSE;
-            if (!Fast486StackPop(State, &Gs)) return FALSE;
+            if (!Fast486StackPop(State, &StackPtr)) return;
+            if (!Fast486StackPop(State, &StackSel)) return;
+            if (!Fast486StackPop(State, &Es)) return;
+            if (!Fast486StackPop(State, &Ds)) return;
+            if (!Fast486StackPop(State, &Fs)) return;
+            if (!Fast486StackPop(State, &Gs)) return;
 
             /* Set the new IP */
             State->InstPtr.Long = LOWORD(InstPtr);
@@ -4767,21 +4607,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             State->Flags.AlwaysSet = State->Flags.Vm = TRUE;
 
             /* Load the new segments */
-            if (!Fast486LoadSegment(State, FAST486_REG_CS, CodeSel)) return FALSE;
-            if (!Fast486LoadSegment(State, FAST486_REG_SS, StackSel)) return FALSE;
-            if (!Fast486LoadSegment(State, FAST486_REG_ES, Es)) return FALSE;
-            if (!Fast486LoadSegment(State, FAST486_REG_DS, Ds)) return FALSE;
-            if (!Fast486LoadSegment(State, FAST486_REG_FS, Fs)) return FALSE;
-            if (!Fast486LoadSegment(State, FAST486_REG_GS, Gs)) return FALSE;
+            if (!Fast486LoadSegment(State, FAST486_REG_CS, CodeSel)) return;
+            if (!Fast486LoadSegment(State, FAST486_REG_SS, StackSel)) return;
+            if (!Fast486LoadSegment(State, FAST486_REG_ES, Es)) return;
+            if (!Fast486LoadSegment(State, FAST486_REG_DS, Ds)) return;
+            if (!Fast486LoadSegment(State, FAST486_REG_FS, Fs)) return;
+            if (!Fast486LoadSegment(State, FAST486_REG_GS, Gs)) return;
 
-            return TRUE;
+            return;
         }
 
         /* Load the new CS */
         if (!Fast486LoadSegment(State, FAST486_REG_CS, CodeSel))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set EIP */
@@ -4794,21 +4634,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             if (!Fast486StackPop(State, &StackPtr))
             {
                 /* Exception */
-                return FALSE;
+                return;
             }
 
             /* Pop SS */
             if (!Fast486StackPop(State, &StackSel))
             {
                 /* Exception */
-                return FALSE;
+                return;
             }
 
             /* Load new SS */
             if (!Fast486LoadSegment(State, FAST486_REG_SS, StackSel))
             {
                 /* Exception */
-                return FALSE;
+                return;
             }
 
             /* Set ESP */
@@ -4841,7 +4681,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
                     || !State->SegmentRegs[i].DirConf))
                 {
                     /* Load the NULL descriptor in the segment */
-                    if (!Fast486LoadSegment(State, i, 0)) return FALSE;
+                    if (!Fast486LoadSegment(State, i, 0)) return;
                 }
             }
         }
@@ -4852,7 +4692,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
         {
             /* Invalid */
             Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, 0);
-            return FALSE;
+            return;
         }
 
         /* Set new EIP */
@@ -4862,7 +4702,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
         if (!Fast486LoadSegment(State, FAST486_REG_CS, CodeSel))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set the new flags */
@@ -4870,8 +4710,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
         else State->Flags.LowWord = NewFlags.LowWord & REAL_MODE_FLAGS_MASK;
         State->Flags.AlwaysSet = TRUE;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAam)
@@ -4885,7 +4723,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAam)
     if (!Fast486FetchByte(State, &Base))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check if the base is zero */
@@ -4893,7 +4731,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAam)
     {
         /* Divide error */
         Fast486Exception(State, FAST486_EXCEPTION_DE);
-        return FALSE;
+        return;
     }
 
     /* Adjust */
@@ -4905,8 +4743,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAam)
     State->Flags.Zf = (Value == 0);
     State->Flags.Sf = ((Value & SIGN_FLAG_BYTE) != 0);
     State->Flags.Pf = Fast486CalculateParity(Value);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeAad)
@@ -4920,7 +4756,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAad)
     if (!Fast486FetchByte(State, &Base))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Adjust */
@@ -4932,8 +4768,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeAad)
     State->Flags.Zf = (Value == 0);
     State->Flags.Sf = ((Value & SIGN_FLAG_BYTE) != 0);
     State->Flags.Pf = Fast486CalculateParity(Value);
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeXlat)
@@ -4955,14 +4789,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeXlat)
                            sizeof(UCHAR)))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Set AL to the result */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = Value;
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeLoop)
@@ -4995,7 +4826,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLoop)
     if (!Fast486FetchByte(State, (PUCHAR)&Offset))
     {
         /* An exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Condition)
@@ -5004,8 +4835,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLoop)
         if (Size) State->InstPtr.Long += Offset;
         else State->InstPtr.LowWord += Offset;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeJecxz)
@@ -5027,7 +4856,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJecxz)
     if (!Fast486FetchByte(State, (PUCHAR)&Offset))
     {
         /* An exception occurred */
-        return FALSE;
+        return;
     }
 
     if (Condition)
@@ -5036,8 +4865,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJecxz)
         if (Size) State->InstPtr.Long += Offset;
         else State->InstPtr.LowWord += Offset;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCall)
@@ -5058,14 +4885,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCall)
         if (!Fast486FetchDword(State, (PULONG)&Offset))
         {
             /* An exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Push the current value of the instruction pointer */
         if (!Fast486StackPush(State, State->InstPtr.Long))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Move the instruction pointer */
@@ -5079,21 +4906,19 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCall)
         if (!Fast486FetchWord(State, (PUSHORT)&Offset))
         {
             /* An exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Push the current value of the instruction pointer */
         if (!Fast486StackPush(State, State->InstPtr.Long))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Move the instruction pointer */
         State->InstPtr.LowWord += Offset;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeJmp)
@@ -5114,7 +4939,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmp)
         if (!Fast486FetchDword(State, (PULONG)&Offset))
         {
             /* An exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Move the instruction pointer */
@@ -5128,7 +4953,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmp)
         if (!Fast486FetchWord(State, (PUSHORT)&Offset))
         {
             /* An exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Move the instruction pointer */
@@ -5137,8 +4962,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmp)
         /* Clear the top half of EIP */
         State->InstPtr.Long &= 0xFFFF;
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeJmpAbs)
@@ -5159,7 +4982,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmpAbs)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -5167,7 +4990,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmpAbs)
         if (!Fast486FetchWord(State, (PUSHORT)&Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -5175,20 +4998,18 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeJmpAbs)
     if (!Fast486FetchWord(State, &Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load the new CS */
     if (!Fast486LoadSegment(State, FAST486_REG_CS, Segment))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Load new EIP */
     State->InstPtr.Long = Offset;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovAlOffset)
@@ -5206,7 +5027,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovAlOffset)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -5216,20 +5037,20 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovAlOffset)
         if (!Fast486FetchWord(State, &WordOffset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         Offset = (ULONG)WordOffset;
     }
 
     /* Read from memory */
-    return Fast486ReadMemory(State,
-                             (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                             State->SegmentOverride : FAST486_REG_DS,
-                             Offset,
-                             FALSE,
-                             &State->GeneralRegs[FAST486_REG_EAX].LowByte,
-                             sizeof(UCHAR));
+    Fast486ReadMemory(State,
+                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                      State->SegmentOverride : FAST486_REG_DS,
+                      Offset,
+                      FALSE,
+                      &State->GeneralRegs[FAST486_REG_EAX].LowByte,
+                      sizeof(UCHAR));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovEaxOffset)
@@ -5251,29 +5072,29 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovEaxOffset)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Read from memory */
         if (OperandSize)
         {
-            return Fast486ReadMemory(State,
-                                     (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                     State->SegmentOverride : FAST486_REG_DS,
-                                     Offset,
-                                     FALSE,
-                                     &State->GeneralRegs[FAST486_REG_EAX].Long,
-                                     sizeof(ULONG));
+            Fast486ReadMemory(State,
+                              (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                              State->SegmentOverride : FAST486_REG_DS,
+                              Offset,
+                              FALSE,
+                              &State->GeneralRegs[FAST486_REG_EAX].Long,
+                              sizeof(ULONG));
         }
         else
         {
-            return Fast486ReadMemory(State,
-                                     (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                     State->SegmentOverride : FAST486_REG_DS,
-                                     Offset,
-                                     FALSE,
-                                     &State->GeneralRegs[FAST486_REG_EAX].LowWord,
-                                     sizeof(USHORT));
+            Fast486ReadMemory(State,
+                              (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                              State->SegmentOverride : FAST486_REG_DS,
+                              Offset,
+                              FALSE,
+                              &State->GeneralRegs[FAST486_REG_EAX].LowWord,
+                              sizeof(USHORT));
         }
     }
     else
@@ -5283,29 +5104,29 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovEaxOffset)
         if (!Fast486FetchWord(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Read from memory */
         if (OperandSize)
         {
-            return Fast486ReadMemory(State,
-                                     (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                     State->SegmentOverride : FAST486_REG_DS,
-                                     Offset,
-                                     FALSE,
-                                     &State->GeneralRegs[FAST486_REG_EAX].Long,
-                                     sizeof(ULONG));
+            Fast486ReadMemory(State,
+                              (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                              State->SegmentOverride : FAST486_REG_DS,
+                              Offset,
+                              FALSE,
+                              &State->GeneralRegs[FAST486_REG_EAX].Long,
+                              sizeof(ULONG));
         }
         else
         {
-            return Fast486ReadMemory(State,
-                                     (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                     State->SegmentOverride : FAST486_REG_DS,
-                                     Offset,
-                                     FALSE,
-                                     &State->GeneralRegs[FAST486_REG_EAX].LowWord,
-                                     sizeof(USHORT));
+            Fast486ReadMemory(State,
+                              (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                              State->SegmentOverride : FAST486_REG_DS,
+                              Offset,
+                              FALSE,
+                              &State->GeneralRegs[FAST486_REG_EAX].LowWord,
+                              sizeof(USHORT));
         }
     }
 }
@@ -5325,7 +5146,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetAl)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -5335,19 +5156,19 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetAl)
         if (!Fast486FetchWord(State, &WordOffset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         Offset = (ULONG)WordOffset;
     }
 
     /* Write to memory */
-    return Fast486WriteMemory(State,
-                             (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                             State->SegmentOverride : FAST486_REG_DS,
-                             Offset,
-                             &State->GeneralRegs[FAST486_REG_EAX].LowByte,
-                             sizeof(UCHAR));
+    Fast486WriteMemory(State,
+                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                      State->SegmentOverride : FAST486_REG_DS,
+                      Offset,
+                      &State->GeneralRegs[FAST486_REG_EAX].LowByte,
+                      sizeof(UCHAR));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetEax)
@@ -5369,27 +5190,27 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetEax)
         if (!Fast486FetchDword(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write to memory */
         if (OperandSize)
         {
-            return Fast486WriteMemory(State,
-                                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                      State->SegmentOverride : FAST486_REG_DS,
-                                      Offset,
-                                      &State->GeneralRegs[FAST486_REG_EAX].Long,
-                                      sizeof(ULONG));
+            Fast486WriteMemory(State,
+                               (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                               State->SegmentOverride : FAST486_REG_DS,
+                               Offset,
+                               &State->GeneralRegs[FAST486_REG_EAX].Long,
+                               sizeof(ULONG));
         }
         else
         {
-            return Fast486WriteMemory(State,
-                                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                      State->SegmentOverride : FAST486_REG_DS,
-                                      Offset,
-                                      &State->GeneralRegs[FAST486_REG_EAX].LowWord,
-                                      sizeof(USHORT));
+            Fast486WriteMemory(State,
+                               (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                               State->SegmentOverride : FAST486_REG_DS,
+                               Offset,
+                               &State->GeneralRegs[FAST486_REG_EAX].LowWord,
+                               sizeof(USHORT));
         }
     }
     else
@@ -5399,27 +5220,27 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovOffsetEax)
         if (!Fast486FetchWord(State, &Offset))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write to memory */
         if (OperandSize)
         {
-            return Fast486WriteMemory(State,
-                                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                      State->SegmentOverride : FAST486_REG_DS,
-                                      Offset,
-                                      &State->GeneralRegs[FAST486_REG_EAX].Long,
-                                      sizeof(ULONG));
+            Fast486WriteMemory(State,
+                               (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                               State->SegmentOverride : FAST486_REG_DS,
+                               Offset,
+                               &State->GeneralRegs[FAST486_REG_EAX].Long,
+                               sizeof(ULONG));
         }
         else
         {
-            return Fast486WriteMemory(State,
-                                      (State->PrefixFlags & FAST486_PREFIX_SEG) ?
-                                      State->SegmentOverride : FAST486_REG_DS,
-                                      Offset,
-                                      &State->GeneralRegs[FAST486_REG_EAX].LowWord,
-                                      sizeof(USHORT));
+            Fast486WriteMemory(State,
+                               (State->PrefixFlags & FAST486_PREFIX_SEG) ?
+                               State->SegmentOverride : FAST486_REG_DS,
+                               Offset,
+                               &State->GeneralRegs[FAST486_REG_EAX].LowWord,
+                               sizeof(USHORT));
         }
     }
 }
@@ -5438,8 +5259,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeSalc)
 
     /* Set all the bits of AL to CF */
     State->GeneralRegs[FAST486_REG_EAX].LowByte = State->Flags.Cf ? 0xFF : 0x00;
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeMovs)
@@ -5468,7 +5287,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovs)
             || (!AddressSize && (State->GeneralRegs[FAST486_REG_ECX].LowWord == 0)))
         {
             /* Do nothing */
-            return TRUE;
+            return;
         }
     }
 
@@ -5486,7 +5305,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovs)
                            DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Write to the destination operand */
@@ -5498,7 +5317,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovs)
                             DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Increment/decrement ESI and EDI */
@@ -5549,9 +5368,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeMovs)
             }
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeCmps)
@@ -5582,7 +5398,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmps)
             || (!AddressSize && (State->GeneralRegs[FAST486_REG_ECX].LowWord == 0)))
         {
             /* Do nothing */
-            return TRUE;
+            return;
         }
     }
 
@@ -5604,7 +5420,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmps)
                            DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read from the second source operand */
@@ -5617,7 +5433,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmps)
                            DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -5698,9 +5514,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeCmps)
             State->InstPtr = State->SavedInstPtr;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeStos)
@@ -5784,7 +5597,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeStos)
                 else State->GeneralRegs[FAST486_REG_ECX].LowWord = LOWORD(Count);
 
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (!State->Flags.Df)
@@ -5819,7 +5632,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeStos)
                                 DataSize))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Increment/decrement EDI */
@@ -5834,9 +5647,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeStos)
             else State->GeneralRegs[FAST486_REG_EDI].LowWord -= DataSize;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeLods)
@@ -5869,7 +5679,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLods)
                                   : State->GeneralRegs[FAST486_REG_ECX].LowWord;
 
         /* If the count is 0, do nothing */
-        if (Count == 0) return TRUE;
+        if (Count == 0) return;
 
         /* Only the last entry will be loaded */
         if (!State->Flags.Df)
@@ -5898,7 +5708,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLods)
                            DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Increment/decrement ESI */
@@ -5912,9 +5722,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeLods)
         if (!State->Flags.Df) State->GeneralRegs[FAST486_REG_ESI].LowWord += DataSize;
         else State->GeneralRegs[FAST486_REG_ESI].LowWord -= DataSize;
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeScas)
@@ -5940,7 +5747,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeScas)
             || (!AddressSize && (State->GeneralRegs[FAST486_REG_ECX].LowWord == 0)))
         {
             /* Do nothing */
-            return TRUE;
+            return
         }
     }
 
@@ -5962,7 +5769,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeScas)
                            DataSize))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -6027,9 +5834,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeScas)
             State->InstPtr = State->SavedInstPtr;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeIns)
@@ -6115,7 +5919,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIns)
                 else State->GeneralRegs[FAST486_REG_ECX].LowWord = LOWORD(Count);
 
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (!State->Flags.Df)
@@ -6153,7 +5957,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIns)
                                 DataSize))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Increment/decrement EDI */
@@ -6168,9 +5972,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIns)
             else State->GeneralRegs[FAST486_REG_EDI].LowWord -= DataSize;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeOuts)
@@ -6230,7 +6031,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOuts)
                 else State->GeneralRegs[FAST486_REG_ECX].LowWord = LOWORD(Count);
 
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (State->Flags.Df)
@@ -6291,7 +6092,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOuts)
                                DataSize))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Write to the I/O port */
@@ -6313,9 +6114,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeOuts)
             else State->GeneralRegs[FAST486_REG_ESI].LowWord -= DataSize;
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 /* EOF */
index 06de80e..193b38f 100644 (file)
@@ -29,9 +29,9 @@
 #define FAST486_NUM_OPCODE_HANDLERS 256
 #define FAST486_OPCODE_WRITE_REG (1 << 1)
 #define FAST486_OPCODE_HANDLER(x)   \
-    BOOLEAN FASTCALL x(PFAST486_STATE State, UCHAR Opcode)
+    VOID FASTCALL x(PFAST486_STATE State, UCHAR Opcode)
 
-typedef BOOLEAN (FASTCALL *FAST486_OPCODE_HANDLER_PROC)(PFAST486_STATE, UCHAR);
+typedef VOID (FASTCALL *FAST486_OPCODE_HANDLER_PROC)(PFAST486_STATE, UCHAR);
 
 extern
 FAST486_OPCODE_HANDLER_PROC
index 303fcd1..03eb091 100644 (file)
@@ -304,21 +304,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8082)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Fetch the immediate operand */
     if (!Fast486FetchByte(State, &Immediate))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -327,10 +327,8 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8082)
     /* Unless this is CMP, write back the result */
     if (ModRegRm.Register != 7)
     {
-        return Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
@@ -346,7 +344,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -357,14 +355,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
         if (!Fast486FetchDword(State, &Immediate))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Read the operands */
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -373,7 +371,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
         /* Unless this is CMP, write back the result */
         if (ModRegRm.Register != 7)
         {
-            return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+            Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
     else
@@ -384,14 +382,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
         if (!Fast486FetchWord(State, &Immediate))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Read the operands */
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -400,11 +398,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup81)
         /* Unless this is CMP, write back the result */
         if (ModRegRm.Register != 7)
         {
-            return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
@@ -421,14 +417,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Fetch the immediate operand */
     if (!Fast486FetchByte(State, (PUCHAR)&ImmByte))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -440,7 +436,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -449,7 +445,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
         /* Unless this is CMP, write back the result */
         if (ModRegRm.Register != 7)
         {
-            return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+            Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
     else
@@ -461,7 +457,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -470,11 +466,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup83)
         /* Unless this is CMP, write back the result */
         if (ModRegRm.Register != 7)
         {
-            return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8F)
@@ -492,7 +486,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8F)
     if (!Fast486StackPop(State, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
@@ -501,30 +495,18 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8F)
         if (OperandSize) State->GeneralRegs[FAST486_REG_ESP].Long -= sizeof(ULONG);
         else State->GeneralRegs[FAST486_REG_ESP].LowWord -= sizeof(USHORT);
 
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register != 0)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
-    if (OperandSize)
-    {
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              FALSE,
-                                              Value);
-    }
-    else
-    {
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             FALSE,
-                                             LOWORD(Value));
-    }
+    if (OperandSize) Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+    else Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, LOWORD(Value));
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC0)
@@ -538,21 +520,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC0)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Fetch the count */
     if (!Fast486FetchByte(State, &Count))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -563,10 +545,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC0)
                                           Count));
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         FALSE,
-                                         Value);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
@@ -583,14 +562,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Fetch the count */
     if (!Fast486FetchByte(State, &Count))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -601,7 +580,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -612,7 +591,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
                                        Count);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -622,7 +601,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -633,7 +612,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC1)
                                               Count));
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
 }
 
@@ -648,27 +627,24 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC6)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register != 0)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Get the immediate operand */
     if (!Fast486FetchByte(State, &Immediate))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         FALSE,
-                                         Immediate);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Immediate);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC7)
@@ -684,14 +660,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC7)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register != 0)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -702,13 +678,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC7)
         if (!Fast486FetchDword(State, &Immediate))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
-        return Fast486WriteModrmDwordOperands(State,
-                                              &ModRegRm,
-                                              FALSE,
-                                              Immediate);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Immediate);
     }
     else
     {
@@ -718,13 +691,10 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupC7)
         if (!Fast486FetchWord(State, &Immediate))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
-        return Fast486WriteModrmWordOperands(State,
-                                             &ModRegRm,
-                                             FALSE,
-                                             Immediate);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Immediate);
     }
 }
 
@@ -739,24 +709,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD0)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
     Value = LOBYTE(Fast486RotateOperation(State, ModRegRm.Register, Value, 8, 1));
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         FALSE,
-                                         Value);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
 
 }
 
@@ -773,7 +740,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -784,14 +751,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
         Value = Fast486RotateOperation(State, ModRegRm.Register, Value, 32, 1);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -801,14 +768,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD1)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
         Value = LOWORD(Fast486RotateOperation(State, ModRegRm.Register, Value, 16, 1));
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
 }
 
@@ -823,14 +790,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD2)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Calculate the result */
@@ -841,10 +808,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD2)
                                           State->GeneralRegs[FAST486_REG_ECX].LowByte));
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         FALSE,
-                                         Value);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
@@ -860,7 +824,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (OperandSize)
@@ -871,7 +835,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -882,7 +846,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
                                        State->GeneralRegs[FAST486_REG_ECX].LowByte);
 
         /* Write back the result */
-        return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
     }
     else
     {
@@ -892,7 +856,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Calculate the result */
@@ -903,7 +867,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupD3)
                                               State->GeneralRegs[FAST486_REG_ECX].LowByte));
 
         /* Write back the result */
-        return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
+        Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
     }
 }
 
@@ -918,14 +882,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     switch (ModRegRm.Register)
@@ -940,7 +904,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
             if (!Fast486FetchByte(State, &Immediate))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Calculate the result */
@@ -960,7 +924,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
         case 2:
         {
             /* Write back the result */
-            return Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, ~Value);
+            Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, ~Value);
+
+            break;
         }
 
         /* NEG */
@@ -978,7 +944,9 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
             State->Flags.Pf = Fast486CalculateParity(Result);
 
             /* Write back the result */
-            return Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Result);
+            Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Result);
+
+            break;
         }
 
         /* MUL */
@@ -1018,7 +986,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
             {
                 /* Divide error */
                 Fast486Exception(State, FAST486_EXCEPTION_DE);
-                return FALSE;
+                return;
             }
 
             Quotient = State->GeneralRegs[FAST486_REG_EAX].LowWord / Value;
@@ -1040,7 +1008,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
             {
                 /* Divide error */
                 Fast486Exception(State, FAST486_EXCEPTION_DE);
-                return FALSE;
+                return;
             }
 
             Quotient = (SHORT)State->GeneralRegs[FAST486_REG_EAX].LowWord / (CHAR)Value;
@@ -1053,8 +1021,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF6)
             break;
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
@@ -1071,7 +1037,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Set the sign flag */
@@ -1085,7 +1051,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
     else
@@ -1094,7 +1060,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, (PUSHORT)&Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
     }
 
@@ -1112,7 +1078,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
                 if (!Fast486FetchDword(State, &Immediate))
                 {
                     /* Exception occurred */
-                    return FALSE;
+                    return;
                 }
             }
             else
@@ -1121,7 +1087,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
                 if (!Fast486FetchWord(State, (PUSHORT)&Immediate))
                 {
                     /* Exception occurred */
-                    return FALSE;
+                    return;
                 }
             }
 
@@ -1145,13 +1111,15 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
             if (OperandSize)
             {
                 /* 32-bit */
-                return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, ~Value);
+                Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, ~Value);
             }
             else
             {
                 /* 16-bit */
-                return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, LOWORD(~Value));
+                Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, LOWORD(~Value));
             }
+
+            break;
         }
 
         /* NEG */
@@ -1173,13 +1141,15 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
             if (OperandSize)
             {
                 /* 32-bit */
-                return Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
+                Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Result);
             }
             else
             {
                 /* 16-bit */
-                return Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, LOWORD(Result));
+                Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, LOWORD(Result));
             }
+
+            break;
         }
 
         /* MUL */
@@ -1247,7 +1217,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
             {
                 /* Divide error */
                 Fast486Exception(State, FAST486_EXCEPTION_DE);
-                return FALSE;
+                return;
             }
 
             if (OperandSize)
@@ -1283,7 +1253,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
             {
                 /* Divide error */
                 Fast486Exception(State, FAST486_EXCEPTION_DE);
-                return FALSE;
+                return;
             }
 
             if (OperandSize)
@@ -1312,8 +1282,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupF7)
             break;
         }
     }
-
-    return TRUE;
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFE)
@@ -1327,21 +1295,21 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFE)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register > 1)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
     if (!Fast486ReadModrmByteOperands(State, &ModRegRm, NULL, &Value))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register == 0)
@@ -1365,10 +1333,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFE)
     State->Flags.Pf = Fast486CalculateParity(Value);
 
     /* Write back the result */
-    return Fast486WriteModrmByteOperands(State,
-                                         &ModRegRm,
-                                         FALSE,
-                                         Value);
+    Fast486WriteModrmByteOperands(State, &ModRegRm, FALSE, Value);
 }
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
@@ -1384,14 +1349,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register == 7)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Read the operands */
@@ -1402,7 +1367,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (ModRegRm.Register == 0)
@@ -1425,7 +1390,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
             if (!Fast486StackPush(State, State->InstPtr.Long))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the EIP to the address */
@@ -1452,28 +1417,28 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
                                    sizeof(USHORT)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Push the current value of CS */
             if (!Fast486StackPush(State, State->SegmentRegs[FAST486_REG_CS].Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Push the current value of EIP */
             if (!Fast486StackPush(State, State->InstPtr.Long))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new code segment */
             if (!Fast486LoadSegment(State, FAST486_REG_CS, Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the EIP to the address */
@@ -1505,14 +1470,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
                                    sizeof(USHORT)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new code segment */
             if (!Fast486LoadSegment(State, FAST486_REG_CS, Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the EIP to the address */
@@ -1521,7 +1486,8 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
         else if (ModRegRm.Register == 6)
         {
             /* Push the value on to the stack */
-            return Fast486StackPush(State, Value);
+            Fast486StackPush(State, Value);
+            return;
         }
 
         if (ModRegRm.Register <= 1)
@@ -1532,10 +1498,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
             State->Flags.Pf = Fast486CalculateParity(Value);
 
             /* Write back the result */
-            return Fast486WriteModrmDwordOperands(State,
-                                                  &ModRegRm,
-                                                  FALSE,
-                                                  Value);
+            Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
     else
@@ -1545,7 +1508,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         if (ModRegRm.Register == 0)
@@ -1568,7 +1531,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
             if (!Fast486StackPush(State, State->InstPtr.LowWord))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the IP to the address */
@@ -1598,28 +1561,28 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
                                    sizeof(USHORT)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Push the current value of CS */
             if (!Fast486StackPush(State, State->SegmentRegs[FAST486_REG_CS].Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Push the current value of IP */
             if (!Fast486StackPush(State, State->InstPtr.LowWord))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new code segment */
             if (!Fast486LoadSegment(State, FAST486_REG_CS, Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the IP to the address */
@@ -1657,14 +1620,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
                                    sizeof(USHORT)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new code segment */
             if (!Fast486LoadSegment(State, FAST486_REG_CS, Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Set the IP to the address */
@@ -1676,13 +1639,14 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
         else if (ModRegRm.Register == 6)
         {
             /* Push the value on to the stack */
-            return Fast486StackPush(State, Value);
+            Fast486StackPush(State, Value);
+            return;
         }
         else
         {
             /* Invalid */
             Fast486Exception(State, FAST486_EXCEPTION_UD);
-            return FALSE;
+            return;
         }
 
         if (ModRegRm.Register <= 1)
@@ -1693,17 +1657,11 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroupFF)
             State->Flags.Pf = Fast486CalculateParity(Value);
 
             /* Write back the result */
-            return Fast486WriteModrmWordOperands(State,
-                                                 &ModRegRm,
-                                                 FALSE,
-                                                 Value);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value);
         }
     }
-
-    return TRUE;
 }
 
-
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
 {
     FAST486_MOD_REG_RM ModRegRm;
@@ -1715,7 +1673,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check which operation this is */
@@ -1729,13 +1687,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 || State->Flags.Vm)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
-            return Fast486WriteModrmWordOperands(State,
-                                                 &ModRegRm,
-                                                 FALSE,
-                                                 State->Ldtr.Selector);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, State->Ldtr.Selector);
+            break;
         }
 
         /* STR */
@@ -1746,13 +1702,11 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 || State->Flags.Vm)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
-            return Fast486WriteModrmWordOperands(State,
-                                                 &ModRegRm,
-                                                 FALSE,
-                                                 State->TaskReg.Selector);
+            Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, State->TaskReg.Selector);
+            break;
         }
 
         /* LLDT */
@@ -1766,14 +1720,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 || State->Flags.Vm)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* This is a privileged instruction */
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!Fast486ReadModrmWordOperands(State,
@@ -1782,14 +1736,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                               &Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Make sure the GDT contains the entry */
             if (GET_SEGMENT_INDEX(Selector) >= (State->Gdtr.Size + 1))
             {
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, Selector);
-                return FALSE;
+                return;
             }
 
             /* Read the GDT */
@@ -1800,26 +1754,26 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                          sizeof(GdtEntry)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (GET_SEGMENT_INDEX(Selector) == 0)
             {
                 RtlZeroMemory(&State->Ldtr, sizeof(State->Ldtr));
-                return TRUE;
+                return;
             }
 
             if (!GdtEntry.Present)
             {
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_NP, Selector);
-                return FALSE;
+                return;
             }
 
             if (GdtEntry.Signature != FAST486_LDT_SIGNATURE)
             {
                 /* This is not a LDT descriptor */
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, Selector);
-                return FALSE;
+                return;
             }
 
             /* Update the LDTR */
@@ -1828,7 +1782,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
             State->Ldtr.Limit = GdtEntry.Limit | (GdtEntry.LimitHigh << 16);
             if (GdtEntry.Granularity) State->Ldtr.Limit <<= 12;
 
-            return TRUE;
+            break;
         }
 
         /* LTR */
@@ -1842,14 +1796,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 || State->Flags.Vm)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* This is a privileged instruction */
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!Fast486ReadModrmWordOperands(State,
@@ -1858,14 +1812,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                               &Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Make sure the GDT contains the entry */
             if (GET_SEGMENT_INDEX(Selector) >= (State->Gdtr.Size + 1))
             {
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, Selector);
-                return FALSE;
+                return;
             }
 
             /* Read the GDT */
@@ -1876,26 +1830,26 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                          sizeof(GdtEntry)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (GET_SEGMENT_INDEX(Selector) == 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!GdtEntry.Present)
             {
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_NP, Selector);
-                return FALSE;
+                return;
             }
 
             if (GdtEntry.Signature != FAST486_TSS_SIGNATURE)
             {
                 /* This is not a TSS descriptor */
                 Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, Selector);
-                return FALSE;
+                return;
             }
 
             /* Update the TR */
@@ -1905,7 +1859,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
             if (GdtEntry.Granularity) State->TaskReg.Limit <<= 12;
             State->TaskReg.Busy = TRUE;
 
-            return TRUE;
+            break;
         }
 
         /* VERR/VERW */
@@ -1920,14 +1874,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 || State->Flags.Vm)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* This is a privileged instruction */
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!Fast486ReadModrmWordOperands(State,
@@ -1936,7 +1890,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                               &Selector))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             if (!(Selector & SEGMENT_TABLE_INDICATOR))
@@ -1946,7 +1900,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 {
                     /* Clear ZF */
                     State->Flags.Zf = FALSE;
-                    return TRUE;
+                    return;
                 }
 
                 /* Read the GDT */
@@ -1957,7 +1911,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                              sizeof(GdtEntry)))
                 {
                     /* Exception occurred */
-                    return FALSE;
+                    return;
                 }
             }
             else
@@ -1967,7 +1921,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                 {
                     /* Clear ZF */
                     State->Flags.Zf = FALSE;
-                    return TRUE;
+                    return;
                 }
 
                 /* Read the LDT */
@@ -1978,7 +1932,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                              sizeof(GdtEntry)))
                 {
                     /* Exception occurred */
-                    return FALSE;
+                    return;
                 }
             }
 
@@ -2003,14 +1957,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
                                && (GdtEntry.Dpl <= Fast486GetCurrentPrivLevel(State)));
 
 
-            return TRUE;
+            break;
         }
 
         /* Invalid */
         default:
         {
             Fast486Exception(State, FAST486_EXCEPTION_UD);
-            return FALSE;
         }
     }
 }
@@ -2032,7 +1985,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* Check for the segment override */
@@ -2052,7 +2005,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             {
                 /* The second operand must be a memory location */
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* Fill the 6-byte table register */
@@ -2061,11 +2014,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             *((PULONG)&TableReg[sizeof(USHORT)]) = State->Gdtr.Address;
 
             /* Store the GDTR */
-            return Fast486WriteMemory(State,
-                                      Segment,
-                                      ModRegRm.MemoryAddress,
-                                      TableReg,
-                                      sizeof(TableReg));
+            Fast486WriteMemory(State,
+                               Segment,
+                               ModRegRm.MemoryAddress,
+                               TableReg,
+                               sizeof(TableReg));
+
+            break;
         }
 
         /* SIDT */
@@ -2075,7 +2030,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             {
                 /* The second operand must be a memory location */
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* Fill the 6-byte table register */
@@ -2084,11 +2039,13 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             *((PULONG)&TableReg[sizeof(USHORT)]) = State->Idtr.Address;
 
             /* Store the IDTR */
-            return Fast486WriteMemory(State,
-                                      Segment,
-                                      ModRegRm.MemoryAddress,
-                                      TableReg,
-                                      sizeof(TableReg));
+            Fast486WriteMemory(State,
+                               Segment,
+                               ModRegRm.MemoryAddress,
+                               TableReg,
+                               sizeof(TableReg));
+
+            break;
         }
 
         /* LGDT */
@@ -2098,14 +2055,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!ModRegRm.Memory)
             {
                 /* The second operand must be a memory location */
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* Read the new GDTR */
@@ -2117,7 +2074,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
                                    sizeof(TableReg)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new GDT */
@@ -2128,7 +2085,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             /* In 16-bit mode the highest byte is masked out */
             if (!OperandSize) State->Gdtr.Address &= 0x00FFFFFF;
 
-            return TRUE;
+            break;
         }
 
         /* LIDT */
@@ -2138,14 +2095,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             if (!ModRegRm.Memory)
             {
                 /* The second operand must be a memory location */
                 Fast486Exception(State, FAST486_EXCEPTION_UD);
-                return FALSE;
+                return;
             }
 
             /* Read the new IDTR */
@@ -2157,7 +2114,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
                                    sizeof(TableReg)))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* Load the new IDT */
@@ -2168,17 +2125,19 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             /* In 16-bit mode the highest byte is masked out */
             if (!OperandSize) State->Idtr.Address &= 0x00FFFFFF;
 
-            return TRUE;
+            break;
         }
 
         /* SMSW */
         case 4:
         {
             /* Store the lower 16 bits (Machine Status Word) of CR0 */
-            return Fast486WriteModrmWordOperands(State,
-                                                 &ModRegRm,
-                                                 FALSE,
-                                                 LOWORD(State->ControlRegisters[FAST486_REG_CR0]));
+            Fast486WriteModrmWordOperands(State,
+                                          &ModRegRm,
+                                          FALSE,
+                                          LOWORD(State->ControlRegisters[FAST486_REG_CR0]));
+
+            break;
         }
 
         /* LMSW */
@@ -2190,14 +2149,14 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
             if (Fast486GetCurrentPrivLevel(State) != 0)
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             /* Read the new Machine Status Word */
             if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &MachineStatusWord))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
 
             /* This instruction cannot be used to return to real mode */
@@ -2205,28 +2164,27 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F01)
                 && !(MachineStatusWord & FAST486_CR0_PE))
             {
                 Fast486Exception(State, FAST486_EXCEPTION_GP);
-                return FALSE;
+                return;
             }
 
             /* Set the lowest 4 bits */
             State->ControlRegisters[FAST486_REG_CR0] &= 0xFFFFFFF0;
             State->ControlRegisters[FAST486_REG_CR0] |= MachineStatusWord & 0x0F;
 
-            return TRUE;
+            break;
         }
 
         /* INVLPG */
         case 7:
         {
             UNIMPLEMENTED;
-            return FALSE;
+            break;
         }
 
         /* Invalid */
         default:
         {
             Fast486Exception(State, FAST486_EXCEPTION_UD);
-            return FALSE;
         }
     }
 }
@@ -2241,12 +2199,12 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FB9)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     /* All of them are reserved (UD2) */
     Fast486Exception(State, FAST486_EXCEPTION_UD);
-    return FALSE;
+    return;
 }
 
 FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
@@ -2268,21 +2226,21 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
     if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Register < 4)
     {
         /* Invalid */
         Fast486Exception(State, FAST486_EXCEPTION_UD);
-        return FALSE;
+        return;
     }
 
     /* Get the bit number */
     if (!Fast486FetchByte(State, &BitNumber))
     {
         /* Exception occurred */
-        return FALSE;
+        return;
     }
 
     if (ModRegRm.Memory)
@@ -2305,7 +2263,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
         if (!Fast486ReadModrmDwordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -2333,7 +2291,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
             if (!Fast486WriteModrmDwordOperands(State, &ModRegRm, FALSE, Value))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
         }
     }
@@ -2345,7 +2303,7 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
         if (!Fast486ReadModrmWordOperands(State, &ModRegRm, NULL, &Value))
         {
             /* Exception occurred */
-            return FALSE;
+            return;
         }
 
         /* Set CF to the bit value */
@@ -2373,13 +2331,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0FBA)
             if (!Fast486WriteModrmWordOperands(State, &ModRegRm, FALSE, Value))
             {
                 /* Exception occurred */
-                return FALSE;
+                return;
             }
         }
     }
-
-    /* Return success */
-    return TRUE;
 }
 
 /* EOF */