setjmp.s

来自「用于嵌入式Linux系统的标准C的库函数」· S 代码 · 共 76 行

S
76
字号
/* setjmp/longjmp routines. * * Written by Michael Hayes <m.hayes@elec.canterbury.ac.nz>. * * The author hereby grant permission to use, copy, modify, distribute, * and license this software and its documentation for any purpose, provided * that existing copyright notices are retained in all copies and that this * notice is included verbatim in any distributions. No written agreement, * license, or royalty fee is required for any of the authorized uses. * Modifications to this software may be copyrighted by their authors * and need not follow the licensing terms described here, provided that * the new terms are clearly indicated on the first page of each file where * they apply. */	.sect .text	.global setjmp	.global longjmpsetjmp:	pop	r1	   	ldi	sp, ar0#ifndef _REGPARM	ldi	*ar0, ar2	#endif	sti	r4, *ar2++	sti	r5, *ar2++	stf	r6, *ar2++	stf	r7, *ar2++#ifdef _TMS320C4x	sti	r8, *ar2++#endif	sti	ar3, *ar2++	sti	ar4, *ar2++	sti	ar5, *ar2++	sti	ar6, *ar2++	sti	ar7, *ar2++	bd	r1		sti	r1, *ar2++ 	sti	ar0, *ar2  	ldi	0, r0		longjmp:#ifndef _REGPARM	ldi	sp, ar0	ldi	*-ar0(1), ar2  	ldi	*-ar0(2), r0   	ldiz	1, r0	#else	ldi	r2, r0	 	ldiz	1, r0	#endif 	ldi	*ar2++, r4 	ldi	*ar2++, r5 	ldf	*ar2++, r6 	ldf	*ar2++, r7#ifdef _TMS320C4x	ldi	*ar2++, r8#endif	ldi	*ar2++, ar3	ldi	*ar2++, ar4 	ldi	*ar2++, ar5 	ldi	*ar2++, ar6 	ldi	*ar2++, ar7 	ldi	*ar2++, r1 	ldi	*ar2, sp	    	b	 r1		.end		

⌨️ 快捷键说明

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