Interdata732/usr/source/liba/src.a

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[9Hchdir	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[Zmchmod	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[npchown	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\	hcreat	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,tcsw	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\^oexecl	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\saexecv	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\rfstat	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]lgtty	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]Ekill	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]0mknod	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]Hnice	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]Wbopen	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]Upipe	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^"Lsignal	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^5sleep	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^Jsstat	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^ZZstime	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^elstty	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^wsync	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^Qumount	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^Sunlink	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