void main()
---> {
InitSysCtrl();
..................
}
我使用CCS3.3时,进行go main操作后光标有的时候停留在图示位置,有的时候停留在initsysctrl();语句前,请问哪种情况是正常的,以及为什么会有之中现象? 谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
void main()
---> {
InitSysCtrl();
..................
}
我使用CCS3.3时,进行go main操作后光标有的时候停留在图示位置,有的时候停留在initsysctrl();语句前,请问哪种情况是正常的,以及为什么会有之中现象? 谢谢
没有太明白楼主的意思,go main到哪一行应该不会对调试有影响的。
实在不行,楼主可以打开反汇编窗口,看看汇编是怎么样的,二者加断点的地方有何不同。
当然仍旧建议楼主在可能的条件下用CCSV5
您好,看反编译的实验我已经做过了,确实发现反编译语句两种情况下差了一句,但是我还是不知道这一句是什么,再次向您求助
下图上方图像光标停留在不同之处相应的汇编指令
ADDB SP,#14是指把SP指针加上14
这是编译器为了这个函数程序预留给这个函数的SP空间。
你的main函数中如果有定义一些变量,那么就会有这一句。
比如,int i;那么就会ADDB SP,#2;
嗯,学到了很多东西,还有两个问题向您请教:一,也就是说实际测试中以上两种情况都是正常现象,只和具体的工程有关吗?二:我看了一下main函数里面并没有直接定义变量,您所指的这种定义变量保护main中所调用子函数所定义的变量吗? 再次感谢不辞劳苦的回答。
是的都正常,只和工程有关。
如果在main{}中写入变量定义,比如int i;i++;就会有这句。或者main函数中的某些函数需要用到SP指针,那么就会有这句。是否有这句编译器主要视main函数是否用到堆栈而定。