source: trunk/libs/newlib/src/newlib/libc/machine/tic6x/setjmp.S @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 3.9 KB
Line 
1;******************************************************************************
2;* SETJMP  v7.2.0I10181                                                       *
3;*                                                                            *
4;* Copyright (c) 1996-2010 Texas Instruments Incorporated                     *
5;* http://www.ti.com/                                                         *
6;*                                                                            *
7;*  Redistribution and  use in source  and binary forms, with  or without     *
8;*  modification,  are permitted provided  that the  following conditions     *
9;*  are met:                                                                  *
10;*                                                                            *
11;*     Redistributions  of source  code must  retain the  above copyright     *
12;*     notice, this list of conditions and the following disclaimer.          *
13;*                                                                            *
14;*     Redistributions in binary form  must reproduce the above copyright     *
15;*     notice, this  list of conditions  and the following  disclaimer in     *
16;*     the  documentation  and/or   other  materials  provided  with  the     *
17;*     distribution.                                                          *
18;*                                                                            *
19;*     Neither the  name of Texas Instruments Incorporated  nor the names     *
20;*     of its  contributors may  be used to  endorse or  promote products     *
21;*     derived  from   this  software  without   specific  prior  written     *
22;*     permission.                                                            *
23;*                                                                            *
24;*  THIS SOFTWARE  IS PROVIDED BY THE COPYRIGHT  HOLDERS AND CONTRIBUTORS     *
25;*  "AS IS"  AND ANY  EXPRESS OR IMPLIED  WARRANTIES, INCLUDING,  BUT NOT     *
26;*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     *
27;*  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT     *
28;*  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,     *
29;*  SPECIAL,  EXEMPLARY,  OR CONSEQUENTIAL  DAMAGES  (INCLUDING, BUT  NOT     *
30;*  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     *
31;*  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     *
32;*  THEORY OF  LIABILITY, WHETHER IN CONTRACT, STRICT  LIABILITY, OR TORT     *
33;*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE     *
34;*  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.      *
35;*                                                                            *
36;******************************************************************************
37
38.text
39.globl setjmp
40.type setjmp,%function
41setjmp:
42        MV .L2X    A4, B4
43||      STW .D1T2  B3, *+A4(48)
44
45        STW .D1T1  A10, *+A4(0)
46||      STW .D2T2  B10, *+B4(4)
47||      RET .S2    B3
48
49        STW .D1T1  A11, *+A4(8)
50||      STW .D2T2  B11, *+B4(12)
51
52        STW .D1T1  A12, *+A4(16)
53||      STW .D2T2  B12, *+B4(20)
54
55        STW .D1T1  A13, *+A4(24)
56||      STW .D2T2  B13, *+B4(28)
57
58        STW .D1T1  A14, *+A4(32)
59||      STW .D2T2  B14, *+B4(36)
60
61        STW .D1T1  A15, *+A4(40)
62||      STW .D2T2  B15, *+B4(44)
63||      ZERO .S1   A4
64.size setjmp, . - setjmp
65
66.globl longjmp
67.type longjmp,%function
68longjmp:
69         LDW .D1T1  *+A4(48), A3
70
71         MV .L2X    A4, B6
72||       MV .S1     A4, A6
73||       MV .D2     B4, B2
74
75         LDW .D1T1  *+A6(0), A10
76||       LDW .D2T2  *+B6(4), B10
77|| [B2]  MV .L1X    B4, A4
78|| [!B2] MVK .S1    1, A4
79
80         LDW .D1T1  *+A6(8), A11
81||       LDW .D2T2  *+B6(12), B11
82
83         LDW .D1T1  *+A6(16), A12
84||       LDW .D2T2  *+B6(20), B12
85 
86         LDW .D1T1  *+A6(24), A13
87||       LDW .D2T2  *+B6(28), B13
88 
89         LDW .D1T1  *+A6(32), A14
90||       LDW .D2T2  *+B6(36), B14
91 
92         LDW .D1T1  *+A6(40), A15
93||       LDW .D2T2  *+B6(44), B15
94||       RET .S2X   A3
95         NOP    5
96.size longjmp, . - longjmp
Note: See TracBrowser for help on using the repository browser.