ImageVerifierCode 换一换
格式:PPT , 页数:17 ,大小:480.50KB ,
资源ID:1157276      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1157276.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编第四章.ppt)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

汇编第四章.ppt

1、CompanyLOGO电子工业出版社电子工业出版社第四章第四章第四章第四章 汇编程序设计汇编程序设计汇编程序设计汇编程序设计 主要内容主要内容主要内容主要内容1顺序程序设计顺序程序设计2 分支程序设计分支程序设计 3 循环程序设计循环程序设计 4 4程序设计方法程序设计方法1子程序设计子程序设计5模块化程序设计模块化程序设计 6 64.1 4.1 程序设计方法程序设计方法程序设计方法程序设计方法 (1 1)分析问题,确定算法。)分析问题,确定算法。(2 2)绘制流程图。)绘制流程图。(3 3)分配资源。)分配资源。(4 4)根据流程图编写程序。)根据流程图编写程序。(5 5)上机调试程序。)上

2、机调试程序。4.2 4.2 顺序程序设计顺序程序设计【例4-1】已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生学号放在变量NO中,查表结果放在变量ENGLISH中。图图4-1 4-1 简单查简单查表程序表程序开始开始为为初始初始变变量和量和查询结查询结果分配果分配单单元元TAB表首地址表首地址bx(NO)al以以al内容内容为为关关键键字字查查表表查询结查询结果果english 结结束束汇编汇编源程序如下:源程序如下:.model small.model small.stack.stack.data ;.data ;为初始变量和查询结果分配单元为初始变量和查

3、询结果分配单元tab db 68,78,42,84,80,85,56,77,87,56tab db 68,78,42,84,80,85,56,77,87,56no db 6no db 6english db?english db?.code.code.startup.startup lea bx,tab ;bx lea bx,tab ;bx指向指向TABTAB表首地址表首地址 mov al,no ;mov al,no ;学号送学号送alal寄存器寄存器 dec al dec al xlat tab ;xlat tab ;用换码指令查表用换码指令查表 mov english,al ;mov en

4、glish,al ;结果保存在结果保存在englishenglish单元单元.exit 0 ;.exit 0 ;结束退出结束退出endend4.3 4.3 分支程序设计分支程序设计分支程序设计分支程序设计在程序中,当需要进行逻辑分支时,可用每在程序中,当需要进行逻辑分支时,可用每次分二支的方法来达到程序最终分多支的要次分二支的方法来达到程序最终分多支的要求,也可是用地址表的方法来达到分多支的求,也可是用地址表的方法来达到分多支的目的。分支程序的结构通常有三种形式:不目的。分支程序的结构通常有三种形式:不完全分支、完全分支和多分支,完全分支、完全分支和多分支,【例例4-44-4】设设数据数据X

5、X、Y Y均均为为字字节节型型变变量,量,编编写写计计算下面函数算下面函数值值的程序的程序 Y =Y =开始开始X0?X0?-1Y0Y1Y结结束束YNYN图图4-5 函数函数值计值计算流程算流程图图汇编源程序如下汇编源程序如下:.model small.model small.stack.stack.data.data x xdb -5db -5y ydb?db?.code.code.startup.startup cmp cmpx,0 x,0 jge jgecase1case1 ;当当x0 x0时,则转到时,则转到case1case1 mov movy,-1y,-1 ;x ;x0 0时时,-

6、1y,-1y jmp jmpdonedonecase1:case1:jg jgcase2case2 ;x ;x0 0时,则转到时,则转到case2case2 mov movy,0y,0 ;x=0 ;x=0时时,0y,0y jmp jmpdonedonecase2:case2:mov movy,1y,1 ;x ;x0 0时时,1y,1y done:done:.exit 0.exit 0 end end4.4 4.4 循环程序设计循环程序设计循环结构的程序通常由循环结构的程序通常由3 3个部分组成:个部分组成:循环初始部分循环初始部分为开始循环准备必要的条件,如循为开始循环准备必要的条件,如循环次

7、数、以及为循环体正常工作而建立的初始状态等。环次数、以及为循环体正常工作而建立的初始状态等。循环体部分循环体部分重复执行的程序代码,这是循环工作重复执行的程序代码,这是循环工作的主体,它由循环的工作部分及修改部分组成。循环的重的主体,它由循环的工作部分及修改部分组成。循环的重复部分是为完成程序功能而设计的主要程序段,循环的修复部分是为完成程序功能而设计的主要程序段,循环的修改部分则是为保证每改部分则是为保证每次重复时,参加执行的信息能发生次重复时,参加执行的信息能发生有规律的变化而建立的程序段。有规律的变化而建立的程序段。循环控制部分循环控制部分判断循环条件是否成立,决定是否判断循环条件是否成

8、立,决定是否继续循环。继续循环。图图4-7 两种典型循环结构两种典型循环结构满满足足循循环环条条件件?循环体循环体NYa.WHILE型循环结构型循环结构循环初始化循环初始化满满足足循循环环条条件件?循环体循环体NYb.DO_UNTIL型循环结型循环结构构循环初始化循环初始化 循环控制方式通常有以下循环控制方式通常有以下4 4种:种:计数控制计数控制事先已知循环次数,设循环一次加事先已知循环次数,设循环一次加/减减1 1。条件控制条件控制事先不知循环次数,根据条件真假控制循环。事先不知循环次数,根据条件真假控制循环。状态控制状态控制根据事先设置或是实时检测的状态来控制循环。根据事先设置或是实时检

9、测的状态来控制循环。逻辑尺控制逻辑尺控制当循环条件不规则时,可通过位串(逻辑尺)当循环条件不规则时,可通过位串(逻辑尺)来控制循环。来控制循环。4.5 4.5 子程序设计子程序设计子程序名子程序名 PROCPROCNEAR|FARNEAR|FAR 保护现场保护现场 子程序体子程序体 回复现场回复现场 RET RET子程序名子程序名 ENDP ENDP 例如实现回车、换行功能的子程序,过程定义如下:例如实现回车、换行功能的子程序,过程定义如下:subr procsubr proc push ax push ax ;保护现场;保护现场 push dx push dx mov dl,0dh ;mov

10、 dl,0dh ;回车控制字符回车控制字符0DH0DH mov ah,2 ;mov ah,2 ;int 21h ;int 21h ;执行回车功能执行回车功能 mov dl,0ah ;mov dl,0ah ;换行控制字符换行控制字符0AH0AH mov ah,2 ;mov ah,2 ;int 21h ;int 21h ;执行换行功能执行换行功能 pop dx pop dx ;恢复现场恢复现场 pop ax pop ax ret ret ;子程序返回;子程序返回subr endpsubr endp4.6 4.6 模块化程序设计模块化程序设计模块化程序设计的首要问题是合理地划分模块,这就要求程序设计

11、的首要问题是合理地划分模块,这就要求将一个复杂问题进行分解,确定功能模块和接口关系。模块将一个复杂问题进行分解,确定功能模块和接口关系。模块划分的一般原则如下:划分的一般原则如下:(1 1)模块功能相对独立。每个模块的功能要明确,大小)模块功能相对独立。每个模块的功能要明确,大小要适中,独立性要强,交换的接口信息要少,最好只有一个要适中,独立性要强,交换的接口信息要少,最好只有一个入口和一个出口。入口和一个出口。(2 2)模块间的关系要明确。各模块最好再分层,形成树型)模块间的关系要明确。各模块最好再分层,形成树型层次结构。即上层模块可调用下层模块,下层模块可返回上层次结构。即上层模块可调用下层模块,下层模块可返回上层模块,反之则不然。这就使得各层间不会构成循环。层模块,反之则不然。这就使得各层间不会构成循环。(3 3)程序中易变化的部分与不易变化的部分要分开,形成)程序中易变化的部分与不易变化的部分要分开,形成不同的模块,这样便于软件的升级。例如系统软件中把与不同的模块,这样便于软件的升级。例如系统软件中把与CPUCPU有关的部分分出来形成一个专门模块。有关的部分分出来形成一个专门模块。

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922