【发布时间】:2021-12-15 02:26:31
【问题描述】:
我是 IAR 和嵌入式编程的新手。我在调试以下C代码,发现R0通过??main_0保存counter1的地址,而R1通过[PC,#0x20]保存counter2的地址。这是完全可以理解的,但我不明白为什么分配给R0 使用LDR Rd, -label 而R1 使用LDR Rd, [PC+Offset],这两种方法有什么区别?
搜索后我只知道文字池,但它没有回答我的问题。另外,??main_0 最初是在哪里定义的?
int counter1=1;
int counter2=1;
int main()
{
int *ptr;
int *ptr2;
ptr=&counter1;
ptr2=&counter2;
++(*ptr);
++(*ptr2);
++counter2;
return 0;
}
【问题讨论】:
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。