看了生成的汇编代码,原来是因为我定义了一个变量<br />volatile unsigned char display @ 0x25;<br />然后生成的汇编语言正好把i23也分配到了0x25这个地址上了,<br />结果出错<br />而改为ii后 没有把 ii变量分配到0x25上 所以程序正常了。 <br />但是此时还是存在隐患的,程序又把别的变量分配到0x25上了。<br />似乎好像是编译器分配地址 是按照变量名字母顺序分配的
|