版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机技术第十三讲三峡大学覃颖0717-6390287inying@ctgu.edu.cn本次课堂讲授内容:一、汇编语言程序设计汇编语言程序设计一、程序设计基础:基本步骤分析问题——问题性质、目的、要求、已知条件等等。建立相应数学模型。确定算法——把实际问题转化为计算机求解的步骤和方法。绘制流程图——形象化描述程序算法。编写程序——将流程图用指令集合来实现。上机调试——验证程序功能,反复修改达到完善。汇编语言程序设计二、程序基本结构顺序结构分支结构循环结构子程序结构顺序结构程序无分支、无循环、无转移程序流程图表现为只有起始框、终止框、处理框,无判断框。【例】计算表达式F=(A×B-500)÷C,设A、B、C均为16位有符号整数,且存储在VARA、VARB、VARC单元中,结果F存储在RESULT单元中。数据段定义如下: DATASEGMENT VARADW?
VARBDW? VARCDW? RESULTDW?,? DATAENDS分支结构程序根据某条件的判断来决定不同的处理方式实现分支的两个要素:一是分支前的条件判断;二是根据判断结果进行转移。【例】编程实现符号函数: 1(X>0)(-128≤X≤+127)
Y= 0(X=0) -1(X<0)循环结构程序一、循环程序概述
在程序中重复执行相同功能的一段代码,可用循环程序实现。循环程序通常由五部分组成:初始化部分:为程序操作、地址指针、循环计数、结束条件等设置初始值。循环工作部分:循环程序主体,完成基本操作。循环修改部分:修改变量,为重复操作做准备。循环控制部分:判断是否终止循环。循环结束部分:循环终止后,对循环结果的处理部分。循环体循环结构程序二、循环程序基本结构起始初始化循环工作循环修改未完完终止循环控制起始初始化循环工作循环控制循环修改未完完终止起始初始化循环工作循环控制循环修改未完完终止先执行后判断先判断后执行循环结构程序三、循环控制方式计数循环:重复次数已知,用计数值控制循环的开始与终止。条件控制循环:重复次数未知或不确定,需找出循环控制的条件。【例】分别用计数循环方式和条件控制循环方式编程实现:统计AX中“1”的个数,结果存入DL中。子程序设计
程序设计过程中常常把多次引用的相同程序段编成一个独立的程序段,当需要执行这个程序段时,用调用指令(CALL)调用该程序段即可。具有这种独立功能的程序段称为过程或子程序。子程序设计一、子程序适用范围适合编成子程序的程序有两种:①程序需要反复使用,这类程序编写成子程序可避免重复编写程序,并可以节省存储空间。②程序具有通用性,这类程序大家都要用到,如键盘管理程序、磁盘读写程序、标准函数程序等,编成子程序后便于功能共享。子程序设计二、子程序结构NAMEPROCNEAR(FAR)
PUSHAX PUSHBX …… …… POPAX POPBX ……
RETNAMEENDP过程名:子程序入口地址的符号化表示,方便其他程序调用。过程类型现场保护现场恢复返回指令,子程序的出口。子程序设计三、子程序的调用与返回
主程序调用子程序通过CALL指令来实现,子程序执行结束后,通过RET指令返回主程序,转到主程序中CALL指令的下一条指令继续执行主程序。
一个子程序可以由主程序在不同时刻多次调用。如果在子程序中又调用了其它的子程序,称为子程序嵌套。特别当子程序又调用子程序本身时,这种调用称为递归调用。子程序设计三、子程序文件
子程序通常应以独立的文件形式编写,形成模块。子程序文件由子程序说明和子程序体构成。子程序设计三、子程序文件(1)子程序说明①功能描述,如子程序名、功能,性能指标等;②所用寄存器和存储单元;③子程序入口、出口参数;④子程序中调用的其它子程序;⑤调用实例(可无)。(2)子程序体
以“过程”形式存放在代码段中,以过程名开始,以RET指令结束。子程序设计四、子程序的参数传递
主程序在调用子程序时一般需要传递参数给子程序,这些参数是子程序运行时所需要的原始数据。常用的方法有:寄存器传递:适用于参数少的情况,其特点是参数传递速度快。约定内存单元传递:适用于参数多的情况,要事先建立参数缓冲区。堆栈传递:适用于参数较多、子程序嵌套或递归调用的情况。子程序设计【例】用子程序结构设计:查找无符号数数组BUF1和BUF2中的最大值,并将结果分别存放在MAX1和MAX2中。DATASEGMENT BUF1DB11H,65H,2CH,……
NUM1EQU$-BUF1 MAX1DB? BUF2DB0BCH,96H,35H,……
NUM2EQU$-BUF2 MAX2DB?DATAENDS课堂小结学习的知识点回顾重点:掌握汇编语言程序设计中顺序、分支、循环及子程序结构的一般设计方法。难点:掌握子程序设计中的参数传递方法你掌握了吗?课堂练习一、程序填空:以下程序实现了统计数组BUF中负元素的个数(0~255),并将结果存储在NUM中。请补充完整程序段。DATASEGMENT LP: MOVAL,[SI]BUFDB-4,38,…… CMPAL,0
CT=$-BUF
DATAENDS NXT:INCSICODESEGMENT LOOPLPASSUMECS:CODE,DS:DATA MOVNUM,DLSTART:MOVAX,DATA MOVAH,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年交通安全培训具体内容有重点
- 2026年检测安全培训内容核心要点
- 2026年农业节水灌溉项目施工合同
- 2026年市政木工安全培训内容核心要点
- 2026年矿山工程环境保护合同
- 德宏傣族景颇族自治州潞西市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 怀化市溆浦县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 绥化市海伦市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 沈阳市法库县2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 临夏回族自治州康乐县2025-2026学年第二学期四年级语文第四单元测试卷(部编版含答案)
- 国际珍稀动物保护日课件
- 2026年南京大数据集团有限公司校园招聘考试参考试题及答案解析
- 2025年湖南省益阳市事业单位招聘笔试试题及答案解析
- 2026新疆喀什地区地直机关遴选公务员、事业单位选聘31人考试参考试题及答案解析
- 认识情绪拥抱阳光心态+-2026年高一下学期情绪管理与压力调节主题班会
- 2026年中国烟草招聘考试试题及答案
- 2026年浙江省衢州市六校联谊初三百日冲刺考试英语试题含解析
- 一次性使用止血套环产品技术要求北京中诺恒康生物
- 2026广东阳江市江城区招聘教师102人(编制)笔试模拟试题及答案解析
- XX医院关于2025年医保基金监管专项检查工作的整改报告
- 2026人教版二年级英语下册Unit 1 基础单元测试(含解析)
评论
0/150
提交评论