diff options
Diffstat (limited to 'newlib/libc/machine/m68hc11/setjmp.S')
-rw-r--r-- | newlib/libc/machine/m68hc11/setjmp.S | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/newlib/libc/machine/m68hc11/setjmp.S b/newlib/libc/machine/m68hc11/setjmp.S deleted file mode 100644 index 38d1188dc..000000000 --- a/newlib/libc/machine/m68hc11/setjmp.S +++ /dev/null @@ -1,141 +0,0 @@ -/* setjmp/longjmp routines for M68HC11 & M68HC12. - * Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) - * - * The authors hereby grant permission to use, copy, modify, distribute, - * and license this software and its documentation for any purpose, provided - * that existing copyright notices are retained in all copies and that this - * notice is included verbatim in any distributions. No written agreement, - * license, or royalty fee is required for any of the authorized uses. - * Modifications to this software may be copyrighted by their authors - * and need not follow the licensing terms described here, provided that - * the new terms are clearly indicated on the first page of each file where - * they apply. - */ - -#if __INT__ == 32 -# define val 4 -# define INT32(X) X -#else -# define val 2 -# define INT32(X) -#endif - -#ifdef mc6811 -# define REG(X) *X -#else -# define REG(X) X -#endif - - .sect .text - .global setjmp - .global longjmp - -#ifdef mc6811 -setjmp: - xgdx - tsy - ldd 0,y - std 0,x - sty 2,x - ldd REG(_.frame) - std 4,x - ldd REG(_.d1) - std 6,x - ldd REG(_.d2) - std 8,x - ldd REG(_.d3) - std 10,x - ldd REG(_.d4) - std 12,x - ldd REG(_.d5) - std 14,x - ldd REG(_.d6) - std 16,x - ldd REG(_.d7) - std 18,x - ldd REG(_.d8) - std 20,x -INT32( ldx #0) - clra - clrb - rts -#else -setjmp: - xgdx - movw 0,sp,2,x+ - sts 2,x+ - movw _.frame,2,x+ - movw _.d1,2,x+ - movw _.d2,2,x+ - movw _.d3,2,x+ - movw _.d4,2,x+ - movw _.d5,2,x+ - movw _.d6,2,x+ - movw _.d7,2,x+ - movw _.d8,2,x+ -INT32( ldx #0) - clra - clrb - rts -#endif - -#ifdef mc6811 -longjmp: - xgdx - tsy - ldd val,y - bne do_jump - ldd #1 -do_jump: - xgdy - ldd 4,x - std REG(_.frame) - ldd 6,x - std REG(_.d1) - ldd 8,x - std REG(_.d2) - ldd 10,x - std REG(_.d3) - ldd 12,x - std REG(_.d4) - ldd 14,x - std REG(_.d5) - ldd 16,x - std REG(_.d6) - ldd 18,x - std REG(_.d7) - ldd 20,x - std REG(_.d8) - ldd 0,x - ldx 2,x - txs - std 0,x -INT32( ldx #0) - xgdy - rts -#else - -longjmp: - xgdx - ldy val,sp - bne do_jump - ldy #1 -do_jump: - ldd 4,x+ - movw 2,x+,_.frame - movw 0,x,_.d1 - movw 2,x,_.d2 - movw 4,x,_.d3 - movw 6,x,_.d4 - movw 8,x,_.d5 - movw 10,x,_.d6 - movw 12,x,_.d7 - movw 14,x,_.d8 - ldx -4,x - txs - std 0,x -INT32( ldx #0) - xgdy - rts -#endif - |