Re: Why do we still assemble?

rcskb@minyos.xx.rmit.EDU.AU (Kendall Bennett)
Tue, 12 Apr 1994 18:34:55 GMT

          From comp.compilers

Related articles
[15 earlier articles]
Re: Why do we still assemble? lgc@robotics.jpl.nasa.gov (1994-04-11)
Re: Why do we still assemble? hbaker@netcom.com (1994-04-11)
Re: Why do we still assemble? djohnson@arnold.ucsd.edu (1994-04-11)
Re: Why do we still assemble? mfx@cs.tu-berlin.de (1994-04-11)
Re: Why do we still assemble? johnm@cory.EECS.Berkeley.EDU (1994-04-11)
Re: Why do we still assemble? conway@munta.cs.mu.OZ.AU (1994-04-11)
Re: Why do we still assemble? rcskb@minyos.xx.rmit.EDU.AU (1994-04-12)
Re: Why do we still assemble? bill@amber.ssd.csd.harris.com (1994-04-12)
Re: Why do we still assemble? bill@amber.ssd.csd.harris.com (1994-04-12)
Re: Why do we still assemble? pardo@cs.washington.edu (1994-04-13)
Re: Why do we still assemble? hbaker@netcom.com (1994-04-13)
Re: Why do we still assemble? ok@cs.rmit.oz.au (1994-04-13)
Re: Why do we still assemble? rfg@netcom.com (1994-04-13)
[12 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: rcskb@minyos.xx.rmit.EDU.AU (Kendall Bennett)
Keywords: assembler, design
Organization: Compilers Central
References: 94-04-032 94-04-055
Date: Tue, 12 Apr 1994 18:34:55 GMT

hbaker@netcom.com (Henry G. Baker) writes:


>On the original subject of assembling, Dave Mooney tells me that the IBM
>RS/6000 compilers generate object code, and if someone gives the '-S'
>option to get an assembler file, an _additional_ phase is invoked which
>_disassembles_ the '.o' file to get the '.s' file.


>What an inspired and elegant solution! Any decent system has to have a
>good disassembler, anyway, so it's better to put good manpower into this
>task than into writing an assembler.


Actually, once again in the PC world the Watcom C/C++ compiler (this
compiler is actually very slow at loading itself compared to most, but it
produces the _fastest_ code on the PC - faster in fact than gcc) comes
with a small utility called WDISAM.EXE, which does exactly that. In fact
it goes further since it can generate readable symbol table output, or you
can get it to generate MASM'able or Unix'ish style assembler output.


The elegance of this solution is incredible. I actually use it to solve
one of the major problem I had converting my PC assembler code to work
with the GNU GCC ports for the DOS platform (and also for Linux and *BSD
on x86 platforms). Rather than re-coding it all, I simply assembler the
code with TASM to produce a DOS .obj file, then run it through WDISASM to
get Unix style Gas'able assembler source for the same code. Works with
debug information also!


So Watcom does not directly generate any assembler source, and it is still
_incredibly_ slow (about 4-5 times slower than the fastest C compilers).


+-------------------------------------+------------------------------------+
| Kendall Bennett | Email: rcskb@minyos.xx.rmit.edu.au |
| Software Engineer, SciTech Software | CIS: 100237,2213 |
| Unit 5, 106 Southbank Boulevard | Fax: +61 3 690 2137 |
| South Melbourne 3205 AUSTRALIA | |
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.