PIC头文件当中的这两个字符/关键字是什么意思?
请看下面三句:extern volatile unsigned char INDF @ 0x000;
#ifndef _LIB_BUILD
asm("INDF equ 00h");
其中加粗标出的@ 和 asm不知道是怎么回事,有没有大神能解释一下.都没有办法goto definition.
asm料想和汇编有关,但是它不是C语言的关键字之一啊?怎么工作的?
"@" 就更说不通了. 就是定义间接地址寄存器,地址00H asm,内嵌汇编的用法 那请问“@”的含义?
也是编译器专门认得的吗? 习学发开 发表于 2015-8-1 06:45
那请问“@”的含义?
也是编译器专门认得的吗?
大部分嵌入式编译器都支持@这个符号, 就是 at 的意思, 把一个变量名绑定在某个地址上 snoopyzz 发表于 2015-8-1 09:12
大部分嵌入式编译器都支持@这个符号, 就是 at 的意思, 把一个变量名绑定在某个地址上 ...
什么样的情况下,才要指定地址?? gujiamao_love 发表于 2015-8-1 09:37
什么样的情况下,才要指定地址??
你都金牌了, 还问这种问题? 不是买来的账号吧...
最常见的情况自然是特殊寄存器/外设寄存器 这种地址固定的变量, 定义时当然要指定地址 gujiamao_love 发表于 2015-8-1 09:37
什么样的情况下,才要指定地址??
正常情况下应该是不需要的,定义端口(IO)特殊功能寄存器时需要这样做。应该 还有其他情况需要这样 snoopyzz 发表于 2015-8-1 09:42
你都金牌了, 还问这种问题? 不是买来的账号吧...
最常见的情况自然是特殊寄存器/外设寄存器 这种地址 ...
平时灌水比较多...
页:
[1]