dsw.s

来自「Version 6 Unix 核心源代码 Version 6 Unix 核心源」· S 代码 · 共 96 行

S
96
字号
/ dsw - delete from tty	cmp	(sp)+,$2	blt	1f	tst	(sp)+	mov	(sp)+,0f1:	sys	stat; 0:dot; stbuf	bes	error	mov	stbuf+4,r0	bic	$!60000,r0	cmp	r0,$40000	bne	error	mov	0b,0f	sys	open; 0:..; 0	bes	error	mov	r0,r11:	clrb	buf+17.	mov	r1,r0	sys	read; buf; 16.	bes	done	tst	r0	beq	done	tst	buf	beq	1b	mov	0b,r2	mov	$obuf,r32:	movb	(r2)+,(r3)+	bne	2b	mov	$buf+2,r2	dec	r3	cmpb	-1(r3),$'/	beq	2f	movb	$'/,(r3)+2:	movb	(r2)+,(r3)+	bne	2b	sys	stat; obuf; stbuf	bes	error	bit	$60000,stbuf+4	bne	1b	mov	$buf+2,r22:	tstb	(r2)+	bne	2b	movb	$' ,-(r2)	sub	$buf+1,r2	mov	r2,0f2:	mov	$1,r0	sys	write; buf+2; 0:..	clr	r0	sys	read; ch; 1	cmpb	ch,$'\n	beq	1b	clr	r0	sys	read; ch1; 1	cmpb	ch1,$'\n	beq	3f4:	clr	r0	sys	read; ch; 1	cmpb	ch,$'\n	beq	2b	br	4b3:	cmpb	ch,$'x	beq	done	cmpb	ch,$'y	bne	2b	sys	unlink; obuf	bes	error	br	1bdone:	sys	exiterror:	mov	$1,r0	sys	write; mes; 2	sys	exitdot:	<.\0>mes:	<?\n>	.bssobuf:	.=.+100.stbuf:	.=.+40.buf:	.=.+18.ch:	.=.+1ch1:	.=.+1

⌨️ 快捷键说明

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