1 #************************************************************************* 2 # 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # Copyright 2000, 2010 Oracle and/or its affiliates. 6 # 7 # OpenOffice.org - a multi-platform office productivity suite 8 # 9 # This file is part of OpenOffice.org. 10 # 11 # OpenOffice.org is free software: you can redistribute it and/or modify 12 # it under the terms of the GNU Lesser General Public License version 3 13 # only, as published by the Free Software Foundation. 14 # 15 # OpenOffice.org is distributed in the hope that it will be useful, 16 # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 # GNU Lesser General Public License version 3 for more details 19 # (a copy is included in the LICENSE file that accompanied this code). 20 # 21 # You should have received a copy of the GNU Lesser General Public License 22 # version 3 along with OpenOffice.org. If not, see 23 # <http://www.openoffice.org/license.html> 24 # for a copy of the LGPLv3 License. 25 # 26 #***********************************************************************/ 27 28 .intel_syntax 29 30 .globl _DllMgr_call32 31 .globl _DllMgr_callFp 32 33 _DllMgr_call32: 34 _DllMgr_callFp: 35 push ebp 36 mov ebp, esp 37 push esi 38 push edi 39 mov ecx, [ebp+16] 40 jecxz $1 41 sub esp, ecx 42 mov edi, esp 43 mov esi, [ebp+12] 44 shr ecx, 2 45 rep movsd 46 $1: call DWORD PTR [ebp+8] 47 # for extra safety, do not trust esp after call (in case the Basic Declare 48 # signature is wrong): 49 mov edi, [ebp-8] 50 mov esi, [ebp-4] 51 mov esp, ebp 52 pop ebp 53 ret 12 54