AcknowledgmentsIntroductionChapter 1: Thinking Low-Level, Writing High-LevelChapter 2: Shouldn’t You Learn Assembly Language?Chapter 3: 80x86 Assembly for the HLL ProgrammerChapter 4: PowerPC Assembly for the HLL ProgrammerChapter 5: Compiler Operation and Code GenerationChapter 6: Tools for Analyzing Compiler OutputChapter 7: Constants and High-Level LanguagesChapter 8: Variables in a High-Level LanguageChapter 9: Array Data TypesChapter 10: String Data TypesChapter 11: Pointer Data TypesChapter 12: Record Union, and Class Data TypesChapter 13: Arithmetic and Logical ExpressionsChapter 14: Control Structures and Programmatic DecisionsChapter 15: Iterative Control StructuresChapter 16: Functions and ProceduresEngineering SoftwareA Brief Comparison of the 80x86 and PowerPC CPU FamiliesOnline AppendicesColophonUpdates