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

📄 printf.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/ C library -- printf.globl	_printf.globl	pfloat.globl	pscien.globl	_putchar.globl	csv.globl	cret_printf:	jsr	r5,csv	sub	$126.,sp	mov	4(r5),formp		/ format	mov	r5,r4	add	$6,r4			/ arglistloop:	movb	*formp,r0	beq	1f	inc	formp	cmp	r0,$'%	beq	2f3:	mov	r0,(sp)	jsr	pc,*$_putchar	br	loop1:	jmp	cret2:	clr	rjust	clr	ndigit	cmpb	*formp,$'-	bne	2f	inc	formp	inc	rjust2:	jsr	r3,gnum	mov	r1,width	clr	ndfnd	cmp	r0,$'.	bne	1f	jsr	r3,gnum	mov	r1,ndigit1:	mov	sp,r3	add	$4,r3	mov	$swtab,r11:	mov	(r1)+,r2	beq	3b	cmp	r0,(r1)+	bne	1b	jmp	(r2)	.dataswtab:	decimal;	'd	octal;		'o	hex;		'x	float;		'f	scien;		'e	charac;		'c	string;		's	logical;	'l	remote;		'r	0;  0	.textdecimal:	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)+	bne	prbuf	dec	r3	br	prbufstring:	mov	ndigit,r1	clr	r3	mov	(r4),r21:	tstb	(r2)+	beq	1f	inc	r3	sob	r1,1b1:	mov	(r4)+,r2	br	prstrhex:	mov	$1f,r2	.data1:	-4; !17	.text	br	2foctal:	mov	$1f,r2	.data1:	-3; !7	.text2:	mov	(r4)+,r1	beq	2f	tst	ndigit	beq	2f	movb	$'0,(r3)+2:	clr	r0	jsr	pc,1f	br	prbuf1:	mov	r1,-(sp)	ashc	(r2),r0	beq	1f	jsr	pc,1b1:	mov	(sp)+,r0	bic	2(r2),r0	add	$'0,r0	cmp	r0,$'9	ble	1f	add	$'A-'0-10.,r01:	movb	r0,(r3)+	rts	pcfloat:	mov	ndigit,r0	mov	ndfnd,r2	jsr	pc,pfloat	br	prbufscien:	mov	ndigit,r0	mov	ndfnd,r2	jsr	pc,pscien	br	prbufremote:	mov	(r4)+,r4	mov	(r4)+,formp	jmp	loopprbuf:	mov	sp,r2	add	$4,r2	sub	r2,r3prstr:	mov	r4,-(sp)	mov	$' ,-(sp)	mov	r3,r4	neg	r3	add	width,r3	ble	1f	tst	rjust	bne	1f2:	jsr	pc,*$_putchar	sob	r3,2b1:	tst	r4	beq	2f1:	movb	(r2)+,(sp)	jsr	pc,*$_putchar	sob	r4,1b2:	tst	r3	ble	1f	mov	$' ,(sp)2:	jsr	pc,*$_putchar	sob	r3,2b1:	tst	(sp)+	mov	(sp)+,r4	jmp	loopgnum:	clr	ndfnd	clr	r11:	movb	*formp,r0	inc	formp	sub	$'0,r0	cmp	r0,$'*-'0	bne	2f	mov	(r4)+,r0	br	3f2:	cmp	r0,$9.	bhi	1f3:	inc	ndfnd	mul	$10.,r1	add	r0,r1	br	1b1:	add	$'0,r0	rts	r3.bsswidth:	.=.+2formp:	.=.+2rjust:	.=.+2ndfnd:	.=.+2ndigit:	.=.+2

⌨️ 快捷键说明

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