实验05求最大值和最小值

  • 格式:docx
  • 大小:12.85 KB
  • 文档页数:2

实验五求最大值和最小值(四课时)
一、实验目的
1、学习子程序的定义和调用方法。

2、掌握子程序设计、调试。

二、实验内容
对内存中给定的几个无符号字节数,求其最大值和最小值。

三、实验程序框图
四、实验步骤
(1)在内存4000H~4007H中写入任意八个字节的数。

(2开始运行程序。

五、实验程序清单
ORG 0100H
START0: MOV SI,4000H
MOV CX,0008
MAXMIN:MOV BH,[SI]
MOV BL,BH
CON2: LODSB
CMP AL,BH
JNA X1
MOV BH,AL
JMP X2
X1: CMP AL,BL
JNB X2
MOV BL,AL
X2: LOOP CON2
MOV AH,4CH
INT 21H
实验开始前,先在数据段偏移地址为4000H起始地址的存放8个数字,如图
双击0B56:4000所在的第一行,弹出如下对话框
在对话框的L中填入4000H单元的内容,在H中填入4001H单元的内容,依次类推。

填入8个数字之后,单步运行程序。

注意观察程序运行的步骤,完成思考题的第一题
六、实验思考题
1、程序运行后,最大数和最小数分别存放在何处?试解释X1和X2标号所在的程序段含义
2、程序开始时,为什么把第一个数既放到BH中,又放到BL中?
3、按如下要求编写程序:
设4000H单元开始有10个数,编程计算这十个数的平均值(存放在DH中),并统计这十个数中,大于平均值的个数(存放在DL中)。

找出这十个数的最大值和最小值(存在在BH和BL中)。