;
; extentry.s
;
; External entry veneer
;
;  1994 Straylight
;

;----- Standard stuff -------------------------------------------------------

		GET	libs:header
		GET	libs:swis

;----- Main code ------------------------------------------------------------

		AREA	|DLL$$Code|,CODE,READONLY

; --- _dll_extentry ---

		EXPORT	|_dll_extentry|
|_dll_extentry|	ROUT

		MOV	a1,lr			;Pass current return address
		MOV	a2,sl			;Pass stack limit pointer
		MOV	a3,#0			;Indicate we want app space
		SWI	DLL_Prologue		;Execute the DLL prologue
		MOV	lr,a1			;Insert dummy return address
		LDMFD	sp!,{a1-a3}		;Restore corrupted registers
		MOV	pc,ip			;Call actual routine

		LTORG

;----- That's all, folks ----------------------------------------------------

		END
