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

📄 f46.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/// f46 -- constant evaluation.globl	getcon.globl	dope.globl	codegetcon:	mov	r0,-(sp)	mov	r2,-(sp)	clr	r2			/ dec . counter	clrf	fr0	movif	$10.,fr1	clr	-(sp)			/ - flag	cmpb	(r1)+,$'+	beq	1f	cmpb	-(r1),$'-	bne	1f	inc	r1	inc	(sp)1:	movb	(r1)+,r0	sub	$'0,r0	cmp	r0,$9	blos	2f	cmp	r0,$'.-'0	bne	1f	dec	r2	br	1b2:	tst	r2	beq	2f	dec	r22:	mulf	fr1,fr0	movif	r0,fr2	addf	fr2,fr0	br	1b1:	tst	r2	bne	1f	dec	r21:	cmp	r0,$'e-'0	beq	2f	cmp	r0,$'d-'0	bne	1f2:	mov	r3,-(sp)	clr	r3	clr	-(sp)	cmpb	(r1),$'-	bne	3f	inc	r1	inc	(sp)	br	2f3:	cmpb	(r1),$'+	bne	2f	inc	r12:	movb	(r1)+,r0	sub	$'0,r0	cmp	r0,$9	bhi	2f	mpy	$10.,r3	add	r0,r3	br	2b2:	tst	(sp)+	beq	2f	neg	r32:	add	r3,r2	mov	(sp)+,r31:	movf	fr1,fr2	add	$1,r2	beq	1f	blt	2f	clr	-(sp)	br	3f2:	mov	pc,-(sp)	neg	r23:	sub	$1,r2	ble	2f	mulf	fr1,fr2	br	3b2:	tst	(sp)+	bne	2f	mulf	fr2,fr0	br	1f2:	divf	fr2,fr01:	tst	(sp)+	beq	1f	negf	fr01:	cmpb	-(r1),$',	bne	1f	movf	fr0,-(sp)	inc	r1	jsr	r5,getcon	movf	(sp)+,fr1		/ a,b -> r1,r01:	mov	(sp)+,r2	mov	(sp)+,r0	rts	r5dope:	cmp	progt,$6		/ test "block data"	bne	1f	rts	r51:	clr	r31:	cmp	r3,symtp	bhis	1f	mov	symtab(r3),r0	bic	$!70,r0	cmp	r0,$20	bne	2f	mov	symtab+2(r3),r0	beq	2f	mov	(r0)+,r1	mov	r1,r2	asl	r2	add	r0,r2	mov	(r2),r0	jsr	r5,code		<d%d:	%d.\n	\0>; .even		r0		r13:	dec	r1	blt	3f	mov	-(r2),r0	bge	4f	jsr	r5,code		<..; \0>; .even	br	3b4:	jsr	r5,code		<%d.; \0>; .even		r0	br	3b3:	mov	symtab(r3),r2	clrb	r2	swab	r2	jsr	r5,code		<%d.\n\0>; .even		r22:	add	$8,r3	br	1b1:	rts	r5

⌨️ 快捷键说明

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