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