Last change
on this file since 519 was
444,
checked in by satin@…, 6 years ago
|
add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc
|
File size:
992 bytes
|
Line | |
---|
1 | ;; xstormy16 |
---|
2 | ;; Copyright (C) 2001 by Red Hat, Incorporated. All rights reserved. |
---|
3 | ;; |
---|
4 | ;; Permission to use, copy, modify, and distribute this software |
---|
5 | ;; is freely granted, provided that this notice is preserved. |
---|
6 | ;; |
---|
7 | .file "setjmp.S" |
---|
8 | |
---|
9 | .section .text |
---|
10 | .align 1 |
---|
11 | .global setjmp |
---|
12 | .type setjmp,@function |
---|
13 | setjmp: |
---|
14 | mov r0,r10 |
---|
15 | mov (r2++),r0 |
---|
16 | mov r0,r11 |
---|
17 | mov (r2++),r0 |
---|
18 | mov r0,r12 |
---|
19 | mov (r2++),r0 |
---|
20 | mov r0,r13 |
---|
21 | mov (r2++),r0 |
---|
22 | pop r0 ; PC high word |
---|
23 | pop r1 ; PC low word |
---|
24 | mov (r2++), r0 |
---|
25 | mov (r2++), r1 |
---|
26 | mov r3,sp |
---|
27 | mov (r2++),r3 |
---|
28 | mov.w r2,#0 |
---|
29 | mov r8, r0 |
---|
30 | mov r9, r1 |
---|
31 | jmp r8, r9 |
---|
32 | .size setjmp,.-setjmp |
---|
33 | |
---|
34 | .global longjmp |
---|
35 | .type longjmp,@function |
---|
36 | longjmp: |
---|
37 | mov r0,(r2++) |
---|
38 | mov r10,r0 |
---|
39 | mov r0,(r2++) |
---|
40 | mov r11,r0 |
---|
41 | mov r0,(r2++) |
---|
42 | mov r12,r0 |
---|
43 | mov r0,(r2++) |
---|
44 | mov r13,r0 |
---|
45 | mov r0,(r2++) |
---|
46 | mov r8, r0 |
---|
47 | mov r1,(r2++) |
---|
48 | mov r9, r1 |
---|
49 | mov r4,(r2++) |
---|
50 | mov sp,r4 |
---|
51 | ;; status arg (r3) to longjmp is return value |
---|
52 | ;; if it's zero, return 1 |
---|
53 | bnz r3, #0, 0f |
---|
54 | mov.w r3,#1 |
---|
55 | 0: mov r2, r3 |
---|
56 | jmp r8,r9 |
---|
57 | .size longjmp,.-longjmp |
---|
Note: See
TracBrowser
for help on using the repository browser.