第四讲 第4章 汇编语言程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 汇编语言程序设计 1、 汇编语方程序设计步骤 2、 顺序程序 3 、 分支程序 4 、循环程序 5 、子程序 6 、 位操作程序 1、 汇编语方程序设计步骤 (1)分析问题 (2)确定算法 (3)设计程序流程图 (4)分配内存单元 (5)编写汇编语言源程序 (6)调试程序 绘制流程图 流程图是将一种构想变成源程序。画流程图 是程序设计的一个重要组成部分,而且是决定 软件成败的关键部分。流程图与源程序有什么 不同呢?流程图等效源程序,源程序是一维指令 流,流程图是二维平面图形。经验证明:在表达 逻辑思维时,二维平面图形比一维指令流要直观 明了,利于差错修改。流程图的设计过程是进行 程序设计的逻辑设计过程,流程图的任何错误或 忽视将导致程序出错或可靠性下降。 目前适用于结构化设计的、表示算法的方法大 致有三种: 传统改进的流程图、N-S流程图、伪代码。 在程序设计中,设计人员可以根据需要和习惯 任意选用,不论选用哪一种流程图,应该以保 证算法正确、优化算法质量、并且很容易由此 编写出具体的源程序为原则。 1.用传统改进的流程图表示算法 用伪代码表示算法 用传统改进的流程图及N-S流程图表示的算法直观易 读,但画起来比较费事,尤其是在反复修改算法时更加 麻烦,所以用流程图表示算法在设计程序时不是很理 想。所以,编程人员常用一种伪代码(pseudo code) 设计算法。软件专业人员一般习惯用伪代码。 伪代码是用介于自然语言和计算机语言之间的文字 和符号来描述算法。它如同一篇文章自上而下地写下 来,每一行或几行表示一个基本操作,由于不用图形符 号,因此书写方便、紧凑,容易表达出设计者的思想, 同时伪代码容易修改,加一行、删一行或移动某一行都 容易实现。 2、 顺序程序 顺序程序是一种最简单,最基本的程序。 特点:程序按编写的顺序依次往下执行每一条 指令,直到最后一条。 【例】 将30H单元内的两位BCD码拆开转 换成ASCII码,存入RAM两个单元中。程序流 程如图所示。 ORG 2000H MOV A,30H ;取值 ANL A,#0FH ;取低4位 ADD A,#30H ;转换成ASCII码 MOV 32H,A ;保存结果 MOV A,30H ;取值 SWAP A ;高4位与低4位互换 ANL A,#0FH ;取低4位(原来的高4位) ADD A,#30H ;转换成ASCII码 MOV 31H,A ;保存结果 SJMP $ END 2 、 分支程序 1)分支程序的基本形式 分支程序有三种基本形式,如图4-3所示。 分支程序的设计要点如下: (1)先建立可供条件转移指令测试的条件。 (2)选用合适的条件转移指令。 (3)在转移的目的地址处设定标号。 2 分支程序涉及的转移类指令 1、无条件转移指令 l???绝对(短)转移指令 AJMP addr11 ;PC10~0 ← addr11 l????长转移指令 LJMP addr16 ;PC ← addr16 l????短(相对)转移指令 SJMP rel ;PC ← PC + 2 + rel l??? 间接转移指令 JMP @A+DPTR ;PC ← A + DPTR 间接转移指令 JMP @A+DPTR ;PC ← (A + DPTR) 指令功能:用A+DPTR的内容替换程序计数器 PC的内容,从而使程序转向执行A+DPTR单元 中的指令。由A的不同值可以实现多分支转移。 ORG 0000H MOV DPTR,#FIRST ;16位数据指针指向标号FIRST JMP @A+DPTR ;若A=0,转移到FIRST处 LP: SJMP $ ORG 0050H SJMP LP FIRST: LJMP 0FFH SECOND:AJMP 105H THIRD: SJMP 50H ORG 0FFH MOV A,#00H SJMP $ ORG 0105H MOV B,#00H SJMP $ END (2)条件转移指令 l???累加器为零(非零)转移指令 JZ rel ;(A)=0, PC ← rel ;(A)≠0, PC← PC+2 JNZ rel ;(A)≠0, PC ← rel ;(A)=0, PC← PC+2 l????两数不等转移指令 CJNE A,#data,rel ; (A)≠data , PC←rel (A)=data ,PC←PC+3 CJNE A,direct,rel ; (A)≠(direct) , P

文档评论(0)

gk80333 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档