Details

Assembly Language Programming


Assembly Language Programming

ARM Cortex-M3
1. Aufl.

von: Vincent Mahout

139,99 €

Verlag: Wiley
Format: EPUB
Veröffentl.: 04.03.2013
ISBN/EAN: 9781118563342
Sprache: englisch
Anzahl Seiten: 256

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

<p>ARM designs the cores of microcontrollers which equip most "embedded systems" based on 32-bit processors. Cortex M3 is one of these designs, recently developed by ARM with microcontroller applications in mind. To conceive a particularly optimized piece of software (as is often the case in the world of embedded systems) it is often necessary to know how to program in an assembly language.</p> <p>This book explains the basics of programming in an assembly language, while being based on the architecture of Cortex M3 in detail and developing many examples.</p> <p>It is written for people who have never programmed in an assembly language and is thus didactic and progresses step by step by defining the concepts necessary to acquiring a good understanding of these techniques.</p>
<p><i>Preface ix</i></p> <p><b>Chapter 1. Overview of Cortex-M3 Architecture 1</b></p> <p>1.1. Assembly language versus the assembler 1</p> <p>1.2. The world of ARM 2</p> <p><b>Chapter 2. The Core of Cortex-M3 15</b></p> <p>2.1. Modes, privileges and states 15</p> <p>2.2. Registers 17</p> <p><b>Chapter 3. The Proper Use of Assembly Directives 25</b></p> <p>3.1. The concept of the directive 25</p> <p>3.2. Structure of a program 27</p> <p>3.3. A section of code 29</p> <p>3.4. The data section 36</p> <p>3.5. Is that all? 39</p> <p><b>Chapter 4. Operands of Instructions 47</b></p> <p>4.1. The constant and renaming 48</p> <p>4.2. Operands for common instructions 49</p> <p>4.3. Memory access operands: addressing modes 57</p> <p><b>Chapter 5. Instruction Set 63</b></p> <p>5.1. Reading guide 63</p> <p>5.2. Arithmetic instructions 66</p> <p>5.3. Logical and bit manipulation instructions 70</p> <p>5.4. Internal transfer instructions 75</p> <p>5.5. Test instructions 76</p> <p>5.6. Branch instructions 77</p> <p>5.7. Load/store instructions 80</p> <p>5.8. “System” instructions and others 85</p> <p><b>Chapter 6. Algorithmic and Data Structures 87</b></p> <p>6.1. Flowchart versus algorithm 87</p> <p>6.2. Alternative structures 89</p> <p>6.3. Iterative structures 98</p> <p>6.4. Compound conditions 106</p> <p>6.5. Data structure 111</p> <p><b>Chapter 7. Internal Modularity 119</b></p> <p>7.1. Detailing the concept of procedure 119</p> <p>7.2. Procedure arguments 123</p> <p>7.3. Local data 136</p> <p><b>Chapter 8. Managing Exceptions 147</b></p> <p>8.1. What happens during Reset? 148</p> <p>8.2. Possible exceptions 151</p> <p>8.3. Priority management 161</p> <p>8.4. Entry and return in exception processing 167</p> <p><b>Chapter 9. From Listing to Executable: External Modularity 173</b></p> <p>9.1. External modularity 175</p> <p>9.2. The role of the assembler 182</p> <p>9.3. The role of the linker 188</p> <p>9.4. The loader and the debugging unit 196</p> <p><b>Appendices 199</b></p> <p>Appendix A. Instruction Set – Alphabetical List 201</p> <p>Appendix B. The SysTick Timer 209</p> <p>Appendix C. Example of a “Bootstrap” File 217</p> <p>Appendix D. The GNU Assembler 227</p> <p><i>Bibliography 239</i></p> <p><i>Index 241</i></p>
<p><b>Vincent Mahout</b> is a teacher at INSA of Toulouse (Grande Ecole d'Ingénieurs) under the authority of the Ministry of Education and Research. He is also a researcher at CNRS/LAAS (www.laas.fr), Toulouse, France.</p>

Diese Produkte könnten Sie auch interessieren:

Domain Architectures
Domain Architectures
von: Daniel J. Duffy
PDF ebook
31,99 €