工具/软件:Code Composer Studio
大家好,我在F2.8027万中编写了一个C代码进行测试,在将程序加载到主板后,我观察到如下的反汇编代码:
CpuTimer0.InterruptCount++;//代码I write
/***** 编译器生成的汇编代码******
3f44b2:0201 MOVB ACC,#1
3f44b3:761F0018 MOVW DP,#0x18
3f44b5:5601.0012万附加@0x12,符合
我可以理解代码:加载值1以注册ACC,将DP移动到0x18,将ACC添加到数据页0x18的地址@0x12。
我的问题是:
1.使用ACC寄存器存储值的原因1. 我是否可以使用不同的寄存器 (例如XARn)来存储值1? 是否由编译器确定?
2.我是否可以用不同的方法来实现CpuTimer0.InterruptCount++?
例如,我将 数据页0x18处的值@0x12加载到XARn,然后将XARn添加1,然后在 数据页0x18处将XARn返回到内存@0x12。