summaryrefslogtreecommitdiff
path: root/sys/src/libc/alpha/setjmp.s
blob: dd423df02b514d591de94b7c5911a025d8e7e3c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TEXT	setjmp(SB), 1, $-8
	MOVL	R30, (R0)
	MOVL	R26, 4(R0)
	MOVQ	$0, R0
	RET

TEXT	longjmp(SB), 1, $-8
	MOVL	r+4(FP), R3
	BNE	R3, ok		/* ansi: "longjmp(0) => longjmp(1)" */
	MOVQ	$1, R3		/* bless their pointed heads */
ok:	MOVL	(R0), R30
	MOVL	4(R0), R26
	MOVL	R3, R0
	RET