Today’s programming languages offer productivity and portability, but also make it easy to write sloppy code that isn’t optimized for a compiler. Thinking Low-Level, Writing High-Level will teach you to craft source code that results in good machine code once it’s run through a compiler.

You’ll learn: How to analyze the output of a compiler to verify that your code generates good machine code; The types of machine code statements that compilers generate for common control structures, so you can choose the best statements when writing HLL code; Enough assembly language to read compiler output; How compilers convert various constant and variable objects into machine data.

With an understanding of how compilers work, you’ll be able to write source code that they can translate into elegant machine code. …