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