form3.s

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

S
148
字号
/	esub/	r1 = pointer to input string/esub:	mov	r1,-(sp)	tst	switch	beq	1f	mov	opointer,r1	jsr	pc,putword1:	tst	iflag	beq	1f	mov	$2,tflag	jmp	interrupt1:	inc	switch	mov	$10.,r0	jsr	pc,allocate	mov	r1,r0	mov	opointer,r1	jsr	pc,putword	mov	(sp)+,r1	jsr	pc,scan	tst	iflag	beq	1f	mov	$3,tflag	jmp	interrupt1:	mov	r2,-(sp)	mov	r1,r0	mov	ipointer,r1	jsr	pc,putword	mov	opointer,r1	jsr	pc,pop	bec	9f; 4; 9:	mov	r0,-(sp)	/last output	mov	asmem,r1	jsr	pc,getsp	bes	2f5:	clr	curlyf	mov	(sp),r1	mov	r0,r2	jsr	pc,release6:	mov	opointer,r1	jsr	pc,pop	bec	4f	clr	switch4:	mov	r2,r1	jsr	pc,rewind	tst	(sp)+	mov	(sp)+,r2	rts	pc/	not in memory2:	mov	curly,r1	jsr	pc,getsp	bes	2f	br	5b2:	mov	(sp),r1	jsr	pc,rewind	mov	$'\[,r01:	jsr	r5,tfoput	jsr	pc,getchar	bec	1b	mov	$'\],r0	jsr	r5,tfoput	mov	$10.,r0	jsr	pc,allocate	mov	r1,r2	mov	(sp),r0	tst	curlyf	beq	1f	clr	curlyf	mov	curly,r1	jsr	pc,addentry	br	2f1:	mov	asmem,r1	jsr	pc,whead	jsr	pc,addentry2:	mov	r2,r1	jsr	pc,accept	br	6b///	earg/	r0 = number in ascii/earg:	tst	iflag	beq	1f	mov	$4,tflag	jmp	interrupt1:	mov	r1,-(sp)	inc	argf	sub	$'0,r0	asl	r0	mov	arg(r0),r1	beq	5f4:	mov	(sp),r0	mov	r1,(sp)	mov	ipointer,r1	jsr	pc,putword	mov	opointer,r1	jsr	pc,pop	bec	3f	clr	switch3:	mov	(sp)+,r1	jsr	pc,rewind	jsr	pc,scan	mov	r0,-(sp)	mov	ipointer,r1	jsr	pc,pop	bec	9f; 4; 9:	mov	r0,r1	clr	argf	clr	curlyf	mov	(sp)+,r0	rts	pc5:	mov	r0,-(sp)	mov	$'\[,r0	jsr	r5,tfoput	mov	(sp),r0	asr	r0	add	$'0,r0	jsr	r5,tfoput	mov	$'\],r0	jsr	r5,tfoput	mov	$10.,r0	jsr	pc,allocate	mov	(sp)+,r0	mov	r1,arg(r0)	jsr	pc,accept	br	4b

⌨️ 快捷键说明

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