chiark / gitweb /
Initial revision
[ssr] / StraySrc / Libraries / DLLLib / s / dsetjmp
1 ;
2 ; dsetjmp.s
3 ;
4 ; Support for exceptional comtrol flow
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 ; int _dll_setjmp(void)
19
20                 EXPORT  |_dll_setjmp|
21 |_dll_setjmp|   ROUT
22
23                 MOV     ip,lr
24                 SWI     XDLL_ReadStackPtr
25                 MOVS    pc,ip
26
27                 LTORG
28
29 ; void _dll_longjmped(int sp)
30
31                 EXPORT  |_dll_longjmped|
32 |_dll_longjmped| ROUT
33
34                 MOV     ip,lr
35                 MOV     a2,sl
36                 SWI     XDLL_SetStackPtr
37                 MOVS    pc,ip
38
39                 LTORG
40
41 ;----- That's all, folks --------------------------------------------------*/
42
43                 END