update for HEAD-2003091401
[reactos.git] / lib / ntdll / rtl / i386 / allshl.s
1 /* $Id$
2  *
3  * COPYRIGHT:         See COPYING in the top level directory
4  * PROJECT:           ReactOS kernel
5  * PURPOSE:           Math support for IA-32
6  * FILE:              lib/ntdll/rtl/i386/allshl.s
7  * PROGRAMER:         Eric Kohl (ekohl@rz-online.de)
8  */
9
10 /*
11  * long long
12  * __allshl(long long Value, unsigned char Shift);
13  *
14  * Parameters:
15  *   EDX:EAX - signed long long value to be shifted left
16  *   CL      - number of bits to shift by
17  * Registers:
18  *   Destroys CL
19  * Returns:
20  *   EDX:EAX - shifted value
21  */
22 .globl __allshl
23 __allshl:
24         shldl   %cl, %eax, %edx
25         sall    %cl, %eax
26         andl    $32, %ecx
27         je              L1
28         movl    %eax, %edx
29         xorl    %eax, %eax
30 L1:
31         ret
32
33 /* EOF */