
*	WritePad.asm (of PCQ Pascal runtime library)
*	Copyright (c) 1989 Patrick Quaid

*	this routine just spits out spaces, in groups of sixteen,
*	to pad the beginning of any write.  This is for when you see
*	something like write(45 div 4:10) in a program.

	XREF	_p%DOSBase
	XREF	_LVOWrite


	XDEF	_p%padout
_p%padout
	movem.l	d2/d3/a0/a1,-(sp)
	move.w	d0,-(sp)
	move.w	#16,d3
1$	move.l	#padbuffer,d2
	cmp.w	(sp),d3
	ble.s	2$
	move.w	(sp),d3
2$	move.l	_p%DOSBase,a6
	move.w	d3,-(sp)
	move.l	d1,-(sp)
	ext.l	d3
	jsr	_LVOWrite(a6)
	move.l	(sp)+,d1
	move.w	(sp)+,d3
	sub.w	d3,(sp)
	bgt	1$
	addq.l	#2,sp
	movem.l	(sp)+,d2/d3/a0/a1
	rts

	SECTION	PADBUFFER,DATA

padbuffer	dc.b	'                '

	END
