diff --git a/Library/IA32/math.c b/Library/IA32/math.c
index a1eecde..4f72661 100644
--- a/Library/IA32/math.c
+++ b/Library/IA32/math.c
@@ -49,29 +49,31 @@ Returns:
   UINT64  Result;
   Result = 0;
 
-  _asm
-  {
-    mov ecx, Count
-    cmp ecx, 64
-    jge exit
+  asm
+  (
+    ".intel_syntax prefix"
+    "mov ecx, Count"
+    "cmp ecx, 64"
+    "jge exit"
 
-    mov eax, dword ptr Operand[0]
-    mov edx, dword ptr Operand[4]
+    "mov eax, dword ptr Operand[0]"
+    "mov edx, dword ptr Operand[4]"
 
-    shld edx, eax, cl
-    shl eax, cl
+    "shld edx, eax, cl"
+    "shl eax, cl"
 
-    cmp ecx, 32
-    jc short ls10
+    "cmp ecx, 32"
+    "jc short ls10"
 
-    mov edx, eax
-    xor eax, eax
+    "mov edx, eax"
+    "xor eax, eax"
 
-    ls10 :
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    exit :
-  }
+    "ls10 :"
+    "mov dword ptr Result[0], eax"
+    "mov dword ptr Result[4], edx"
+    "exit :"
+    ".att_syntax prefix"
+  );
 
   return Result;
 }
@@ -98,29 +100,31 @@ Returns:
   UINT64  Result;
   Result = 0;
 
-  _asm
-  {
-    mov ecx, Count
-    cmp ecx, 64
-    jge exit
+  asm
+  (
+    ".intel_syntax prefix"
+    "mov ecx, Count"
+    "cmp ecx, 64"
+    "jge exit"
 
-    mov eax, dword ptr Operand[0]
-    mov edx, dword ptr Operand[4]
+    "mov eax, dword ptr Operand[0]"
+    "mov edx, dword ptr Operand[4]"
 
-    shrd eax, edx, cl
-    shr edx, cl
+    "shrd eax, edx, cl"
+    "shr edx, cl"
 
-    cmp ecx, 32
-    jc short rs10
+    "cmp ecx, 32"
+    "jc short rs10"
 
-    mov eax, edx
-    xor edx, edx
+    "mov eax, edx"
+    "xor edx, edx"
 
-    rs10 :
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    exit :
-  }
+    "rs10 :"
+    "mov dword ptr Result[0], eax"
+    "mov dword ptr Result[4], edx"
+    "exit :"
+    ".att_syntax prefix"
+  );
 
   return Result;
 }
@@ -146,16 +150,18 @@ Returns:
 {
   UINT64  Result;
 
-  _asm
-  {
-    mov eax, dword ptr Multiplicand[0]
-    mul Multiplier
-    mov dword ptr Result[0], eax
-    mov dword ptr Result[4], edx
-    mov eax, dword ptr Multiplicand[4]
-    mul Multiplier
-    add dword ptr Result[4], eax
-  }
+  asm
+  (
+    ".intel_syntax prefix"
+    "mov eax, dword ptr Multiplicand[0]"
+    "mul Multiplier"
+    "mov dword ptr Result[0], eax"
+    "mov dword ptr Result[4], edx"
+    "mov eax, dword ptr Multiplicand[4]"
+    "mul Multiplier"
+    "add dword ptr Result[4], eax"
+    ".att_syntax prefix"
+  );
 
   return Result;
 }
@@ -193,20 +199,22 @@ Return:
   //
   Rem = 0;
   for (bit = 0; bit < 64; bit++) {
-    _asm
-    {
-      shl dword ptr Dividend[0], 1    /*  shift rem:dividend left one */
-      rcl dword ptr Dividend[4], 1
-      rcl dword ptr Rem, 1
-
-      mov eax, Rem
-      cmp eax, Divisor                /*  Is Rem >= Divisor? */
-      cmc                             /*  No - do nothing */
-      sbb eax, eax                    /*  Else, */
-      sub dword ptr Dividend[0], eax  /*    set low bit in dividen */
-      and eax, Divisor                /*  and */
-      sub Rem, eax                    /*    subtract divisor */
-    }
+    asm
+    (
+      ".intel_syntax prefix"
+      "shl dword ptr Dividend[0], 1"    /*  shift rem:dividend left one */
+      "rcl dword ptr Dividend[4], 1"
+      "rcl dword ptr Rem, 1"
+
+      "mov eax, Rem"
+      "cmp eax, Divisor"                /*  Is Rem >= Divisor? */
+      "cmc"                             /*  No - do nothing */
+      "sbb eax, eax"                    /*  Else, */
+      "sub dword ptr Dividend[0], eax"  /*    set low bit in dividen */
+      "and eax, Divisor"                /*  and */
+      "sub Rem, eax"                    /*    subtract divisor */
+      ".att_syntax prefix"
+    );
   }
 
   if (Remainder) {
