|
|
1.1 root 1:
2: /* *************************************
3: setjmp : save context as of before
4: calling this routine.
5: */
6: .globl _stpc
7: .globl _setjmp
8: _setjmp:
9: .word 0
10: storer $0xfff,_saver
11: movl -8(fp),_stpc /* Save PC to loop */
12: addl3 $4,fp,_SP /* Save previous SP */
13: movl (fp),_FP /* Save FP */
14: ret
15:
16: /* longjmp : load context saved by setjmp
17: and restart.
18: */
19: .globl _longjmp
20: _longjmp:
21: .word 0
22: loadr $0xfff,_saver
23: movl _FP,fp
24: movl _SP,sp
25: jmp *_stpc
26:
27: .align 2
28: _saver: .space 4*13 /* saved R0-R12 */
29: _FP: .long 0 /* saved FP */
30: _SP: .long 0 /* saved SP */
31:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.