<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>Assembly Language Programming : ARM Cortex-M3</title>
  </titleInfo>
  <name type="personal">
    <namePart>Mahout, Vincent.</namePart>
    <role>
      <roleTerm authority="marcrelator" type="text">creator</roleTerm>
    </role>
  </name>
  <typeOfResource>text</typeOfResource>
  <genre authority="marc">bibliography</genre>
  <genre authority="">Electronic books.</genre>
  <originInfo>
    <place>
      <placeTerm type="code" authority="marccountry">enk</placeTerm>
    </place>
    <place>
      <placeTerm type="text">London</placeTerm>
    </place>
    <publisher>Wiley</publisher>
    <dateIssued>2013</dateIssued>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
  </language>
  <physicalDescription>
    <form authority="gmd">electronic resource</form>
    <extent>1 online resource (258 pages).</extent>
  </physicalDescription>
  <abstract>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. 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. It is written for people who have never pr.</abstract>
  <tableOfContents>Cover; Assembly Language Programming; Title Page; Copyright Page; Table of Contents; Preface; Chapter 1. Overview of Cortex-M3 Architecture; 1.1. Assembly language versus the assembler; 1.2. The world of ARM; 1.2.1. Cortex-M3; 1.2.2. The Cortex-M3 core in STM32; Chapter 2. The Core of Cortex-M3; 2.1. Modes, privileges and states; 2.2. Registers; 2.2.1. Registers R0 to R12; 2.2.2. The R13 register, also known as SP; 2.2.3. The R14 register, also known as LR; 2.2.4. The R15 or PC register; 2.2.5. The xPSR register; Chapter 3. The Proper Use of Assembly Directives.</tableOfContents>
  <tableOfContents>3.1. The concept of the directive3.1.1. Typographic conventions and use of symbols; 3.2. Structure of a program; 3.2.1. The AREA sections; 3.3. A section of code; 3.3.1. Labels; 3.3.2. Mnemonic; 3.3.3. Operands; 3.3.4. Comments; 3.3.5. Procedure; 3.4. The data section; 3.4.1. Simple reservation; 3.4.2. Reservation with initialization; 3.4.3. Data initialization: the devil is in the details; 3.5. Is that all?; 3.5.1. Memory management directives; 3.5.2. Project management directives; 3.5.3. Various and varied directives; Chapter 4. Operands of Instructions; 4.1. The constant and renaming.</tableOfContents>
  <tableOfContents>4.2. Operands for common instructions4.2.1. Use of registers; 4.2.2. The immediate operand; 4.3. Memory access operands: addressing modes; 4.3.1. The pointer concept; 4.3.2. Addressing modes; Chapter 5. Instruction Set; 5.1. Reading guide; 5.1.1. List of possible "condition" suffixes; 5.2. Arithmetic instructions; 5.3. Logical and bit manipulation instructions; 5.4. Internal transfer instructions; 5.5. Test instructions; 5.6. Branch instructions; 5.7. Load/store instructions; 5.7.1. Simple transfers; 5.7.2. Multiple transfers; 5.7.3. Access to the system stack.</tableOfContents>
  <tableOfContents>5.8. "System" instructions and othersChapter 6. Algorithmic and Data Structures; 6.1. Flowchart versus algorithm; 6.2. Alternative structures; 6.2.1. Simple (or shortened) alternative; 6.2.2. Complete alternative; 6.2.3. Special case of the alternative; 6.2.4. Multiple choice; 6.3. Iterative structures; 6.3.1. The Repeat ... Until loop; 6.3.2. The While ... Do loop; 6.3.3. The For ... loop; 6.4. Compound conditions; 6.4.1. Alternative with AND; 6.4.2. Iteration with AND; 6.4.3. Alternative with OR; 6.4.4. Iteration with OR; 6.5. Data structure; 6.5.1. Table in one dimension.</tableOfContents>
  <tableOfContents>6.5.2. Tables in multiple dimensions6.5.3. Registration; 6.5.4. Non-dimensional table, character string; 6.5.5. Queue; 6.5.6. Stack; Chapter 7. Internal Modularity; 7.1. Detailing the concept of procedure; 7.1.1. Simple call; 7.1.2. Nested calls; 7.1.3. "Red wire" example; 7.2. Procedure arguments; 7.2.1. Usefulness of arguments; 7.2.2. Arguments by value and by reference; 7.2.3. Passing arguments by general registers; 7.2.4. Passing arguments by a stack; 7.2.5. Passing arguments by the system stack; 7.2.6. On the art of mixing; 7.3. Local data; 7.3.1. Simple reservation of local data.</tableOfContents>
  <note>7.3.2. Using a chained list.</note>
  <note>Includes bibliographical references (page 239) and index.</note>
  <subject authority="lcsh">
    <topic>Embedded computer systems</topic>
  </subject>
  <subject authority="lcsh">
    <topic>Microprocessors</topic>
  </subject>
  <subject authority="lcsh">
    <topic>Assembly languages (Electronic computers)</topic>
  </subject>
  <subject>
    <topic>Assembler language (Computer program language)</topic>
  </subject>
  <subject authority="bisacsh">
    <topic>COMPUTERS</topic>
    <topic>Programming Languages</topic>
    <topic>C♯</topic>
  </subject>
  <subject authority="bisacsh">
    <topic>COMPUTERS</topic>
    <topic>Programming Languages</topic>
    <topic>Java</topic>
  </subject>
  <subject authority="bisacsh">
    <topic>COMPUTERS</topic>
    <topic>Programming Languages</topic>
    <topic>Pascal</topic>
  </subject>
  <subject authority="fast">
    <topic>Assembly languages (Electronic computers)</topic>
  </subject>
  <subject authority="fast">
    <topic>Embedded computer systems</topic>
  </subject>
  <subject authority="fast">
    <topic>Microprocessors</topic>
  </subject>
  <classification authority="lcc">TK7895.E42</classification>
  <classification authority="ddc" edition="23">005.13/3</classification>
  <classification authority="ddc">005.2</classification>
  <relatedItem type="otherFormat" displayLabel="Print version:">
    <titleInfo>
      <title>Assembly Language Programming : ARM Cortex-M3</title>
    </titleInfo>
    <name>
      <namePart>Mahout, Vincent.</namePart>
    </name>
    <originInfo>
      <publisher>London : Wiley, ©2013</publisher>
    </originInfo>
  </relatedItem>
  <relatedItem type="series">
    <titleInfo>
      <title>ISTE</title>
    </titleInfo>
  </relatedItem>
  <identifier type="isbn">9781118562123</identifier>
  <identifier type="isbn">1118562127</identifier>
  <identifier type="isbn">9781118565971</identifier>
  <identifier type="isbn">1118565975</identifier>
  <identifier type="isbn">1848213298</identifier>
  <identifier type="isbn">9781848213296</identifier>
  <identifier type="isbn">9781299315846</identifier>
  <identifier type="isbn">1299315844</identifier>
  <identifier type="stock number">462834 MIL</identifier>
  <identifier type="uri">http://onlinelibrary.wiley.com/book/10.1002/9781118562123</identifier>
  <location>
    <url>http://onlinelibrary.wiley.com/book/10.1002/9781118562123</url>
  </location>
  <recordInfo>
    <recordContentSource authority="marcorg">EBLCP</recordContentSource>
    <recordCreationDate encoding="marc">130316</recordCreationDate>
    <recordChangeDate encoding="iso8601">20171107092015.0</recordChangeDate>
    <recordIdentifier source="OCoLC">ocn830161730</recordIdentifier>
    <languageOfCataloging>
      <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
    </languageOfCataloging>
  </recordInfo>
</mods>
