setjmp.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 30 行
S
30 行
arg=0link=14sp=13TEXT setjmp(SB), 1, $-4 MOVW R(sp), (R(arg+0)) MOVW R(link), 4(R(arg+0)) MOVW $0, R1 RETTEXT sigsetjmp(SB), 1, $-4 MOVW savemask+4(FP), R(arg+2) MOVW R(arg+2), 0(R(arg+0)) MOVW $_psigblocked(SB), R(arg+2) MOVW R2, 4(R(arg+0)) MOVW R(sp), 8(R(arg+0)) MOVW R(link), 12(R(arg+0)) MOVW $0, R(arg+0) RETTEXT longjmp(SB), 1, $-4 MOVW r+4(FP), R(arg+2) CMP $0, R(arg+2) BNE ok /* ansi: "longjmp(0) => longjmp(1)" */ MOVW $1, R(arg+2) /* bless their pointed heads */ok: MOVW (R(arg+0)), R(sp) MOVW 4(R(arg+0)), R(link) MOVW R(arg+2), R(arg+0) RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?