I used to use a compiler for MSDOS and the 80x86 cpus whose NULL pointer was F000:0000 hex when examined via a debugger. It of course did compile fine as long as one used sense and compared pointers to NULL rather than a constant of zero... Compilers where NULL isn't represented as all zero bits just aren't that uncommon.