[comp.archives] [comp.os.msdos.programmer...] Re: several questions about 386 protected mode programming

dj@bragi.ctron.com (DJ Delorie) (04/11/91)

Archive-name: gnu/gcc/djgcc/1991-04-10
Archive-directory: grape.ecs.clarkson.edu:/pub/msdos/djgcc/ [128.153.28.129]
Original-posting-by: dj@bragi.ctron.com (DJ Delorie)
Original-subject: Re: several questions about 386 protected mode programming
Reposted-by: emv@msen.com (Edward Vielmetti, MSEN)

In article <1991Apr9.141613.26291@jet.uucp> cm@jet.uucp (colin manning) writes:
>Does anyone have any experience of either the Intel 386 C code builder, 
>or the (significantly more expensive) Watcom C8.0/386. Any feelings
>for reliability, quality of support etc ? What produces the best 
>code ? Or should I be thinking of something totally different ?

I recently ported gnu C++ to 386/DOS protected mode.  It should be
posted on comp.binaries.ibm.pc soon-ish (it's big).  The price is
right and the compiler is well known to produce good code.  As for
support, you get the source code!

For those with FTP access, it's in grape.ecs.clarkson.edu in
~ftp/pub/msdos/djgcc/... (get the `readme' first and read it).

>The requirement does not necessarily need a DOS extender, just a 
>protected mode environment, since the application will never have any 
>need to use DOS facilities itself. Do any of the above or other 386 
>development tools available provide such a thing, or do you always
>need a DOS extender ?

You always need a DOS extender at least to get it running.  Mine runs
the application in ring 0, so there's nothing stopping you from
grabbing the IDT, GDT, PD, etc and never returning to the extender at
all . . .

>It is possible to do interrupt handling in protected mode with either
>of the above kits, or do they still hand all that on to the DOS
>extender ?

Mine has no built-in facility for grabbing interrupts, but you can
always do a LIDT instruction and change the interrupt vectors in
assembler to point to interrupt handlers that run in 32-bit mode.

DJ
dj@ctron.com