Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level

Randall Hyde




It's a critical lesson that today's computer science students aren't always being taught: How to carefully choose their high-level language statements to produce efficient code. Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level shows software engineers what too many college and university courses don't - how compilers translate high-level language statements and data structures into machine code. Armed with this knowledge, they will make informed choices concerning the use of those high-level structures and help the compiler produce far better machine code - all without having to give up the productivity and portability benefits of using a high-level language.


Table of Contents

Write Great Code, Volume 2: Brief Contents

Chapter 1:
Thinking Low-Level, Writing High-Level
Chapter 2: Shouldnt You Learn Assembly Language?
Chapter 3: 80x86 Assembly for the HLL Programmer
Chapter 4: PowerPC Assembly for the HLL Programmer
Chapter 5: Compiler Operation and Code Generation
Chapter 6: Tools for Analyzing Compiler Output
Chapter 7: Constants and High-Level Languages
Chapter 8: Variables in a High-Level Language
Chapter 9: Array Data Types
Chapter 10: String Data Types
Chapter 11: Pointer Data Types
Chapter 12: Record, Union, and Class Data Types
Chapter 13: Arithmetic and Logical Expressions
Chapter 14: Control Structures and Programmatic Decisions
Chapter 15: Iterative Control Structures
Chapter 16: Functions and Procedures

Engineering Software
A Brief Comparison of the 80x86 and PowerPC CPU Families


Online Appendix A:
The Minimal 80x86 Instruction Set
Online Appendix B: The Minimal PowerPC Instruction Set