]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S
Add EBC, FTW, Crc32SectionExtract, NullMemoryTest modules.
[mirror_edk2.git] / MdeModulePkg / Universal / Ebc / Dxe / Ia32 / EbcLowLevel.S
CommitLineData
d7dec593 1#****************************************************************************\r
2#* \r
3#* Copyright (c) 2006, Intel Corporation \r
4#* All rights reserved. This program and the accompanying materials \r
5#* are licensed and made available under the terms and conditions of the BSD License \r
6#* which accompanies this distribution. The full text of the license may be found at \r
7#* http://opensource.org/licenses/bsd-license.php \r
8#* \r
9#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11#* \r
12#****************************************************************************\r
13.globl ASM_PFX(CopyMem)\r
14\r
15.globl ASM_PFX(EbcLLCALLEXNative)\r
16ASM_PFX(EbcLLCALLEXNative):\r
17 push %ebp\r
18 push %ebx\r
19 mov %esp,%ebp\r
20 mov 0xc(%esp),%ecx\r
21 mov 0x14(%esp),%eax\r
22 mov 0x10(%esp),%edx\r
23 sub %edx,%eax\r
24 sub %eax,%esp\r
25 mov %esp,%ebx\r
26 push %ecx\r
27 push %eax\r
28 push %edx\r
29 push %ebx\r
30 call ASM_PFX(CopyMem)\r
31 pop %eax\r
32 pop %eax\r
33 pop %eax\r
34 pop %ecx\r
35 call *%ecx\r
36 mov %ebp,%esp\r
37 mov %ebp,%esp\r
38 pop %ebx\r
39 pop %ebp\r
40 ret \r
41\r
42.globl ASM_PFX(EbcLLGetEbcEntryPoint)\r
43ASM_PFX(EbcLLGetEbcEntryPoint):\r
44 ret \r
45\r
46.globl ASM_PFX(EbcLLGetStackPointer)\r
47ASM_PFX(EbcLLGetStackPointer):\r
48 mov %esp,%eax\r
49 add $0x4,%eax\r
50 ret \r
51\r
52.globl ASM_PFX(EbcLLGetReturnValue)\r
53ASM_PFX(EbcLLGetReturnValue):\r
54 ret \r