I'm using a MicroConverter ADuC812.and a 512K Flash memory with the space 0x0000--0x07FFFF, I have the PK51 Professional Developer's Kit and have examined the example in the folder:
Keil\C51\EXAMPLES\FarMemory\16MB RAM on ADuC812.
for(j=0;j<8;j++){ for(i=0;i<=0x0FFFF;i++){ FVAR(char,j*0x010000+i)=i; }