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

📄 atof.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/ C library -- ascii to floating/	f = atof(p)/	char *p;ldfps = 170100^tststfps = 170200^tst.globl	_atof.globl	csv, cret_atof:	jsr	r5,csv	stfps	-(sp)	ldfps	$200	movf	fr1,-(sp)	clr	-(sp)	clrf	fr0	clr	r2	mov	4(r5),r31:	movb	(r3)+,r0	cmp	$' ,r0	beq	1b	cmpb	r0,$'-	bne	2f	inc	(sp)1:	movb	(r3)+,r02:	sub	$'0,r0	cmp	r0,$9.	bhi	2f	jsr	pc,digit		br 1b	inc	r2	br	1b2:	cmpb	r0,$'.-'0	bne	2f1:	movb	(r3)+,r0	sub	$'0,r0	cmp	r0,$9.	bhi	2f	jsr	pc,digit		dec r2	br	1b2:	cmpb	r0,$'E-'0	beq	3f	cmpb	r0,$'e-'0	bne	1f3:	clr	r4	clr	r1	cmpb	(r3),$'-	bne	3f	inc	r4	inc	r33:	movb	(r3)+,r0	sub	$'0,r0	cmp	r0,$9.	bhi	3f	mul	$10.,r1	add	r0,r1	br	3b3:	tst	r4	bne	3f	neg	r13:	sub	r1,r21:	movf	$one,fr1	mov	r2,-(sp)	beq	2f	bgt	1f	neg	r21:	cmp	r2,$38.	blos	1f	clrf	fr0	tst	(sp)+	bmi	out	movf	$huge,fr0	br	out1:	mulf	$ten,fr1	sob	r2,1b2:	tst	(sp)+	bge	1f	divf	fr1,fr0	br	2f1:	mulf	fr1,fr0	cfcc	bvc	2f	movf	$huge,fr02:out:	tst	(sp)+	beq	1f	negf	fr01:	movf	(sp)+,fr1	ldfps	(sp)+	jmp	cret//digit:	cmpf	$big,fr0	cfcc	blt	1f	mulf	$ten,fr0	movif	r0,fr1	addf	fr1,fr0	rts	pc1:	add	$2,(sp)	rts	pc//one	= 40200ten	= 41040big	= 56200huge	= 77777

⌨️ 快捷键说明

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