fxi.s

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

S
146
字号
/// quicker sort/	mov	$base,r1/	mov	$base+[n*width],r2/	mov	$width,r3/	jsr	pc,qsort/	r0,r1,r2,r3,r4 are used.globl	qsort.globl	compareqsort:	mov	r5,-(sp)	mov	r4,-(sp)	bit	$1,r3	bne	1f	bit	$1,r1	bne	1f	cmp	r3,$2	bne	2f	mov	$exch1,exchange	br	3f2:	mov	r3,r5	clc	ror	r5	mov	r5,width	mov	$exchw,exchange	br	3f1:	mov	$exchb,exchange3:	jsr	pc,qs1	mov	(sp)+,r4	mov	(sp)+,r5	rts	pcqs1:	mov	r1,r5	neg	r5	add	r2,r5	bgt	1f	rts	pc1:	clr	r4	dvd	r3,r4	asr	r4	mpy	r3,r4	mov	r5,r4	add	r1,r4	mov	r1,-(sp)	mov	r2,-(sp)loop:	cmp	r1,r4	bhis	loop1	mov	r1,r0	jsr	pc,compare	bgt	loop1	add	r3,r1	br	looploop1:	cmp	r2,r4	blos	1f	sub	r3,r2	mov	r2,r0	jsr	pc,compare	bge	loop1	jsr	pc,*exchange	cmp	r1,r4	bne	loop	mov	r2,r4	br	loop1:	cmp	r1,r4	beq	1f	jsr	pc,*exchange	mov	r1,r4	br	loop11:	mov	(sp)+,r2	mov	r4,-(sp)	mov	r4,r1	add	r3,r1	mov	r2,r0	sub	r1,r0	sub	2(sp),r4	cmp	r0,r4	blo	1f	mov	(sp)+,r0	mov	(sp)+,r4	mov	r1,-(sp)	mov	r2,-(sp)	mov	r0,r2	mov	r4,r11:	jsr	pc,qs1	mov	(sp)+,r2	mov	(sp)+,r1	br	qs1exchb:	mov	r1,-(sp)	mov	r2,-(sp)	mov	r3,r51:	movb	(r1),r0	movb	(r2),(r1)+	movb	r0,(r2)+	sob	r5,1b	mov	(sp)+,r2	mov	(sp)+,r1	rts	pcexchw:	mov	r1,-(sp)	mov	r2,-(sp)	mov	width,r51:	mov	(r1),r0	mov	(r2),(r1)+	mov	r0,(r2)+	sob	r5,1b	mov	(sp)+,r2	mov	(sp)+,r1	rts	pcexch1:	mov	(r1),r0	mov	(r2),(r1)	mov	r0,(r2)	rts	pc.bssexchange: .=.+2width:	.=.+2

⌨️ 快捷键说明

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