setjmp.s

来自「T-kernel 的extension源代码」· S 代码 · 共 64 行

S
64
字号
/* *---------------------------------------------------------------------- *    T-Kernel / Standard Extension * *    Copyright (C) 2006 by Ken Sakamura. All rights reserved. *    T-Kernel / Standard Extension is distributed  *      under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * *    Version:   1.00.00 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* *	setjmp.S (libtkse) * *	setjmp/longjmp */#include <machine.h>/* *	typedef	int	jmp_buf[10] * *	Registers to be saved in jmp_buf *	jmp_buf[0]	r4 *	jmp_buf[1]	r5 *	jmp_buf[2]	r6 *	jmp_buf[3]	r7 *	jmp_buf[4]	r8 *	jmp_buf[5]	r9 *	jmp_buf[6]	r10 *	jmp_buf[7]	r11(fp) *	jmp_buf[8]	r13(sp) *	jmp_buf[9]	r14(lr) *//* * int __setjmp( jmp_buf env ) */	.text	.balign	4	.globl	Csym(__setjmp)	.type	Csym(__setjmp), %functionCsym(__setjmp):	stmia	r0, {r4-r10, fp, sp, lr}	mov	r0, #0	bx	lr/* * void longjmp( jmp_buf env, int rval ) */	.text	.balign	4	.globl	Csym(longjmp)	.type	Csym(longjmp), %functionCsym(longjmp):	ldmia	r0, {r4-r10, fp, sp, lr}	movs	r0, r1	moveq	r0, #1		// if ( rval == 0 ) rval = 1	bx	lr

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?