我原来一直是用汇编的,很喜欢用keil中的单步运行来调试程序,现在开始学习用c来写程序,发现c的单步运行和和汇编的不一样,往往会将一些变量的中间结果也显示出来,使我无法判断程序的对错,请问各位高手,你们在调试程序时是如何解决这个问题的?
你们可以试试下面这个程序,编译后单步运行,观察temp的值,应该是只会出现64005,500,50这3个数,但实际运行时还会出现244这个数。
#include<reg51.h>
unsigned int temp;
void main(void)
{
while(1)
{
temp=255*251;
temp=temp/128;
temp=temp/10;
}
}