⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setjmp.s

📁 Newlib 嵌入式 C库 标准实现代码
💻 S
字号:
; setjmp/longjmp for D30V.	.text	.globl	setjmp	.type	setjmp,@function	.stabs	"setjmp.S",100,0,0,setjmp	.stabs	"int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0	.stabs	"setjmp:F(0,1)",36,0,1,setjmpsetjmp:; Address of jmpbuf is passed in R2.  Save the appropriate registers.	st2w	r26, @(r2+,r0)	st2w	r28, @(r2+,r0)	st2w	r30, @(r2+,r0)	st2w	r32, @(r2+,r0)	st2w	r34, @(r2+,r0)	st2w	r36, @(r2+,r0)	st2w	r38, @(r2+,r0)	st2w	r40, @(r2+,r0)	st2w	r42, @(r2+,r0)	st2w	r44, @(r2+,r0)	st2w	r46, @(r2+,r0)	st2w	r48, @(r2+,r0)	st2w	r50, @(r2+,r0)	st2w	r52, @(r2+,r0)	st2w	r54, @(r2+,r0)	st2w	r56, @(r2+,r0)	st2w	r58, @(r2+,r0)	st2w	r60, @(r2+,r0)	st2w	r62, @(r2+,r0)	mvfacc	r4, a1, 16	mvfacc	r5, a1, 0	st2w	r4, @(r2+,r0)	mvfsys	r4, psw	mvfsys	r5, rpt_c	st2w	r4, @(r2+,r0)	mvfsys	r4, rpt_s	mvfsys	r5, rpt_e	st2w	r4, @(r2+,r0)	mvfsys	r4, mod_s	mvfsys	r5, mod_e	st2w	r4, @(r2+,r0); Return 0 to caller	add	r2, r0, r0	jmp	link.Lsetjmp:	.size	setjmp,.Lsetjmp-setjmp	.stabs	"",36,0,0,.Lsetjmp-setjmp	.globl	longjmp	.type	longjmp,@function	.stabs	"longjmp:F(0,1)",36,0,1,longjmplongjmp:; Address of jmpbuf is in R2.  Restore the registers.	ld2w	r26, @(r2+,r0)	ld2w	r28, @(r2+,r0)	ld2w	r30, @(r2+,r0)	ld2w	r32, @(r2+,r0)	ld2w	r34, @(r2+,r0)	ld2w	r36, @(r2+,r0)	ld2w	r38, @(r2+,r0)	ld2w	r40, @(r2+,r0)	ld2w	r42, @(r2+,r0)	ld2w	r44, @(r2+,r0)	ld2w	r46, @(r2+,r0)	ld2w	r48, @(r2+,r0)	ld2w	r50, @(r2+,r0)	ld2w	r52, @(r2+,r0)	ld2w	r54, @(r2+,r0)	ld2w	r56, @(r2+,r0)	ld2w	r58, @(r2+,r0)	ld2w	r60, @(r2+,r0)	ld2w	r62, @(r2+,r0)	ld2w	r4, @(r2+,r0)	mvtacc	a1, r4, r5	mvfsys	r6, psw	ld2w	r4, @(r2+,r0)		/* psw, rpt_c */	and	r6, r6, 0xfcff		/* set rp, md bits from setjmp, leave */	and	r4, r4, 0x0300		/* all other psw bits the same */	or	r4, r4, r6	mvtsys	psw, r4	mvtsys	rpt_c, r5	ld2w	r4, @(r2+,r0)	mvtsys	rpt_s, r4	mvtsys	rpt_e, r5	ld2w	r4, @(r2+,r0)	mvtsys	mod_s, r4	mvtsys	mod_e, r5; Value to return to caller is in R3.  If caller attemped to return 0,; return 1 instead.	cmpeq	f0, r3, 0	|| 	add	r2, r3, r0	jmp	link		||	add/tx	r2, r2, 1.Llongjmp:	.size	longjmp,.Llongjmp-longjmp	.stabs	"",36,0,0,.Llongjmp-longjmp

⌨️ 快捷键说明

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