> My version of lcc-win32 doesn't require an assembler, and outputs PE
> format (modified COFF) executables.

lcc-win32 != LCC 

lcc-win32 == LCC + assembler + linker + editor + other stuff
   LCC ends here ^

As far as I know, the authors of LCC don't consider lcc-win32 to be
an LCC distribution, and AFAIK, they don't offer support for any of the
non-LCC components.  (Not that they offer much in the way of support
for LCC anyway.  One of the reasons I stopped development was they
weren't willing to fix any of the LCC bugs prevent proper code generation
on processors without orthoganal register sets.  Spilled registers are not
necessarily reloaded to the same type of register they were spilled from.
For example if you have an address in bx, and it gets spilled, it may
get reloaded to ax, which cannot be used for indexing.  Hence LCC-8086
will often try to generate invalid instructions like "mov cx,word [ax+4]".
When asked, they indicated there was no demand for support of "legacy"
processors.)

> Does just your mods for 8086 output require NASM, or does that include
> all of LCC v4.0?

lcc 4.0 requires an assembler for which machine descriptions are written.
It will even call that assembler, if it's called "as" and uses a standard
command line (or if it's modified to do so, it will call another assembler).

The 8086 version, I've written to use NASM, because it's free and has
decent macro support (albeit not perfect).

> Also, does you version also support 80386 code generation with a switch?

If you set up the makefile properly, it will compile code for any of the LCC
targets (MIPS, SPARC, 386, etc)  The default targets I have set up are
x86/win32, small, huge, symbolic, and null.

Eric

Reply via email to