Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Computer Lanquages. Vol. 5, pp.

191 to 197 0096-0551 80,1201-0191502 00 0


Pergamon Press Ltd 1980 Printed in Great Britain

BOOK REVIEWS

(Excerpted from the Prefaces)


Microprocessors: Theory and Applications. GENE A. STREITMATTERand VITO FIORE (Res-
ton Publishing Co., Reston, VA)
An introductory middle-ground approach between hardware and software is taken,
which combines software and hardware applications without concentrating exclusively
on one or the other.
Universal concepts applicable to all models of microprocessors are presented in
Chapters 1 through 9. The book is organized in a linear progression from fundamental
principles to complete systems covering both Motorola MC 6800 and Intel 8080 micro-
processors in Chapters 10 through 14. The Intel 8080 and Motorola MC 6800 have been
used throughout the text since their software and hardware serve as typical examples of
today's microprocessors.
Starting in Chapter 1 with a general overview of microprocessors which establishes a
working language and basic understanding of some of the fundamental concepts, each
chapter builds on the previous ones. For example, Chapter 5, "Introduction to Software,"
presents the basic skills and procedures of programming. In Chapter 9, "Advanced
Software," these basic concepts can be discussed in more detail since the intervening
chapters on bus control, input/output and memory have provided the necessary back-
ground for mastering more specific information.
The final chapters, 10 through 14, contain specific details and applications of the Intel
8080 and Motorola MC 6800 which bring together all the fundamental concepts learned
in the earlier chapters.

Introduction to Automata Theory, Languages, and Computation. JOHN E. HOPCROFT and


JEFFREY D. ULLMAN(Addison-Wesley Publishing Co., New York)
Ten years ago the authors undertook to produce a book covering the known material on
formal languages, automata theory, and computational complexity. In retrospect, only a
few significant results were overlooked in the 237 pages. In writing a new book on the
subject, we find the field has expanded in so many new directions that a uniform compre-
hensive coverage is impossible. Rather than attempt to be encyclopedic, we have been
brutal in our editing of the material, selecting only topics central to the theoretical
development of the field or with importance to engineering applications.
Over the past 10 years two directions of research have been of paramount importance.
First has been the use of language-theory concepts, such as nondeterminism and the
complexity hierarchies, to prove lower bounds on the inherent complexity of certain
practical problems. Second has been the application of language-theory ideas, such as
regular expressions and context-free grammars, in the design of software, such as com-
pilers and text processors. Both of these developments have helped shape the organiz-
ation of this book.
Both authors have used Chapters 1 through 8 for a senior-level cout/se, omitting only
the material on inherent ambiguity in Chapter 4 and portions of Chapter 8. Chapters 7,
8, 12, and 13 form the nucleus of a course on computational complexity. An advanced
course on language theory could be built around Chapters 2 through 7, 9 through II,
and 14.
191
192 Book Reviews

We use the convention that the most difficultproblems are doubly starred, and prob-
lems of intermediate difficulty are identified by a single star. Exercises marked with an S
have solutions at the end of the chapter. We have not attempted to provide a solution
manual, but have selected a few exercises whose solutions are particularly instructive.

Assembly Language Fundamentals 360/370 OS/VS DOS/VS. RINA YARMISHand JOSHUA


YARMISH(Addison-Wesley Publishing Co., New York)

This text is designed to prepare the reader to write a variety of simple assembler lan-
guage programs quickly and "painlessly." Moreover, the text will allow the student to
actively participate, almost immediately, in the programming experience. The first com-
plete program is developed as early as Chapter 2.
There are no prerequisites to the use of this text. However, a basic understanding of
what a computer is and what is involved in programming will be helpful. In our experi-
ence, most students of assembler language have had some exposure to at least one
higher-level language.
The text is intended for use by students of Data Processing or Business, or by pro-
fessionals whose educational objectives include acquiring the facility to program in
assembler language for the solution of typical business problems. It should also afford an
excellent supplement for self-study to students of Computer Science who require a
knowledge of the machine best gained through the study of assembler language. It may
be used in a course which parallels Course B2, Computers and Programming in the
curriculum presented by the ACM Curriculum Committee on Computer Science in
Communications of the ACM, March 1968, pp. 151-197.
It has been our experience that formal explanation reinforced by well-done graphical
description leads to longer-lasting retention. Many explanations in the book are there-
fore highlighted by pictorial and/or graphical descriptions.

COBOL: An Introduction to Structured Logic and Modular Program Design. WILLIAM S.


DAVIS and RICHARD H. FISHER (Addison-Wesley Publishing Co., New York)

The book emphasizes problem solving; COBOL is treated as a tool for solving problems.
Each chapter is organized as a small case study, with a single problem introduced,
solved, and coded. We begin with a simple problem, the computation of an average, and
build to more and more complex problems. The basic idea is to explain one or two new
logical functions in each chapter, with the COBOL language introduced as it is needed to
solve a specific problem. The problem, not the features of the language, controls the pace
of the book.
Given that the language is COBOL, the COmmon Business Oriented Language, the
problems have been taken from the world of business. We have tried to select the most
familiar business data processing applications--payroll, inventory, billing, and report
generation--for our examples; students do not grasp basic concepts when those concepts
are presented in the context of an application they cannot understand. We have also tried
to be realistic, and realistic data processing applications are often quite complex. Even a
complex problem becomes relatively easy to solve, however, if it is first broken into a
series of simple problems and attacked in modular fashion. We have, therefore, used a
modular approach to program development throughout the text, starting with a general

You might also like