Assembly language programming: ARM Cortex-M3
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
London [u.a.]
ISTE [u.a.]
2012
|
Schlagworte: | |
Online-Zugang: | Publisher description Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references and index |
Beschreibung: | X, 246 S. Ill., graph. Darst. |
ISBN: | 9781848213296 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV039936621 | ||
003 | DE-604 | ||
005 | 20170906 | ||
007 | t | ||
008 | 120306s2012 ad|| |||| 00||| eng d | ||
010 | |a 2011049418 | ||
020 | |a 9781848213296 |9 978-1-84821-329-6 | ||
035 | |a (OCoLC)796188604 | ||
035 | |a (DE-599)BVBBV039936621 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-83 |a DE-898 |a DE-Aug4 |a DE-1046 |a DE-858 | ||
050 | 0 | |a TK7895.E42 | |
082 | 0 | |a 005.2 | |
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
084 | |a ZN 4980 |0 (DE-625)157428: |2 rvk | ||
100 | 1 | |a Mahout, Vincent |e Verfasser |4 aut | |
245 | 1 | 0 | |a Assembly language programming |b ARM Cortex-M3 |c Vincent Mahout |
264 | 1 | |a London [u.a.] |b ISTE [u.a.] |c 2012 | |
300 | |a X, 246 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Includes bibliographical references and index | ||
650 | 4 | |a Embedded computer systems | |
650 | 4 | |a Microprocessors | |
650 | 4 | |a Assembler language (Computer program language) | |
650 | 0 | 7 | |a Assembler |0 (DE-588)4003255-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Mikroprozessor |0 (DE-588)4039232-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Assembler |0 (DE-588)4003255-3 |D s |
689 | 0 | 1 | |a Mikroprozessor |0 (DE-588)4039232-6 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | |u http://www.loc.gov/catdir/enhancements/fy1205/2011049418-d.html |3 Publisher description | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024794765&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-024794765 |
Datensatz im Suchindex
_version_ | 1804148903327563776 |
---|---|
adam_text | Titel: Assembly language programming
Autor: Mahout, Vincent
Jahr: 2012
Table of Contents
Preface........................................... ix
Chapter 1. Overview of Cortex-M3 Architecture................ 1
1.1. Assembly language versus the assembler.................. 1
1.2. The world of ARM............................... 2
1.2.1. Cortex-M3.................................. 3
1.2.2. The Cortex-M3 core in STM32...................... 7
Chapter 2. The Core of Cortex-M3......................... 15
2.1. Modes, privileges and states.......................... 15
2.2. Registers..................................... 17
2.2.1. Registers RO to R12............................ 19
2.2.2. The R13 register, also known as SP................... 19
2.2.3. The Rl4 register, also known as LR................... 20
2.2.4. TheR15 or PC register........................... 21
2.2.5. The xPSR register............................. 22
Chapter 3. The Proper Use of Assembly Directives............... 25
3.1. The concept of the directive.......................... 25
3.1.1. Typographic conventions and use of symbols............. 26
3.2. Structure of a program............................. 27
3.2.1. The AREA sections . . .........;-................. 28
3.3. A section of code.........., . . .**.................. 29
3.3.1. Labels..................................... 29
3.3.2. Mnemonic.................................. 31
3.3.3. Operands................................... 32
3.3.4. Comments.................................. 34
3.3.5. Procedure................................... 35
vi Assembly Language Programming
3.4. The data section................................. 36
3.4.1. Simple reservation............................. 36
3.4.2. Reservation with initialization...................... 37
3.4.3. Data initialization: the devil is in the details.............. 39
3.5. Is that all?..................................... 39
3.5.1. Memory management directives..................... 40
3.5.2. Project management directives...................... 41
3.5.3. Various and varied directives....................... 44
Chapter 4. Operands of Instructions........................ 47
4.1. The constant and renaming........................... 48
4.2. Operands for common instructions...................... 49
4.2.1. Use of registers............................... 49
4.2.2. The immediate operand.......................... 53
4.3. Memory access operands: addressing modes................ 57
4.3.1. The pointer concept............................ 58
4.3.2. Addressing modes............................. 59
Chapter 5. Instruction Set............................... 63
5.1. Reading guide.................................. 63
5.1.1. List of possible condition suffixes................... 65
5.2. Arithmetic instructions............................. 66
5.3. Logical and bit manipulation instructions.................. 70
5.4. Internal transfer instructions.......................... 75
5.5. Test instructions................................. 76
5.6. Branch instructions............................... 77
5.7. Load/store instructions............................. 80
5.7.1. Simple transfers............................... 80
5.7.2. Multiple transfers.............................. 82
5.7.3. Access to the system stack........................ 84
5.8. System instructions and others....................... 85
Chapter 6. Algorithmic and Data Structures................... 87
6.1. Flowchart versus algorithm.......................... 87
6.2. Alternative structures.............................. 89
6.2.1. Simple (or shortened) alternative..................... 89
6.2.2. Complete alternative............................ 90
6.2.3. Special case of the alternative...................... 93
6.2.4. Multiple choice............................... 94
6.3. Iterative structures................................ 98
6.3.1. The Repeat...Until loop.......................... 98
Table of Contents vii
6.3.2. The While...Do loop............................ 102
6.3.3. The For... loop............................... 105
6.4. Compound conditions.............................. 106
6.4.1. Alternative with AND........................... 107
6.4.2. Iteration with AND............................. 108
6.4.3. Alternative with OR............................ 109
6.4.4. Iteration with OR.............................. 110
6.5. Data structure................................... Ill
6.5.1. Table in one dimension.......................... Ill
6.5.2. Tables in multiple dimensions...................... 112
6.5.3. Registration................................. 113
6.5.4. Non-dimensional table, character string................. 113
6.5.5. Queue..................................... 114
6.5.6. Stack..................................... 115
Chapter 7. Internal Modularity........................... 119
7.1. Detailing the concept of procedure...................... 119
7.1.1. Simple call.................................. 119
7.1.2. Nested calls................................. 119
7.1.3. Red wire example............................ 121
7.2. Procedure arguments.............................. 123
7.2.1. Usefulness of arguments.......................... 123
7.2.2. Arguments by value and by reference.................. 123
7.2.3. Passing arguments by general registers................. 123
7.2.4. Passing arguments by a stack....................... 126
7.2.5. Passing arguments by the system stack................. 133
7.2.6. On the art of mixing............................ 136
7.3. Local data..................................... 136
7.3.1. Simple reservation of local data..................... 137
7.3.2. Using a chained list............................. 143
Chapter 8. Managing Exceptions........................... 147
8.1. What happens during Reset?.......................... 148
8.2. Possible exceptions............................... 151
8.2.1. Traps..................................... 153
8.2.2. Interrupts................................... 159
8.3. Priority management.............................. 161
8.3.1. Priority levels and sublevels....................... 162
8.3.2. The nested mechanism........................... 166
8.4. Entry and return in exception processing.................. 167
8.4.1. Re-routing.................................. 167
8.4.2. Return..................................... 169
viii Assembly Language Programming
8.4.3. Tail-chaining and Late-arriving ................... 169
8.4.4. Other useful registers for the NVIC................... 170
Chapter 9. From Listing to Executable: External Modularity........ 173
9.1. External modularity............................... 175
9.1.1. Generic example.............................. 175
9.1.2. Assembly by pieces............................ 178
9.1.3. Advantages of assembly by pieces.................... 178
9.1.4. External symbols.............................. 179
9.1.5. IMPORT and EXPORT directives.................... 181
9.2. The role of the assembler............................ 182
9.2.1. Files produced by the assembler..................... 183
9.2.2. Placement counters............................. 185
9.2.3. First pass: symbol table.......................... 185
9.2.4. Second pass: translation.......................... 186
9.2.5. Relocation table............................... 187
9.3. The role of the linker.............................. 188
9.3.1. Functioning principle........................... 188
9.3.2. The products of the linker......................... 190
9.4. The loader and the debugging unit...................... 196
Appendices........................................ 199
Appendix A. Instruction Set - Alphabetical List................. 201
Appendix B. The SysTick Timer........................... 209
Appendix C. Example of a Bootstrap File.................... 217
Appendix D. The GNU Assembler.......................... 227
Bibliography....................................... 239
Index............................................ 241
|
any_adam_object | 1 |
author | Mahout, Vincent |
author_facet | Mahout, Vincent |
author_role | aut |
author_sort | Mahout, Vincent |
author_variant | v m vm |
building | Verbundindex |
bvnumber | BV039936621 |
callnumber-first | T - Technology |
callnumber-label | TK7895 |
callnumber-raw | TK7895.E42 |
callnumber-search | TK7895.E42 |
callnumber-sort | TK 47895 E42 |
callnumber-subject | TK - Electrical and Nuclear Engineering |
classification_rvk | ST 240 ZN 4980 |
ctrlnum | (OCoLC)796188604 (DE-599)BVBBV039936621 |
dewey-full | 005.2 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2 |
dewey-search | 005.2 |
dewey-sort | 15.2 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik Elektrotechnik / Elektronik / Nachrichtentechnik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01724nam a2200445zc 4500</leader><controlfield tag="001">BV039936621</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20170906 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">120306s2012 ad|| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2011049418</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781848213296</subfield><subfield code="9">978-1-84821-329-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)796188604</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV039936621</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-858</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">TK7895.E42</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.2</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ZN 4980</subfield><subfield code="0">(DE-625)157428:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Mahout, Vincent</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Assembly language programming</subfield><subfield code="b">ARM Cortex-M3</subfield><subfield code="c">Vincent Mahout</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">London [u.a.]</subfield><subfield code="b">ISTE [u.a.]</subfield><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">X, 246 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Embedded computer systems</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Microprocessors</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Assembler language (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Assembler</subfield><subfield code="0">(DE-588)4003255-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Mikroprozessor</subfield><subfield code="0">(DE-588)4039232-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Assembler</subfield><subfield code="0">(DE-588)4003255-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Mikroprozessor</subfield><subfield code="0">(DE-588)4039232-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/enhancements/fy1205/2011049418-d.html</subfield><subfield code="3">Publisher description</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024794765&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-024794765</subfield></datafield></record></collection> |
id | DE-604.BV039936621 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:14:32Z |
institution | BVB |
isbn | 9781848213296 |
language | English |
lccn | 2011049418 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-024794765 |
oclc_num | 796188604 |
open_access_boolean | |
owner | DE-83 DE-898 DE-BY-UBR DE-Aug4 DE-1046 DE-858 |
owner_facet | DE-83 DE-898 DE-BY-UBR DE-Aug4 DE-1046 DE-858 |
physical | X, 246 S. Ill., graph. Darst. |
publishDate | 2012 |
publishDateSearch | 2012 |
publishDateSort | 2012 |
publisher | ISTE [u.a.] |
record_format | marc |
spelling | Mahout, Vincent Verfasser aut Assembly language programming ARM Cortex-M3 Vincent Mahout London [u.a.] ISTE [u.a.] 2012 X, 246 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Includes bibliographical references and index Embedded computer systems Microprocessors Assembler language (Computer program language) Assembler (DE-588)4003255-3 gnd rswk-swf Mikroprozessor (DE-588)4039232-6 gnd rswk-swf Assembler (DE-588)4003255-3 s Mikroprozessor (DE-588)4039232-6 s DE-604 http://www.loc.gov/catdir/enhancements/fy1205/2011049418-d.html Publisher description HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024794765&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Mahout, Vincent Assembly language programming ARM Cortex-M3 Embedded computer systems Microprocessors Assembler language (Computer program language) Assembler (DE-588)4003255-3 gnd Mikroprozessor (DE-588)4039232-6 gnd |
subject_GND | (DE-588)4003255-3 (DE-588)4039232-6 |
title | Assembly language programming ARM Cortex-M3 |
title_auth | Assembly language programming ARM Cortex-M3 |
title_exact_search | Assembly language programming ARM Cortex-M3 |
title_full | Assembly language programming ARM Cortex-M3 Vincent Mahout |
title_fullStr | Assembly language programming ARM Cortex-M3 Vincent Mahout |
title_full_unstemmed | Assembly language programming ARM Cortex-M3 Vincent Mahout |
title_short | Assembly language programming |
title_sort | assembly language programming arm cortex m3 |
title_sub | ARM Cortex-M3 |
topic | Embedded computer systems Microprocessors Assembler language (Computer program language) Assembler (DE-588)4003255-3 gnd Mikroprozessor (DE-588)4039232-6 gnd |
topic_facet | Embedded computer systems Microprocessors Assembler language (Computer program language) Assembler Mikroprozessor |
url | http://www.loc.gov/catdir/enhancements/fy1205/2011049418-d.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=024794765&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT mahoutvincent assemblylanguageprogrammingarmcortexm3 |