第6章 汇编语言程序设计及应用ppt课件.ppt

第6章 汇编语言程序设计及应用ppt课件.ppt

ID:58699094

大小:313.00 KB

页数:85页

时间:2020-10-04

第6章 汇编语言程序设计及应用ppt课件.ppt_第1页
第6章 汇编语言程序设计及应用ppt课件.ppt_第2页
第6章 汇编语言程序设计及应用ppt课件.ppt_第3页
第6章 汇编语言程序设计及应用ppt课件.ppt_第4页
第6章 汇编语言程序设计及应用ppt课件.ppt_第5页
资源描述:

《第6章 汇编语言程序设计及应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章汇编语言程序设计及应用本章主要内容(1)汇编语言程序设计的基本方法及典型应用(2)Windows环境下的汇编语言程序设计(3)汇编语言与高级语言混合编程技术简介6.1汇编语言程序设计的基本方法6.1.1程序设计的基本步骤1.分析问题分析问题就是要弄清问题的性质、目的、已知数据以及运算精度要求、运算速度要求等内容,抽象出一个实际问题的数学模型。2.确定算法把问题转化为计算机求解的步骤和方法,并且尽量选择逻辑简单、速度快、精度高的算法。3.画流程图流程图一般是利用一些带方向的线段、框图等把

2、解决问题的先后次序等直观地描述出来。如图6.1所示。对于复杂问题,可以画多级流程图,即先画粗框图,再逐步求精。图6.1流程图示意4.编写程序按汇编语言程序的格式将算法和流程图描述出来。编程中应注意内存工作单元和寄存器的合理分配。5.静态检查静态检查就是在程序非运行状态下检查程序。良好的静态检查可以节省很多上机调试的时间,并常常能检查出一些较隐蔽的问题。6.上机调试这是程序设计的最后一步,目的在于发现程序的错误并设法更正。应注意在上机调试中积累经验,以提高调试的效率。6.1.2程序的基本结构

3、形式1.顺序结构该结构指从程序起始地址开始顺序执行各条指令直至程序结束,无分支,无循环,无转移。这种结构在逻辑上是很简单的,所以又叫简单结构。2.分支结构实际程序中经常会要求计算机作出判断,并根据判断结果做不同的处理。这种根据不同情况分别做处理的程序结构就是分支结构。通常有两种分支结构,即IF-THEN-ELSE结构和CASE结构,如图6.2所示。图6.2分支结构3.循环结构有两种基本的循环结构,即WHILE-DO结构和REPEAT-UNTIL结构,如图6.3所示。图6.3两种基本循环结构例6

4、.1分析下列程序段的结构特点,并指出其功能。MOVCX,0MOVAX,DS:[2000H]CONT:TESTAX,0FFFFHJEEXITJNSSKIPINCCXSKIP:SHLAX,1JMPCONTEXIT:这是一个属于“先判断,后执行”的WHILE-DO结构的循环程序段。该程序段的功能是:检测内存2000H字单元中“1”的个数,并将检测结果存放于CX寄存器中。例6.2编程实现将偏移地址1000H开始的100个字节单元数据传送到偏移地址2000H开始的单元中。程序段如下:CODESEGMENTAS

5、SUMECS:CODESTART:MOVSI,1000H;MOVDI,2000H;初始化MOVCX,100;LOP:MOVAL,[SI];MOV[DI],AL;INCSI;循环体INCDI;DECCX;JNELOP;循环控制MOVAH,4CHINT21HCODEENDSENDSTART容易看出,该程序段属于“先执行,后判断”的REPEAT-UNTIL循环结构。6.1.3子程序设计子程序又称过程(Procedure),CALL指令和RET指令分别实现子程序的调用和返回。调用和返回分为段内操作和段间操

6、作,可通过NEAR和FAR属性参数来定义,两种操作在堆栈处理时有所不同。一般来说,有两种类型的程序段适合编成子程序。一种是多次重复使用的,编成子程序可以节省存储空间。一种是具有通用性、便于共享的,例如键盘管理程序、字符串处理程序等。子程序设计中需要注意的几个问题:1.现场的保护与恢复如果在子程序中要用到某些寄存器或存储单元,为了不破坏原有信息,要将它们的内容压入堆栈加以保护,这就叫保护工作现场。保护可以在主程序中实现,也可以在子程序中实现。现场恢复是指子程序完成特定功能后弹出压在堆栈中的信息,以

7、恢复到主程序调用子程序时的现场。2.参数的传递参数传递的方法一般有三种:用寄存器传送,用参数表传送和用堆栈传送。(1)用寄存器传递参数用寄存器传递参数适用于参数个数较少的场合。主程序将子程序执行时所需要的参数放在指定的寄存器中,子程序的执行结果也放在规定的寄存器中。(2)用参数表传递参数这种方法适用于参数较多的情况。它是在存储器中专门规定某些单元放入口参数和出口参数,即在内存中建立一个参数表,这种方法有时也称约定单元法。(3)用堆栈传递参数该方法适用于参数多并且子程序有多重嵌套或有多次递归调用的情

8、况。主程序将参数压入堆栈,子程序通过堆栈的参数地址取得参数,并在返回时使用“RETn”指令调整SP指针,以删除栈中已用过的参数,保证堆栈的正确状态及程序的正确返回。3.嵌套与递归子程序中调用别的子程序称为子程序嵌套。如图6.4所示。设计嵌套子程序时要注意正确使用CALL和RET指令,并注意寄存器的保护和恢复。只要堆栈空间允许,嵌套层次不限。子程序调用它本身称为递归调用。在图6.4中,当子程序1与子程序2是同一个程序时,就是递归调用。设计递归子程序的关键是防止出现死循

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

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

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