我在使用using 时出现一个怪问题。 描述一下
void time0() interrupt 1 using 1 { sub(); }
bit sub() {
} 在调试中发现运算有错误 我查看了反汇编 在sub()的反汇编中,用到了一个寄存器变量R5 它使用到了直接地址05H
问题就出在这儿,它怎么指向了第0组寄存器。我以为KEIL C自己编译时肯定会 自己处理。现在发现它没那么聪明。 难道这个也要这样写bit sub(){}using 1,这样的话不同寄存器组的函数难道不可以调用?以后using我还是少用为妙,以前用的没发现问题的,也可能有这个隐患。
有高手能解释一下吗?谢谢!
|