setjmp.s
来自「klibc精简化的c程序库」· S 代码 · 共 67 行
S
67 行
## arch/s390/setjmp.S## setjmp/longjmp for the s390 architecture# .text .align 4 .globl setjmp .type setjmp, @function#ifndef __s390x__setjmp: stm %r6,%r15,0(%r2) # save all general registers std %f4,40(%r2) # save fp registers f4 and f6 std %f6,48(%r2) lhi %r2,0 # return 0 br %r14 .size setjmp,.-setjmp .text .align 4 .globl longjmp .type longjmp, @functionlongjmp: lr %r1,%r2 # jmp_buf lr %r2,%r3 # return value ld %f6,48(%r1) # restore all saved registers ld %f4,40(%r1) lm %r6,%r15,0(%r1) br %r14 # return to restored address .size longjmp,.-longjmp#elsesetjmp: stmg %r6,%r15,0(%r2) # save all general registers std %f1,80(%r2) # save fp registers f4 and f6 std %f3,88(%r2) std %f5,96(%r2) std %f7,104(%r2) lghi %r2,0 # return 0 br %r14 .size setjmp,.-setjmp .text .align 4 .globl longjmp .type longjmp, @functionlongjmp: lgr %r1,%r2 # jmp_buf lgr %r2,%r3 # return value ld %f7,104(%r1) # restore all saved registers ld %f5,96(%r1) ld %f3,88(%r1) ld %f1,80(%r1) lmg %r6,%r15,0(%r1) br %r14 # return to restored address .size longjmp,.-longjmp#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?