Professor De Boer's list of
TEXTBOOK ERRATA
TEXTBOOK ERRATA
(last update 1/31/2013)


Mano and Kime, Logic and Computer Design Fundamentals, Fourth Edition,
ISBN 0-13-198926-X (student edition), or
ISBN 0-13-600158-0 (instructor's edition),
Pearson Prentice Hall, 2008.

(link to errata for the 5th edtion)
(link to errata for the 3rd edition)


If you are considering purchasing this textbook and worrying that it is a poor choice due to the length of this list of errata, please reconsider. Competing textbooks have about as many errata, but perhaps no list like this. "Better the devil you know than the devil you don't." Professor
De Boer likes this book enough to find it worthwhile to publish this list of errata.


Before using the list below please review the publisher's errata list.
Pearson Prentice Hall has withdrawn their errata list.
You may be able to find it via a web search. A typical file name was "Text_Errata_v4-2.1-13.pdf". Or you might find it at DocGo, or you might find it at The Internet Archive. Those errata are not included in the list below unless noted.


List of additional Errata:

Page 23, Seventh line of the 3rd paragraph down the page
Change "Table 1-3 on page 14" to "Table 1-4 on page 24."
      (Posted 1/17/2011)

Page 32, Problem 1-10.
The answers given online at the publisher's web site have errors of precision. Correct answers are:
a.) 16612.346 8
b.) 792.41D16 
c.) 1010 1111.0010 1100 112                                             (Posted 1/25/2008)

Page 93, Problem 2-11.
The answer given online at the publisher's web site has errors in it.
A correct answer follows:

a.) E(X, Y, Z) = Σm(1, 2, 4, 6) = ΠM(0, 3, 5, 7)
     F(X, Y, Z) = Σm(0, 2, 4, 7) = ΠM(1, 3, 5, 6)

b.) E(X, Y, Z) = Σm(0, 3, 5, 7)
     F(X, Y, Z) = Σm(1, 3, 5, 6)

c.) E + F = Σm(0, 1, 2, 4, 6, 7)
     E · F = Σm(2, 4)

d.) E(X, Y, Z) = X Y Z + X Y Z + X Y Z + X Y Z
     F(X, Y, Z) = X Y Z + X Y Z + X Y Z + X Y Z

e.) E(X, Y, Z) = X Y Z + (Y + X)Z     (6 literals)
     F(X, Y, Z) = (Y + X)Z + X Y Z     (6 literals)
      (Posted 1/31/2013)

Page 93, Problem 2-12.
The answer given online at the publisher's web site has an error in it. The error is in the answer for the p.o.s. form in part (b). The correct answer is (the same as the s.o.p. form.)

Page 96, Problem 2-30.
On the line that starts with "(a) F(A, B, C, D) = . . ." delete the "(a)". Similarly,
on  the line that starts with "(b) G(A, B, C, D) = . . ." delete the "(b)".
(This problem has only one part, which is to draw a logic circuit with inputs A, B, C, and D and outputs F, and G. As it is written, most students approach the problem thinking it has two parts.)       (Posted 1/31/2011)

Page 120, Table 3-5 and the following paragraph
Change IS to IG in 5 instances and change IS to IG in one instance.
        (Posted 1/9/2013)

Page 144, Figure 3-33.
Replace label G<sub>2</sub>A with label G<sub>2A</sub> and similarly,
replace label G<sub>2</sub>B with label G<sub>2B</sub>.

Page 166, Examples of addition, near middle of page.
The carries are shown in the wrong columns. A corrected illustration is shown here. (This illustration also shows other carries in light grey text. The carry in at the least significant bit is not shown but is assumed to be logic-0)

                         

Page 197, Problem 4-3.
In the problem statement, change the word "unsigned" to "signed." Note that when you "obtain" the complement you negate the number.

In the solution posted on the web for this problem, again change the word "unsigned" to "signed."
(The problem statement as given is ambiguous. "Obtain" could be construed to mean converting unsigned numbers into a signed representation by adding a leading zero as a positive sign. The other way to construe the problem statement is to negate the given number by finding the complement as described in the text on pages 157 and 158. This was the author's intent. For students this is an unexpected maneuver. They wonder how one can negate an unsigned number, or why one would do this—although there are valid reasons. Simply stating that the given numbers are already signed clears up the confusion.)

Page 251, Figure 5-28(a).
1.) Remove the arc that leads from S1 to S1.
      Also remove the label associated with that arc.

2.) Change the label on the arc that leads from S1 to S2
      from "10/11" to "10/10, 11/00".

3.) Change the label on the arc that leads from S1 to S0
      from "00, 01/01" to "00/01, 01/00".

4.) On all three arcs which lead out of S3 change the
      outputs from "/01" to "/11".

A corrected version of Figure 5-28(a) is available.
This errata supercedes the author's errata for this page.
(posted 2/28/2008, updated 2/04/2009)

Page 259, Near the bottom of the page.
On the line that starts with "Fill_1(t + 1)"
an overbar is missing from the first instance of "STOP."
(This is also noted in the author's errata.)

On the next line, change the first instance of "Fill_2" to "Fill_2(t + 1)"

On the next line, change the first instance of "Fill_3" to "Fill_3(t + 1)"

On the next line, change "Mix" to "Mix(t + 1)"
        (Posted 3/24/2010)

Page 333, Problem 6-15.
Change "8 x 3" to "8 x 4".

Page 403, Problem 7-4.
Delete the word, "sequential" from the problem statement.
(In other words, the problem is asking you to re-work Table 7-5 except change both entries in the "Source R2" column to "11001010" and change the entries in the "After Shift: Destination R1" column accordingly.)
(Posted 4/16/2010, updated 3/02/2011)

Page 442, Problem 8-7.
Add this sentence to the problem statement after the first sentence:
"A single refresh operation takes 60 ns on this DRAM."

Page 442, Problem 8-8.
Add a phrase to the start of part (b) so that it reads:
"(b) Given that the memory system is orgainized into 16 bit words, how nany address lines. . . "

Page 492, Problem 9-12.
In the second and third lines of the problem statement in two instances change the word "register" to "register-address." The problem statement then reads as:

      A computer has a 32-bit instruction word broken into fields as follows:
      opcode, six bits; two register-address fields, five bits each; and one
      immediate operand/register-address field, 16 bits.

Also, in part (d) between "signed" and "immediate" add
"two's complement" so that part (d) reads,

      "What is the range of signed twos complement immediate operands. . ."

(posted 4/06/2009, updated 4/06/2011)

Page 493, Problem 9-15.
Part (a), in the first row below the heading, change the "=" to a left-arrow.
Part (a), in the last row, in the second-to-last line,
             change "PC + se PC" to "PC + se AD".
Part (b), in the first row below the heading, change the "=" to a left-arrow.
Corrected table entries can be seen here (a) and here (b).

Page 499, Third line on the page
Change "a control" to "the instruction." The corrected line reads:
"1. Fetch the instruction from memory into the instruction register."

Page 510, Last line of regular text just above Figure 10-5.
The figure number is incorrect.
Change "Figure 10-5 with the mode field. . ."
to "Figure 10-6 with the mode field. . ."
(posted 4/20/2009 Thanks for catching this one Lucas!)

Page 527, Table 10-7.
No errata, however Table 10-7 has little content.
Here is a supplement to Table 10-7.
(posted 4/12/2012)

Page 541, Problem 10-27.
Replace the third sentence with the following:
"A two-word procedure call instruction is located in memory at address 2000. The opcode at address 2000 is followed by the instruction's address field containing 0502 at address 2001. All these addresses are in decimal format."

The answer to problem 10-27 given in the online solution key has an error.
For part (b), SP = 3999 is the correct answer.
All the answers are given in decimal format.

Page 601, Example 12-1.
The example of a 750 GB drive is not appropriate to the preceding discussion. Instead of using cylinder, head, sector addressing (CHS addressing) as the text describes and as Figure 12-2 illustrates, large hard disks use logical block addressing (LBA). Replace Example 12-1 in the text with the following two examples. Example 12-1 then is suitable to the text's discussion of CHS addressing
EXAMPLE 12-1    Hard Drive Parameters
This example presents parameters for a 1990's era hard disk (Maxtor 91202D8). The drive is 12 GB (with GB = 109 bytes, not 230 bytes). The drive has 8 disks and 16 heads. There are 512 bytes per sector and 63 sectors per track, and 23291 cylinders. The rotational speed is 5400 RPM. The rotational latency is 5.56 ms, average read seek time is 9.0 ms. The transfer rate is 15.2 MB/s.
Interested readers can find more up-to-date information by following the links in gold in the next sentence and by considering "Example 12-2" below.
Modern large hard disk drives use zoned recording and logical block addressing (LBA). Here is an example of a drive of this type:

EXAMPLE 12-2    Hard Drive Parameters
This example presents parameters for a 2007 era hard disk (Western Digital WD7500AAKS). The drive is 750 GB (with GB = 109 bytes, not 230 bytes). The drive has 1,465,149,168 usable sectors with 512 bytes per sector. The rotational speed is 7200 RPM. The rotational latency is 4.16 ms, average read seek time is 4.2 ms. The transfer rate is 70 MB/s sustained, 3 Gb/s maximum.
Page 629, Problem 12-1.
The unit prefixes in the solution posted on the Web do not follow industry practice. The hard disk drive industry usually publishes capacities using decimal-based definitions of kilo, mega, giga, tera, etc. (More on binary-based prefixes here and here.) In the solutions below prefixes "k," "M," or "G," are decimal-based and "Ki," "Mi," or "Gi" are binary based.

Solutions illustrating various formats
a.) (1023 cylinders)(1 head)(63 sectors/track)(512 bytes/sector)
= 32 997 888 bytes (exactly)
= 33 MB (approximately)
The line above is the number typically advertised and the preferred answer.
= 32 224.5 KiB (exactly)
= 31.5 MiB (approximately)

b.) (8191 cylinders)(4 heads)(63 sectors/track)(512 bytes/sector)
= 1 056 835 584 bytes (exactly)
= 1 GB (approximately)
The line above is the number typically advertised and the preferred answer.
= 1 032 066 KiB (exactly)
= 1008 MiB (approximately)
= 0.984 GiB (approximately)

c.) (16 383 cylinders)(16 heads)(63 sectors/track)(512 bytes/sector)
= 8 455 200 768 bytes (exactly)
= 8.45 GB (approximately)
The line above is the number typically advertised and the preferred answer.
= 8 257 032 KiB (exactly)
= 8 063 MiB (exactly)
= 7.87 GiB (exactly)





Disclaimer: This list of errata is provided by Professor De Boer for the use of his students in his courses. This list is offered as is, with no guarantee of any kind. It is likely to be incomplete at the least.

Prof. De Boer's home page