- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 利用汇编语言进行分支程序设计
数学与软件科学学院 实验报告学期:2013 至 2014 第 二 学期 4月 25日 课程名称:汇编语言 专业: 信息与计算科学 2011 级 5 班实验编号:5 实验项目: 指导教师姓名: 学号: 实验成绩:实验五利用汇编语言进行分支程序设计(4学时)实验目的:主要掌握汇编语言分支程序设计技术。重点掌握分支程序设计中的条件判断和准备等技巧。实验内容:(任选其二)主要实验实例:1. 比较AX、BX和CX(或三个从BUFF位置连续的数据)中带符号的数据,将大者存放于AX中,小者存放于 CX,中者存放于BX。2. 试编写一个将16#数转换为对应ASCII码的程序。3. 试编写一个统计学生成绩的程序。分别统计分数在60分以下的,60-69段,70-79段,80-89段,90-99段和100段的人数,并分别将它们存放在RESULT开始的存储单元中。实验准备:汇编语言条件判断和转移指令知识,分支程序设计的基本方法。实验步骤:(1) 完成源程序设计任务,并准备好测试用例,分析其可能的测试结果;(2) 上机运行和测试所写的程序;(3) 进行实验分析;(4) 编写实验报告。实验结果:(1) 根据测试目标写出测试报告;(2) 测试结果分析说明;(3) 测试程序代码清单。1. 比较AX、BX和CX(或三个从BUFF位置连续的数据)中带符号的数据,将大者存放于AX中,小者存放于 CX,中者存放于BX。用冒泡排序法,对从BUFF内存单元开始三个数,按从大到小顺序进行排序,然后再分别将三个数移到AX、BX、CX中,算法流程图如下所示:在此算法基础上编写的源代码如下:data segment buff dw 25,-9,10 ;initial arrydata ends;------------------------------------------------------------prognam segment;------------------------------------------------------------main proc far assume cs:prognam,ds:data;begin:;set up stack for return push ds sub ax,ax push ax; mov ax,data mov ds,ax mov cx,3 dec cx;the first loop for look current store spaceloop1: mov di,cx mov bx,0;the second loop for compareloop2: mov ax,buff[bx] cmp ax,buff[bx+2] jge continue xchg ax,buff[bx+2] ;exchange to make the biger number store in low word mov buff[bx],axcontinue: add bx,2 loop loop2 mov cx,di ;if inner loop end,jmp to exter loop loop loop1;move buffs value to register mov ax,[buff] mov bx,[buff+2] mov cx,[buff+4] retmain endp;--------------------------------------------------------------------prognam ends end begin对源代码编译链接然后使用debug跟踪执行此时使用-d ds:0000查看当前内存单元中的值,如下所示:(即为数组初始化时的值)┇┇经过若干步跟踪执行,原数组buff中的数已经完成排序使用-d ds:0000查看内存单元中得值,此时即为冒泡排列后的整序情况:最后将数组中的三个数分别移到AX、BX、CX中由上可知,源代码执行后可以成功的将数组buff中的值按降序整序。二、试编写一个统计学生成绩的程序。分别统计分数在60分以下的,60-69段,70-79段,80-89段,90-99段和100段的人数,并分别将它们存放在RESULT开始的存储单元中。分析后绘制程序流程图根据以上算法编写源代码:DSEG SEGMENT RECORD DW 76,69,84,90,73,88,99,63,100,80 S6 DW 0 ;
您可能关注的文档
- 第10章 80X86到Pentium汇编语言程序设计.ppt
- 第2章第1讲 linux文件目录与属性.ppt
- new_ch6-6.1文件6.2文件目录6.3文件组织和数据存储.ppt
- 《微积分(上)》目录.ppt
- 电子杂志目录制作流程11.ppt
- 第一章汇编语言程序设计.ppt
- 2.windows server 2003安装和管理活动目录.ppt
- Java实验2011.ppt
- 汇编语言程序设计08.ppt
- 中医古籍书目检索.ppt
- 2024年中国矿业大学第四期大学生入党积极分子培训班结业考试试卷及答案.pptx
- 2024年党校入党积极分子培训考试必考的140题梳理汇编.pptx
- 2023年公开选拔领导干部公共科目模拟试题及答案(共三套).pptx
- 2024年公开选拔领导干部公共科目模拟试题及答案(共三套).pptx
- 中国洗浴设备行业市场情况研究及竞争格局分析报告.pdf
- 中国洗脸盆支架行业市场情况研究及竞争格局分析报告.pdf
- 中国洗衣机塑料管行业市场情况研究及竞争格局分析报告.pdf
- 中国消泡流平剂行业市场情况研究及竞争格局分析报告.pdf
- 中国版lin总线接口线行业市场情况研究及竞争格局分析报告.pdf
- 中国洗网水行业市场情况研究及竞争格局分析报告.pdf
文档评论(0)