现代微机原理及接口技术 978-7-302-18204-7 第四章 4.1新.pptVIP

现代微机原理及接口技术 978-7-302-18204-7 第四章 4.1新.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 程序设计技巧 汇编语言的程序设计是使用计算机系统的指令或伪指令语句,组成求解不同问题,实现不同算法所需的完整序列的一个工作过程。汇编语言的程序设计方法一般包含顺序、分支、循环、子程序和宏等基本方法。 进一步学习指令、伪指令的使用。 掌握汇编语言顺序、分支、循环程序的设计方法。 子程序的设计与调用。 宏结构的设计与调用。 中断程序的设计。 I/O程序的设计。 模块程序的设计。 4.1 顺序程序结构形式 顺序程序又称作简单程序。指无分支、无循环、无转移的程序。它一般是根据算法编出的完全顺序执行的程序。虽然实际应用的程序比它复杂的多,但它是构成程序的基础,它的质量直接影响整个程序的质量,为此如何充分利用硬件资源,合理地选择指令是编制简单程序,提高整个程序质量的关键。 .MODEL SMALL .STACK 256 .DATA BCD_BUF DB 79H ASC_BUF DB 2 DUP (?) .CODE .STARTUP MOV AL,BCD_BUF MOV BL,AL MOV CL,4 SHR AL,CL ADD AL,30H MOV ASC_BUF,AL AND BL,0FH ADD BL,30H MOV ASC_BUF+1,BL .EXIT 0 END ?4.2 分支程序 分支结构就是按照某种判断条件,从两个或两个以上的程序段中选择一个执行。分支结构具有两种形式:双分支结构和多分支结构 条件控制伪指令 条件控制伪指令的格式 .IF 条件表达式 .分支体1 [.ELSEIF条件表达式 .分支体2~N-1 .] [.ELSE . 分支体N .] .ENDIF .MODEL SMALL .STACK .DATA X DW -78 Y DW 7865 RESULT DW ? .CODE .STARTUP MOV AX,X SUB AX,Y JGE GREATERZERO ;AX≥Y ? ,跳转 NEG AX ;求补,得到副值 GREATERZERO: MOV RESULT,AX .EXIT 0 END .MODEL SMALL .STACK .DATA _A SBYTE 39 ;有符号方式定义 _B SBYTE -43H _C SBYTE 110 TAG DB ? .CODE .STARTUP MOV AL,_B IMUL AL MOV BX,AX ;BX←B2 MOV AL,_A IMUL _C MOV CL,2 SAL AX,CL ;AX←4AC .IF SWORD PTR BX=AX MOV TAG,0 .ELSEIF MOV TAG,1 .ENDIF .EXIT 0 END 双分支程序设计 通常双分支程序是根据条件是否成立,从两个分支程序中选择其中一个分支程序去执行。双分支程序设计可用一条条件转移指令来实现,也可以用.IF-.ELSEIF-.ENDIFT条件控制伪指令来设计,这是分支程序设计的最基本方法。 (1) 产生条件 在进行条件判断之前,必须要有先行指令产生条件。产生条件的指令为执行结果影响标志位的指令,如算术运算指令、位操作指令、串比较串扫描指令等,最常用的指令为CMP/TEST/AND/SCASB/CMPSB。 (2) 判断条件 判断条件用条件转移指令JZ/JNZ、JC/JNC等共计19条,我们应选择合适的条件转移指令之一完成。 (3) 定向 按条件成立与否确定转移方向。 (4) 标号 对每个分支程序,一定要给出标号,以确定分支后的转移地址。 注意:根据条件成立与否,两个分支之程序段,只能现在选择其中之一执行。 .MODEL SMALL .STACK .DATA X DB 56 Y DB 78 Z DB 99 F1 DB ? .CODE .STARTUP MOV AL,X MOV BL,AL ADD AL,Y JNC DO1 ;若无进位则转DO1 ADD BL,Z JMP QUIT DO1: SUB BL,Z MOV F1,BL

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档