source: trunk/libs/newlib/src/newlib/libc/machine/m68k/setjmp.S @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 722 bytes
Line 
1#include "m68kasm.h"
2
3.global SYM (setjmp)
4.global SYM (longjmp)
5
6SYM (setjmp):
7        moveal sp@(4),a0
8        movel sp@(0),a0@(12)
9        movel sp,a0@(8)
10        moveml d2-d7/a2-a6,a0@(20)
11        clrl d0
12        rts
13
14SYM (longjmp):
15        moveal sp@(4),a0
16        movel sp@(8),d0
17        bne 1f
18        movel &1,d0
191:
20        moveml a0@(20),d2-d7/a2-a6
21        moveal a0@(8),sp
22        movel a0@(12),sp@
23        rts
24
25#ifdef M68881
26.global SYM (setjmp_68881)
27.global SYM (longjmp_68881)
28
29SYM (setjmp_68881):
30        moveal sp@(4),a0
31        movel sp@(0),a0@(12)
32        movel sp,a0@(8)
33        moveml d2-d7/a2-a6,a0@(20)
34        fmovemx fp2-fp7,a0@(64)
35        clrl d0
36        rts
37
38SYM (longjmp_68881):
39        moveal sp@(4),a0
40        fmovemx a0@(64),fp2-fp7
41        movel sp@(8),d0
42        bne 1f
43        movel &1,d0
441:
45        moveml a0@(20),d2-d7/a2-a6
46        moveal a0@(8),sp
47        movel a0@(12),sp@
48        rts
49#endif
Note: See TracBrowser for help on using the repository browser.