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

📄 db2.s

📁 Version 6 Unix 核心源代码 Version 6 Unix 核心源代码
💻 S
字号:
/ db2 -- debuggerlookupn:	cmp	symbol,$'.	bne	1f	mov	dot,taddr	rts	pc1:	tst	error	beq	1f	rts	pc1:	mov	r2,-(sp)	mov	namstrt,r1	mov	namsiz,r2	jsr	pc,1f	mov	(sp)+,r2	rts	pc1:	mov	$symbol,r0	cmp	(r0)+,(r1)+	bne	2f	cmp	(r0)+,(r1)+	bne	3f	cmp	(r0)+,(r1)+	bne	4f	cmp	(r0)+,(r1)+	bne	5f	tst	(r1)+	mov	(r1)+,taddr	rts	pc2:	tst	(r1)+3:	tst	(r1)+4:	tst	(r1)+5:	cmp	(r1)+,(r1)+	cmp	r1,r2	blo	1b	inc	error	clr	taddr	rts	pclookupv:	mov	r5,-(sp)	mov	$nambuf,r5	clr	r2	mov	$177777,r31:	cmp	r5,namsiz	bhis	4f	mov	12(r5),r1	sub	r0,r1	neg	r1	blt	3f	cmp	r1,r3	bhi	3f	cmp	r1,$4000	bhis	3f	cmp	r2,r5	bhi	3f	mov	r1,r3	mov	r5,r23:	add	$14,r5	br	1b4:	mov	(sp)+,r5	rts	pcget:	mov	*(r5)+,r0	jsr	r5,remap	tst	error	bne	2f	mov	r0,0f	mov	curfin,r0	sys	seek; 0:0; 0	bec	1f2:	inc	error	rts	r51:	mov	curfin,r0	sys	read; temp; 2	bes	2b	tst	r0	beq	2b	mov	temp,r0	rts	r5remap:	mov	dbfin,curfin	cmp	getoff,$1024.	bne	1f	cmp	r0,txtsiz	bhis	2f	add	$20,r0	mov	symfin,curfin	rts	r52:	cmp	r0,rtxtsiz	blo	3f	sub	rtxtsiz,r0	cmp	r0,datsiz	bhis	2f	add	$1024.,r0	rts	r52:	add	rtxtsiz,r0	neg	r0	cmp	r0,stksiz	bhi	3f	neg	r0	add	datsiz,r0	add	stksiz,r0	add	$1024.,r0	rts	r51:	add	getoff,r0	rts	r53:	inc	error	rts	r5printo:	mov	$obuf+6,r1	clr	r21:	inc	r2	movb	r0,-(r1)	bicb	$!7,(r1)	bisb	$'0,(r1)	clc	ror	r0	asr	r0	asr	r0	bne	1b	mov	r2,0f+2	mov	r1,0f	mov	$1,r0	sys	write; 0:obuf; 6	rts	pcmesg:	movb	(r5)+,r0	beq	1f	jsr	pc,putc	br	mesg1:	inc	r5	bic	$1,r5	rts	r5pnl:	jsr	r5,mesg; <\n\0>	rts	pcpsp:	jsr	r5,mesg; < \0>	rts	pcpstar:	jsr	r5,mesg; <*\0>	rts	pcplp:	jsr	r5,mesg; <(\0>	rts	pcprp:	jsr	r5,mesg; <)\0>	rts	pcpb:	jsr	r5,mesg; <b\0>	rts	pcpcom:	jsr	r5,mesg; <,\0>	rts	pcput:	mov	*(r5)+,r0	jsr	r5,remap	tst	error	bne	2f	cmp	curfin,dbfin	bne	2f	mov	r0,0f	mov	dbfout,r0	bne	1f2:	tst	(r5)+3:	inc	error	rts	r51:	tst	error	bne	3b	sys	seek; 0:0; 0	bes	2b	mov	(r5)+,0f	mov	dbfout,r0	tst	bytemod	beq	1f	mov	$1,0f+2	br	2f1:	mov	$2,0f+22:	sys	write; 0:0; 2	bes	3b	rts	r5decodadr:	mov	r0,r3	mov	r3,-(sp)	bic	$!10,(sp)	bic	$!7,r0	cmp	r0,$7	beq	pcadr7:	mov	r3,r0	asr	r0	asr	r0	asr	r0	bic	$!6,r0	jmp	*1f(r0)1:	simp	incr	decr	indxsimp:	tst	(sp)	beq	1f	jsr	pc,plp1:	jsr	pc,preg	tst	(sp)+	beq	9f	jsr	pc,prp	br	9fincr:	tst	(sp)+	beq	1f	jsr	pc,pstar1:	jsr	pc,plp	jsr	pc,preg	jsr	r5,mesg; <)+\0>; .even	br	9fdecr:	tst	(sp)+	beq	1f	jsr	pc,pstar1:	jsr	r5,mesg; <-(\0>; .even	jsr	pc,preg	jsr	pc,prp	br	9findx:	tst	(sp)+	beq	1f	jsr	pc,pstar1:	jsr	pc,get1	jsr	pc,pname	jsr	pc,plp	jsr	pc,preg	jsr	pc,prp	br	5fpcadr:	mov	r3,r0	bit	$20,r3	beq	7b	tst	(sp)+	beq	1f	jsr	pc,pstar1:	bit	$40,r3	bne	6f	jsr	r5,mesg; <$\0>	jsr	pc,get1	jsr	pc,pname	br	5f6:	jsr	pc,get1	add	$2,r0	add	r1,r0	mov	$3,r1	jsr	pc,pname	br	5f9:	tst	(r5)+	clr	r0	rts	r55:	mov	$2,r0	rts	r5preg:	mov	r3,r0	bic	$!7,r0	asl	r0	mov	regtab(r0),obuf	mov	$1,r0	sys	write; obuf; 2	rts	pcregtab:	"r0	"r1	"r2	"r3	"r4	"r5	"sp	"pcpname:	mov	r5,-(sp)	mov	r3,-(sp)	mov	r1,-(sp)	jsr	pc,lookupv	tst	r2	beq	5f	cmp	(sp),$1	bne	1f	tst	r3	bne	5f1:	mov	r2,r1	mov	$8,-(sp)	mov	r0,r51:	movb	(r1)+,r0	beq	1f	jsr	pc,putc	dec	(sp)	bne	1b1:	tst	(sp)+	cmp	12(r2),r5	beq	1f	blt	2f	jsr	r5,mesg; <-\0>	br	3f2:	jsr	r5,mesg; <+\0>3:	mov	r3,r05:	jsr	pc,printo1:	tst	(sp)+	mov	(sp)+,r3	mov	(sp)+,r5	rts	pcget1:	mov	*(r5)+,r1	add	$2,r1	mov	r1,temp	jsr	r5,get; temp	rts	pc

⌨️ 快捷键说明

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