-#/*++
-#
-#Copyright (c) 2006, Intel Corporation
-#All rights reserved. This program and the accompanying materials
-#are licensed and made available under the terms and conditions of the BSD License
-#which accompanies this distribution. The full text of the license may be found at
-#http://opensource.org/licenses/bsd-license.php
-#
-#THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-#Module Name:
-#
-# RShiftU64.c
-#
-#Abstract:
-#
-# 64-bit right shift function for IA-32
-#
-#--*/
-#
-##include "Tiano.h"
-#
-#include "EfiBind.h"
-#---------------------------------------------------------------------------
- .686:
- #.MODEL flat,C
- .code:
-
-#---------------------------------------------------------------------------
-.globl ASM_PFX(RShiftU64)
-#UINT64
-#RShiftU64 (
-# IN UINT64 Operand,
-# IN UINTN Count
-# )
-#/*++
-#
-#Routine Description:
-# This routine allows a 64 bit value to be right shifted by 32 bits and returns the
-# shifted value.
-# Count is valid up 63. (Only Bits 0-5 is valid for Count)
-#Arguments:
-# Operand - Value to be shifted
-# Count - Number of times to shift right.
-#
-#Returns:
-#
-# Value shifted right identified by the Count.
-#
-#--*/
-ASM_PFX(RShiftU64):
-
- movl 4(%esp), %eax # dword ptr Operand[0]
- movl 8(%esp), %edx # dword ptr Operand[4]
-
- #
- # CL is valid from 0 - 31. shld will move EDX:EAX by CL times but EDX is not touched
- # For CL of 32 - 63, it will be shifted 0 - 31 so we will move edx to eax later.
- #
- movl 0xC(%esp), %ecx # Count
- andl $63, %ecx
- shrd %cl, %edx, %eax
- shrb %cl, %edx
-
- cmpl $32, %ecx
- jc _RShiftU64_Done
-
- #
- # Since Count is 32 - 63, edx will have been shifted by 0 - 31
- # If shifted by 32 or more, set upper 32 bits to zero.
- #
- movl %edx, %eax
- xorl %edx, %edx
-
-_RShiftU64_Done:
-
- ret
-#RShiftU64 ENDP
-
+#/*++\r
+#\r
+#Copyright (c) 2006, Intel Corporation \r
+#All rights reserved. This program and the accompanying materials \r
+#are licensed and made available under the terms and conditions of the BSD License \r
+#which accompanies this distribution. The full text of the license may be found at \r
+#http://opensource.org/licenses/bsd-license.php \r
+# \r
+#THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+#WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+#\r
+#Module Name:\r
+#\r
+# RShiftU64.c\r
+#\r
+#Abstract:\r
+#\r
+# 64-bit right shift function for IA-32\r
+#\r
+#--*/\r
+#\r
+##include "Tiano.h"\r
+#\r
+#include "EfiBind.h"\r
+#---------------------------------------------------------------------------\r
+ .686: \r
+ #.MODEL flat,C\r
+ .code: \r
+\r
+#---------------------------------------------------------------------------\r
+.globl ASM_PFX(RShiftU64)\r
+#UINT64\r
+#RShiftU64 (\r
+# IN UINT64 Operand,\r
+# IN UINTN Count\r
+# )\r
+#/*++\r
+#\r
+#Routine Description:\r
+# This routine allows a 64 bit value to be right shifted by 32 bits and returns the \r
+# shifted value.\r
+# Count is valid up 63. (Only Bits 0-5 is valid for Count)\r
+#Arguments:\r
+# Operand - Value to be shifted\r
+# Count - Number of times to shift right.\r
+# \r
+#Returns:\r
+#\r
+# Value shifted right identified by the Count.\r
+#\r
+#--*/\r
+ASM_PFX(RShiftU64):\r
+\r
+ movl 4(%esp), %eax # dword ptr Operand[0]\r
+ movl 8(%esp), %edx # dword ptr Operand[4]\r
+\r
+ #\r
+ # CL is valid from 0 - 31. shld will move EDX:EAX by CL times but EDX is not touched\r
+ # For CL of 32 - 63, it will be shifted 0 - 31 so we will move edx to eax later. \r
+ #\r
+ movl 0xC(%esp), %ecx # Count\r
+ andl $63, %ecx\r
+ shrd %cl, %edx, %eax\r
+ shrb %cl, %edx\r
+\r
+ cmpl $32, %ecx\r
+ jc _RShiftU64_Done\r
+\r
+ #\r
+ # Since Count is 32 - 63, edx will have been shifted by 0 - 31 \r
+ # If shifted by 32 or more, set upper 32 bits to zero.\r
+ #\r
+ movl %edx, %eax\r
+ xorl %edx, %edx\r
+\r
+_RShiftU64_Done: \r
+\r
+ ret\r
+#RShiftU64 ENDP\r
+\r