Over the last ten years, the ARM architecture has become the most pervasive 32-bit architecture in the world. In this new developer's guide, the authors provide a comprehensive text describing the operation of the ARM core from a product developer's perspective with a clear emphasis on software. The book demonstrates not only how to write efficient ARM software in C and assembler but also how to optimize code.