Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/cr16/setjmp.S')
-rw-r--r--newlib/libc/machine/cr16/setjmp.S97
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
-
-