MiniUnix/usr/source/fort/io/io5.s

Find at most related files.
including files from this version of Unix.

/
/

/ io5 -- more conversions

/.globl	hocv
/.globl	qocv
/.globl	xocv
/.globl	aocv
/.globl	locv
/
/.globl	fmtchr
/.globl	fputcc
/.globl	rep
/.globl	formp
/.globl	spaces
/.globl	ilen
/.globl	width
/.globl	ilval
.globl	rerr

hocv:
	jsr	r5,fmtchr
	tst	r0
	beq	2f
	jsr	r5,fputcc
	dec	rep
	bgt	hocv
	rts	r5
2:
	jsr	r5,rerr; 111.
	sys	exit

qocv:
	mov	formp,-(sp)
1:
	jsr	r5,fmtchr
	tst	r0
	beq	2f
	cmp	r0,$'"
	beq	2f
	jsr	r5,fputcc
	br	1b
2:
	dec	rep
	ble	1f
	mov	(sp),formp
	br	1b
1:
	tst	(sp)+
	rts	r5

xocv:
	mov	$1,r1
	jsr	r5,spaces
	rts	r5

aocv:
	movb	ilen,r1
	sub	width,r1
	neg	r1
	bpl	1f
	clr	r1
1:
	jsr	r5,spaces
	mov	ilval,r2
	mov	width,r1
	cmpb	r1,ilen
	ble	2f
	movb	ilen,r1
2:
	movb	(r2)+,r0
	jsr	r5,fputcc
	dec	r1
	bgt	2b
	rts	r5

locv:
	mov	width,r1
	dec	r1
	jsr	r5,spaces
	mov	$'f,r0
	movb	ilen,r1
	mov	ilval,r2
2:
	tstb	(r2)+
	bne	1f
	dec	r1
	bgt	2b
	br	2f
1:
	mov	$'t,r0
2:
	jsr	r5,fputcc
	rts	r5