xref: /AOO41X/main/basic/source/runtime/wnt-mingw.s (revision b5da552ccefc4034e06a43bfae43fb8a8b64a7ad)
1*b5da552cSAndrew Rist#**************************************************************
2cdf0e10cSrcweir#
3cdf0e10cSrcweir#
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
11cdf0e10cSrcweir#
12*b5da552cSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
13cdf0e10cSrcweir#
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.
20cdf0e10cSrcweir#
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