We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
/*******************************************/ /*compiler Keil C51 v6.23*/ /*name:main*/ unsigned char xdata temp; unsigned char xdata *p; void func(void); void main(void) { unsigned char xdata i; while(1) { p = &temp; *p = 98; func(); i = *p; } } /******************************************/ /*-------------------------------------- compile following program to assembly program, then link with the main function.ERROR!!! Why and how to chang the assembly program.please help me,thank you.! ------------------------------------------*/ #pragma src(MYPTR.A51) small extern unsigned char xdata *p; void func(void) { *p = 0xdd; } my E-mail:inspra@xjgroup.com name:huangjian
using a single-character name like 'p' is not a good idea for a global variable! The AX51 & A251 assemblers have a CASE control to make them case-sensitive; otherwise, they are not. I couldn't find it actually stated in the manual, but I assume that A51 must be case-insensitive?