Covering the design and implementation of assemblers and loaders, this comprehensive book opens with an introduction to one-pass and two-pass assemblers. Important concepts such as absolute and relocatable object files are discussed, as are assembler features such as local labels and multiple location counters. The format, meaning and implementation of many directives are looked at in detail, and the important topics of macros and conditional assembly are introduced. The latter part of the book is concerned with the listing file, the properties of disassemblers and a look at three special types of assemblers.
The book closes with a chapter on loaders and includes a very detailed example of the basic operation of a one-pass linking loader, together with other features and concepts such as dynamic loading, bootstrap loaders, overlays, and others. Lots of exercises are included throughout, and at the end of each chapter there are review problems and projects.