实验05求最大值和最小值实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五求最大值和最小值

实验日期: 2013-11-13

学校:安徽农业大学经济技术学院星期:三节次: 1、2 实验课时:姓名:江珊珊学号:专业、班级:通信三班得分:

1、实验目的

(1)、学习子程序的定义和调用方法。

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

2、实验内容

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

3、实验步骤

(1)在内存4000H~4007H中写入任意八个字节的数。

(2开始运行程序。

4、实验运行结果:

编程代码如下所示:

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

结果截图如下所示:

5、思考题解答

按如下要求编写程序:

设4000H单元开始有10个数,编程计算这十个数的平均值(存放在DH中),并统计这十个数中,大于平均值的个数(存放在DL中)。找出这十个数的最大值和最小值(存在在BH和BL中)(1)其求平均值并将10个数中大于平均值的个数保存到DL中的编程如下所示:

MOV SI,4000H

MOV AX,0

MOV BH,0

ABC:MOV BL,[SI]

ADD AX,BX

INC SI

LOOP ABC

MOV CL,10

DIV CL

MOV DH,AL

MOV SI,4000H

MOV DL,0

CON1:LODSB

JNA X1

INC DL

X1:LOOP CON1

MOV AH,4CH

INT 21H

其执行结果截图(一)如下所示:

(2)求10个数中的最大和最小值分别放在BH和BL中:其编程如下所示:

ORG 0100H

START0: MOV SI,4000H

MOV CX,0010

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

其运行结果截图(二)如下:

2、在变量BUFF中存放10个有符号字节数,编程实现如下功能:统计此数据区中正数、负数和零的个数,并分别将统计结果保存在字节变量AH、AL和BL。

此程序的编程如下所示:(取DB为20H,30H,40H,50H,60H,70H,0,90H,0,0B2H)

ASSUME CS:CSEG,SS:SSEG,DS:DSEG

START:MOV AX,DSEG

MOV DS,AX

MOV AH,0

MOV DH,0

MOV SI,OFFSET BUFF

MOV CX,10

LLL1:MOV AL,[SI]

INC SI

JZ ZERO

JG ZHENGSHU

FUSHU:INC BH

JMP LOOP11

ZERO:INC DH

JMP LOOP11

ZHENGSHU:INC AH

LOOP11:LOOP LLL1

MOV AL,BH

MOV BL,DH

HLT

其运行结果截图如下所示:

(注:本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)

相关文档
最新文档