第4章汇编语言程序开发工具(免费阅读).ppt

第4章汇编语言程序开发工具(免费阅读).ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003.2.16 DSP原理及应用 第4章 汇编语言程序开发工具 宏定义的格式: macname .macro [parameter 1][,…,parameter n] 宏程序语句或宏伪指令 [.mexit] .endm macname: 宏程序名称,必须将名称放在源程序标号域。 .macro: 用来说明该语句为宏定义的第一行伪指令, 必须放在助记符操作码区域。 parameters: 为任选的替代参数,作为宏指令的操作数。 宏程序语句: 每次宏调用时要执行的指令或汇编命令。 宏伪指令: 用于控制宏指令展开的命令。 .mexit: 相当于一条跳到.endm语句。 .endm: 结束宏定义。 第4章 汇编语言程序开发工具 4.4.4 宏定义和宏调用 2. 宏调用 在定义宏之后,可在源程序中使用宏名进行宏调用。 宏调用的格式: [label][:] macname [parameter 1][,…,parameter n] 标号 任选项 宏指令名 位于操作码区 任选的替代参数 数目应与宏指令定义的相等 第4章 汇编语言程序开发工具 4.4.4 宏定义和宏调用 3. 宏扩展 扩展时汇编器先将变量传递给宏参数,按宏定义取代调用宏语句,然后再对源代码进行汇编。 在默认的情况下,扩展宏将出现在清单文件中,若不需要扩展宏出现在清单文件中,则可通过伪指令.mnolist来实现。 第4章 汇编语言程序开发工具 4.4.4 宏定义和宏调用 3. 宏扩展 当汇编器遇到宏定义时,将宏名称放进操作码表中,并将重新定义前面已经定义过的与之具有相同名称的宏、库成员、伪指令或指令助记符。 用这种方法可以扩展指令和伪指令的功能以及加入新的指令。 第4章 汇编语言程序开发工具 4.4.4 宏定义和宏调用 宏指令与子程序一样,都是重复执行某一段程序,但两者是有区别的,主要区别: ⑴ 宏指令和子程序都可以被多次调用,但是把子程序汇编成目标代码的过程只进行一次,而在用到宏指令的每个地方都要对宏指令中的语句逐条地进行汇编。 ⑵ 在调用前,由于子程序不使用参数,故子程序所需要的寄存器等都必须事先设置好;而对于宏指令来说,由于可以使用参数,调用时只要直接代入参数就行了。 第4章 汇编语言程序开发工具 【例4.4.7】宏定义、宏调用和宏展开举例 1 * 2 * add3 4 * 5 * ADDRP=P1+P2+P3 6?????? 7 add3 .macro P1,P2,P3,ADDRP 8??????? 9 LD P1,A 10 ADD P2,A 11 ADD P3,A 12 STL A,ADDRP 13 .endm 14 第7~14行 定义宏:add3 4个参数:P1 P2 P3 ADDRP 第4章 汇编语言程序开发工具 【例4.4.7】宏定义、宏调用和宏展开举例 15???? ? 16 .global abc,def,ghi,adr 17 18 000000 add3 abc,def,ghi,adr? 1 1 000000 1000! LD abc,A 1 000001 0000! ADD def,A 1 000002 0000! ADD ghi,A 1 000003 8000! STL A,adr 第18行 调用宏:add3 所用变量:abc def ghi adr 共4行 扩展宏 将变量传递给参数 abc ? P1 def ? P2 ghi ? P3 adr ? ADDRP 第4章 汇编语言程序开发工具 4.3.3 链接器对段的处理 链接器有2条伪指令支持上述任务: ● MEMORY伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和

文档评论(0)

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

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

1亿VIP精品文档

相关文档