Errata for the first printing of the fifth edition of Computer Systems.
Inside front cover
In the entries for ADDSP
and SUBSP
, delete “NZVC” in the last column.
Page 27
In Example 1.2, change “400” to “500” to read “… of the 500-MB thumbnail database …”.
Page 27
In Example 1.3, change “Assume that each word is followed by one space character, on average.” to “Assume that each word is six characters long and is followed by one space character, on average.” Change “36” to “245” to read “… the typist enters 245 characters per minute.” Change “36” to “245” to read “(8(b/char) x 245 char)/…”. Change “4.8 b/s” to “32.7 b/s”.
Page 38
In Example 1.7, third math line, change “bit pixels” to “bits per pixel” to read “(number of pixels) x (bits per pixel)”.
Page 96
In Figure 2.33(d), second cell from the top on the run-time stack labeled retAddr
, change “ra1
” to “ra2
“.
Page 136
In the paragraph above Section 3.3, change “16” to “32” to read “… that stores integers in 32-bit cells, …”.
Page 158
In the penultimate paragraph, change “1.011” to “1.101” to read “… you would store the most significant bits, 1.101, in the …”.
Page 160
In the penultimate paragraph, change “0.132815” to “0.1328125” to read “The smallest positive value that can be stored is 0.1328125”.
Page 168
In the first paragraph, change the exponent of 2 from “1023” to “1024” to read “The largest positive value that can be stored is 2^1024, or …”.
Page 237
In Figure 5.2 in the entries for ADDSP
and SUBSP
, delete “NZVC” in the last column.
Page 253
In Figure 5.13, change the code on lines 0015 and 0018 to read as follows.
0015 D0000A LDBA '\n',i
0018 F1FC16 STBA 0xFC16,d
Page 277
In the first paragraph, change “exam1” to “exam2” to read “… the symbol exam2 has the value 5 …”.
Page 311
In Figure 6.18 under Hidh-Order Language, delete the line of code
printf("****\n");
Page 319
In the fourth line from the bottom, change “printTri
” to “printBar
” to read “… shows the stack after printBar
is called …”
Page 331
In the second paragraph, change “.EQUATE
” to “.BLOCK
” to read “… a
and b
are allocated at translation time with the .BLOCK
dot command.”
Page 372
In the caption of Figure 6.48, change “2.42” to “2.41” to read “The C program is from Figure 2.41.”
Page 374
In the caption of Figure 6.48, change “2.42” to “2.41” to read “The C program is from Figure 2.41.”
Page 377
Change the second bullet to read “To allocate storage for the node, it generates a call to malloc()
with tot in the accumulator, where tot is the total number of bytes occupied by the structure.”
In the third bullet, change “stack-relative” to “immediate”, change “p
” to “the field”, and insert “from p
” to read “… it generates LDWX
with immediate addressing to move the value of the field into the index register, followed by LDWA
or LDBA
from p
, depending on the type in the cell …”
Page 378
In the last paragraph, change “malaloc()
” to “malloc()
” to read “The malloc()
function allocates memory from the heap.”
Page 389
In Problem 39, the C statement “printf("\n");
” should be the first line of the inserted code fragment, not the last line, as follows:
printf("\n");
first2 = 0; p2 = 0;
for (p = first; p != 0; p = p->next) {
p2 = first2;
first2 = (struct node *) malloc(sizeof (struct node));
first2->data = p->data;
first2->next = p2;
}
for (p2 = first2; p2 != 0; p2 = p2->next) {
printf("%d ", p2->data);
}
Page 447
In Figure 7.45, delete five lines of duplicated code starting with
public class Tokenizer {
and ending with
}
Page 463
In the third paragraph from the bottom, change “instruction” to “operand” to read “The class for a nonunary mnemonic must have an abstract argument for its instruction specifier …”
Page 589
In Figure 10.13, change ” a + b c’ ” to “a + b’ c “.
Page 623
In Figure 10.60(b), change “+” to “plus”.
Page 642
Delete “AB” in the figure label to read “FIGURE 11.7”.
Page 662
In Figure 11.33, add the item “11/0” just below “10/1” on the transition from 01 to 11. See Fourth edition, Figure 11.32, page 570.
Page 668
In the first line, remove the slash “/” in the “0” to read “… 4 happens to be 0 at the time”.
Page 670
In the seventh line from the bottom, remove the slash “/” in the “0” to read “… to a low voltage, representing 0.”
Page 674
In the fifth line, remove the comma “,” to read “… EPROM chips are packaged …”.
Page 694
In the fifth and sixth lines from the bottom, switch the “S” and “C” to read “If the CSMux control line is 0, the multiplexer sends the C bit to the Cin of the ALU. If the CSMux control line is 1, the multiplexer sends the S bit to the Cin of the ALU.”.
Page 705
In the memory read protocol bullet list, delete “or before” to read “You must clock the data into the MDR from the system bus on the third MemRead cycle.”
Page 722
In Figure 12.21 Cycle 1, change CCk
to LoadCk
to read
1. A=11, AMux=1, ALU=0, CMux=1, C=8; LoadCK
Page 726
In the fifth line, change “if
” to “else
” to read “… two other branch targets else
and endif
.”.
Page 728
In the seventh line, change “32-bit” to “64-bit” to read “… could have a 64-bit wide data bus …”.
Page 734
In the second line from the bottom, change “Figure 12.28” to “Figure 12.29”.
Page 736
In the third line, change “Line” to “Tag” to read “… with the matching Tag field …”.
Page 744
In the last paragraph, in two places change “five” to “six” to read “… MIPS has the six addressing modes …” and “Each of the six addressing modes …”.
Page 777
In Exercise 10 in three places (lines 4, 6, and 9 of the exercise), change “Figure 12.29” to “Figure 12.30”.
Page 777
In the first line of Exercise 11, change “MByte” to “MiB” to read “… can address 1 MiB of main memory.”.
Page 788
In Figure A.8 in the entries for ADDSP
and SUBSP
, delete “NZVC” in the last column.
Page 796
Chapter 2, Exercise 2, change “(a, part 1)” to “(a, part 2)” and change “(a, part 2)” to “(a, part 1)”. In (a, part 4), change “five” to “four” to read “Maximum of four stack frames.”
Page 798
Exercise 17(c), change “1011” to “1010” to read “(e) 100 0001, NZVC = 1010”.
Page 798
Exercise 32(c), change “-256” to “-128” to read “(c) 40 (hex) = 100 0000 (bin) = -128 (dec)”.
Page 799
Exercise 46(b), insert “0” to read “(b) 0.0000101”.
Page 807
Exercise 21(a), insert prime character on second “b” to read “ab + a’b’ “
Exercise 22, change designation of part “(b)” to read “(d)”.
Page 811
Exercise 13(a) solution third line, insert a bar over X2 to read “Y = A^bar X2^bar + A X1 X2”
Page 812
Exercise 12(a) solution third line, change “2
” to “4
” to read “# a[4] gets g + b[5]
“