xref: /aoo41x/main/basic/source/runtime/wnt-mingw.s (revision b5da552c)
1*b5da552cSAndrew Rist #**************************************************************
2*b5da552cSAndrew Rist #
3*b5da552cSAndrew Rist #
4*b5da552cSAndrew Rist #  Licensed to the Apache Software Foundation (ASF) under one
5*b5da552cSAndrew Rist #  or more contributor license agreements.  See the NOTICE file
6*b5da552cSAndrew Rist #  distributed with this work for additional information
7*b5da552cSAndrew Rist #  regarding copyright ownership.  The ASF licenses this file
8*b5da552cSAndrew Rist #  to you under the Apache License, Version 2.0 (the
9*b5da552cSAndrew Rist #  "License"); you may not use this file except in compliance
10*b5da552cSAndrew Rist #  with the License.  You may obtain a copy of the License at
11*b5da552cSAndrew Rist #
12*b5da552cSAndrew Rist #    http://www.apache.org/licenses/LICENSE-2.0
13*b5da552cSAndrew Rist #
14*b5da552cSAndrew Rist #  Unless required by applicable law or agreed to in writing,
15*b5da552cSAndrew Rist #  software distributed under the License is distributed on an
16*b5da552cSAndrew Rist #  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*b5da552cSAndrew Rist #  KIND, either express or implied.  See the License for the
18*b5da552cSAndrew Rist #  specific language governing permissions and limitations
19*b5da552cSAndrew Rist #  under the License.
20*b5da552cSAndrew Rist #
21*b5da552cSAndrew Rist #**************************************************************
22cdf0e10cSrcweir 
23cdf0e10cSrcweir .intel_syntax
24cdf0e10cSrcweir 
25cdf0e10cSrcweir .globl _DllMgr_call32
26cdf0e10cSrcweir .globl _DllMgr_callFp
27cdf0e10cSrcweir 
28cdf0e10cSrcweir _DllMgr_call32:
29cdf0e10cSrcweir _DllMgr_callFp:
30cdf0e10cSrcweir     push ebp
31cdf0e10cSrcweir     mov ebp, esp
32cdf0e10cSrcweir     push esi
33cdf0e10cSrcweir     push edi
34cdf0e10cSrcweir     mov ecx, [ebp+16]
35cdf0e10cSrcweir     jecxz $1
36cdf0e10cSrcweir     sub esp, ecx
37cdf0e10cSrcweir     mov edi, esp
38cdf0e10cSrcweir     mov esi, [ebp+12]
39cdf0e10cSrcweir     shr ecx, 2
40cdf0e10cSrcweir     rep movsd
41cdf0e10cSrcweir $1: call DWORD PTR [ebp+8]
42cdf0e10cSrcweir     # for extra safety, do not trust esp after call (in case the Basic Declare
43cdf0e10cSrcweir     # signature is wrong):
44cdf0e10cSrcweir     mov edi, [ebp-8]
45cdf0e10cSrcweir     mov esi, [ebp-4]
46cdf0e10cSrcweir     mov esp, ebp
47cdf0e10cSrcweir     pop ebp
48cdf0e10cSrcweir     ret 12
49