Hello, I use keil compiler V7.50 with DS80C400 µC in LARGE memory model. I declare several string constants like this :
const char far image[] = "\x25\x50\x44\x46\x2D\x31\x2E\x34\xD\xA\x25[...] \x30\x34\x38\xD\xA\x25\x25\x45\x4F\x46\xD\xA";
SRC\UTILE.C(255): error C281: illegal hex constant SRC\UTILE.C(255): error C103: '<string>': unclosed string SRC\UTILE.C(256): error C141: syntax error near '42' SRC\UTILE.C(258): error C103: '<string>': unclosed string
SRC\IMAGE.C(360): error C249: '!': SEGMENT TOO LARGE
Are you using an outdated C51 version ? Tried it with C51 V8.01c, here is the result:
#pragma OMF2 STRING (far) const char far cTab[] = { "0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF 0123456789ABCDEF" // line repeated 978 times ... };
MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = ---- ---- CONSTANT SIZE = ---- ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- EDATA SIZE = ---- ---- HDATA SIZE = ---- ---- XDATA CONST SIZE = ---- ---- FAR CONST SIZE = 65393 ---- END OF MODULE INFORMATION.