123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // DLL Startup code for WIN32 port of Free Pascal
- // Written by P.Ozerski 16.10.1998
- .text
- .globl _mainCRTStartup
- _mainCRTStartup:
- movb $1,U_SYSTEM_ISCONSOLE
- jmp .LDLL_Entry
- .globl _WinMainCRTStartup
- _WinMainCRTStartup:
- movb $0,U_SYSTEM_ISCONSOLE
- .LDLL_Entry:
- pushl %ebp
- movl %esp,%ebp
- pushl %ebx
- pushl %esi
- pushl %edi
- movl 8(%ebp),%edi
- movl %edi,SysInstance
- movl 12(%ebp),%edi
- movl %edi,U_SYSTEM_DLLREASON
- movl 16(%ebp),%edi
- movl %edi,U_SYSTEM_DLLPARAM
- call _FPC_DLL_Entry
- popl %edi
- popl %esi
- popl %ebx
- popl %ebp
- ret $12
- .globl asm_exit
- asm_exit:
- pushl %eax
- call exitprocess
-
- .text
- .globl exitprocess
- exitprocess:
- jmp *.L10
- .balign 4,144
-
- .text
- .balign 4,144
- .section .idata$2
- .rva .L7
- .long 0,0
- .rva .L6
- .rva .L8
- .section .idata$4
- .L7:
- .rva .L9
- .long 0
- .section .idata$5
- .L8:
-
- .section .idata$5
- .L10:
- .rva .L9
- .long 0
- .section .idata$6
- .L9:
- .short 0
- .ascii "ExitProcess\000"
- .balign 2,0
- .section .idata$7
- .L6:
- .ascii "kernel32.dll\000"
- //
- // Revision 1.4 2002/12/04 21:36:44 carl
- // * libraries would no longer compile because of my profiling fix
- //
- // Revision 1.3 2002/07/28 20:43:51 florian
- // * several fixes for linux/powerpc
- // * several fixes to MT
- //
- //
|