i tried to make a space but it's still said "missing ';' before '_at_'" i wrote : char idata nim[14] _at_ 0x00; and is idata starting address at 0x80? and data starting address at 0x00? so, if i want to set an array starting at the first address of idata, is it right if i define the array as idata and starting address at 0x00? or i should starting at 0x80? thanks very much sincerly, hardian
I created the following program:
char idata nim[14] _at_ 0x00; void main (void) { }
C51 COMPILER V6.10 TEST 01/26/2001 19:19:14 PAGE 1 C51 COMPILER V6.10, COMPILATION OF MODULE TEST OBJECT MODULE PLACED IN .\test.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\test.c DEBUG OBJECTEXTEND CODE SYMBOLS stmt level source 1 char idata nim[14] _at_ 0x00; 2 3 void main (void) 4 { 5 1 } 6 C51 COMPILER V6.10 TEST 01/26/2001 19:19:14 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION main (BEGIN) ; SOURCE LINE # 3 ; SOURCE LINE # 4 ; SOURCE LINE # 5 0000 22 RET ; FUNCTION main (END) C51 COMPILER V6.10 TEST 01/26/2001 19:19:14 PAGE 3 NAME CLASS MSPACE TYPE OFFSET SIZE ==== ===== ====== ==== ====== ==== main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H ----- nim. . . . . . . . . . . . . . . . . . PUBLIC IDATA ARRAY 0000H 14 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 1 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)