Assemblers And Loaders.

Front cover

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 Search for ISBN 0130525642. However, this service requires a minimum of 15 copies.

Table of contents


Preface page

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].
Ch. 2 page

Ch. 1

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.
Ch. 4 page

Ch. 3 page

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.
Ch. 6 page

Ch. 5 page

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.

Ch. 7 page

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.
Back cover


Appendix B. Hexadecimal Numbers [268--270].
Appendix C. Answers to Exercises [271--280].
Index [281--294].
Errata List
(Jan 2016): Error found by Agoston Szepessy. Page 16. The mnemonic AE on the last row of Table 1.1 should be AR.

A human being, an ingenious assembly of portable plumbing.

-- Christopher Morley.