On Monday, May 8, 2023 at 7:30:19 PM UTC-7, Lynn McGuire wrote:
> On 5/8/2023 8:29 PM, gah4 wrote:
(snip)
> > The WATCOM C compiler, and I believe the Fortran compiler, will generate
> > large model 32 bit code.
> > Then all you need is an OS to run it.
> The Watcom Compiler Suite will generate six ??? modes of 16 bit code
> (small (compact ?), medium, large, huge, OS/2, Win16), and four modes of
> 32 bit code (DPMI, Win32 console, Win32 windowed, and OS2). Jiri Malek
> is working on the 64 bit code generator, linker, the runtime libraries,
> and all of the tools (visual debugger, IDE, etc) for about 3 or 4 years
> now.
There are two different questions.
The small, compact, medium, large, and huge are addressing modes,
a compile time option.
Then Win16, OS/2, and some others, are the library routines,
a link time option.
Some 16 bit addressing modes use 16 bit pointers,
others use a segment selector and offset, 32 bit pointers.
The 32 bit compilers can generate small model (32 bit pointers),
or large model, segment selector and offset (48 bit pointers).
As well as I know, OS/2 2.x, the 32 bit versions of OS/2, can run
large model code. Well, they can run large model 16 bit code,
and some of the ability to keep track of segment selectors
stayed in. At least I believe it does, but never tried it.