]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Ebc/Dxe/Ia32/Ia32Math.S
Ported the EBC driver to use the MDE Base Math lib functions. Removed math functions...
[mirror_edk2.git] / EdkModulePkg / Universal / Ebc / Dxe / Ia32 / Ia32Math.S
diff --git a/EdkModulePkg/Universal/Ebc/Dxe/Ia32/Ia32Math.S b/EdkModulePkg/Universal/Ebc/Dxe/Ia32/Ia32Math.S
deleted file mode 100644 (file)
index fcfade9..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# 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:
-#
-#   Ia32math.S
-# 
-# Abstract:
-# 
-#   Generic math routines for EBC interpreter running on IA32 processor
-#
-#------------------------------------------------------------------------------
-.globl _LeftShiftU64
-_LeftShiftU64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ecx
-        cmpl   $0x0,0x14(%ebp)
-        jne    _LeftShiftU64+0x12
-        mov    0x10(%ebp),%ecx
-        cmp    $0x3f,%ecx
-        jbe    _LeftShiftU64+0x18
-        xor    %eax,%eax
-        xor    %edx,%edx
-        jmp    _LeftShiftU64+0x2c
-        mov    0x8(%ebp),%eax
-        mov    0xc(%ebp),%edx
-        shld   %cl,%eax,%edx
-        shl    %cl,%eax
-        cmp    $0x20,%ecx
-        jb     _LeftShiftU64+0x2c
-        mov    %eax,%edx
-        xor    %eax,%eax
-        pop    %ecx
-        leave  
-        ret    
-
-.globl _RightShiftU64
-_RightShiftU64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ecx
-        cmpl   $0x0,0x14(%ebp)
-        jne    _RightShiftU64+0x12
-        mov    0x10(%ebp),%ecx
-        cmp    $0x3f,%ecx
-        jbe    _RightShiftU64+0x18
-        xor    %eax,%eax
-        xor    %edx,%edx
-        jmp    _RightShiftU64+0x2c
-        mov    0x8(%ebp),%eax
-        mov    0xc(%ebp),%edx
-        shrd   %cl,%edx,%eax
-        shr    %cl,%edx
-        cmp    $0x20,%ecx
-        jb     _RightShiftU64+0x2c
-        mov    %edx,%eax
-        xor    %edx,%edx
-        pop    %ecx
-        leave  
-        ret    
-
-.globl _ARightShift64
-_ARightShift64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ecx
-        cmpl   $0x0,0x14(%ebp)
-        jne    _ARightShift64+0x12
-        mov    0x10(%ebp),%ecx
-        cmp    $0x3f,%ecx
-        jbe    _ARightShift64+0x27
-        btl    $0x1f,0xc(%ebp)
-        jae    _ARightShift64+0x21
-        or     $0xffffffff,%eax
-        or     $0xffffffff,%edx
-        jmp    _ARightShift64+0x3c
-        xor    %eax,%eax
-        xor    %edx,%edx
-        jmp    _ARightShift64+0x3c
-        mov    0x8(%ebp),%eax
-        mov    0xc(%ebp),%edx
-        shrd   %cl,%edx,%eax
-        sar    %cl,%edx
-        cmp    $0x20,%ecx
-        jb     _ARightShift64+0x3c
-        mov    %edx,%eax
-        sar    $0x1f,%edx
-        pop    %ecx
-        leave  
-        ret    
-
-.globl _MulU64x64
-_MulU64x64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ebx
-        push   %ecx
-        mov    0x18(%ebp),%ebx
-        mov    0x8(%ebp),%eax
-        mull   0x10(%ebp)
-        push   %eax
-        mov    %edx,%ecx
-        mov    0xc(%ebp),%eax
-        mull   0x10(%ebp)
-        add    %eax,%ecx
-        adc    $0x0,%edx
-        mov    %edx,(%ebx)
-        mov    0x8(%ebp),%eax
-        mull   0x14(%ebp)
-        add    %eax,%ecx
-        push   %ecx
-        adc    $0x0,%edx
-        mov    %edx,%ecx
-        mov    0xc(%ebp),%eax
-        mull   0x14(%ebp)
-        add    %eax,%ecx
-        adc    $0x0,%edx
-        add    %ecx,(%ebx)
-        adc    $0x0,%edx
-        mov    %edx,0x4(%ebx)
-        pop    %edx
-        pop    %eax
-        pop    %ecx
-        pop    %ebx
-        leave  
-        ret    
-
-.globl _MulS64x64
-_MulS64x64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ebx
-        push   %ecx
-        mov    0x18(%ebp),%ebx
-        xor    %ecx,%ecx
-        mov    0xc(%ebp),%edx
-        bt     $0x1f,%edx
-        jae    _MulS64x64+0x2a
-        mov    0x8(%ebp),%eax
-        not    %edx
-        not    %eax
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        mov    %eax,0x8(%ebp)
-        mov    %edx,0xc(%ebp)
-        btc    $0x0,%ecx
-        mov    0x14(%ebp),%edx
-        bt     $0x1f,%edx
-        jae    _MulS64x64+0x4a
-        mov    0x10(%ebp),%eax
-        not    %edx
-        not    %eax
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        mov    %eax,0x10(%ebp)
-        mov    %edx,0x14(%ebp)
-        btc    $0x0,%ecx
-        pushl  0x18(%ebp)
-        pushl  0x14(%ebp)
-        pushl  0x10(%ebp)
-        pushl  0xc(%ebp)
-        pushl  0x8(%ebp)
-        call   _MulU64x64
-        add    $0x14,%esp
-        bt     $0x0,%ecx
-        jae    _MulS64x64+0x7d
-        not    %eax
-        not    %edx
-        notl   (%ebx)
-        notl   0x4(%ebx)
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        adcl   $0x0,(%ebx)
-        adcl   $0x0,0x4(%ebx)
-        pop    %ecx
-        pop    %ebx
-        leave  
-        ret    
-
-.globl _DivU64x64
-_DivU64x64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ecx
-        mov    0x1c(%ebp),%eax
-        movl   $0x0,(%eax)
-        cmpl   $0x0,0x10(%ebp)
-        jne    _DivU64x64+0x3e
-        cmpl   $0x0,0x14(%ebp)
-        jne    _DivU64x64+0x3e
-        movl   $0x1,(%eax)
-        cmpl   $0x0,0x18(%ebp)
-        je     _DivU64x64+0x35
-        mov    0x18(%ebp),%eax
-        movl   $0x0,(%eax)
-        movl   $0x80000000,0x4(%eax)
-        xor    %eax,%eax
-        mov    $0x80000000,%edx
-        jmp    _DivU64x64+0x7e
-        xor    %edx,%edx
-        xor    %eax,%eax
-        mov    $0x40,%ecx
-        shll   0x8(%ebp)
-        rcll   0xc(%ebp)
-        rcl    %eax
-        rcl    %edx
-        cmp    0x14(%ebp),%edx
-        ja     _DivU64x64+0x5d
-        jb     _DivU64x64+0x68
-        cmp    0x10(%ebp),%eax
-        jb     _DivU64x64+0x68
-        btsl   $0x0,0x8(%ebp)
-        sub    0x10(%ebp),%eax
-        sbb    0x14(%ebp),%edx
-        loop   _DivU64x64+0x47
-        cmpl   $0x0,0x18(%ebp)
-        je     _DivU64x64+0x78
-        mov    0x18(%ebp),%ecx
-        mov    %eax,(%ecx)
-        mov    %edx,0x4(%ecx)
-        mov    0x8(%ebp),%eax
-        mov    0xc(%ebp),%edx
-        pop    %ecx
-        leave  
-        ret    
-
-.globl _DivS64x64
-_DivS64x64:
-        push   %ebp
-        mov    %esp,%ebp
-        push   %ecx
-        mov    0x1c(%ebp),%eax
-        movl   $0x0,(%eax)
-        cmpl   $0x0,0x10(%ebp)
-        jne    _DivS64x64+0x41
-        cmpl   $0x0,0x14(%ebp)
-        jne    _DivS64x64+0x41
-        movl   $0x1,(%eax)
-        cmpl   $0x0,0x18(%ebp)
-        je     _DivS64x64+0x35
-        mov    0x18(%ebp),%eax
-        movl   $0x0,(%eax)
-        movl   $0x80000000,0x4(%eax)
-        xor    %eax,%eax
-        mov    $0x80000000,%edx
-        jmp    _DivS64x64+0xc6
-        xor    %ecx,%ecx
-        mov    0xc(%ebp),%edx
-        bt     $0x1f,%edx
-        jae    _DivS64x64+0x67
-        mov    0x8(%ebp),%eax
-        not    %edx
-        not    %eax
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        mov    %eax,0x8(%ebp)
-        mov    %edx,0xc(%ebp)
-        btc    $0x0,%ecx
-        btc    $0x1,%ecx
-        mov    0x14(%ebp),%edx
-        bt     $0x1f,%edx
-        jae    _DivS64x64+0x87
-        mov    0x10(%ebp),%eax
-        not    %edx
-        not    %eax
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        mov    %eax,0x10(%ebp)
-        mov    %edx,0x14(%ebp)
-        btc    $0x0,%ecx
-        pushl  0x1c(%ebp)
-        pushl  0x18(%ebp)
-        pushl  0x14(%ebp)
-        pushl  0x10(%ebp)
-        pushl  0xc(%ebp)
-        pushl  0x8(%ebp)
-        call   _DivU64x64
-        add    $0x18,%esp
-        bt     $0x0,%ecx
-        jae    _DivS64x64+0xb1
-        not    %eax
-        not    %edx
-        add    $0x1,%eax
-        adc    $0x0,%edx
-        bt     $0x1,%ecx
-        jae    _DivS64x64+0xc6
-        mov    0x18(%ebp),%ecx
-        notl   (%ecx)
-        notl   0x4(%ecx)
-        addl   $0x1,(%ecx)
-        adcl   $0x0,0x4(%ecx)
-        pop    %ecx
-        leave  
-        ret