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

📄 mm.asm

📁 通过调试的有用的单片机控制程序
💻 ASM
字号:
DATCOUNT EQU    23
DATMAX  DATA    40H
DATMAXH DATA    41H
DATMAXL DATA    42H
DATMIN  DATA    43H
DATMINH DATA    44H
DATMINL DATA    45H
MM:	MOV	B,DATCOUNT	;保存数据个数
	MOVX	A,@DPTR   	;读取第一个数据
	MOV	DATMAX,A	;作为最大值的初始值
	MOV	DATMIN,A	;也作为最小值的初始值
	MOV	A,DPL		;取第一个数据的地址
	MOV	DATMAXL,A	;作为最大值存放地址的初始值
	MOV	DATMINL,A	;也作为最小值存放地址的初始值
	MOV	A,DPH
	MOV	DATMAXH,A
	MOV	DATMINH,A
	MOV	A,B		;取数据个数
	DEC	A		;减一,得到需要比较的次数
	JZ	MME		;只有一个数据,不需要比较
	MOV	R1,A		;保存比较次数
	PUSH	DPL		;保护数据块的首址
	PUSH	DPH
MM1:	INC	DPTR		;指向一个新的数据
	MOVX	A,@DPTR         ;读取这个数据
	MOV	B,A		;保存
	SETB	C		;与最大值比较
	SUBB	A,R6
	JC	MM2		;不超过当前最大值,保持当前最大值
	MOV	DATMAX,B	;超过当前最大值,更新最大值存放地址
	MOV	DATMAXH,DPH	;同时更新最大值存放地址
	MOV	DATMAXL,DPL
	SJMP	MM3
MM2:	MOV	A,B		;与最小值比较
	CLR	C
	SUBB	A,DATMIN
	JNC	MM3		;大于或等于当前最小值,保持当前最小值
	MOV	DATMIN,B	;更新最小值
	MOV	DATMINH,DPH	;更新最小值存放地址
	MOV	DATMINL,DPL
MM3:	DJNZ	R1,MM1		;处理完全部数据
	POP	DPH		;恢复数据首址
	POP	DPL
MME:		RET

⌨️ 快捷键说明

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