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

📄 ecvt.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
ldfps = 170100^tststfps = 170200^tst/ ftoa -- basic g fp conversion.globl	_ndigit.globl ecvt.globl fcvt/ ecvt converts fr0 into decimal/ the string of converted digits is pointed to by r0./ the number of digits are specified by _ndigit/ r2 contains the decimal point/ r1 contains the sign.globl	_ecvt, _fcvt_ecvt:	mov	r5,-(sp)	mov	sp,r5	mov	r2,-(sp)	movf	4(r5),fr0	mov	14(r5),_ndigit	jsr	pc,ecvt	br	1f_fcvt:	mov	r5,-(sp)	mov	sp,r5	mov	r2,-(sp)	movf	4(r5),fr0	mov	14(r5),_ndigit	jsr	pc,fcvt1:	mov	r2,*16(r5)	mov	r1,*20(r5)	mov	(sp)+,r2	mov	(sp)+,r5	rts	pcfcvt:	clr	eflag	br	1fecvt:	mov	$1,eflag1:	stfps	-(sp)	ldfps	$200	movf	fr0,-(sp)	movf	fr1,-(sp)	mov	r3,-(sp)	mov	$buf,r1	clr	r2	clr	sign	tstf	fr0	cfcc	beq	zer	bgt	1f	inc	sign	negf	fr01:	modf	$one,fr0	tstf	fr1	cfcc	beq	lssgtr:	movf	fr0,-(sp)	movf	fr1,fr01:	mov	$buftop,r31:	modf	tenth,fr0	movf	fr0,fr2	movf	fr1,fr0	addf	$epsilon,fr2	modf	$ten,fr2	movfi	fr3,r0	add	$'0,r0	movb	r0,-(r3)	inc	r2	tstf	fr0	cfcc	bne	1b/	mov	$buf,r11:	movb	(r3)+,(r1)+	cmp	r3,$buftop	blo	1b/	movf	(sp)+,fr0	br	padzer:	inc	r2	br	padlss:	dec	r2	modf	$ten,fr0	tstf	fr1	cfcc	beq	lss	inc	r2	jsr	pc,digit1pad:	jsr	pc,digit		br out	br	paddigit:	cmp	r1,$buftop	bhis	1f	add	$2,(sp)	modf	$ten,fr0digit1:	movfi	fr1,r0	add	$'0,r0	movb	r0,(r1)+1:	rts	pc/out:	mov	$buf,r0	add	_ndigit,r0	tst	eflag	bne	1f	add	r2,r01:	cmp	r0,$buf	blo	outout	movb	(r0),r3	add	$5,r3	movb	r3,(r0)1:	cmpb	(r0),$'9	ble	1f	movb	$'0,(r0)	cmp	r0,$buf	blos	2f	incb	-(r0)	br	1b2:	movb	$'1,(r0)	inc	r21:outout:	mov	sign,r1	mov	_ndigit,r0	tst	eflag	bne	1f	add	r2,r01:	clrb	buf(r0)	mov	$buf,r0	mov	(sp)+,r3	movf	(sp)+,fr1	movf	(sp)+,fr0	ldfps	(sp)+	rts	pcepsilon = 037114one	= 40200ten	= 41040	.datatenth:	037314; 146314; 146314; 146315_ndigit:10.	.bssbuf:	.=.+40.buftop:sign:	.=.+2eflag:	.=.+2	.text

⌨️ 快捷键说明

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