《DSP教程4.TMS320C55x的指令系统伪指令.pptx》由会员分享,可在线阅读,更多相关《DSP教程4.TMS320C55x的指令系统伪指令.pptx(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、伪指令伪指令 Assembler Directives伪指令为程序提供数据、控制汇编的过程,主要工作包括:将代码和数据汇编到制定的位置在存储器中为未初始化的变量保留存储空间(控制列表的方式定义全局变量为汇编器制定可以获得宏段定义伪指令.bss 在该段保留若干个子.data 汇编已经初识话的数据段.sect“section name”已初始化的自定义段。中断向量表就是一个很好的例子 存在FLASH中程序段.text 汇编的可执行的代码段,是指text下面的汇编代码都存在该段,(程序段),C语言经过汇编器编译后所生成的汇编指令就是存在该段输出列表的伪指令输出列表的伪指令.list:开始源文件列表.
2、nolist:停止源文件列表这两个指令很常用,尤其在程序量较大的情况下,分析代码段时候,这两个指令起到了这个作用。.title:在列表文件的每一页打印文件名(后面跟着的名字可以显示在每一页的左上角)引用其他文件的伪指令.copy/.lnclude 包含其他文件的源语句 这个与C语言中的include的功能相同。.global 确定一个或一批的全局符号条件汇编伪指令.if/.else/.endif 条件汇编代码块.loop/.endloop 条件循环代码块宏语言Macro:A user-defined routine that can be used as an instruction这条指令是
3、我们用户定义的,并非汇编函数中含有的。当程序要将特定的程序任务执行若干次时,显得尤为重要。宏语言可使用户执行的操作可以定义自己的宏,或者重新定义正在执行的宏。简化长的或者复杂的汇编代码(如果这个子程序很长,我就用宏来替代是这个程序读写简便)建立宏库:我们将自己定义的宏都放到宏库里面,不过这个不太常用到可以控制展开列表(.list.nolist)定义宏在程序调用宏之前,我们首先要定义宏,归纳起来给大家介绍两种方法:在源文件或.include/.copy文件中定义 也就是说在外部引用在宏库中定义,我直接调用这个宏库就可以了定义宏 续Macname .macro parameter Model statement.mexit.endmMacname:宏名,相当于你自己造的操作码例子我们定义一个三个数的相加调用宏在源代码中永红的名字作为操作数来进行宏调用。add3 就是宏名,调用的时候这个就可以看成一个指令。宏展开在源程序调用宏的时候,汇编器将其展开。再展开时候,汇编器将变量传递给宏参数。在缺省情况下,宏展开打印在列表文件中(.asm),当然我们可以使用伪指令.mnolist来停止展开列表。程序中具体的例子HIU-CNTR.ASM