微机原理中在附加段中定义一个字数组查找其中的最大值和最小值

如题所述

Title 附加段中定义一个字数组查找其中最大值、最小值
DATA SEGMENT
ARY DW 025AH,1357H,06B7H,0040H,05C3H,86D0H,720FH,082AH,019DH,0124H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, ES:DATA
ORG 100H
START: MOV CX, 9H ;循环次数=数组元素个数-1
MOV AX, SEG ARY
MOV ES, AX
LEA SI, ARY
MOV AX, ES:[SI] ;最大值初值
MOV BX, ES:[SI] ;最小值初值
SCHMAX: ADD SI, 2
MOV DX, ES:[SI]
CMP DX, AX
JBE SCHMIN
MOV AX, DX
JMP NEXT
SCHMIN: CMP DX, BX
JAE NEXT
MOV BX, DX
NEXT: LOOP SCHMAX
FINISH: INT 3 ;暂停,以便查看运行结果
CODE ENDS
END START

;;运行结果:最大值保存于AX,最小值保存于BX;
;;编译链接生成11-28SCH.exe, 在DOS在Debug中运行通过;
;;程序中的JBE、JAE指令是默认数组元素是无符号数;
;;若数组元素是有符号数,该两条指令改作JLE、JGE 。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答