OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [machine/] [h8300/] [setjmp.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1007 ivang
        .file "setjmp.S"
2
 
3
#ifdef __H8300H__
4
        .h8300h
5
#endif
6
 
7
#ifdef __H8300S__
8
        .h8300s
9
#endif
10
 
11
        .section .text
12
        .align  2
13
        .global _setjmp
14
_setjmp:
15
#ifdef __H8300H__
16
        mov.l   er7,@er0
17
        mov.l   er6,@(4,er0)
18
        mov.l   er5,@(8,er0)
19
        mov.l   er4,@(12,er0)
20
        mov.l   @sp,er1
21
        mov.l   er1,@(16,er0)
22
#else
23
#ifdef __H8300S__
24
        mov.l   er7,@er0
25
        mov.l   er6,@(4,er0)
26
        mov.l   er5,@(8,er0)
27
        mov.l   er4,@(12,er0)
28
        mov.l   @sp,er1
29
        mov.l   er1,@(16,er0)
30
#else
31
        mov.w   r7,@r0
32
        mov.w   r6,@(2,r0)
33
        mov.w   r5,@(4,r0)
34
        mov.w   r4,@(6,r0)
35
        mov.w   @sp,r1
36
        mov.w   r1,@(8,r0)
37
#endif
38
#endif
39
        sub.w   r0,r0
40
        rts
41
 
42
        .global _longjmp
43
_longjmp:
44
#ifdef __H8300H__
45
        mov.l   @er0+,er7
46
        mov.l   @er0+,er6
47
        mov.l   @er0+,er5
48
        mov.l   @er0+,er4
49
        mov.l   @er0,er2
50
        mov.l   er2,@sp
51
#else
52
#ifdef __H8300S__
53
        mov.l   @er0+,er7
54
        mov.l   @er0+,er6
55
        mov.l   @er0+,er5
56
        mov.l   @er0+,er4
57
        mov.l   @er0,er2
58
        mov.l   er2,@sp
59
#else
60
        mov.w   @r0+,r7
61
        mov.w   @r0+,r6
62
        mov.w   @r0+,r5
63
        mov.w   @r0+,r4
64
        mov.w   @r0,r2
65
        mov.w   r2,@sp
66
#endif
67
#endif
68
        mov.w   r1,r0
69
        bne     .L1
70
        mov.w   #1,r0
71
.L1:
72
        rts

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.