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

📄 tp1.s

📁 UNIX v6源代码 这几乎是最经典的unix版本 unix操作系统设计和莱昂氏unix源代码分析都是用的该版
💻 S
字号:
/ tap1 -- dec-disk lod/dmp.globl	_localtime, _endnamep = 0mode = 2uid = 4; gid = 5size0 = 7size1 = 8time0 = 10.time1 = 12.tapea = 14.dirsiz = 16.mdirent = 496.	mov	(sp),rnarg	mov	(sp)+,narg	mov	$cmr,command	incb	flu	tst	(sp)+	cmp	narg,$2	bge	1f	mov	$2,narg	br	3f1:	mov	(sp)+,r0	mov	sp,parg1:	movb	(r0)+,r1	beq	3f	mov	$swtab,r22:	cmp	r1,(r2)+	beq	2f	tst	(r2)+	bne	2b	br	useerr2:	jsr	pc,*(r2)+	br	1b3:	jsr	pc,optap	mov	$_end,r4 / string pointer	jsr	pc,setb	jmp	*commandoptap:	tstb	flm	bne	2f	mov	$578.,tapsiz	mov	$192.,ndirent	sys	open; tc; 2	br	3f2:	mov	$-1,tapsiz	mov	$mdirent,ndirent	cmp	command,$cmr	beq	2f	sys	open; mt; 0	br	3f2:	sys	open; mt; 13:	bes	1f	mov	r0,fio	mov	ndirent,r1	ash	$-3,r1	mov	r1,ndentd8	mov	ndirent,r1	mul	$dirsiz,r1	add	$dir,r1	mov	r1,edir	rts	pc1:	jsr	r5,mesg		<Tape open error\n\0>; .even	jmp	donesetcom:	cmp	command,$cmr	bne	useerr	mov	(r5)+,command	rts	r5noflag:	mov	(r5)+,r0	beq	1f	tstb	(r0)	beq	noflag	br	useerr1:	rts	r5useerr:	jsr	r5,mesg		<Bad usage\n\0>; .even	jmp	doneswtab:	'0; dcof	'1; dcof	'2; dcof	'3; dcof	'4; dcof	'5; dcof	'6; dcof	'7; dcof	'c; dcc	'd; dcd	'f; dcf	'i; dci	'm; dcm	'r; dcr	't; dct	'u; dcu	'v; dcv	'w; dcw	'x; dcx	 0; 0dcof:	movb	r1,tcx	movb	r1,mtx	rts	pcdcc:	incb	flc	rts	pcdcf:	incb	flf	rts	pcdcd:	jsr	r5,setcom; cmd	rts	pcdci:	incb	fli	rts	pcdcm:	incb	flm	rts	pcdcu:	incb	flu	jsr	r5,setcom; cmr	rts	pcdcr:	clrb	flu	jsr	r5,setcom; cmr	rts	pcdct:	jsr	r5,setcom; cmt	rts	pcdcv:	incb	flv	rts	pcdcw:	incb	flw	rts	pcdcx:	jsr	r5,setcom; cmx	rts	pccmd:	jsr	r5,noflag; flm; flc; flf; 0	cmp	narg,$2	bgt	1f	jmp	useerr1:	jsr	pc,rddir	jsr	r5,gettape; delete	jsr	pc,wrdir	br	checkcmr:	jsr	r5,noflag; 0	tstb	flc	bne	1f	tstb	flm	bne	1f	jsr	pc,rddir	br	2f1:	jsr	pc,clrdir2:	jsr	pc,getfiles	jsr	pc,update	br	checkcmt:	jsr	r5,noflag; flc; flf; flw; 0	jsr	pc,rddir	tstb	flv	beq	1f	jsr	r5,mesg	<   mode    uid gid tapa    size   date    time name\n\0>; .even1:	jsr	r5,gettape; taboc	br	check1cmx:	jsr	r5,noflag; flc; flf; 0	jsr	pc,rddir	jsr	r5,gettape; xtract	br	donecheck:check1:	jsr	pc,usagedone:	jsr	r5,mesg		<END\n\0>; .even	sys	exitencode:	mov	r2,-(sp)	mov	r4,(r1)	mov	(r5)+,r21:	movb	(r2),(r4)+	jsr	pc,setb	tstb	(r2)+	bne	1b	mov	(sp)+,r2	rts	r5decode:	mov	r2,-(sp)	mov	r1,-(sp)	mov	(r1),r1	mov	(r5)+,r21:	movb	(r1)+,(r2)+	bne	1b	mov	(sp)+,r1	mov	(sp)+,r2	rts	r5setb:	mov	r0,-(sp)	mov	r4,r0	add	$513.,r0	cmp	r0,sp	bhis	2f	bic	$777,r0	cmp	r0,0f	beq	1f	mov	r0,0f	sys	break; 0:..	bes	2f1:	mov	(sp)+,r0	rts	pc2:	jsr	r5,mesg		<Out of core\n\0>; .even	jmp	done

⌨️ 快捷键说明

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