#include "m68kasm.h" .global SYM (setjmp) .global SYM (longjmp) SYM (setjmp): moveal sp@(4),a0 movel sp@(0),a0@(12) movel sp,a0@(8) moveml d2-d7/a2-a6,a0@(20) clrl d0 rts SYM (longjmp): moveal sp@(4),a0 movel sp@(8),d0 bne 1f movel &1,d0 1: moveml a0@(20),d2-d7/a2-a6 moveal a0@(8),sp movel a0@(12),sp@ rts #ifdef M68881 .global SYM (setjmp_68881) .global SYM (longjmp_68881) SYM (setjmp_68881): moveal sp@(4),a0 movel sp@(0),a0@(12) movel sp,a0@(8) moveml d2-d7/a2-a6,a0@(20) fmovemx fp2-fp7,a0@(64) clrl d0 rts SYM (longjmp_68881): moveal sp@(4),a0 fmovemx a0@(64),fp2-fp7 movel sp@(8),d0 bne 1f movel &1,d0 1: moveml a0@(20),d2-d7/a2-a6 moveal a0@(8),sp movel a0@(12),sp@ rts #endif