- Revert 49927 "Update to trunk" as it breaks KsStudio (again)
[reactos.git] / dll / win32 / kernel32 / thread / i386 / fiber.S
index bf88c46..57358ff 100644 (file)
@@ -7,12 +7,11 @@
  *              KJK::Hyperion <noog@libero.it>
  */
 
-#include <asm.inc>
-#include <ks386.inc>
+#include <ndk/asm.h>
 
-.code
+.globl _SwitchToFiber@4
+.intel_syntax noprefix
 
-PUBLIC _SwitchToFiber@4
 _SwitchToFiber@4:
     /* Get the TEB */
     mov edx, fs:[TEB_SELF]
@@ -31,7 +30,7 @@ _SwitchToFiber@4:
     mov [eax+FIBER_CONTEXT_EIP], ebx
 
     /* Check if we're to save FPU State */
-    cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL OR CONTEXT_FLOATING_POINT
+    cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL | CONTEXT_FLOATING_POINT
     jnz NoFpuStateSave
     
     /* Save the FPU State (Status and Control)*/
@@ -81,7 +80,7 @@ NoFpuStateSave:
     mov [edx+TEB_ACTIVATION_CONTEXT_STACK_POINTER], esi
     
     /* Restore FPU State */
-    cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL OR CONTEXT_FLOATING_POINT
+    cmp dword ptr [eax+FIBER_CONTEXT_FLAGS], CONTEXT_FULL | CONTEXT_FLOATING_POINT
     jnz NoFpuStateRestore
     
     /* Check if the Status Word Changed */
@@ -97,7 +96,7 @@ NoFpuStateSave:
 StatusWordChanged:
 
     /* Load the new one */
-    mov word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD], HEX(0FFFF)
+    mov word ptr [ecx+FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD], 0xFFFF
     fldenv [ecx+FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD]
     
 ControlWordEqual:
@@ -121,7 +120,6 @@ NoFpuStateRestore:
     mov [edx+TEB_FLS_DATA], eax
 
     /* Jump to new fiber */
-    jmp dword ptr [ecx+FIBER_CONTEXT_EIP]
+    jmp [ecx+FIBER_CONTEXT_EIP]
 
-END
 /* EOF */