山东大学汇编语言上机实验——实验五

山东大学汇编语言上机实验——实验五

ID:46815449

大小:2.77 MB

页数:29页

时间:2019-11-28

山东大学汇编语言上机实验——实验五_第1页
山东大学汇编语言上机实验——实验五_第2页
山东大学汇编语言上机实验——实验五_第3页
山东大学汇编语言上机实验——实验五_第4页
山东大学汇编语言上机实验——实验五_第5页
资源描述:

《山东大学汇编语言上机实验——实验五》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、子程序设计2.6显示学生名次表rank编制一个程序,要求接受键盘输入的一个班的学生成绩,并存放于一个50字的grade数组中,其中grade+i保存学号为I+1的学生成绩。然后根据grade中的学生成绩,把学生成绩依次填入50字的rank数组中,其中rank+i的内容是学号为i+1的学生的名次。再按学号顺序把名次从终端上显示出来。本题要做的主要工作和例2.2的内容是完全一样的,只是增加了由用户键入学生成绩及输出学生名次两个部分的内容,因此这三个部分可以用子程序结构来完成。子程序结构划分的层次图如图2.17所示,可以看出,mai

2、n为主要模块,其下一层的三个模块为程序的三大部分。现将各模块说明如下:1.模块名:main为总模块输入:从键盘输入一个班的学生成绩输出:显示一个班的学生成绩功能:根据输入的学生成绩,计算并显示学生名次。算法如下:一个学生名次等于成绩高于该学生的人数+1.2.模块名:input输入:以学号为序型键盘输入一个班的学生成绩。各个成绩之间用逗号隔开,最后以回车符号结束。输出:把一个班的学生成绩存入grade数组。功能:接受一个班的学生成绩。调用子模块decibin把键盘输入的一个十进制数转换为二进制数。调用子模块crlf完成回车,换行

3、功能。3.模块名:rankp输入:从grade数组取得一个班的学生成绩。输出:以学号为序计算出该班每个学生的名次存入rank数组。功能:计算一个班的学生成绩。算法为:一个学生的名次等于成绩高于该生的学生人数加1.4,。模块名;output输入:把rank数组取得一个班的学生名次。输出:把一个班的学生名次以学号为序在总端上显示出来。功能:先是一个班的学生名次。调用子模块decibin把键盘输入的一个十进制数转换为二进制数。调用子模块crlf完成回车,换行功能。5:模块名:decilin输入:从键盘输入一个十进制数。输出:把该数转

4、换成二进制数并存入BX寄存器中。功能:从键盘输入一个十进制数转换成二进制数并存入BX寄存器中。6.模块名:crlf输出:向终端发出回车换行符。功能:完成一次回车换行操作。7.模块名:binidec输入:从BX寄存器取得一个二进制数。输出:在终端屏幕显示一个十进制数。功能:把BX寄存器中的二进制数转换为十进制数,并在终端显示出来。调用子模块DCE_DIV用来作除法运算并显示字符。8.模块名:dec_div输入:从BX寄存器中的二进制数除以相应的十的幂,并在屏幕显示一位商。余数保存在BX寄存器中。有了以上的层次图及模块说明,对程序

5、的全貌有了基本了解。在图2.18中,我们给出了除rankp以外的其余各个子程序的程序框图。Rankp的框图与图2.4相同。图2.19是程序清单,图2.20是本例的运行情况。;PROGRAMTITLEGOESHERE——Rank;**************************************************************************datareasegmentgradedw50dup(?)rankdw50dup(?)countdw?mess1db'Grade?$'mess2db13,1

6、0,'InputError!',13,10,'$'mess3db'Rank:$'datareaends;**************************************************************************prognamsegment;--------------------------------------------------------------------------mainprocfarassumecs:prognam,ds:datareastart:;setups

7、tackforreturnpushdssubax,axpushax;setDSregistertocurrentdatasegmentmovax,datareamovds,ax;MAINPARTOFPROGRAMGOESHEREcallinputcallrankpcalloutputretmainendp;--------------------------------------------------------------------------inputprocnearleadx,mess1movah,09int21h

8、;movsi,0movcount,0enter:calldecibininccountcmpdl,','jestorecmpdl,13jeexit2jneerrorstore:movgrade[si],bxaddsi,2jmpentererror:leadx,mess2mov

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。