Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Book Excerpt: Write Great Code—Think Low Level, Write High Level

As a high-level-language programmer, if you want to know what's really going on with your programs, you need to spend a little time learning assembly language—and you won't find an easier introduction.


advertisement
o matter how well you write and understand high-level programming languages, your applications can probably benefit if you're willing to dig down into the lower-level code that makes the computer work. And for most developers, that means learning assembly language and understanding compilers. In Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level (No Starch Press, March 2006), author Randall Hyde speaks to a new generation of programmers who haven't been taught assembly language, and many of whom haven't been trained in a computer science curriculum. This book, the second installment in the popular Write Great Code series, explains how compilers work to translate high-level language statements and data structures into machine code. Armed with this understanding, programmers will be able to choose a proper mix of high-level language statements to produce more efficient software—all without having to give up the productivity and portability benefits of a high-level language.

The two chapters excerpted here should not only serve as a good introduction to the advantages of knowing lower-level programming, but also give you a good feel for the comprehensive coverage and the target audience level of this book. Chapter 3, 80x86 Assembly for the High-level Language (HLL) Programmer, walks you through the 80x86 architecture, provides a basic overview of 80x86 assembly language, the addressing modes for this chip family, and then describes the various syntax forms used in common assemblers such as HLA, MASM/TASM, and Gas.

Chapter 8, Variables in a High-level Language, covers the low-level implementation of variables used in high-level languages, including the runtime memory organization, attributes that differentiate variables from other objects, the difference between static, automatic, and dynamic variables, and how machine instructions encode the address of a variable. Reproduced from Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level by permission of No Starch Press. ISBN 1593270658, copyright 2006. All rights reserved.



   
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap