	sysmount / 21
	sysumount / 22
	syssetuid / 23
	sysgetuid / 24
	sysstime / 25
	sysquit / 26
	sysintr / 27
	sysfstat / 28
	sysemt / 29
	sysmdate / 30
	sysstty / 31
	sysgtty / 32
	sysilgins / 33
2:

error:
	mov	u.sp,r1
	bis	$1,20.(r1) / set c bit in processor status word below
		           / users stack

sysret:
	tstb	u.bsys / is a process about to be terminated because
	bne	sysexit / of an error? yes, go to sysexit
	mov	u.sp,sp / no point stack to users stack
	clr	r1 / zero r1 to check last mentioned i-node
	jsr	r0,iget / if last mentioned i-node has been modified
		        / it is written out
	tstb	smod / has the super block been modified
	beq	1f / no, 1f
	clrb	smod / yes, clear smod
	bis	$1000,sb0 / set write bit in I/O queue for super block
		          / output
	jsr	r0,ppoke / write out modified super block to disk
1:
	tstb	mmod / has the super block for the dismountable file
		     / system
	beq	1f / been modified?  no, 1f
	clrb	mmod / yes, clear mmod
	movb	mntd,sb1 / set the I/O queue
	bis	$1000,sb1 / set write bit in I/O queue for detached sb
	jsr	r0,ppoke / write it out to its device
1:
	tstb	uquant / is the time quantum 0?
	bne	1f / no, don't swap it out

sysrele:
	jsr	r0,tswap / yes, swap it out
1:
	mov	(sp)+,sc / restore user registers
	mov	(sp)+,mq
	mov	(sp)+,ac
	mov	(sp)+,r5
	mov	(sp)+,r4
	mov	(sp)+,r3
	mov	(sp)+,r2
	mov	(sp)+,r1
