资源描述:
《汇编语言分支与循环程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一章基础知识第5章分支与循环程序设计1)分析题意,确定算法。这一步是能否编制出高质量程序的关键,因此不应该一拿到题目就急于写程序,而是应该仔细地分析和理解题意,找出合理的算法及适当的数据结构。2)根据算法画出程序框图。这一点对初学者特别重要,这样做可以减少出错的可能性。画框图时可以从粗到细把算法逐步地具体化。3)根据框图编写程序。4)上机调试程序。任何程序必须经过调试才能检查出你的设计思想是否正确以及你的程序是否符合你的设汁思想。在调试程序的过程中应该善于利用机器提供的调试工具(如DEBUG)来进
2、行工作,你会发现它会给你提供很大的帮助。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.分析问题寻找解决问题的思路、方法、算法描述算法编写程序实现算法设计测试数据和预期计算结果上机调试程序程序设计的解题基本步骤如下:顺序、分支、循环程序和子程序的设计是汇编语言程序设计的基本内容。在此基础上还要掌握汇编语言程序设计的基本方法和技巧,包括递归子程序设计
3、、COM和EXE格式程序的结构和特点、多模块程序设计方法等。一、汇编语言程序设计的基本方法概述Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.概述二、程序的基本结构1、顺序结构程序2、分支结构程序3、循环(重复)结构程序顺序结构分支结构循环(重复)结构Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5
4、ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.第一节顺序结构程序设计顺序结构程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构特点顺序性、结构简单,只适应于简单问题的处理例1计算例2移位Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.例:X+Y+ZWstacksegmen
5、tparastackdw64hdup(?)stackendsdata1segmentXdw5Ydw6Zdw7Wdw?data1endscodesegmentassumecs:code,ss:stack,ds:data1start:movax,data1movds,axmovax,Xaddax,Yadcax,ZmovW,axmovah,4chint21hcodeendsendstartEvaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProf
6、ile5.2.0.0.Copyright2004-2011AsposePtyLtd.例:64位数据移位datasegmentvardb21h,43h,65h,87h,78h,56h,34h,12hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,var[6]movvar[7],almoval,var[5]movvar[6],almoval,var[4]movvar[5],almoval,var[3]movvar
7、[4],al图示Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.moval,var[2]movvar[3],almoval,var[1]movvar[2],almoval,var[0]movvar[1],almovbyteptrvar[0],0movah,4chint21hcodeendsendstart1234567887654321h34567
8、88765432100h移位后图示例:64位数据移位Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.64位数据左移8位123456788765432100var[0]var[1]var[2]var[3]var[4]var[5]var[6]var[7]Evaluationonly.CreatedwithAspose.S