URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 207 |
Rev 345 |
;; xstormy16
|
;; xstormy16
|
;; Copyright (C) 2001 by Red Hat, Incorporated. All rights reserved.
|
;; Copyright (C) 2001 by Red Hat, Incorporated. All rights reserved.
|
;;
|
;;
|
;; Permission to use, copy, modify, and distribute this software
|
;; Permission to use, copy, modify, and distribute this software
|
;; is freely granted, provided that this notice is preserved.
|
;; is freely granted, provided that this notice is preserved.
|
;;
|
;;
|
.file "setjmp.S"
|
.file "setjmp.S"
|
|
|
.section .text
|
.section .text
|
.align 1
|
.align 1
|
.global setjmp
|
.global setjmp
|
.type setjmp,@function
|
.type setjmp,@function
|
setjmp:
|
setjmp:
|
mov r0,r10
|
mov r0,r10
|
mov (r2++),r0
|
mov (r2++),r0
|
mov r0,r11
|
mov r0,r11
|
mov (r2++),r0
|
mov (r2++),r0
|
mov r0,r12
|
mov r0,r12
|
mov (r2++),r0
|
mov (r2++),r0
|
mov r0,r13
|
mov r0,r13
|
mov (r2++),r0
|
mov (r2++),r0
|
pop r0 ; PC high word
|
pop r0 ; PC high word
|
pop r1 ; PC low word
|
pop r1 ; PC low word
|
mov (r2++), r0
|
mov (r2++), r0
|
mov (r2++), r1
|
mov (r2++), r1
|
mov r3,sp
|
mov r3,sp
|
mov (r2++),r3
|
mov (r2++),r3
|
mov.w r2,#0
|
mov.w r2,#0
|
mov r8, r0
|
mov r8, r0
|
mov r9, r1
|
mov r9, r1
|
jmp r8, r9
|
jmp r8, r9
|
.size setjmp,.-setjmp
|
.size setjmp,.-setjmp
|
|
|
.global longjmp
|
.global longjmp
|
.type longjmp,@function
|
.type longjmp,@function
|
longjmp:
|
longjmp:
|
mov r0,(r2++)
|
mov r0,(r2++)
|
mov r10,r0
|
mov r10,r0
|
mov r0,(r2++)
|
mov r0,(r2++)
|
mov r11,r0
|
mov r11,r0
|
mov r0,(r2++)
|
mov r0,(r2++)
|
mov r12,r0
|
mov r12,r0
|
mov r0,(r2++)
|
mov r0,(r2++)
|
mov r13,r0
|
mov r13,r0
|
mov r0,(r2++)
|
mov r0,(r2++)
|
mov r8, r0
|
mov r8, r0
|
mov r1,(r2++)
|
mov r1,(r2++)
|
mov r9, r1
|
mov r9, r1
|
mov r4,(r2++)
|
mov r4,(r2++)
|
mov sp,r4
|
mov sp,r4
|
;; status arg (r3) to longjmp is return value
|
;; status arg (r3) to longjmp is return value
|
;; if it's zero, return 1
|
;; if it's zero, return 1
|
bnz r3, #0, 0f
|
bnz r3, #0, 0f
|
mov.w r3,#1
|
mov.w r3,#1
|
0: mov r2, r3
|
0: mov r2, r3
|
jmp r8,r9
|
jmp r8,r9
|
.size longjmp,.-longjmp
|
.size longjmp,.-longjmp
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.