实验四_循环结构汇编语言程序设计实验报告

实验四_循环结构汇编语言程序设计实验报告

ID:48298920

大小:635.20 KB

页数:11页

时间:2019-11-08

实验四_循环结构汇编语言程序设计实验报告_第1页
实验四_循环结构汇编语言程序设计实验报告_第2页
实验四_循环结构汇编语言程序设计实验报告_第3页
实验四_循环结构汇编语言程序设计实验报告_第4页
实验四_循环结构汇编语言程序设计实验报告_第5页
资源描述:

《实验四_循环结构汇编语言程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、循环结构汇编语言程序设计实验报告实验四循环结构汇编语言程序设计一、实验目的1、学习循环结构的汇编语言程序的设计和调试。2、学习通过直接对8086计算机的寄存器和内存的直接访问,编写更高效简洁的汇编程序。3、加深掌握计算机整体的工作过程。3、加深对排序算法的理解。二、实验任务编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。要求至少采用二种不同的排序算法来实现。(快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……)三、实验内容为了更好地

2、实现老师所布置的实验任务,我们根据情况选取以下两种方式实验。1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如下所示:1、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:四、实验环境PC机:winXP/win7(32位)/win7(64位)+winxp虚拟机汇编工具:Masm.exe+Link.exe。五、实验步骤1)建立和生成的文件(1)编写的源程序,源程序名为abc、扩展名为.asm(2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为a

3、bc.obj(3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe2)汇编环境最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如huibian)中,并将文件夹huibian放在硬盘根目录C:>下3)上机步骤进入DOS窗口中执行。4)调试程序进入DEBUG后,调试程序5)调试成功后重新汇编、连接并生成可执行代码6)执行程序,并对运行结果截图。利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入

4、数据为:13,0,59,900,587,1,657,234,34,48)利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)六、实验心得通过本次循环结构汇编语言程序设计的实验,我初步了解了汇编语言的基本语法,利用汇编语言的循环结构实现了对于数组A中元素的排序以及求得元素中的最大值最小值。另外,在实验过程中,我也了解到了,我们要时刻细心严谨,认真做好每一步,避免出现低级错误。七、汇编语言代码1、利用冒泡排序实

5、现求最大值最小值的代码datasegmentmes1db'themax:$'mes2db'themin:$'adw13,0,59,900,587,1,657,234,34,48dataendscodesegmentmainprocfarassumecs:code,ds:datastart:pushdssubax,axpushaxmovax,datamovds,ax;以下是起泡排序核心代码movcx,10deccxloop1:movdi,cxmovbx,0loop2:movax,a[bx]cmpa[

6、bx+2],axjgecotinuexchgax,a[bx+2]mova[bx],axcotinue:addbx,2looploop2movcx,dilooploop1movdx,offsetmes1movah,09hint21hmovbx,a[18]callbini;转换为十进制的子程序movdx,offsetmes2movah,09hint21hmovbx,a[0]callbiniretmainendpbiniprocnearmovcx,10000dcallbinmovcx,1000dcall

7、binmovcx,100dcallbinmovcx,10dcallbinmovcx,1dcallbinretbiniendpbinprocnearmovax,bxmovdx,0divcxmovbx,dxmovdl,aladddl,30hmovah,02hint21hretbinendpcrlfprocnearmovdl,0ahmovah,02hint21hmovdl,0dhmovah,02hint21retcrlfendpcodeendsendstart2、利用选择排序实现排序的代码SAVEREG

8、macropushaxpushbxpushcxpushdxpushsipushdiendmRESAVEREGmacropopdipopsipopdxpopcxpopbxpopaxendm;************************datasegmentarrdw13,20,59,900,587,1,657,234,34,48ndw18mdw10dataends;************************codesegment;----------------------

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

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

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