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

📄 单字节无符号数据块排序(增序).txt

📁 实用子程序.rar本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了重大修订
💻 TXT
字号:
;    (34)  标号:  SORT    功能:单字节无符号数据块排序(增序)  耗时超长 

;入口条件:数据块的首址在R0中,字节数在R7中。

;出口信息:完成排序(增序)
;影响资源:PSW、A、R2~R6      堆栈需求:  2字节

SORT:	MOV	A,R7
	MOV	R5,A	;比较次数初始化
SRT1:	CLR	F0	;交换标志初始化
	MOV	A,R5	;取上遍比较次数
	DEC	A	;本遍比上遍减少一次
	MOV	R5,A	;保存本遍次数
	MOV	R2,A	;复制到计数器中
	JZ	SRT5	;若为零,排序结束
	MOV	A,R0	;保存数据指针
	MOV	R6,A
SRT2:	MOV	A,@R0	;读取一个数据
	MOV	R3,A
	INC	R0	;指向下一个数据
	MOV	A,@R0	;再读取一个数据
	MOV	R4,A

CLR	C
	SUBB	A,R3	;比较两个数据的大小
	JNC	SRT4	;顺序正确(增序或相同),不必交换
	SETB	F0	;设立交换标志
	MOV	A,R3	;将两个数据交换位置
	MOV	@R0,A
	DEC	R0
	MOV	A,R4
	MOV	@R0,A
	INC	R0	;指向下一个数据
SRT4:	DJNZ	R2,SRT2	;完成本遍的比较次数
	MOV	A,R6	;恢复数据首址
	MOV	R0,A
	JB	F0,SRT1	;本遍若进行过交换,则需继续排序
SRT5:	RET		;排序结束
	END

⌨️ 快捷键说明

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