- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验报告
课程名称微机原理与汇编语言
学院计算机工程学院
班级11计3Z
学号********
姓名王祖陆
2013年05月27日
设计一个汇编语言程序,具体内容如下:
一、功能:
(1)从键盘输入N个带符号数(N的值也从键盘输入,N=65535);带
符号数为16位二进制数范围);
(2)找出这N个数中的最大值和最小值,并且显示出来;
(3)计算这N个数的平均值,并且显示出来。
二、程序分析:
(1)需要对程序进行N的值的输入,来确定循环的次数,决定了循环的
次数就可以确定数组元素的个数,为下一步数组元素的值的输入做
准备。
(2)由(1)中确定N的值来决定循环的次数,每一次的循环,指针向
后移两位,因为我们定义的时候是字大小,占用2个字节的空间,
每一次的循环调用一次输入函数,以确定数组中每个元素的值。
(3)调用清屏语句将屏幕上的输入的痕迹清除,同时用循环调用输出函
数,将用户之前输入的值按一定的格式输出到屏幕上。
(4)判断最大数最小数,用循环遍历数组中的每一个元素,同时与最大
数最小数进行比较,如果该数比最大数大,则将其保存到最大数中,
如果该数比最小数小,则将其保存到最小数中。(注:最大数和最
小数需要开辟内存空间来保存,同时在进入循环之前应该给其一个
值,这里我给的是数组中第一个元素的值)
(5)计算平均数,同样用循环将其累加的和除以N的值即得到最终的结
果
三、程序相关说明:
(1)程序中,COUNT保存的是循环的次数,即数组的个数N
(2)ARRAY为定义的数组,MAXAY,MINAY分别对应的是最大数,最小数,
WTEMP为临时变量
(3)MESS系列保存的内容为输入输出时的提示信息无实际作用
(4)INPUT子函数为输入N的值,READ函数为输入一个-32768~+32767的
数,WRITE为输出函数,即将数组中某一元素的值输出,IFMAX函数
为判断最小值最大值函数,MEAN函数为求平均值函数
(5)DPCRLF、NDPCRLF子函数为输出格式控制函数
四、程序流程图
START
CALLINPUT
CALLREAD
[BX]=AX
BX-=2
CALLDPCRLF
CX-=1
Y
CX!=0
N
AX=[BX]
WTEMP=AX
CALLWRITE
BX+=2
CALLDPCRLF
Y
CX!=0
N
CALLIFMAX
AX=MAXAY
WTEMP=AX
CALLWRITE
AX=MINAY
WTEMP=AX
CALLWRITEINPUT
AX=COUNT
PUSHAX
PUSHAX
AX=ARRAYCALLREAD
PUSHAX
CALLMEAN
COUNT=A
文档评论(0)