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) |
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.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.