[net.micro] 32-bit data pointers

joe (04/10/83)

No, I don't think that trying to handle 32 bit data pointers in an 8086 C
compiler is too hard, I just think that it's too slow.  I don't see how it
can be done without turning every data reference into a sequence that loads
the segment register first, and unless VERY clever optimization is done,
pointer to pointer copies will require two such loads.  Hence, loops of the
sort used to copy strings [while (*a++ = *b++);] will be nearly twice as
slow as one-segment loops.  You could preload two segment registers (at least
they gave us the EXTRA segment), but you'd still have to check for wraparound,
either in the loop or by unwinding it.  Any way you do it, the 8086 just is
not designed to access more than 64k of data conveniently.