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