Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The MC68000 microprocessor family
Liu Y., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780135663998)
Date Reviewed: May 1 1992

Liu describes this book as “primarily designed as a text for a one-semester, junior-level microprocessor course that covers both programming and [hardware] system design using the MC68000 microprocessor.” It covers its subject in considerable breadth.

Chapter 1, “Introduction,” is an overview of the hardware organization, the software system, data formats used in the MC68000 system, and the evolution of Motorola’s microprocessors. Chapter 2, “MC68000 Architecture,” covers the register set, the status register, machine instruction format, and addressing modes. Chapter 3, “Assembly Language Programming and Basic Instructions,” presents symbols, assembly language statement format, assembler directives, data movement group, compare group, control transfer group, binary arithmetic group, decimal arithmetic group, logical group, shift and rotate group, bit manipulation group, and position-independent code.

Chapter 4, “Development Tools,” includes simulators and cross assemblers, the MC68000 educational computer board, S-records, and development systems. Chapter 5, “Subroutines and Advanced Programming Techniques,” discusses stacks, subroutines, multiple-module programs, recursive subroutines, local variables, multiprogramming considerations, and macros. Chapter 6, “Exception Processing,” covers exceptions, reset, error exceptions, trace, trap and software exceptions, interrupts, and multiple exceptions.

Chapter 7, “Bus Operation and Interface,” describes pin configurations; bus cycle timing; connections of bus, address, and bus control pins; clock and systems control circuits; interrupt management logic; DMA logic; and the VME bus. Chapter 8, “Input/output Interface and Programming,” begins with an overview of a peripheral interface, then presents the MC6850 ACIA, I/O programming, parallel interface and timer, an example of a printer interface, a multifunction peripheral device, and DMA controllers.

Chapter 9, “Memories,” discusses MOS memory devices, memory module design, and disk storage. Chapter 10 is devoted to “The MC68010, MC68020, MC68030, and MC68040.” Chapter 11, “Floating-point Coprocessors,” covers the MC68881/MC68882 floating-point coprocessors (FPCP), their instruction set and programming, and interfacing to the FPCP. Chapter 12, “Memory Management,” presents the memory hierarchy, on-chip caches, memory management, and virtual memory.

The book includes a 14-item bibliography and four appendices devoted mainly to summarizing the instruction set. Liu also provides nearly 200 exercises. The index is spotty.

The text is clearly for a course directed at an engineer who will build equipment with a microprocessor as a component, rather than at a programmer who will only develop software for that microprocessor. While subroutines and stacks are explained to the student, she or he must already be equipped to understand logic diagrams and capacitive pin loadings. The text attempts to collect all the information that one should need for such a course, ranging from architecture through programming concepts and tools to hardware interfacing techniques, information that otherwise would have to be gleaned from several sources. The attempt generally succeeds, but does fall short in certain areas.

The prior knowledge expected of the student is not always consistent. For example, binary arithmetic is explained thoroughly (albeit quickly), even including an example of converting from decimal to binary. Hexadecimal notation is then referenced casually, as if already familiar.

The coverage of some topics is not complete. Questions come to the reader’s mind to which she or he cannot readily find answers. For example, how does the system save and restore the user stack pointer, which is not part of the register set in supervisor mode? One might be able to infer the answer if one happened to notice the instruction MOVE USP in the listing in an appendix. It appears, however, that one would do better to have access to the vendor’s manual. If that manual is to be used anyway, why repeat so much of its material in the book? The construction of examples is sloppy: the classic recursive procedure, factorial(n), does not even attempt to work for n = 0.

Such shortcomings notwithstanding, the text is well written and easy to read, supplying a great deal of information at about the right level for its intended audience. While the students should have access to an MC68000, much of what they learn will be applicable more generally. Although I would recommend the text only for a hardware-oriented course, it would also be of interest to a programmer who wonders what is going on down there below the instruction set and the programmable I/O registers.

Reviewer:  John G. Fletcher Review #: CR115531
Bookmark and Share
 
Motorola 68000 (C.5.3 ... )
 
 
Macro And Assembly Languages (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Motorola 68000": Date
The 68000 and 68020
Triebel W., Singh A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780138121327)
Sep 1 1992
Programming and designing with the 68000 family
Mimar T., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780137314980)
Apr 1 1992
68000 assembly language programming and interfacing
Barry A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780138056803)
Jun 1 1993
more...

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