第五章 汇编语言程序设计.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章汇编语言程序设计概要1

第5章 汇编语言程序设计 一、程序设计基本步骤 分析问题,明确要求。 建立数学模型。 确定算法。 画程序流程图。 编写程序。 上机调试。 1、算法(Algorithm) 算法是对特定问题求解步骤的一种描述,是指令的有限序列。每一条指令表示一个或多个操作。 (1)有穷性。一个算法必须在有穷步之后结束,即必须在有限时间内完成。 (2)确定性。算法的每一步必须有确切的定义。算法的执行对应着的相同的输人仅有惟一的一条路径。 (3)可行性。算法中的每一步都可以通过已经实现的基本运算的有限次执行得以实现。 (4)输入。一个算法具有零个或多个输人,这些输人取自特定的数据对象集合。 (5)输出。一个算法具有一个或多个输出,这些输出同输人之间存在某种特定的关系。 一个好的算法通常要考虑以下的要求: (1)正确。算法的执行结果应当满足预先规定的功能和性能要求。 (2)可读。一个算法应当思路清晰、层次分明、简单明了、易读易懂。 (3)健壮。当输入不合法数据时,能作正当处理,不至引起严重后果。 (4)高效。有效使用存储空间和有较高的时间效率。 2、程序流程图 程序流程图是通过使用各种形状的框,用来表示各种不同的操作,框内文字由人们根据操作的需要指定,应当是明确而无“歧义性”的。带箭头的流程线,用来表示操作的顺序,即指向下一步的操作,用流程图表示算法形象直观、流向清楚。 程序流程图潜在的缺点:允许流程线向任意方向转移,这可能出现“乱麻式”流程,有时使人难以看懂其来龙去脉(可用N-S结构化流程图)。 3、基本程序结构 顺序结构 也就是顺序执行结构,它是最基本、最常用的结构。所谓顺序执行,就是按照程序语句行的自然顺序,一条语句按一条语句地执行程序。 选择结构 包括简单选择和多分支选择结构,这种结构可以根据设定的条件,控制语句流程,有选择地执行不同的语句序列。 重复结构 是用于在某些程序中,常常需要重复使用某一段相同的或类似的程序段,利用重复结构可简化大量的程序行。 二、顺序结构程序设计及实例 没有分支、循环等转移指令的程序,会按指令书写的前后顺利依次执行,这就是顺序程序 顺序结构是最基本的程序结构 完全采用顺序结构编写的程序并不多见 例1、将内存单元DAT1中的组合BCD码变换成两个非组合BCD码,存于其后面的两个单元。 DATA SEGMENT DAT1 DB 76H,2 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,OFFSET DAT1 MOV AL,[SI] AND AL,0FH MOV [SI+1],AL MOV AL,[SI] AND AL, 0F0H MOV CL,4 ROR AL,CL MOV [SI+2],AL HLT CODE ENDS END START 问题一:如要将2个非组合BCD码变为组合BCD码怎么办? 问题二:如要将1个组合BCD码变为2个ASCⅡ码怎么办? 问题三:如要将2个ASCⅡ码变为组合BCD码怎么办? 例2、从键盘中键入0~9中的任意自然数X,求其立方值。利用查表法,构建0~9的立方表,字节变量X存放键入的自然数,其立方值存于下面的单元。 DATA SEGMENT TAB DW 0H,1H,8H,27H,64H,125H, DW 216H, 343H,512H,729H X DB ? XXX DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BX, OFFSET TAB MOV SI, OFFSET X MOV AH,1 INT

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档