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