[net.micro.pc] Any C compilers that produce assembly language?

sambo@ukma.UUCP (Father of micro-ln) (09/20/85)

Does anyone know which MS-DOS C compilers are capable of outputting Micro-
soft assembly language?  I would like something that can manage several data
segments and several code segments.  Speed is not the first priority -
reliability is more important.  Recommendations as well as pointers to
magazine articles are welcome.
--
Samuel A. Figueroa, Dept. of CS, Univ. of KY, Lexington, KY  40506-0027
ARPA: ukma!sambo<@ANL-MCS>, or sambo%ukma.uucp@anl-mcs.arpa,
      or even anlams!ukma!sambo@ucbvax.arpa
UUCP: {ucbvax,unmvax,boulder,oddjob}!anlams!ukma!sambo,
      or cbosgd!ukma!sambo

	"Micro-ln is great, if only people would start using it."

sambo@ukma.UUCP (Father of micro-ln) (09/23/85)

In article <2223@ukma.UUCP> I (Father of micro-ln) write:
>Does anyone know which MS-DOS C compilers are capable of outputting Micro-
>soft assembly language?

Someone told me something I think everyone should know (though I suspect
everyone already knows this anyway).  Microsoft C has the switch /Fa, or
something like that, that is supposed to make it output assembly language.
It takes quite a bit of doing to make the output acceptable to Microsoft's
MASM assembler.  There is no word on whether Microsoft plans to fix this.
--
Samuel A. Figueroa, Dept. of CS, Univ. of KY, Lexington, KY  40506-0027
ARPA: ukma!sambo<@ANL-MCS>, or sambo%ukma.uucp@anl-mcs.arpa,
      or even anlams!ukma!sambo@ucbvax.arpa
UUCP: {ucbvax,unmvax,boulder,oddjob}!anlams!ukma!sambo,
      or cbosgd!ukma!sambo

	"Micro-ln is great, if only people would start using it."

rlk@chinet.UUCP (Richard L. Klappal) (09/23/85)

I know the Manx AZTEC C II compiler (cpm version) can produce standard
8080 assembler.  The recent ads that I can find don't say one way or
the other for the MSDOS version.  Their toll free order/info number
is 1-800-221-0440.  Their code seems to be pretty clean, and a fairly 
complete implementation.  I haven't found any major ommissions except
bit fields and setjmp/longjmp, but I understand that those have been 
added since I got my version ( > 1yr ago).

-- 

Richard Klappal

UUCP:		..!ihnp4!chinet!uklpl!rlk  | "Money is truthful.  If a man
MCIMail:	rklappal		   | speaks of his honor, make him
Compuserve:	74106,1021		   | pay cash."
USPS:		1 S 299 Danby Street	   | 
		Villa Park IL 60181	   |	Lazarus Long 
TEL:		(312) 620-4988		   |	    (aka R. Heinlein)
-------------------------------------------------------------------------

pwv@fluke.UUCP (Pat Vilbrandt) (09/24/85)

> In article <2223@ukma.UUCP> I (Father of micro-ln) write:
> >Does anyone know which MS-DOS C compilers are capable of outputting Micro-
> >soft assembly language?

> ...  Microsoft C has the switch /Fa, or
> something like that, that is supposed to make it output assembly language.
> It takes quite a bit of doing to make the output acceptable to Microsoft's
> MASM assembler.  ...
> --
> Samuel A. Figueroa, Dept. of CS, Univ. of KY, Lexington, KY  40506-0027

I beg to differ.  I am currently using version 3.00 of the Microsoft
C Compiler and the /Fa switch does indeed produce assembly code that is
compatible with MASM version 3.00.  I do recommend this version of the
C compiler.  I have found no irregularities with it, although I hear 
previous versions had their share.

-- 

   Pat Vilbrandt
   John Fluke Mfg. Co., Inc.
   Everett, Washington USA
UUCP:
   { decvax!uw-beaver, ucbvax!lbl-csam, allegra, ssc-vax, decwrl!sun }!fluke!pwv
ARPA:
	fluke!pwv@uw-beaver.ARPA

kephartm@psu-cs.UUCP (Mike Kephart) (09/25/85)

> ...  Microsoft C has the switch /Fa, or
> something like that, that is supposed to make it output assembly language.
> It takes quite a bit of doing to make the output acceptable to Microsoft's
> MASM assembler.  There is no word on whether Microsoft plans to fix this.
> Samuel A. Figueroa, Dept. of CS, Univ. of KY, Lexington, KY  40506-0027

Hmmmm... I was just using Microsoft C Version 3.00 today and did:
		cl -c -Fatest.asm test.c
After looking at test.asm (I was really doing this to see what is needed
for writing assembly interfaces to Microsoft C), I proceeded to compile it
with MASM Version 3.00.  Everything worked fine for me!
	I would suggest checking versions on both the C compiler and
MASM.  
 
	=Mike=

km@cadre.ARPA (Ken Mitchum) (09/25/85)

C86 from Computer Innovations does this, and supports the large model also.
It is not particularly fast, but it works, and library sources are included.

  -ken mitchum
  (km@cadre.arpa)

kim@mips.UUCP (Kim DeVaughn) (09/25/85)

[ ... go ahead, eat my bits ... ]

I recently installed the Eco-C88 compiler (rev 2.81) on my MS-DOS machine. 
I've only written a few simple, straightforward programs with this compiler,
but all of those produce assembly language (using the -a option) that is
acceptable input to MASM.

I've run the assembler output into MASM (MicroSoft label rev 1.12) and
MASM (IBM label rev 2.01), with no problems, so I'd *guess* that most
any rev of the assembler would do.

Their address is:	Ecosoft, Inc.
			6413 N. College Av.
			Indianapolis, IN  46220
			
			ph: 317-255-6476

Note: I'm not associated with Ecosoft in any way, except as a satisfied
      customer.

/kim

"You live and learn.  Or you don't live long."  -- Lazarus Long

[generic disclaimer]
-- 

UUCP:  {decvax,ucbvax,ihnp4}!decwrl!mips!kim
DDD:   415-960-1200
USPS:  MIPS Computer Systems Inc,  1330 Charleston Rd,  Mt View, CA 94043

kbb@faron.UUCP (Kenneth B. Bass) (09/26/85)

In article <193@chinet.UUCP> rlk@chinet.UUCP (Richard L. Klappal) writes:
>I know the Manx AZTEC C II compiler (cpm version) can produce standard
>8080 assembler.  The recent ads that I can find don't say one way or
>the other for the MSDOS version.  Their toll free order/info number
>is 1-800-221-0440.  
>
>Richard Klappal
>
>UUCP:		..!ihnp4!chinet!uklpl!rlk  | "Money is truthful.  If a man
>-------------------------------------------------------------------------


I have been using Manx's AZTEC's C compiler for the PC for awhile now.
It doesn't produce Microsoft compatible assembly code.  But, the AZTEC
package comes with a utility to convert AZTEC object files to Microsoft
Linker compatible files.  This would allow you to link C routines and
Microsoft assembler routines (using Microsoft's Linker).

Note of caution, though.  I have tried this, and well, all I can say
is that sometimes it works, and sometimes it doesn't.  They seem to
have a problem with large programs (irregardless of what kind of memory
model you are using).  It seems as though that any linked program that
uses more then 64K (code+data) crashes out the heap.  Manx wasn't
very helpful in finding out why.  I eventually stopped trying to use
Microsoft's object files with Manx's.

I also should add my 2 cents worth about Manx and their compiler.
First, their latest compiler (version 3.2d) is one of the best I have
seen.  Mainly because the code that it generates is very logically optimized,
and also VERY easy to debug (at object code level).  Their librarys
contain most relevant UN*X functions, and that makes porting programs much
easier.  The compiler package also comes with utilities like 'grep',
'diff', 'make', as well as a 'vi'-like editor.

On the other hand, the sales and technical support we got from Manx
was appalling.  It took us about 3 months (and many frustrating phone calls)
to get our upgrade from ver. 1.06 to 3.2.  And once we did get this
latest version, their technical support was not very helpful.  At least
they were polite....


			"It ain't necessarily so"
			ken bass
			linus!faron!kbb