|
|
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.