Assemblers And Loaders.

By David Salomon. Published February, 1993 by Ellis Horwood Ltd (Ellis Horwood Series in Computers and Their Applications) Market Cross House, Cooper Street, Chichester, PO19 1EB, West Sussex, UK. ISBN 0130525642. LCCN QA76.76.A87.S35 1992. xiii + 294 pages.

Written during 1985--1992, the book developed from class notes on computer organization. It includes numerous exercises with answers provided, and review questions following each chapter. The book is bound as a paperback with a colorful cover.

The author would like to thank B. A. Wichmann of the National Physical Laboratory, Teddington, Essex, UK, for information on the PL516 language, the BABBAGE language, and the GE4000 family of minicomputers.

The book is now out of print, and the copyright has reverted to the author, who placed it here, in PDF format, for free download.

It is also possible to order a hard copy from bookhound.com. Search for ISBN 0130525642. However, this service requires a minimum of 15 copies.

Front matter Table of contents [v--x]. Preface [xi--xiii]. Introduction [1--6]. History of Assemblers and Loaders [7--10]. Types of Assemblers and Loaders [11--12].

Chapter 1. Basic Principles [13--58]. Assembler operation, two-pass, one-pass, absolute and relocatable object files, historical notes, forcing upper, absolute and relocatable address expressions, local labels, multiple location counters, literals, attributes of symbols, assembler errors. Chapter 2. The symbol Table [59--68]. A linear array, a sorted array, buckets with linked lists, a binary search tree, a hash table.

Chapter 3. Directives [69--108]. Program identification, source program control, machine identification, loader control, mode control, block control, segment control, symbol definition, base register definition, subprogram linkage, data generation, macro, conditional assembly, micro, error control, listing control, remote assembly, code duplication, operation definition, opcode table management. Chapter 4. Macros [109--158]. Introduction, macro parameters, pass 0, MDT organization, other features, nested macros, recursive macros, conditional assembly, nested macro definition.

Chapter 5. The Listing File [159--176]. A 6800 example, VAX example, MASM example, MPW example. Chapter 6. Special Assembler Types [177--194]. High-level assemblers, meta assemblers, disassemblers, cross assemblers. Chapter 7. Loaders [195--228]. Assemble-go loaders, absolute loaders, linking loaders, linkage editors, dynamic linking, loader control, library routines, overlays, multiple location counters, bootstrap loadres.

Chapter 8. A Survey of Some Modern Assemblers [229--248]. The Microsoft MASM assembler, Borland Turbo asembler, VAX macro assembler, Macintosh MPW assembler. Back Matter References [249--253]. Appendix A. Addressing Modes [254--267]. Introduction, examples of modes, base registers, remarks.