[工学]DSP复习
* (3) 对于那些在汇编中以.set和.global定义的全局常数,也可以在C程序中访问,不过要用到一些特殊的方法。一般来说,在C程序中和汇编程序中定义的变量,其符号表包含的是变量的地址。而对于汇编程序中定义的常数,符号表包含的是常数值。编译器并不能区分哪些符号表包含的是变量的地址,哪些是变量的值。因此,如果要在C程序中访问汇编程序中的常数,则不能直接用常数的符号名,而应在常数符号名前加一个地址操作符,以示与变量的区别,这样才能得到常数值。 * 例如: 汇编程序: _tab_size .set 1000 .global _tab_size C程序: extern int _tab_size; #define TAB_SIZE ((int)(tab_size)); … for(i=0; i TAB_SIZE; ++i) * 7.1.3. C程序中直接嵌入汇编语句 在C程序中直接嵌入汇编语句是一种直接的C和汇编的接口方法。此种方法可以在C程序中实现C语言无法实现的一些硬件控制功能,如修改中断控制寄存器、中断标志寄存器等。 嵌入汇编语句的方法比较简单,只需在汇编语句的两边加上双引号和括号,并且在括号前加上asm标识符即可。即: asm(“ 汇编语句 ”); 如:asm ( RSBX IN
原创力文档

文档评论(0)