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

📄 mkdir.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/ makdir -- make a directory	sys	getuid	mov	r0,uid	mov	sp,r5	tst	(r5)+loop:	tst	(r5)+	dec	(sp)	bgt	1f	sys	exit1:	mov	(r5),r0	mov	$buf1,r1	mov	$buf2,r2	clr	r31:	movb	(r0)+,r4	beq	2f	movb	r4,(r1)+	movb	r4,(r2)+	cmpb	r4,$'/	bne	1b	mov	r2,r3	br	1b2:	movb	$'/,(r1)+	movb	$'.,(r1)+	clrb	(r1)	mov	$dot,dir	tst	r3	beq	1f	mov	$buf2,dir	clrb	(r3)	cmp	r3,$buf2+1	beq	1f	clrb	-(r3)		/ ???1:	tstb	uid	beq	2f	sys	stat; dir:..; stbuf	/ status of parent dir	bes	error	mov	stbuf+4,r0	cmpb	uid,stbuf+7	bne	1f	ash	$-6,r01:	ror	r0	ror	r0	bcc	error			/ no write permission in parent2:	mov	(r5),0f	sys	makdir; 0:..; 140777; 0	bes	error			/ prob already exists	mov	(r5),0f	sys	chown; 0:..; uid:..	mov	(r5),0f	sys	link; 0:..; buf1	bes	error	movb	$'.,(r1)+	clrb	(r1)	mov	dir,0f	sys	link; 0:..; buf1	bec	looperror:	mov	(r5),r0	mov	r0,0f	clr	0f+21:	tstb	(r0)+	beq	1f	inc	0f+2	br	1b1:	mov	$1,r0	sys	write; 0:..; ..	mov	$1,r0	sys	write; ques; 3	br	loopdot:	<.\0>ques:	< ?\n>	.even.bssbuf1:	.=.+100.buf2:	.=.+100.stbuf:	.=.+40.

⌨️ 快捷键说明

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