汇编语言寻找最大数(有/无符号,最大/最小)
在DATA1开始的存储区中存放了100个8位无符号数,找出其中最大数存放入MAX单元中
	MOV BX,OFFISET DATA1 		;取得DATA1的偏移地址
	MOV AX,[BX]			;给AX赋一个初值 用于最开始的比较
	MVO CX,93H			;计数顺序
P1:	INC BX				;指向下一个数
	CMP AX,[BX]			;比较两个数
	JAE NEXT			;无符号数条件转移(AX>=BX)发生转移
	MOV AX,[BX]			;JAE未发生跳转说明AX<BX 把较大的[BX]赋值给AX
NEXT:	DEC CX				;计数器减一
	JNZ PI				;判断 计数器是否到0
	MOV MAX,AL			;大功告成复制
	HLT
如果题目中
将100个改成200个我们只需要修改CX计数器的值改为C7(199)就ok
如果题目中将
大于改成小于MAX改为MIN我们只需要将JAE改为JB即可
如果题目中说存放的是有符号数的话,我们只需要使用带符号的比较指令就可以轻松完成
JGE 有符号转移指令 目的操作数>=原操作数 发生转移
CMP AX,BX
JGE NEXT	;AX>=BX 发生转移
JL 目的操作数 < 原操作数发生转移
MOV AX,BX
JL NEXT  ;AX<BX 发生转移
附: 跳转指令规则快速记忆表
无符号
| J | A | B | E | N | 
|---|---|---|---|---|
| JMP | 大于 | 小于 | 等于 | 取反 | 
例子 JAE
CMP AX,BX
JAE NEXT  ;AX>=BX 发送跳转
有符号
| J | G | L | E | N | 
|---|---|---|---|---|
| JMP | 大于 | 小于 | 等于 | 取反 | 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号