程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P2^0;
void main()
{
uchar i;
uchar idata test_a[10]={1,2,3,4,5,6,7,8,9,0};
uchar idata * data p=0;
for(i=0;i<128;i++)
{
*p=0;
p++;
}
led=0;
}
发现0x00和0x07怎么也清不了,请大侠们指点指点,谢谢!
(原文件名:idata clear.JPG)
-----------------------------------------------------------------------
看一下汇编代码你就清楚了,此时汇编代码用R0和R7用作了你的循环记数器,你清到07时就已把R0和R7清过了,只是你的程序中INC R0和INC R7又把它加到了87和80H
一周热门 更多>