汇编语言程序结构.ppt

汇编语言程序结构.ppt

ID:50437591

大小:1.42 MB

页数:102页

时间:2020-03-09

汇编语言程序结构.ppt_第1页
汇编语言程序结构.ppt_第2页
汇编语言程序结构.ppt_第3页
汇编语言程序结构.ppt_第4页
汇编语言程序结构.ppt_第5页
资源描述:

《汇编语言程序结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一章基础知识循环与分支程序设计1)分析题意,确定算法。这一步是能否编制出高质量程序的关键,因此不应该一拿到题目就急于写程序,而是应该仔细地分析和理解题意,找出合理的算法及适当的数据结构。2)根据算法画出程序框图。这一点对初学者特别重要,这样做可以减少出错的可能性。画框图时可以从粗到细把算法逐步地具体化。3)根据框图编写程序。4)上机调试程序。任何程序必须经过调试才能检查出你的设计思想是否正确以及你的程序是否符合你的设汁思想。在调试程序的过程中应该善于利用机器提供的调试工具(如DEBUG)来进行工作,你会发现它会给你提供很大的帮助。编制一个汇编语言程序的

2、步骤分析问题寻找解决问题的思路、方法、算法描述算法编写程序实现算法设计测试数据和预期计算结果上机调试程序程序设计的解题基本步骤如下:顺序、分支、循环程序和子程序的设计是汇编语言程序设计的基本内容。在此基础上还要掌握汇编语言程序设计的基本方法和技巧,包括递归子程序设计、COM和EXE格式程序的结构和特点、多模块程序设计方法等。一、汇编语言程序设计的基本方法概述概述二、程序的基本结构1、顺序结构程序2、分支结构程序3、循环(重复)结构程序顺序结构分支结构循环(重复)结构第一节顺序结构程序设计顺序结构程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见

3、的程序结构特点顺序性、结构简单,只适应于简单问题的处理例1计算例2移位第二节:循环结构结束初始化循环的初始状态循环体循环的工作部分及修改部分计数控制循环条件控制循环修改部分控制条件YN第一章基础知识循环与分支程序设计第一章基础知识循环与分支程序设计循环程序设计根据条件重复执行一段指令就构成了循环程序结构。MOVAX,0;累加求和寄存器清0MOVBX,OFFSETARRAY;数组始址送BX中MOVCX,50;循环控制计数初始化AGAIN:ADDAX,[BX]ADDBX,2;数组地址增2,BX指向下一个元素DECCX;循环控制计数减1JNZAGAIN;计数不

4、为0时继续循环MOVS,AX;计数为0时循环结束,和存于S中保证循环正常执行和结束的条件:正确地初始化循环控制计数和初始条件正确地检测循环条件必须保证能达到循环结束条件(例如在循环体内有修改循环控制值的指令)例:将ARRAY数组中的50个数求和,并将和存入字变量S中。指令系统提供了专门用于循环结构的循环控制指令,更加简便的地实现循环结构。循环控制指令循环控制指令的转移范围为:-128~+127字节(2)等于继续循环指令格式:LOOPZ/LOOPE标号(3)不等于继续循环指令格式:LOOPNZ/LOOPNE标号LOOPAGAIN(段内短转移)格式:L

5、OOP标号操作:如图所示(1)LOOP指令(CX)≠0?执行循环体(CX)(CX)-1是否退出循环(CX)≠0且ZF=1?(CX)≠0且ZF=0?在前面的求和例子中,可用一条循环指令代替两条指令:DECCXJNZAGAINMOVCX,80MOVSI,-1MOVAL,$AGAIN:INCSICMPAL,STRS[SI]LOOPNEAGAINMOVLEN,SI循环程序设计方法控制循环的方法可分为两类:计数循环——用于循环次数已知的情况条件循环——用于循环次数不确定的情况设:STRSDBstring$例:求存放在STRS存储区中的字符串长度。例:将字变

6、量num中的数按16位二进制数位分离开,逐位转换为ASCII码,并从最高有效位开始依次逐位存入以binbuf为起始地址的16个字节单元中。设:(num)=4230H要求将4230H=0100001000110000B逐位分离开并转换为:30313030303031303030313130303030先将(num)->(DX),再讨论如何分离开各二进制位并转换为ASCII码,分析如下:根据上述分析,将(DX)中的二进制数依次循环左移1位,可以使得各个数位的分离(AND)和ASCII码转换(ADD)操作完全相同,便于组织循环,并且循环次数已知(16次)。例:

7、将十进制数(number)转换为八进制数方法:(number)/8保留余数,除法操作循环次数事先未知,仅当商为0时,循环结束。此例为条件循环此例为计数循环next(DX)=01000010001100001000010001100000(ROLDX,1)00000001(AND?,1)00000000+00110000(ADD?,30H)00110000300000100011000001(ROLDX,1)00000001(AND)00000001+00110000(ADD)00110001310100001000110000(ROLDX,1)00

8、000001(AND)00000000+00110000(ADD)0011000

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

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

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