Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level
by Randall Hyde
Volume 1: Understanding the Machine
Today's programmers are often narrowly trained because the industry moves too fast. That's where Write Great Code, Volume 1: Understanding the Machine comes in. This, the first of four volumes by author Randall Hyde, teaches important concepts of machine organization in a language-independent fashion, giving programmers what they need to know to write great code in any language, without the usual overhead of learning assembly language to master this topic. A solid foundation in software engineering, The Write Great Code series will help programmers make wiser choices with respect to programming statements and data types when writing software.
Table of Contents
Chapter 1: What You Need to Know to Write Great Code
Chapter 2: Numeric Representation
Chapter 3: Binary Arithmetic and Bit Operations
Chapter 4: Floating Point Representation
Chapter 5: Character Representation
Chapter 6: Memory Organization and Access
Chapter 7: Composite Data Types and Memory Objects
Chapter 8: Boolean Logic and Digital Design
Chapter 9: CPU Architecture
Chapter 10: Instruction Set Architecture
Chapter 11: Memory Architecture and Organization
Chapter 12: Input and Output (I/O)
Thinking Low-Level, Writing High-Level
Appendix A: ASCII Character Set
Volume 2: Thinking Low-Level, Writing High-Level
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
Chapter 1: Thinking Low-Level, Writing High-Level
Chapter 2: Shouldn’t 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
Appendix: A Brief Comparison of the 80x86 and PowerPC CPU Families
Index
Online Appendix A: The Minimal 80x86 Instruction Set
Online Appendix B: The Minimal PowerPC Instruction Set
注:正确的 Volume 1 在以下地址:
https://bbs.pinggu.org/forum.php?mod=redirect&goto=findpost&ptid=4820325&pid=38985007&from^^uid=5975757