Re: Compilers producing assembly language

atbowler@orchid.waterloo.edu (Alan T. Bowler [SDG])
9 Dec 87 03:45:36 GMT

          From comp.compilers

Related articles
Compilers producing assembly language uiucdcs!gatech!emory!arnold (1987-11-24)
Re: Compilers producing assembly language harvard!drilex!dricej (1987-11-29)
Re: Compilers producing assembly language allegra!utzoo!henry (1987-12-03)
Re: Compilers producing assembly language gla@nixpbe.UUCP (1987-12-02)
Re: Compilers producing assembly language haddock!csun!aeusesef (1987-12-06)
Re: Compilers producing assembly language atbowler@orchid.waterloo.edu (1987-12-09)
Re: Compilers producing assembly language rcd@ico.isc.COM (1987-12-10)
Re: Compilers producing assembly language rcodi@yabbie.rmit.oz.au (1987-12-14)
| List of all articles for this month |

From: atbowler@orchid.waterloo.edu (Alan T. Bowler [SDG])
Newsgroups: comp.compilers
Date: 9 Dec 87 03:45:36 GMT
References: <765@ima.UUCP> <26100001@nixpbe.UUCP>
Organization: U. of Waterloo, Ontario

I have 2 major objections to using the assembler as the object deck
writer.
1) Efficiency. It just takes time to run the 2 or 3 passes of
      the assembler through all that ASCII text so that it can
      recompute a binary number (i.e. the instruction value)
      that the compiler knew when it wrote the text.
      In practice, I've found you can write a set of routines to
      emit code and build an object deck, and use the same set of
      routines to write your assembler. This way you still only
      write the routines that know the object deck format once,
      but you get the faster compiler.
2) If you do go the route of writing assembler input, you are
      under tremendous presure to make the assembler "fast". This
      usually results in a lot of things like a good macro processor
      and multiple user defined relocation counters being left out.
      The result is a fast assembler that is very difficult to use
      as for actual assembler programming because its primary mission
      is to be the object deck writer for the compiler instead of
      a tool for the programmer. If the assembler is only used to
      process the small percentage of code written by programmers
      in assembler, you can afford to let it be somewhat slower
      and support the features that allow a programmer to avoid
      the error prone dog work.


--


Post a followup to this message

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