ON 20020715@5:57:58 AM at page: http://www.piclist.com/techref/member/xy-DDD-7A9/index.htm xy-DDD-7A9 xu yinan added 'Questions: I'm now using the PICC ME 16,and just found a problem.After compiled the code belowwith the command line -FAKELOCAL -G -E -ASMLIST -16F877,via the watch window,I found address 0x20 and 0x21 which had been allocated to global varible A and B seemed to be reallocated to local varibles of function IncAB().The watch window displayed that varible IncAB.i and IncAB.j taked address 0x20 and 0x21 separately.My question is that why the addresses taken by global varibles were reallocated and how to solve the problem? #include unsigned char A @0x20; unsigned char B @0x21; void IncAB(void) { unsigned char i; unsigned char j; for(i=0;i<255;i++) A++; for(j=0;j<255;j++) B++; } void main(void) { A=0; B=0; IncAB(); } Best regards '