- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
第七章 伪指令和宏语言
目标文件连接
伪指令
TMS320C2000/C5X的汇编伪指令可以实现以下功能:
▲ 汇编代码和数据到指定的段;
▲ 为未定义的变量保存空间;
▲ 控制列表文件;
▲ 分配存储器;
▲ 汇编条件块;
▲ 定义全局变量;
▲ 指定汇编器能得到的宏;
▲ 检查符号调试信息。
第7章 伪/宏指令和目标链接文件
7. 1 伪指令——分为8类:
▲ 段定义伪指令:把汇编语句程序的各部分与适当的段联系起来。
.bes, .bss, .data, .text, .sect, .usect,.sblock。
▲初始化常数伪指令:为当前段汇编数值。 .space, .byte, .field, .float, .xfloat,
.int, .word, .long, .xlong, .pstring,string。
▲段程序计数器排列伪指令: 使段程序计数器SPC指向预定的位置。 align, .even。
▲输出列表格式伪指令:控制列表文件的格式。 .drlist, .drnolist, .fclist, .fcnolist,
.length, .width,.list,.nolist, .mlist, .mnolist, .option, .page,
.sslist, .ssnolist, .tab, .title。
▲引用其他文件伪指令:为文件提供信息或提供这些文件的信息。
. .copy, .include, .global, .def, .ref, .mlib。
▲条件汇编伪指令:使汇编器根据表达式求值结果的真或假来汇编代码的某些段。
.if, .elseif, .else, .endif, .loop, .break, .endloop。
▲汇编时的符号伪指令:使定义的符号名等同于常数值或字符串。
.asg, .eval, .set, .equ, .struct, .endstruct,.label 。
▲ 汇编模式伪指令:定义在C28x 或认可C2xLP模式。.c28_amode, .lp_amode。
▲其他伪指令:具有其他功能和特性的伪指令。
.end, .mmregs, .newblock, .port, .sblock, .version, .emsg, .wmsg。
第7章 伪/宏指令和目标链接文件
7. 2 宏指令
▲ 将频繁出现的程序段定义为宏指令,
▲ 当程序中需要执行该程序段时,只需用一条宏调用语句。
▲ 缩短源程序的长度,使源程序易读,减少了书写错误。
使用宏的过程要经过以下3个步骤:
1)定义宏:用户在使用宏之前必须先定义宏。在程序的任何地方都可以定义一
个宏。可在源文件开始处或者在.include/.copy文件中或者在宏库中定义。
格式: 宏名 .macro [形式参数1][,形式参数2]…[,形式参数n]
?
? } 宏体
? ?
[.mexit]
.endm
第7章 伪/宏指令和目标链接文件
宏名 —— 用通常规定的字符串格式书写。
.mexit —— 相当于“goto .endm”,用于条件判断后的转移,可缺省。
形式参数 —— 或称为替代符号。同样按通常规定的字符串格式书写。替代符
号作为宏参数仅在被定义的宏中有效。
▲ 每个宏最多可以用32个宏参数。
▲ 宏可以嵌套,但宏的所有元素都应在同一个文件中定义。
7. 2 宏指令
(2)调用宏:在定义了宏以后,就可以在源程
文档评论(0)