  ebrk.s          [    brk	title	unix c svc library -- sbrk, brk
	entry	sbrk,brk
	extrn	end
r0	equ	0
r1	equ	1
sp	equ	7
rf	equ	15
	impur
svcbrk	svc	14,17
top	dc	a(end)
	pure
brk	equ	*
	l	r0,top		previous top
	l	r1,0(sp)	new top
	b	dosvc
*
sbrk	equ	*
	l	r0,top		previous top
	lr	r1,r0
	a	r1,0(sp)	add increment
dosvc	equ	*
	st	r1,top		new top
	svc	14,0
	dc	a(svcbrk)	* set new break *
	bncr	rf		ok - return
	st	r0,errno	error
	lcs	r0,1
	br	rf

errno	comn
	das	1
	ends
	end
chdir.s        [9  H  chdir	title	unix c svc library -- chdir
	entry	chdir
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
chdirsvc	equ	*
	svc	14,12
dirname	dc	a(*-*)
*
	pure
chdir	equ	*
	l	r0,0(sp)	dirname
	st	r0,dirname
	svc	14,0
	dc	a(chdirsvc)
	bc	error
	lis	r0,0
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
chmod.s        [Z  m  chmod	title	unix c svc library -- chmod
	entry	chmod
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
chmodsvc	equ	*
	svc	14,15
name	dc	a(*-*)
mode	dc	a(*-*)
*
	pure
chmod	equ	*
	l	r0,0(sp)	name
	st	r0,name
	l	r0,adc(sp)	mode
	st	r0,mode
	svc	14,0
	dc	a(chmodsvc)
	bc	error
	lis	r0,0
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
	chown.s        [n  p  chown	title	unix c svc library -- chown
	entry	chown
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
chownsvc	equ	*
	svc	14,16
name	dc	a(*-*)
owner	dc	a(*-*)
*
	pure
chown	equ	*
	l	r0,0(sp)	name
	st	r0,name
	l	r0,adc(sp)	owner
	st	r0,owner
	svc	14,0
	dc	a(chownsvc)
	bc	error
	lis	r0,0
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
close.s        [    close	title	unix c svc library -- close
	entry	close
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
close	equ	*
	l	r0,0(sp)	file descriptor
	svc	14,6
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
icreat.s        \	  h  creat	title	unix c svc library -- creat
	entry	creat
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
creatsvc	equ	*
	svc	14,8
fname	dc	a(*-*)
mode	dc	a(*-*)
*
	pure
creat	equ	*
	l	r0,0(sp)	filename
	st	r0,fname
	l	r0,adc(sp)	mode
	st	r0,mode
	svc	14,0
	dc	a(creatsvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
csw.s          ,   t  csw	title	unix c svc library -- csw
	entry	csw
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
csw	equ	*
	svc	14,38
	br	rf
	end
dup.s          \>     dup	title	unix c svc library -- dup
	entry	dup
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
dup	equ	*
	l	r0,0(sp)	file descriptor
	svc	14,41
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
	execl.s        \^  o  execl	title	unix c svc library -- execl
	entry	execl
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
execsvc	equ	*
	svc	14,11
name	dc	a(*-*)
args	dc	a(*-*)
*
	pure
execl	equ	*
	l	r0,0(sp)	name
	st	r0,name
	la	r0,adc(sp)	args are in stack
	st	r0,args
	svc	14,0
	dc	a(execsvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end

execv.s        \s  a  execv	title	unix c svc library -- execv
	entry	execv
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
execsvc	equ	*
	svc	14,11
name	dc	a(*-*)
args	dc	a(*-*)
*
	pure
execv	equ	*
	l	r0,0(sp)	name
	st	r0,name
	l	r0,adc(sp)	args
	st	r0,args
	svc	14,0
	dc	a(execsvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
	exit.s         \     exit	title	unix c svc library -- exit
	entry	exit
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
exit	equ	*
	l	r0,0(sp)		status
	svc	14,1
	dc	0		it had better work!
	end
efork.s         \  ?  fork	title	unix c svc library -- fork
	entry	fork
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
fork	equ	*
	svc	14,2
	b	child		child process return
	bc	error
	br	rf		parent process return
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf
*
child	equ	*
	lis	r0,0	child process returns 0
	br	rf

errno	comn
	das	1
	ends
	end
	fstat.s        \  r  fstat	title	unix c svc library -- fstat
	entry	fstat
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
fstatsvc	equ	*
	svc	14,28
buffer	dc	a(*-*)
*
	pure
fstat	equ	*
	l	r0,adc(sp)	buffer
	st	r0,buffer
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(fstatsvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
getgid.s       ,     getgid	title	unix c svc library -- getgid
	entry	getgid
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
getgid	equ	*
	svc	14,47
	br	rf
	end
getpid.s       ,     getpid	title	unix c svc library -- getpid
	entry	getpid
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
getpid	equ	*
	svc	14,20
	br	rf
	end
getuid.s       ,     getuid	title	unix c svc library -- getuid
	entry	getuid
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
getuid	equ	*
	svc	14,24
	br	rf
	end
gtty.s         ]  l  gtty	title	unix c svc library -- gtty
	entry	gtty
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
gttysvc	equ	*
	svc	14,32
buffer	dc	a(*-*)
*
	pure
gtty	equ	*
	l	r0,adc(sp)	buffer
	st	r0,buffer
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(gttysvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
kill.s         ]  E  kill	title	unix c svc library -- kill
	entry	kill
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
killsvc	equ	*
	svc	14,37
sig	dc	a(*-*)
*
	pure
kill	equ	*
	l	r0,adc(sp)	sig
	st	r0,sig
	l	r0,0(sp)	process id
	svc	14,0
	dc	a(killsvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
nlink.s         ]  {  link	title	unix c svc library -- link
	entry	link
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
linksvc	equ	*
	svc	14,9
name1	dc	a(*-*)
name2	dc	a(*-*)
*
	pure
link	equ	*
	l	r0,0(sp)	name1
	st	r0,name1
	l	r0,adc(sp)	name2
	st	r0,name2
	svc	14,0
	dc	a(linksvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
rmknod.s        ]0    mknod	title	unix c svc library -- mknod
	entry	mknod
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
mknodsvc	equ	*
	svc	14,14
name	dc	a(*-*)
mode	dc	a(*-*)
addr	dc	a(*-*)
*
	pure
mknod	equ	*
	l	r0,0(sp)	name
	st	r0,name
	l	r0,adc(sp)	mode
	st	r0,mode
	l	r0,2*adc(sp)	addr
	st	r0,addr
	svc	14,0
	dc	a(mknodsvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
mount.s        ]<    mount	title	unix c svc library -- mount
	entry	mount
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
mountsvc	equ	*
	svc	14,21
specf	dc	a(*-*)
name	dc	a(*-*)
rwflag	dc	a(*-*)
*
	pure
mount	equ	*
	l	r0,0(sp)	specf
	st	r0,specf
	l	r0,adc(sp)	name
	st	r0,name
	l	r0,2*adc(sp)	rwflag
	st	r0,rwflag
	svc	14,0
	dc	a(mountsvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
	nice.s         ]H     nice	title	unix c svc library -- nice
	entry	nice
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
nice	equ	*
	l	r0,0(sp)		priority
	svc	14,34
	bc	error
	lis	r0,0	return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
open.s         ]W  b  open	title	unix c svc library -- open
	entry	open
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
opensvc	equ	*
	svc	14,5
fname	dc	a(*-*)
mode	dc	a(*-*)
*
	pure
open	equ	*
	l	r0,0(sp)	filename
	st	r0,fname
	l	r0,adc(sp)	mode
	st	r0,mode
	svc	14,0
	dc	a(opensvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
pipe.s         ]  U  pipe	title	unix c svc library -- pipe
	entry	pipe
r0	equ	0
r1	equ	1
r2	equ	2
rf	equ	15
sp	equ	7
*
	pure
pipe	equ	*
	svc	14,42
	bc	error
	l	r2,0(sp)	return area
	st	r0,0(r2)	read file descriptor
	st	r1,adc(r2)	write file descriptor
	lis	r0,0	return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
1profil.s       ]    profil	title	unix c svc library -- profil
	entry	profil
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
profsvc	equ	*
	svc	14,44
buff	dc	a(*-*)
bufsiz	dc	a(*-*)
offset	dc	a(*-*)
scale	dc	a(*-*)
*
	pure
profil	equ	*
	l	r0,0(sp)	buff
	st	r0,buff
	l	r0,adc(sp)	bufsiz
	st	r0,bufsiz
	l	r0,2*adc(sp)	offset
	st	r0,offset
	l	r0,3*adc(sp)	scale
	st	r0,scale
	svc	14,0
	dc	a(profsvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
 ptrace.s       ]    ptrace	title	unix c svc library -- ptrace
	entry	ptrace
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
ptrcsvc	equ	*
	svc	14,26
pid	dc	a(*-*)
addr	dc	a(*-*)
request	dc	a(*-*)
*
	pure
ptrace	equ	*
	l	r0,adc(sp)	pid
	st	r0,pid
	l	r0,2*adc(sp)	addr
	st	r0,addr
	l	r0,0(sp)	request
	st	r0,request
	l	r0,3*adc(sp)	data
	svc	14,0
	dc	a(ptrcsvc)
	bncr	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
read.s         ]    read	title	unix c svc library -- read
	entry	read
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
readsvc	equ	*
	svc	14,3
buffer	dc	a(*-*)
nbytes	dc	a(*-*)
*
	pure
read	equ	*
	l	r0,adc(sp)	buffer
	st	r0,buffer
	l	r0,2*adc(sp)	nbytes
	st	r0,nbytes
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(readsvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
seek.s         ]    seek	title	unix c svc library -- seek
	entry	seek
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
seeksvc	equ	*
	svc	14,19
offset	dc	a(*-*)
ptrnam	dc	a(*-*)
*
	pure
seek	equ	*
	l	r0,adc(sp)	offset
	st	r0,offset
	l	r0,2*adc(sp)	ptrnam
	st	r0,ptrnam
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(seeksvc)
	bc	error
	lis	r0,0	normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
ssetgid.s       ]     setgid	title	unix c svc library -- setgid
	entry	setgid
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
setgid	equ	*
	l	r0,0(sp)		id
	svc	14,46
	bncr	rf
* error
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
	setuid.s       ^     setuid	title	unix c svc library -- setuid
	entry	setuid
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
setuid	equ	*
	l	r0,0(sp)		id
	svc	14,23
	bncr	rf
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
dsignal.s       ^"  L  signal	title	unix c svc library -- signal
	entry	signal
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
sigsvc	equ	*
	svc	14,48
sig	dc	a(*-*)
func	dc	a(*-*)
*
	pure
signal	equ	*
	l	r0,0(sp)	sig
	st	r0,sig
	l	r0,adc(sp)	func
	st	r0,func
	svc	14,0
	dc	a(sigsvc)
	bncr	rf
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
sleep.s        ^5     sleep	title	unix c svc library -- sleep
	entry	sleep
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
sleep	equ	*
	l	r0,0(sp)		seconds
	svc	14,35
	bc	error
	lis	r0,0	return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
rsmdate.s       ^?    smdate	title	unix c svc library -- smdate
	entry	smdate
r0	equ	0
r1	equ	1
r2	equ	2
sp	equ	7
rf	equ	15
	impur
svcmdat equ	*
	svc	14,30	* smdate *
svc.fn dc	a(*-*)	filename
	pure
smdate	equ	*
	l	r0,0(sp)	filename
	st	r0,svc.fn
	l	r2,adc(sp)	time
	l	r0,0(r2)	time[0]
	l	r1,adc(r2)	time[1]
	svc	14,0
	dc	a(svcmdat)
	bc	error
	lis	r0,0		return ok
	br	rf
error	equ	*
	st	r0,errno	return error
	lcs	r0,1
	br	rf

errno	comn
	das	1
	ends
	end
stat.s         ^J  s  stat	title	unix c svc library -- stat
	entry	stat
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
statsvc	equ	*
	svc	14,18
name	dc	a(*-*)
buf	dc	a(*-*)
*
	pure
stat	equ	*
	l	r0,0(sp)	name
	st	r0,name
	l	r0,adc(sp)	buf
	st	r0,buf
	svc	14,0
	dc	a(statsvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
nstime.s        ^Z  Z  stime	title	unix c svc library -- stime
	entry	stime
r1	equ	1
r2	equ	2
r0	equ	0
rf	equ	15
sp	equ	7
*
	pure
stime	equ	*
	l	r2,0(sp)	ptr to time buffer
	l	r0,0(r2)	high order time
	l	r1,adc(r2)	low order time
	svc	14,25
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
stty.s         ^e  l  stty	title	unix c svc library -- stty
	entry	stty
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
sttysvc	equ	*
	svc	14,31
buffer	dc	a(*-*)
*
	pure
stty	equ	*
	l	r0,adc(sp)	buffer
	st	r0,buffer
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(sttysvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
sync.s         ^w     sync	title	unix c svc library -- sync
	entry	sync
r0	equ	0
r1	equ	1
r2	equ	2
rf	equ	15
sp	equ	7
*
	pure
sync	equ	*
	svc	14,36
	br	rf
	end
time.s         ^     time	title	unix c svc library -- time
	entry	time
r0	equ	0
r1	equ	1
r2	equ	2
rf	equ	15
sp	equ	7
*
	pure
time	equ	*
	svc	14,13
	l	r2,0(sp)	ptr to time doubleword
	st	r0,0(r2)	high order time
	st	r1,adc(r2)	low order time
	br	rf
	end
times.s        ^     times	title	unix c svc library -- times
	entry	times
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
timessvc	equ	*
	svc	14,43
buffer	dc	a(*-*)
*
	pure
times	equ	*
	l	r0,0(sp)	buffer
	st	r0,buffer
	svc	14,0
	dc	a(timessvc)
	br	rf
	end
umount.s       ^  Q  umount	title	unix c svc library -- umount
	entry	umount
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
umntsvc	equ	*
	svc	14,22
specl	dc	a(*-*)
*
	pure
umount	equ	*
	l	r0,0(sp)	specl
	st	r0,specl
	svc	14,0
	dc	a(umntsvc)
	bc	error
	lis	r0,0	normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1	error return
	br	rf

errno	comn
	das	1
	ends
	end
runlink.s       ^  S  unlink	title	unix c svc library -- unlink
	entry	unlink
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
unlksvc	equ	*
	svc	14,10
fname	dc	a(*-*)
*
	pure
unlink	equ	*
	l	r0,0(sp)	fname
	st	r0,fname
	svc	14,0
	dc	a(unlksvc)
	bc	error
	lis	r0,0		normal return
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
owait.s         ^    wait	title	unix c svc library -- wait
	entry	wait
r0	equ	0
r1	equ	1
r2	equ	2
rf	equ	15
sp	equ	7
*
	pure
wait	equ	*
	svc	14,7
	bc	error
	l	r2,0(sp)		return area for status
	st	r1,0(r2)
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end

write.s        ^    write	title	unix c svc library -- write
	entry	write
r0	equ	0
rf	equ	15
sp	equ	7
*
	impur
writesvc	equ	*
	svc	14,4
buffer	dc	a(*-*)
nbytes	dc	a(*-*)
*
	pure
write	equ	*
	l	r0,adc(sp)	buffer
	st	r0,buffer
	l	r0,2*adc(sp)	nbytes
	st	r0,nbytes
	l	r0,0(sp)	file descriptor
	svc	14,0
	dc	a(writesvc)
	bc	error
	br	rf
error	equ	*
	st	r0,errno
	lcs	r0,1		error return
	br	rf

errno	comn
	das	1
	ends
	end
