第4章-汇编语言程序设计1.1.pptVIP

  1. 1、本文档共70页,可阅读全部内容。
  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文档。上传文档
查看更多
第4章-汇编语言程序设计1.1

* 例: 两个数之和的宏定义和宏调用。 宏定义为: DADD MACRO X,Y,Z MOV AX,X ADD AX,Y MOV Z,AX ENDM 上面宏定义中,X、Y、Z是形式参数。 调用宏DADD时可写为: DADD DATA1,DATA2,SUM 上面宏调用中,DATA1,DATA2,SUM是实际参数,由它们替换定义中的X、Y、Z,即形实结合。 * CALL DADD RET DADD: CALL DADD CALL DADD DADD yy DADD MACRO xx DADD yy DADD yy ENDM 相同 = 或 主程序+过程(子程序) 主程序+宏定义 宏扩展 宏调用 与 过程(子程序)调用 异同点示意图 * 宏调用 与 过程(子程序)调用 异同点 相同点: 都是一次定义,多次调用。 不同点: ① 执行形式:宏命令伪指令由宏汇编程序在汇编过程中进行处理;而CALL、RET则是由CPU执行的指令。 ② 汇编结果:宏命令伪指令汇编后被展开。 ③ 执行速度:宏命令执行速度较快(因无调用转移) ④ 占用内存:宏指令简化了源程序,但不能简化目标程序,并不节省内存单元; 使用过程可以节省代码(源程序和目标程序)占用的内存空间。 * 3.宏展开:汇编程序会把宏调用按宏定义展开。 例如:宏定义为: DISPLAY MACRO string LEA DX,string MOV AH,9 INT 21H ENDM 程序中宏调用: …… DISPLAY ERROR_MESSAGE DISPLAY EXIT_MESSAGE …… 汇编后的结果:(带有+号的指令为宏展开后的结果) …… + LEA DX,ERROR_MESSAGE + MOV AH,9 + INT 21H + LEA DX,EXIT_MESSAGE + MOV AH,9 + INT 21H * 4.2.7汇编结束伪指令END 汇编语言源程序的最后,要加汇编结束伪指令END,以使汇编程序结束汇编。 格式: END [表达式] END后跟的表达式通常就是程序第一条指令的标号,指示程序的启动地址(要执行的第一条指令的地址)。 ★汇编程序对 END 之后的语句不进行处理。程序中所有有效语句应放在 END 语句之前。 ★源程序中必须有 END 结束语句。汇编程序对无 END 语句的源程序不进行处理,只给出无 END 语句错误信息。 * (1) NAME 伪指令 格式: NAME  模块名 在源程序开始可用 NAME 模块命名,模块名的作用是指示给连接程序进行连接用。 源程序中可无模块定义,此时源文件名作为模块名。 4.2.8模块定义和连接伪指令 * (2)模块间通信伪指令 在编写规模较大的汇编语言源程序时,可以将整个程序划分为几个独立的源程序,称之为模块。 将各模块分别进行汇编,生成各自的目标程序,最后将它们连接成为一个完整的可执行程序。 各模块之间可以相互进行符号访问。 为了进行模块之间连接和实现相互的符号访问,以便进行变量传送,通常使用以下几个伪指令:

文档评论(0)

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

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

1亿VIP精品文档

相关文档