- 1、本文档共252页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP实用教程PPT上.ppt
3.DATA_ALIGN指令 DATA_ALIGN指令把符号对齐到边界。对齐的边界是符号默认的最大界值或常量,常量是2的整数次幂。 该指令在C语言中的语法如下: #pragma DATA_ALIGN (symbol, constant); 该指令在C++中的语法如下: #pragma DATA_ALIGN (constant); 4.FUNC_CANNOT_INLINE指令 FUNC_CANNOT_INLINE指令通知编译器,该命名的函数不能扩展为直接插入。任何使用pragma命令的函数会忽略由其他方式指定的直接插入。 该指令必须出现在对函数的任何声明和引用之前。 该指令在C语言中的语法格式为: #pragma FUNC_CANNOT_INLINE (func); 该指令在C++语言中的语法格式为: #pragma FUNC_CANNOT_INLINE; 5.FUNC_EXT_CALLED指令 FUNC_EXT_CALLED指令指定优化器保持这些C/C++函数或任何由这些C/C++函数调用的函数。这些函数充当C/C++的入口点。该指令必须出现在对函数的任何声明和引用之前。 在C中,FUNC_EXT_CALLED指令的语法格式如下: #pragma FUNC_EXT_CALLED (func); 在C++中,FUNC_EXT_CALLED指令的语法格式如下: #pragma FUNC_EXT_CALLED; 6.FUNC_IS_PURE指令 FUNC_IS_PURE指令通知优化器,该指令命名的函数没有负面效果,允许优化做以下的工作: (1)如果函数的值不需要的话,删除对函数的调用。 (2)删除重复的函数。 该指令必须出现在对函数的任何声明和应用之前。 在C中,该指令的语法格式为: #pragma FUNC_IS_PURE (func); 在C++中,该指令的语法格式为: #pragma FUNC_IS_PURE; 7.FUNC_IS_SYSTEM指令 例如,它可以对多函数所使用的寄存器做出假定。不能在已经修改过的ISO函数中使用该指令。该指令必须出现在对函数的任何声明和引用之前。 在C语言中,该指令的语法格式为: #pragma FUNC_IS_SYSTEM (func); 在C++语言中,该指令的语法格式为: #pragma FUNC_IS_SYSTEM; 8.FUNC_NEVER_RETURNS指令 FUNC_NEVER_RETURNS指令通知优化器,在所有的情况下,函数不会返回到它的调用处。例如,一个无限循环的函数调用exit(),将不会返回到调用处。当一个函数被该指令标记后,编译器不会产生一个函数的结束。该指令必须出现在对函数的任何声明和引用之前。 在C语言中,该指令的语法格式为: #pragma FUNC_NEVER_RETURNS (func); 在C++语言中,该指令的语法格式为: #pragma FUNC_NEVER_RETURNS; .align伪指令将段程序计数器(SPC)对准于指定的边界,这样可确保伪指令后的代码从该边界开始。如果SPC已经对准所选的边界,则其值就不再增加。当用户不想将相邻的段打包到相同的字节时,该指令对.field伪指令很有用。 下面将通过使用如下的汇编代码说明.align伪指令: 1 200AABBCC .field 0AABBCCh,24 3 .align 2 40BAABBCC .field 0Bh,5 5000000DE .field 0DEh,10 上述代码中.align伪指令使用如图3-33所示。 【例3.4】 .align伪指令的使用。 100000004 .byte 4 2 .align 2 ;将段程序计数器对准半字边界 300000045 .string ”Errorcnt”00000072000000720000006F00000072000000630000006E00000074 4 .align ;将段程序计数器对准字节边界 50003746E .field 3,3 6002B746E .field 5,4 7 .align 2 ;将段程序计数器对准半字边界 8 0000000c .field 3,3 9 .al
文档评论(0)