xref: /plan9/sys/src/libc/mips/setjmp.s (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
1*3e12c5d1SDavid du ColombierTEXT	setjmp(SB), 1, $-4
2*3e12c5d1SDavid du Colombier	MOVW	R29, (R1)
3*3e12c5d1SDavid du Colombier	MOVW	R31, 4(R1)
4*3e12c5d1SDavid du Colombier	MOVW	$0, R1
5*3e12c5d1SDavid du Colombier	RET
6*3e12c5d1SDavid du Colombier
7*3e12c5d1SDavid du ColombierTEXT	longjmp(SB), 1, $-4
8*3e12c5d1SDavid du Colombier	MOVW	r+4(FP), R3
9*3e12c5d1SDavid du Colombier	BNE	R3, ok		/* ansi: "longjmp(0) => longjmp(1)" */
10*3e12c5d1SDavid du Colombier	MOVW	$1, R3		/* bless their pointed heads */
11*3e12c5d1SDavid du Colombierok:	MOVW	(R1), R29
12*3e12c5d1SDavid du Colombier	MOVW	4(R1), R31
13*3e12c5d1SDavid du Colombier	MOVW	R3, R1
14*3e12c5d1SDavid du Colombier	RET
15