- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目3 汇编语言综合程序设计
分项目1 数据排序程序设计
实训目标
1.能够设计出数据排序的汇编语言源程序。
2.能用MASM对程序进行编译和调试。
3.会使用常用的DEBUG命令调试和运行程序。
二、实训器材
1.微型计算机
2.MASM编辑软件
三、实训内容及步骤
1.程序设计
(1)要求:对BUFF数据区中的10个无符号数按从小到大排序。
(2)设计思路:因为要实现从小到大排序,可从数据区的最后一个数开始,依次把相邻的两个数进行比较,根据比较情况选择交换或不交换。
① 第10个数与第9个数比较,第9个数与第8个数比较,依此类推。若后面的数大于前面的数,则将两者交换,否则不交换。将数据区的10个数比较9次后,数据区的第1个数即为该组数据中最小的数。
② 对数据区中除去已经筛选出的最小数以外的剩余9个数,重复①步操作,经比较8后,筛选出次小数。
③ 重复②步,直到10个数全部排好序为止。
进一步对排序操作进行分析,会发现对10个数据进行排序,将①步重复操作9次仅仅是最坏的一种情况。一般的数据排列不一定需要进行9次比较,如数据序列为“3,5,6,7,10,15,17,19,25,2”时,只需进行1次比较就可完成从小到大的排序。
为了提高程序的运行效率,当数据已经有序时就能结束比较,程序中可设置一个交换标志。如果某次比较过程中有交换操作,置标志为FFH;当某次比较过程中没有交换操作时,置标志为00H。程序中如果检测到标志为00H,即结束。
(3)参考程序流程图:如图IP3-1所示。
(4)参考程序:
DATA SEGMENT
BUFF DB 07H,04H,08H,01H,09H,06H,05H,03H,02H,10H
COUNT EQU $-BUFF
DATA ENDS
STA SEGMENT
DB 100 DUP(?)
STA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STA
START:MOV AX,DATA
MOV DS,AX
MOV CX,000AH
MOV SI,COUNT-1
MOV BL,0FFH
L1:CMP BL,0FFH
JNZ OVER
MOV BL,00H
DEC CX
JZ OVER
PUSH SI
PUSH CX
L2:MOV AL,[SI]
DEC SI
CMP AL,[SI]
JA L3
XCHG AL,[SI]
MOV [SI+1],AL
MOV BL,0FFH
L3:LOOP L2
POP CX
POP SI
JMP L1
OVER:MOV AH,4CH
INT 21H
CODE ENDS
START END
2.程序编译、运行
通过MASM编辑器,对排序源程序进行汇编、链接及运行。
3.DEBUG调试
用DEBUG命令进行程序反汇编、单步运行调试、查看运行结果。
四、实训准备
1.复习8086指令系统及汇编语言程序设计。
2.复习汇编语言的编辑、调试步骤,了解R-、U-、D-、T-、G-等常用的DEBUG命令的功能和用法。
3.学习绘制程序流程图。
分项目2 学生成绩排序程序设计
一、实训目标
1.能够进行实用汇编源程序的设计。
2.会用MASM及DEBUG命令,编辑、调试和运行程序。
二、实训器材
1.微型计算机
2.MASM编辑软件
三、实训内容及步骤
1.程序设计
(1)要求:
① 将30个学生的成绩按学号存入到首地址为BUFF1的内存数据区中。
② 根据学生成绩排名次,将名次存入到首地址为BUFF2的数据区中与学号对应的存储单元内。
(2)设计思路:
① 学生成绩的存储可在数据段中通过数据区定义实现。
② 存入到数据区中的学生成绩以学号为序,所以其学号就是其所在的存储单元地址+1。
③ 排名操作可用子程序实现。通过主程序的循环控制,对子程序进行30次调用,完成30个学生成绩的排序。
④ 子程序中,可将30个学生成绩通过循环控制,依次与一个最小初值比较,用AL跟踪学生成绩的最高值,用DX作为出口参数,保存成绩最高的学生的学号。这样子程序执行结束后,就会得到当前数据区中的最高成绩。找到一个最高成绩,应将其所在单元内容清0,才能继续后面的排名操作。
(3)参考程序流程图:如图IP3-2所示。
(4)参考程序:
DATA SEGMENT
BUFF1 DB 65H,71H,57H,…,94H
您可能关注的文档
- 第一章 餐饮服务概述.ppt
- 教师专业化成长若干思考.ppt
- 交换机的基本配置.ppt
- 教学分析与设计.ppt
- 进度规划和控制基本理论进度规划和控制软件介绍典型案例分析 .ppt
- 教学过程目标化实现师生“双赢” 策略—谈如何上好一节英语课.ppt
- 经营决策常用的成本概念及基本方法.ppt
- 教学设计思路.ppt
- 点火正时的检查与调整.ppt
- 课程名称《电算化会计》.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- 单向板肋梁楼盖计算.docx
- 作业4:工学一体化课程《小型网络安装与调试》工学一体化课程考核方案.docx VIP
- 中国画之写意画.ppt VIP
- (2019苏教)小学科学三年级上册:全册整套教案资料.pdf
- 核心素养导向的高中数学课例设计研究与实践(样例)(1).doc
- 驾驶证延期委托书模板.doc
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.docx VIP
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.pdf VIP
- 中国画的构图形式ppt课件.pptx
- 作业11:《小型网络安装与调试》工学一体化课程教学进度计划表.pdf VIP
文档评论(0)