- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- AP化学 2012年真题 (选择题+问答题) AP Chemistry 2012 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 第六章 教会法.ppt
- 城镇供水厂运行维护及安全技术规程-详版.pptx
- 无铬厚膜底漆、厚膜预涂板和制备方法.pdf VIP
- 教师道德与法治新课标考试试题三套及答案.docx
- CMA考试 P2试题500道含解析.pdf VIP
- 新型锂电池电解液添加剂技改扩能项目环境影响报告书.pdf
- 2025年广东省中山市华辰实验中学九年级中考数学一模试题(原卷版+解析版).docx VIP
- 历史逻辑 理论逻辑 实践逻辑的必然结果.docx VIP
- 2024年05月江苏无锡市梁溪区机关事业单位招考聘用编外工作人员20人笔试历年高频考点(难、易错点)附带答案详解.docx VIP
文档评论(0)