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

📄 f39.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/// f39 -- i/o statements.globl	sread.globl	swrit.globl	sprin.globl	sback.globl	srewi.globl	sendf.globl	getsym.globl	error.globl	geticon.globl	e2.globl	lvalue.globl	rvalue.globl	iserror.globl	convrt.globl	code.globl	chrtab.globl	blocks.globl	blockp.globl	doend.globl	genop.globl	levzer.globl	dobeg.globl	intexp.globl	ptemp.globl	blocks.globl	blockp.globl	intexp.globl	newline.globl	nelemsprin:	mov	$8.,-(sp)	jsr	r5,getfmt		br 9f	cmp	r0,$36.			/ ,	beq	1f	cmp	r0,$40.			/ =|	bne	8f	clrb	(r1)1:	mov	$34.,r0			/ simulate )	br	2fsread:	mov	$2,-(sp)	br	1fswrit:	clr	-(sp)1:	cmpb	(r1)+,$'(	bne	8f	jsr	r5,intexp	mov	$blocks,blockp	cmp	r0,$34.			/ ), implies unformatted	beq	2f	cmp	r0,$36.			/ ,	bne	8f	jsr	r5,getfmt		br 9f	add	$4,(sp)	cmp	r0,$34.			/ )	bne	8f2:	mov	(sp),r0	mov	iotype(r0),r0	jsr	r5,code		<	%s\n\0>; .even		r01:	tstb	(r1)	beq	9f1:	jsr	r5,list	cmp	r0,$40.			/ |=	beq	9f8:	jsr	r5,error; 41.9:	jsr	r5,code		<	endio\n\0>; .even	tst	(sp)+	rts	r5iotype:	1f	2f	3f	4f	5f1:	<iowu\0>2:	<ioru\0>3:	<iowf\0>4:	<iorf\0>5:	<iowp\0>	.evengetfmt:	movb	(r1),r0	cmpb	chrtab(r0),$4		/ digit	beq	1f	jsr	r5,e2	jsr	r5,iserror		rts r5	mov	r0,-(sp)	jsr	r5,lvalue	mov	$blocks,blockp	br	8f1:	jsr	r5,geticon		br 8f	mov	r0,temp	jsr	r5,ptemp; 'i; temp; line	/ register use of format	jsr	r5,code		<	lval; .%d\n\0>; .even		r0	jsr	r5,getsym	mov	r0,-(sp)8:	mov	(sp)+,r0	tst	(r5)+	rts	r5list:	jsr	r5,lstitm	cmp	r0,$36.			/ ,	beq	list	rts	r5lstitm:	mov	$blocks,blockp	cmpb	(r1),$'(		/ test for sublist	beq	1f	jsr	r5,e2	jsr	r5,iserror		rts r5	mov	r0,-(sp)	clr	-(sp)	tst	(r2)	bne	2f			/ test for name	mov	2(r2),r3	mov	symtab(r3),r0	bic	$!70,r0	cmp	r0,$20			/ test for short list	bne	2f	mov	pc,(sp)	mov	symtab+2(r3),r3	mov	(r3)+,-(sp)	asl	(sp)	add	(sp)+,r3	mov	(r3),r3	jsr	r5,code		<	slist1; d%d\n2:\0>; .even		r32:	jsr	r5,lvalue	tst	(sp)	beq	3f	jsr	r5,code		<	slist3\n\0>; .even3:	mov	$"io,r0	jsr	r5,genop	tst	(sp)+	beq	2f	jsr	r5,code		<\n	slist2; 2b\0>; .even2:	jsr	r5,newline	mov	(sp)+,r0	rts	r51:	inc	r1	jsr	r5,levzer; '=		br  1f			/ yes, implied do	jsr	r5,list	jsr	r5,chkel	jsr	r5,getsym	rts	r51:	cmp	r1,r0	bhis	8f	cmpb	-(r0),$',		/ look backwards	bne	1b	mov	r0,-(sp)	mov	r1,-(sp)	movb	$'),(r0)		/ fake!!	mov	r0,r1	inc	r1	clr	r0	jsr	r5,dobeg		/ get do	jsr	r5,chkel	mov	(sp)+,r0	mov	r1,-(sp)	mov	r0,r1	jsr	r5,list	jsr	r5,chkel	clr	r0	jsr	r5,doend	mov	(sp)+,r1	movb	$',,*(sp)+		/ unfake!!	jsr	r5,getsym	rts	r5chkel:	cmp	r0,$34.			/ )	beq	1f8:	jsr	r5,error; 41.1:	rts	r5sback:	mov	$bksp,r2	br	1fsrewi:	mov	$rewi,r2	br	1fsendf:	mov	$enfl,r21:	mov	r2,-(sp)	jsr	r5,intexp	mov	(sp),r2	jsr	r5,code		<	%s\n\0>; .even		r2	cmp	r0,$40.			/ =|	beq	9f8:	jsr	r5,error; 41.9:	tst	(sp)+	rts	r5bksp:	<bksp\0>rewi:	<rewi\0>enfl:	<enfl\0>

⌨️ 快捷键说明

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