reset.c
来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 43 行
C
43 行
/* * @(#)reset.s 4.2 (Berkeley) 7/5/83 * C library -- reset, setexit * * reset(x) * will generate a "return" from * the last call to * setexit() * by restoring r6 - r12, ap, fp * and doing a return. * The returned value is x; on the original * call the returned value is 0. * * useful for going back to the main loop * after a horrible error in a lowlevel * routine. */#include "DEFS.h"ENTRY(setexit) movab setsav,r0 movq r6,(r0)+ movq r8,(r0)+ movq r10,(r0)+ movq 8(fp),(r0)+ # ap, fp movab 4(ap),(r0)+ # sp movl 16(fp),(r0) # pc clrl r0 retENTRY(reset) movl 4(ap),r0 # returned value movab setsav,r1 movq (r1)+,r6 movq (r1)+,r8 movq (r1)+,r10 movq (r1)+,r12 movl (r1)+,sp jmp *(r1) .datasetsav: .space 10*4
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?