Re: 1-pass Assembler Design

Norman Ramsey <nr@labrador.cs.virginia.edu>
20 Aug 1998 14:08:42 -0400

          From comp.compilers

Related articles
[3 earlier articles]
Re: 1-pass Assembler Design nr@labrador.cs.virginia.edu (Norman Ramsey) (1998-08-16)
Re: 1-pass Assembler Design ian@cygnus.com (1998-08-16)
Re: 1-pass Assembler Design adrian@dcs.rhbnc.ac.uk (1998-08-17)
Re: 1-pass Assembler Design meissner@cygnus.com (Michael Meissner) (1998-08-17)
Re: 1-pass Assembler Design kochenbu@khe.scn.de (1998-08-19)
Re: 1-pass Assembler Design jcrens@magicnet.net (Jack W. Crenshaw) (1998-08-19)
Re: 1-pass Assembler Design nr@labrador.cs.virginia.edu (Norman Ramsey) (1998-08-20)
| List of all articles for this month |

From: Norman Ramsey <nr@labrador.cs.virginia.edu>
Newsgroups: comp.compilers
Date: 20 Aug 1998 14:08:42 -0400
Organization: University of Virginia Computer Science
References: 98-08-096 98-08-137
Keywords: assembler, linker, comment

Jack W. Crenshaw <jcrens@magicnet.net> wrote:
>Steve's solution was not to backpatch at all, but to write files that
>had relocation info (and other commands) into the binary files. I
>don't know all the details (many of which are proprietary), but I
>pieced together enough clues to figure out the general idea. His
>linker (which also shared pieces with the assembler) was a classic
>abstract machine, complete with stack arithmetic, reverse Polish
>notation, etc. This made it capable of doing any kind of address
>arithmetic at link time. It also could, of course, do all the usual
>resolution of external references, etc., which meant that it
>maintained a symbol table.


Anyone who finds this description appealing will enjoy the following
paper, which describes a linker along these lines.


      Fraser, Christopher W. and David R. Hanson. 1982 (April). A
      machine-independent linker. Software---Practice & Experience
      12(4):351--366.
[An excellent paper. Be sure to get the errata sheet that goes with it.
-John]
--


Post a followup to this message

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