	.title	sys3
	.enabl	lc
	.ident	/000003/
;+
; Execute rsts sys function calls -3 and -12 to get system table
; locations.  These are globalized, for your convenience.
;
; Calling sequence:
;
;	sys3()
;
; Return: tables are setup
;
; Assemble with COMMON.MAC
;-
;
; Edit history
; 000001 ??-???-?? MM	Initial edit
; 000002 15-May-80 MM	Conversion for the new C compiler
; 000003 12-Aug-80 MM	Fixed data .psect
;
	.globl	clrfqb, rstsys

	.psect	.prog.
sys3::
	call	clrfqb			; Clean out the firqb
	movb	#uu.tb1,@#firqb+fqfun	; -3 function
	mov	#.uuo,-(sp)		; and do the
	call	rstsys			; uuo call
	mov	#firqb,r0		; Now move out
	mov	#table1,r1		; the data
10$:	mov	(r0)+,(r1)+
	cmp	r0,#firqb+fqsiz
	blo	10$

	call	clrfqb			; Now, do the same
	movb	#uu.tb2,@#firqb+fqfun	; for the other table
;	mov	#.uuo,(sp)		; Still on the stack
	call	rstsys			; (.uuo is on the stack)
	mov	#firqb,r0		; Now, move out
	mov	#table2,r1		; the other
20$:	mov	(r0)+,(r1)+
	cmp	r0,#firqb+fqsiz
	blo	20$
	tst	(sp)+			; pop off .uuo value
	return				; That's all

	.psect	.data.							;03

table1:		.word
fqbjob::	.word
cnt.kb::	.byte
maxcnt::	.byte
devcnt::	.word
devptr::	.word
memlst::	.word
jobtbl::	.word
jbstat::	.word
jbwait::	.word
untclu::	.word
untcnt::	.word
stactl::	.word
jsbtbl::	.word
satctm::	.word
curdat::	.word
untown::	.word

table2:		.word
		.word
frees::		.word
devnam::	.word
csrtbl::	.word
dev0kb::	.word
ttyhct::	.word
jobcnt::	.word
rtslst::	.word
erlctl::	.word
sndlst::	.word
lognam::	.word
devsyn::	.word
memsiz::	.word
ccllst::	.word
fcblst::	.word

	.end
