While executing the following code:
char far * buf; buf=FARRAY(char, 0x8FFF0); printf("%p\r\n",buf); buf+=0x100; printf("%p\r\n",buf);
x:08fff0 x:0800f0
It's a known limitation. But since it's documented, it's not a bug. Objects in contiguous mode can be far away, yes, but that doesn't mean they must also be able to be huge, or be allowed to straddle 64K page boundaries. Even the compilers for 16-bit platforms often don't fully support objects straddling 64K boundaries, what did you expect from an 8-bit platform?
Thanks for the answer. Can you point me where is this behaviour documented (which document, chapter in it)? > Even the compilers for 16-bit platforms often don't fully support objects straddling 64K boundaries, what did you expect from an 8-bit platform? I expexted from Keil to outperform those undecent compilers. :-)