📄 longjmp.s
字号:
/************************************************************* * File: lib/longjmp.s * Purpose: Part of C runtime library * Author: Phil Bunce (pjb@carmel.com) * Revision History: * 970304 Start of revision history */#include <setjmp.h>#include <mips.h>/** setjmp(buffer) save context */ .globl setjmp .ent setjmpsetjmp: sw s0,JB_S0*4(a0) sw s1,JB_S1*4(a0) sw s2,JB_S2*4(a0) sw s3,JB_S3*4(a0) sw s4,JB_S4*4(a0) sw s5,JB_S5*4(a0) sw s6,JB_S6*4(a0) sw s7,JB_S7*4(a0) sw fp,JB_FP*4(a0) sw sp,JB_SP*4(a0) sw ra,JB_RA*4(a0) li v0,0 j ra .end setjmp/** longjmp(buffer,value) restore context */ .globl longjmp .ent longjmplongjmp: lw s0,JB_S0*4(a0) lw s1,JB_S1*4(a0) lw s2,JB_S2*4(a0) lw s3,JB_S3*4(a0) lw s4,JB_S4*4(a0) lw s5,JB_S5*4(a0) lw s6,JB_S6*4(a0) lw s7,JB_S7*4(a0) lw fp,JB_FP*4(a0) lw ra,JB_RA*4(a0) lw sp,JB_SP*4(a0) move v0,a1 jr ra .end longjmp/** _getSp() returns the current value of the stack pointer */ .globl _getSp .ent _getSp_getSp: move v0,sp j ra .end _getSp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -