	.even
/"author" prints and substitutes for one or several authors
author:
	mov	r1,-(sp)		/save regs
	mov	r2,-(sp)
	mov	(r5)+,r2
	tst	r2
	bne	1f			/branch if only 1 author
	tst	token2			/"/" present?
	beq	0f
	jsr	r5,mesg
	<3ILLEGAL USE OF "AS"4\n\0>
	.even
	br	9f
0:
	mov	$j.auth1,0f
	mov	$1,r0
	sys	write; 0:..; 30.	/write author1
	mov	$1,r0
	sys	write; nl; 1
	mov	$j.auth2,0f
	mov	$1,r0
	sys	write; 0:..; 30.	/write author2
	mov	$1,r0
	sys	write; nl; 1
	mov	$j.auth3,0f
	mov	$1,r0
	sys	write; 0:..; 30.	/write author3
	mov	$1,r0
	sys	write; nl; 1
	mov	$j.auth4,0f
	mov	$1,r0
	sys	write; 0:..; 30.	/write author4
	br	9f
1:					/only one author involved
	tst	token2			/"/" present?
	bne	1f			/branch if yes
	mov	r2,0f
	mov	$1,r0
	sys	write; 0:..; 30.	/write author1,2,3,or 4
	br	9f
1:
	mov	r2,r0
	mov	r2,r1
	add	$30.,r1
	movb	$1,cflag		/set core record changed
1:
	clrb	(r0)+			/null out author1,2,3,or 4
	cmp	r0,r1
	blo	1b
	tst	token3			/"*" present?
	bne	9f			/branch if yes
	mov	token2,r0
	inc	r0
	mov	r2,r1
	add	$30.,r2
	cmp	r0,lastchar		/"/<nl>"?
	beq	9f			/branch if yes
2:
	movb	(r0)+,(r1)+		/change author1,2,3,or 4
	cmp	r0,lastchar		/reached <nl>?
	bhis	9f			/branch if yes
	cmp	r1,r2			/over 30 chars?
	blo	2b			/branch if yes
	cmpb	(r0),$'\n		/31st char <nl>?
	beq	9f
	jsr	r5,mesg
	<AUTHOR TRUNCATED TO 30 CHARS\n\0>
	.even
9:
	mov	(sp)+,r2		/restore regs
	mov	(sp)+,r1
	rts	r5			/return
