Initial revision
[ssr] / StraySrc / Libraries / DLLLib / s / extEntry
1 ;
2 ; extentry.s
3 ;
4 ; External entry veneer
5 ;
6 ; © 1994 Straylight
7 ;
8
9 ;----- Standard stuff -------------------------------------------------------
10
11 GET libs:header
12 GET libs:swis
13
14 ;----- Main code ------------------------------------------------------------
15
16 AREA |DLL$$Code|,CODE,READONLY
17
18 ; --- _dll_extentry ---
19
20 EXPORT |_dll_extentry|
21 |_dll_extentry| ROUT
22
23 MOV a1,lr ;Pass current return address
24 MOV a2,sl ;Pass stack limit pointer
25 MOV a3,#0 ;Indicate we want app space
26 SWI DLL_Prologue ;Execute the DLL prologue
27 MOV lr,a1 ;Insert dummy return address
28 LDMFD sp!,{a1-a3} ;Restore corrupted registers
29 MOV pc,ip ;Call actual routine
30
31 LTORG
32
33 ;----- That's all, folks ----------------------------------------------------
34
35 END