Is it possible to write a code in C which can be directly used to address more than 16bit for 8051 compiler - uVison2
to address more than 16bit
Which memory space ? Code memory ? xdata memory ?
The Professional version (PK51) can address more than 64 kB xdata memory.
I'm not sure if there are any '51 derivatives that have more than 64 kB of unpaged code memory.
xdata memory
http://www.keil.com/support/man/docs/c51/c51_le_farmem.htm
Yes. Keil calls such memory "far" memory, and uses a three-byte pointer to access it.
For most architectures, you'll have to customize an assembler file that tells the compiler how to find the upper bits of your address bus.
"For most architectures, you'll have to customize an assembler file that tells the compiler how to find the upper bits of your address bus."
If you're lucky, the manufacturer may be able to supply a suitable file, or Keil may have one "ready-rubbed" - do check before re-inventing the wheel!