This book differs from the typical assembler text in that it is not a programming manual, and it is not concerned with any specific assembler language.Instead it concentrates on the design and implementation of assemblers and loaders. It assumes that the reader has some knowledge of computers and programming, and it aims to explain how assemblers and loaders work. Most of the discussion is general, and most of the examples are in a hypothetical, simple, assembler language. Certain examples are in the assembler languages of actual machines, and those are always specified.
This is mostly a professional book, intended for computer professionals in general, and especially for systems programmers.Ho wever, it can be used as a supplementary text in a systems programming or computer organization class at any level.
Chapter 1 introduces the one-pass and two-pass assemblers, discusses other important concepts—such as absolute- and relocatable object files—and describes assembler features such as local labels and multiple location counters. Data structures for implementing the symbol table are discussed in chapter 2.
Chapter 3 presents many directives and discusses their formats, meaning, and implementation.These directives are supported by many actual assemblers and, while not complete, this collection of directives is quite extensive.
The two important topics of macros and conditional assembly are introduced in chapter 4. The treatment of macros is as complete as practically possible. Features of the listing file are outlined, with examples, in chapter 5, while
chapter 6 is a general description of the properties of disassembler, and of three special types of assemblers.Those topics, especially meta-assemblers and high-level assemblers, are of special interest to the advanced reader.They are not new, but even experienced programmers are not always familiar with them.
Chapter 7 covers loaders.There is a very detailed example of the basic operation of a one pass linking loader, followed by features and concepts such as dynamic loading, bootstrap loader, overlays, and others.
Finally, chapter 8 contains a survey of four modern, state of the art, assemblers. Their main characteristics are described, as well as features that distinguish them from their older counterparts.
Read More/Download
This is mostly a professional book, intended for computer professionals in general, and especially for systems programmers.Ho wever, it can be used as a supplementary text in a systems programming or computer organization class at any level.
Chapter 1 introduces the one-pass and two-pass assemblers, discusses other important concepts—such as absolute- and relocatable object files—and describes assembler features such as local labels and multiple location counters. Data structures for implementing the symbol table are discussed in chapter 2.
Chapter 3 presents many directives and discusses their formats, meaning, and implementation.These directives are supported by many actual assemblers and, while not complete, this collection of directives is quite extensive.
The two important topics of macros and conditional assembly are introduced in chapter 4. The treatment of macros is as complete as practically possible. Features of the listing file are outlined, with examples, in chapter 5, while
chapter 6 is a general description of the properties of disassembler, and of three special types of assemblers.Those topics, especially meta-assemblers and high-level assemblers, are of special interest to the advanced reader.They are not new, but even experienced programmers are not always familiar with them.
Chapter 7 covers loaders.There is a very detailed example of the basic operation of a one pass linking loader, followed by features and concepts such as dynamic loading, bootstrap loader, overlays, and others.
Finally, chapter 8 contains a survey of four modern, state of the art, assemblers. Their main characteristics are described, as well as features that distinguish them from their older counterparts.
Read More/Download