/
/ Setexit and reset.
/

	.globl	setexi
	.globl	reset

sps:	.blkw	1		/ Save for `sp'
r5s:	.blkw	1		/ Save for `r5'
pcs:	.blkw	1		/ Save for `pc'

/
/ These routines implement a limited
/ kind of non local transfer.
/ `Setexit' saves the stack depth in
/ a secret place and returns 0.
/ A call to `reset' makes the `setexit'
/ appear to return 1.
/

setexi:	mov	(sp),pcs
	mov	sp,sps
	mov	r5,r5s
	clr	r0
	return

reset:	mov	sps,sp
	mov	r5s,r5
	mov	pcs,(sp)
	mov	$1,r0
	return
