TEXTBOOK ERRATA

Fundamentals of Embedded Software:
Where C and Assembly Meet

(Received "Honorable Mention" in the 2003 Alpha Sigma Nu National Jesuit Book Competition)

Daniel W. Lewis
Email: dlewis@scu.edu
Phone: (408) 554-4449

Last update: February 17, 2004

2005 update to technology trends

p. xvi (end of preface):

Add the URL of the Prentice-Hall companion website: http://www.prenhall.com/divisions/esm/app/lewis/

p. 15, 1st paragraph, second sentence:

  1. Change "if we are to going…" to "if we are going to…".

p. 41, problem #4 at top of page:

  1. Change "8-bit" to "12-bit"

p. 54, section 3.5.3, 2nd paragraph, 2nd line:

  1. Change "six" to eight".

p. 60, Figure 3-17:

  1. Seconds should be 5 bits, and minutes should be 6.

p. 74, last paragraph, end of 1st sentence:

  1. Change "rule number 3" to "rule number 1".

p. 78, Figure 4-14:

  1. Change all of the "989" address labels to "988".
  2. Change all of the "990" address labels to "989".
  3. Change the "MOV ESP,990" instruction to "MOV ESP,989".

p. 101, Figure 5-8:

  1. Change the immediate constant "5" used as the source operand of the last MOV instruction to "15".

p. 105, Figure 5-12:

  1. Add a leading underscore to the identifier "iteration_count" (i.e., "_iteration_count").

p. 107, 2nd paragraph, 2nd line:

  1. Change "JCXZ" to "JECXZ".

p. 115, Problem 4c:

Change: x = 0; for (y = 0; y < 1000; y = y << 1) x += y;
To: x = 0; for (y = 1; y < 1000; y = y << 1) x += y;

p. 129, Figure 6-14:

"ADD SP, 8" should be "ADD ESP, 8"

p. 205, Figure 11-4:

  1. Change "Limit" to "Length".

p. 248, DISPLAY FUNCTIONS (DISPLAY.C)

  1. Add the following function description:
Prototype:

char * FormatUnsigned(char *bfr, unsigned val, int base, int width, char fill) ;

Description: Converts the unsigned integer 'val' into a sequence of digits stored in 'bfr' using
radix 'base', right justified in a field of 'width' characters, left-filled with 'fill'.
Interrupts: Unaffected.

Updated CD-ROM files:

  1. slides\2.ppt
  2. slides\4.ppt
  3. slides\5.ppt
  4. slides\6.ppt
  5. slides\7.ppt
  6. libepc\*.* and ldscript\*.* (Both are required; see bug report)/
  7. programs\program2\*.*
  8. programs\program9\*.*
  9. The DJGPP compiler on the CD-ROM in the 1st printing of the text only works correctly under Windows 95, 98, and 98/2ed. An updated version of the compiler that works on all versions of Windows (95, 98, 98/2ed, NT, 2000, Me, and XP) and can be downloaded from http://clio.rice.edu/djgpp/win2k/main_203.htm. After installing the new compiler, be sure to run the LDSCRIPT program to create a new LINK.CMD file, recompile the library file LIBEPC.A, and recompile any .O object files. Then (and only then) should you try to link.