网站大量收购独家精品文档,联系QQ:2885784924

第6章 汇编语言工具.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 汇编语言工具 6.1 宏语言 6.2 连接器描述 6.3 MEMORY伪指令 6.4 SECTIONS伪指令 6.5 指定段的运行地址 6.1 宏语言 TMS320C6000汇编器支持宏语言用于令用户可以创建自己的指令,宏语言尤其适用于程序多次执行特定任务的情况,使用宏语言能够: 定义自己的宏和重新定义已有的宏; 简化长的或复杂的汇编代码; 访问由文档管理器创建的宏库; 在一个宏内定义有条件的和可重复的模块; 在一个宏内对字符串进行操作; 控制列表扩展。 6.2 连接器描述 1. 连接器概述 2. 连接器调用 3. 连接器命令文件 6.3 MEMORY伪指令 MEMORY伪指令指定在目标系统中可被程序使用的物理存储器区域。每一个存储器范围内包含以下的几个属性: Name Starting address Length Optional set of attributes Optional fill specification 6.3 MEMORY伪指令 【例6.2】MEMORY伪指令。 ?o prog.out ?m prog.map ? /**********************************************************/ /* 包含MEMORY伪指令的命令文件实例 */ /**********************************************************/ file1.obj file2.obj /* 输入文件 */ ?o prog.out /* 选项 */ MEMORY /* MEMORY伪指令 */ { FAST_MEM (RX): origin = 0x0000 0000 length = 0x0000 1000 SLOW_MEM (RW): origin = 0x0000 1000 length = 0x0000 0800 EXT_MEM (RX): origin = 0x1000 0000 length = 0x0000 1000 } 6.3 MEMORY伪指令 MEMORY伪指令的一般格式为: MEMORY { name 1 [(attr )] : origin = constant, length = constant [, fill = constant] . . name n [(attr )] : origin = constant, length = constant [, fill = constant] } 6.4 SECTIONS伪指令 1. SECTIONS伪指令格式: 2. 绑定 3. 指定存储器 4. 指定输入段 5. 使用多个存储器区域定位 6. 在非连续的存储器区域自动分裂输出段 7. 把文档库一个成员分配到输出段 6.5 指定段的运行地址 6.5.1指定加载地址和运行地址 下面几个例子指定加载和运行地址: .data: load = SLOW_MEM, align = 32, run = FAST_MEM 对齐仅对加载地址 .data: load = (SLOW_MEM align 32), run = FAST_MEM 同上 .data: run = FAST_MEM, align 32 load = align 16 align 32 in fast_mem用于运行,align 16 anywhere用于加载) 6.5.2未初始化段 下例为一个未初始化指定加载和运行地址: .bss: load = 0x1000, run = FAST_MEM 将发出一个警告,加载地址被忽略,定位在FAST_MEM空间里,下面所有的例子有同样的效果。.bss段定位在FAST_MEM里。 .bss: load = FAST_MEM .bss: run = FAST_MEM .bss: FAST_MEM 6.5.3 使用.label伪指令引用加载地址 例6.4展示了.label伪指令的使用。图6-2解释了例运行时的执行情况。 【例6.4】 从SLOW_MEM到FAST_MEM复制一个段。 (1)汇编文件 6.5.3 使用.label伪指令引用加载地址 (2)连接命令文件 /******************************************************/ /* FIR例中的部分连接命令文件 */ /******************************************************/ MEMORY { FAST_MEM : origin = 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档