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

📄 数据块排序(增序).asm

📁 sort.rar数据块排序(增序)
💻 ASM
字号:
;***************双字节数据块排序(增)****************
;在源地址完成排序(增序)
;占用A、R1~R7      255个数据
SORT:   MOV     R0,#040H ;数据块的首址在R0中,
        MOV     R7,#02H ;字节数在R7中
     	MOV	A,R7
	MOV	R5,A	;比较次数初始化
SRT1:	CLR	F0	;交换标志初始化
	MOV	A,R5	;取上遍比较次数
	DEC	A	;本遍比上遍减少一次
	MOV	R5,A	;保存本遍次数
	MOV	R2,A	;复制到计数器中
	JZ	SRT5	;若为零,排序结束
	MOV	06FH,R0	;保存数据指针
SRT2:   MOV	A,@R0	;读取一个数据
	MOV	R3,A    ;H
	INC	R0	;指向下一个数据
	MOV	A,@R0	;;再读取一个数据
	MOV	R4,A    ;L
        INC     R0
        MOV     A,@R0
        MOV     R1,A    ;H
        INC     R0
        MOV     A,@R0   ;
        MOV     R6,A    ;L
	CLR	C
	SUBB	A,R4	;比较两个数据的大小
        MOV     B,A
        MOV     A,R1
        SUBB    A,R3
	JNC	SRT4	;顺序正确(增序或相同),不必交换
	SETB	F0	;设立交换标志
	MOV	A,R4	;将两个数据交换位置
	MOV	@R0,A
	DEC	R0
	MOV	A,R3
        MOV     @R0,A
        DEC     R0
        MOV     A,R6
	MOV	@R0,A
        DEC     R0
        MOV     A,R1
        MOV     @R0,A
        INC     R0
	INC	R0
        INC     R0	;指向下一个数据
SRT4:   DEC     R0
        DJNZ	R2,SRT2	;完成本遍的比较次数
	MOV	R0,06FH ;恢复数据首址
	JB	F0,SRT1	;本遍若进行过交换,则需继续排序
SRT5:	NOP       ;RET		;排序结束
        CLR       C
	RET

⌨️ 快捷键说明

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