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

📄 io2.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/// io2 -- format cracker.globl	iowf.globl	iowp.globl	iorfiowp:	mov	(sp)+,formp	mov	$6,r1	br	1fiowf:	mov	(sp)+,formp	tst	(sp)+	mov	(sp)+,r11:	jsr	r5,setio; 2		/ write	clr	rdflg	br	1fiorf:	mov	(sp)+,formp	tst	(sp)+	mov	(sp)+,r1	jsr	r5,setio; 1		/ read	mov	pc,rdflg1:	clr	binflg	clr	slcnt	clr	itmfnd	clr	scale	clr	itmflg	mov	$pbuf,ppar	mov	$-1,llpcnt	jsr	r5,fmtchr	mov	formp,llp	cmp	r0,$'(	beq	crack	jsr	r5,rerr; 106.	sys	exitcrack:	clr	ngflg	mov	$1,repitem:	jsr	r5,fmtchr	cmp	$' ,r0	beq	item	cmp	$'\t,r0	beq	item	jsr	r5,switch; mswitch	jsr	r5,rerr; 105.	sys	exitmswitch:	'a; afmt	'f; ffmt	'e; efmt	'g; gfmt	'd; dfmt	'i; ifmt	'l; lfmt	'h; hfmt	'x; xfmt	'p; scal	'-; minus	'0; numb	'1; numb	'2; numb	'3; numb	'4; numb	'5; numb	'6; numb	'7; numb	'8; numb	'9; numb	',; crack	'/; slash	'(; lpar	'); rpar	'"; quote	' ; item	0; 0minus:	jsr	r5,gnum	neg	r0	br	1fnumb:	dec	formp	jsr	r5,gnum1:	mov	r0,rep	br	itemscal:	mov	rep,scale	br	crackelist:	tst	_nocr	beq	1f	tst	rdflg	bne	1f	jsr	r5,eorec1	br	2f1:	jsr	r5,eorec2:	jmp	*(r4)+slash:	jsr	r5,eorec	br	crackrpar:	mov	ppar,r0	cmp	r0,$pbuf		/ see if outer parens	blos	2f	dec	-2(r0)	ble	1f		/ no repeats left	mov	-4(r0),formp	/ reset scan	br	crack1:	sub	$4,ppar	br	crack		/ pop parens2:	jsr	r5,getitm		br elist	tst	itmfnd	bne	1f	jsr	r5,rerr; 107.	sys	exit1:	jsr	r5,eorec	inc	itmflg	mov	llpcnt,r1	bpl	1f	mov	llp,formp	jmp	crack1:	mov	llp,r2	mov	r2,formp	mov	ppar,r0	mov	r2,(r0)+	mov	r1,(r0)+	mov	r0,ppar	jbr	crack1lpar:	mov	ppar,r0	cmp	r0,$pbuf+10	blo	1f	jsr	r5,rerr; 108.	sys	exit1:	mov	formp,(r0)+	mov	rep,(r0)+	mov	r0,ppar	cmp	r0,$pbuf+4	bhi	1f	mov	formp,llp	mov	rep,llpcnt1:	jmp	crackquote:	inc	ngflg	mov	$44,-(sp)	br	3fhfmt:	inc	ngflg	mov	$40,-(sp)	br	3fxfmt:	inc	ngflg	mov	$34,-(sp)	br	3fafmt:	mov	$30,-(sp)	br	1fifmt:	clr	-(sp)	br	1flfmt:	mov	$4,-(sp)1:	jsr	r5,gnum	mov	r0,width	br	2fffmt:	mov	$10,-(sp)	br	1fdfmt:	mov	$14,-(sp)	br	1fgfmt:	mov	$20,-(sp)	br	1fefmt:	mov	$24,-(sp)1:	jsr	r5,gnum	mov	r0,width4:	jsr	r5,fmtchr	cmp	r0,$' /	beq	4b	cmp	r0,$'.	bne	err1	jsr	r5,gnum	mov	r0,ndig2:	inc	itmfnd3:	add	$cvsw,(sp)	tst	rdflg	beq	1f	add	$2,(sp)1:	mov	*(sp)+,-(sp)1:	tst	ngflg	bne	2f	jsr	r5,getitm		br 1f2:	clr	gflg	jsr	r5,*(sp)	dec	rep	bgt	1b	tst	(sp)+	br	crack11:	tst	(sp)+	jmp	elistcvsw:	iocv; iicv	/ 0	locv; licv	/ 4	focv; ficv	/ 10	docv; dicv	/ 14	gocv; gicv	/ 20	eocv; eicv	/ 24	aocv; aicv	/ 30	xocv; xicv	/ 34	hocv; hicv	/ 40	qocv; qicv	/ 44crack1:	jmp	crackerr1:	jsr	r5,rerr; 109.	sys	exit

⌨️ 快捷键说明

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