⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unprnt.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/ C library -- unprintf.globl	_unprintf.globl	ndigix.globl	pfloat.globl	pscien.globl	_IEH3revp.globl	_IEH3bcko_unprintf:	mov	r5,-(sp)	mov	sp,r5	mov	4(r5),formp		/ format	mov	r5,r4	add	$6,r4			/ arglist	sub	$128.,sp		/ bufferloop:	movb	*formp,r0	beq	1f	inc	formp	cmp	r0,$'%	beq	2f3:	mov	r4,-(sp)	mov	r0,-(sp)	jsr	pc,*$_IEH3revp	tst	(sp)+	mov	(sp)+,r4	br	loop1:	add	$128.,sp	mov	(sp)+,r5	jsr	pc,_IEH3bcko	rts	pc2:	clr	rjust	clr	ndigix	cmpb	*formp,$'-	bne	2f	inc	formp	inc	rjust2:	jsr	r3,gnum; width	clr	ndfnd	cmp	r0,$'.	bne	1f	jsr	r3,gnum; ndigix1:	mov	sp,r3	mov	$swtab,r11:	mov	(r1)+,r2	beq	3b	cmp	r0,(r1)+	bne	1b	jmp	(r2)swtab:	decimal;	'd	octal;		'o	float;		'f	scien;		'e	charac;		'c	string;		's	logical;	'l	0;  0decimal:	mov	(r4)+,r1	bge	1f	neg	r1	movb	$'-,(r3)+	br	1flogical:	mov	(r4)+,r11:	jsr	pc,1f	br	prbuf1:	clr	r0	div	$10.,r0	mov	r1,-(sp)	mov	r0,r1	beq	1f	jsr	pc,1b1:	mov	(sp)+,r0	add	$'0,r0	movb	r0,(r3)+	rts	pccharac:	movb	(r4)+,(r3)+	bne	1f	dec	r31:	movb	(r4)+,(r3)+	br	prbufstring:	mov	ndigix,r11:	mov	(r4)+,r21:	movb	(r2)+,(r3)+	beq	prbuf	sob	r1,1b	br	prbufoctal:	mov	(r4)+,r1	jsr	pc,1f	br	prbuf1:	mov	r1,-(sp)	beq	1f	ash	$-3,r1	bic	$!17777,r1	jsr	pc,1b1:	mov	(sp)+,r0	bic	$!7,r0	add	$'0,r0	movb	r0,(r3)+	rts	pcfloat:	mov	ndfnd,r2	jsr	pc,pfloat	br	prbufscien:	mov	ndfnd,r2	jsr	pc,pscien	br	prbufprbuf:	cmp	r3,sp	blos	1f	tstb	-1(r3)	bne	1f	dec	r3	br	prbuf1:	mov	sp,r2	mov	r4,-(sp)	mov	$' ,-(sp)	mov	width,r1	sub	r3,r1	clrb	(r3)+	add	r2,r1	mov	r1,spaces	ble	1f	tst	rjust	bne	1f2:	jsr	pc,*$_IEH3revp	dec	spaces	bne	2b1:	mov	r2,bufp1:	movb	*bufp,(sp)	beq	1f	inc	bufp	jsr	pc,*$_IEH3revp	br	1b1:	tst	spaces	ble	1f	tst	rjust	beq	1f	mov	$' ,(sp)2:	jsr	pc,*$_IEH3revp	dec	spaces	bne	2b1:	tst	(sp)+	mov	(sp)+,r4	jmp	loopgnum:	clr	ndfnd	clr	r11:	movb	*formp,r0	inc	formp	sub	$'0,r0	cmp	r0,$9.	bhi	1f	inc	ndfnd	mul	$10.,r1	add	r0,r1	br	1b1:	add	$'0,r0	mov	r1,*(r3)+	rts	r3	.bssndigix:	.=.+2width:	.=.+2formp:	.=.+2rjust:	.=.+2ndfnd:	.=.+2bufp:	.=.+2spaces:	.=.+2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -