Mail Archives: djgpp/1996/10/15/07:47:41
In article <1080C993B2F AT fs2 DOT mt DOT umist DOT ac DOT uk>,
A.Appleyard <A DOT APPLEYARD AT fs2 DOT mt DOT umist DOT ac DOT uk> wrote:
> design AT netcom DOT com (Chris Waters) wrote:-
>> [It is] untrue [that 16-bit compilers will use 16-bit pointers [only]]; most
>> 16-bit compilers for the x86 offer a choice of 16-bit pointers (small model)
>> or 24-bit pointers (stored in 32-bits as segment:offset; large model).
> I suspect that, in C / C++ / etc compilers that have near and far pointers,
>near pointers are 16 bits and far pointers are 32 bits.
Far pointers are *stored* in 32 bits (and indeed, I said that). But
they are only 24 bit pointers, with the bits stored redundantly, so that
(char *)0x00040080L points to the same address as (char *)0x00000480L.
This is a far cry from 32 bit pointers as found in, e.g. djgpp (hey,
something relevant to the newsgroup). :)
Followups (unless more relevant to djgpp) should probably go to some
other newsgroup.
- Raw text -