form2.s

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

S
93
字号
/	scan/	r1 = pointer to input header/	r0 = pointer to output header/	switch = 0 real output/		not 0  output to r0scan:	mov	r0,-(sp)	mov	r1,-(sp)1:	mov	(sp),r1	jsr	pc,getchar	bes	5f	cmpb	r0,$'\\	beq	3f	cmpb	r0,$'\[	beq	4f	cmpb	r0,$'\{	beq	4f	cmpb	r0,$'\]	beq	1f	cmpb	r0,$'\}	beq	7f	cmpb	r0,$'\n	bne	6f	jsr	pc,lookchar	bes	5f	movb	$'\n,r06:	tst	switch	beq	2f	mov	2(sp),r1	jsr	pc,putchar	br	1b2:	jsr	r5,putc	br	1b3:	jsr	pc,getchar	br	6b/	have [ or {4:	mov	r(r1),-(sp)	jsr	pc,getchar	bes	1f	cmpb	r0,$'0	blt	4f	cmpb	r0,$'9	bgt	4f	jsr	pc,getchar	cmpb	r0,$'\]	beq	3f	cmpb	r0,$'\}	beq	3f4:	mov	(sp)+,r(r1)	mov	2(sp),r0	jsr	pc,esub	mov	r1,(sp)	mov	r0,2(sp)	br	1b/	have arg3:	tst	switch	beq	2f	mov	opointer,r1	mov	4(sp),r0	jsr	pc,putword	mov	2(sp),r12:	mov	(sp)+,r(r1)	jsr	pc,getchar	inc	r(r1)	/skip ]	jsr	pc,earg	br	1b5:	tst	argf	bne	1f	mov	ipointer,r1	jsr	pc,pop	bes	1f	mov	r0,(sp)	br	1b7:	inc	curlyf1:	mov	(sp)+,r1	mov	(sp)+,r0	rts	pc

⌨️ 快捷键说明

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