hi, i have a doubt. after compiling the program the bottom of the page shows data=9.0 xdata=0 warings =0 like this.
what is this data and xdata i think data means how many bytes allocated to variables in the program in the form of bytes . but iam not declaring any variables through out the program the data label shows always 9.0 bytes what is this can u explain ?
You need to do some basic reading on the 8051 architecture!
Your teacher should have provided you with the so-called "bible" for the 8051 architecture.
It is getting harder to find these days, as the number of active suppliers diminishes, but there are copies here, for example:
ecee.colorado.edu/.../
80C51 Family/80C51 Family Architecture: ecee.colorado.edu/.../p8051arc.pdf
80C51 Family/80C51 8-bit Microcontroller Family Data Sheet: ecee.colorado.edu/.../p8051ds.pdf
80C51 Family/80C51 Family Hardware Description: ecee.colorado.edu/.../p8051hw.pdf
80C51 Family/80C51 Family Programmer's Guide and Instruction Set: ecee.colorado.edu/.../p8051pg.pdf
The "Family Architecture" document starts with a description of the 8051's memory organisation.
You will also need to study the Keil documentation to see how they have adapted the standard 'C' programming language to cope with these (and other) idiosyncrasies of the 8051 hardware architecture:
http://www.keil.com/support/man_c51.htm
Specifically, on the various data areas: http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm
See also:
http://www.keil.com/appnotes/list/c51.htm
http://www.keil.com/forum/63040/#/msg207096