diff options
Diffstat (limited to 'newlib/libc/machine/cr16/setjmp.S')
-rw-r--r-- | newlib/libc/machine/cr16/setjmp.S | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/newlib/libc/machine/cr16/setjmp.S b/newlib/libc/machine/cr16/setjmp.S deleted file mode 100644 index d31643a5f..000000000 --- a/newlib/libc/machine/cr16/setjmp.S +++ /dev/null @@ -1,97 +0,0 @@ - ############################################################################## - # setjmp.S -- CR16 setjmp routine # - # # - # Copyright (c) 2004 National Semiconductor Corporation # - # # - # 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. # - # # - # C library -- setjmp, longjmp # - # longjmp(a,v) # - # will generate a "return(v)" # - # from the last call to # - # setjmp(a) # - # by restoring r7-ra, sp, # - # and pc from 'a' # - # and doing a return. (Makes sure that longjmp never returns 0). # - ############################################################################## - - .text - .file "setjmp.s" - .align 4 - - .globl _setjmp - .align 4 -_setjmp: - #r3, r2: .blkw - storw r7, 0(r3,r2) - addd $2, (r3,r2) - storw r8, 0(r3,r2) - addd $2, (r3,r2) - storw r9, 0(r3,r2) - addd $2, (r3,r2) - storw r10, 0(r3,r2) - addd $2, (r3,r2) - storw r11, 0(r3,r2) - addd $2, (r3,r2) - - stord (r12), 0(r3,r2) - addd $4, (r3,r2) - stord (r13), 0(r3,r2) - addd $4, (r3,r2) - - stord (ra), 0(r3,r2) - addd $4, (r3,r2) - stord (sp), 0(r3,r2) - - movd $0,(r1,r0) - jump (ra) - - .globl _longjmp -_longjmp: - #r3, r2: .blkw # pointer save area - #r5, r4: .blkw # ret vlaue - - loadw 0(r3,r2), r7 - addd $2, (r3,r2) - loadw 0(r3,r2), r8 - addd $2, (r3,r2) - loadw 0(r3,r2), r9 - addd $2, (r3,r2) - loadw 0(r3,r2), r10 - addd $2, (r3,r2) - loadw 0(r3,r2), r11 - addd $2, (r3,r2) - - loadd 0(r3,r2), (r12) - addd $4, (r3,r2) - loadd 0(r3,r2), (r13) - addd $4, (r3,r2) - - loadd 0(r3,r2), (ra) - addd $4, (r3,r2) - loadd 0(r3,r2), (sp) - -#ifdef __INT32__ - movd (r5,r4), (r1,r0) - cmpd $0, (r5,r4) - bne end1 - movd $1, (r1,r0) -#else - movw r4, r0 - cmpw $0, r4 - bne end1 - movw $1, r0 -#endif -end1: - jump (ra) - .align 4 - - |