Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Macro-11 assembly language: architecture and structured programming
Huang C., Gibson D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1986. Type: Book (9789780135428047)
Date Reviewed: Oct 1 1986

The teaching of assembly language affords many styles and approaches. The approach taken by the authors is to teach a specific assembly language (Macro-11) from a very concrete perspective. No attempt is made to discuss either computer architecture or assembly language programming in general terms.

The first two chapters are introductory. Chapter 1 covers the Macro-11 assembler format and describes an I/O package, IO-11, developed by the authors to free the beginning assembly language programmer from having to cope with raw I/O. Chapter 2 covers integer number systems and internal representation of integers and characters. Here, the specific nature of the discussion hurts the reader’s understanding. The authors cover complement representation and signed addition in five pages with no discussion of how and why 2’s complement addition works, and with no discussion of sign-magnitude or excess representation. Chapter 3 discusses computer organization in 12 pages, including I/O and memory management. The discussion is specific to the PDP-11 architecture, and it is much too brief for understanding. Chapters 4 and 5 discuss addressing modes, with only two pages given to a discussion of the assembly process. Chapters 6 and 7 cover issues associated with programming style. Chapter 6 is primarily concerned with branching and looping constructs. Chapter 7 deals with programming style, focusing mainly on cosmetic matters and a particular brand of flowcharting, the H-D (Huang-Denning) method, which improves on traditional flowcharts by easing the expression of structured programming constructs. Chapter 8 discusses the use of subroutines, stacks, linkage mechanisms, coroutines, and recursion. Inexplicably, though parameter passing is discussed in some detail, there is no mention of activation records or the use of frame pointers.

Chapter 9 covers a topic often overlooked in assembly language texts: interfaces to higher-level languages. The discussion covers only BASIC-Plus and FORTRAN-77 calls to assembly language routines. Chapter 10 covers arithmetic and logical operations. Chapter 11 handles macros and conditional assembly, and Chapter 12 describes the use of Digital’s ODT debugging package. Chapter 13 is given over to floating point numbers and the DEC Floating Point Processor, with discussion limited to the PDP-11 floating point format, and with no discussion or even acknowledgement of other floating point formats. Chapter 14 covers traps, interrupts, and I/O all too briefly. Appendices cover the IO-11 macros, complete with source listings.

The text is replete with examples, which helps to alleviate the dearth of discussion of principles. Unfortunately, the examples sometimes violate the very principles discussed. For example, the authors rightly admonish the programmer to take care to initialize variables, and to pay attention to user interfaces. Yet in the first really important example, on p. 103, which computes an integer sum, they fail to initialize the accumulator. In addition, the program blows up if the user enters zero integers to sum.

This book will be most successfully used in environments where the emphasis is on learning the specific skill of assembly language programming in Macro-11 rather than on learning assembly language as a bridge to further studies of machine architecture and advanced assembly language programming. Much of the grammatical style is awkward, and explanations tend to be convoluted.

Reviewer:  V. P. Heuring Review #: CR110609
Bookmark and Share
 
Macro-11 (D.3.2 ... )
 
 
Macro And Assembly Languages (D.3.2 ... )
 
 
Miscellaneous (D.1.m )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy