• Complain

Robert Dunne - Assembly Language Using the Raspberry Pi: A Hardware Software Bridge

Here you can read online Robert Dunne - Assembly Language Using the Raspberry Pi: A Hardware Software Bridge full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: Gaul Communications, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Robert Dunne Assembly Language Using the Raspberry Pi: A Hardware Software Bridge
  • Book:
    Assembly Language Using the Raspberry Pi: A Hardware Software Bridge
  • Author:
  • Publisher:
    Gaul Communications
  • Genre:
  • Year:
    2017
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Assembly Language Using the Raspberry Pi: A Hardware Software Bridge: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Assembly Language Using the Raspberry Pi: A Hardware Software Bridge" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Programmers learn by example and develop their skills by examining and modifying working programs. Assembly Language Using the Raspberry Pi is a complete tutorial that provides working example programs to introduce the novice to both CPU hardware and professional software development methods.

  • Each of the 20 chapters begins with a complete sample program to examine and test, followed by a description explaining the programming techniques and instructions that are introduced.
  • The first program is only 5 lines of code while later ones consist of over 100 lines.
  • Every sample program is complete, but leaves room for enhancements and experimentation encouraged by the questions at the end of each chapter.
  • ARM processor instructions and features are introduced as needed to implement the increased complexity in programming techniques.
  • There is an emphasis on program structure and design patterns that facilitate developing maintainable code (i.e., no spaghetti code).
  • The sample programs are documented both in flow diagrams and in comments.
  • Over 100 illustrations are included to explain programming techniques as well as ARM and floating point instructions.
  • Floating point format and instructions are covered extensively, but gradually introduced through a series of seven chapters covering IEEE 754, VFPv3, and NEON.
  • Background material on subjects like binary, twos complement, and hexadecimal appear in fourteen appendices for those who need it, without getting in the way of programmers who dont.
  • This book has been classroom tested with students having very little if any previous programming experience. The information is complete, allowing it to also be used as an independent study.
  • All system and utility software used in the book is included in the standard Raspian Linux distribution intended to be used with the Raspberry Pi 2 and 3.

Assembly language is the computer programming language closest to a computers machine code language. Learning to program in assembly language is an excellent practical hands-on introduction to the details of computer architecture. Although applications and systems software written in assembly language were once common, assembly language is now primarily a bridge of understanding between computer architects and software developers.

Robert Dunne: author's other books


Who wrote Assembly Language Using the Raspberry Pi: A Hardware Software Bridge? Find out the surname, the name of the author of the book and a list of all author's works by series.

Assembly Language Using the Raspberry Pi: A Hardware Software Bridge — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Assembly Language Using the Raspberry Pi: A Hardware Software Bridge" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

Assembly Language using the Raspberry Pi: A Hardware Software Bridge

Copyright 2017 by Robert Dunne.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means without the prior written permission of the copyright owner and publisher. Published in the United States of America by Gaul Communications, Downers Grove, Illinois.

ISBN 978-0-9701124-1-5 (paperback)

ISBN 978-0-9701124-0-8 (digital)

This book refers to and uses the GNU software and Raspian Linux kernel distributed for the Raspberry Pi. See the GNU General Public License for details which is available from the Free Software Foundation, Inc., Boston, Massachusetts.

Assembly Language Using the Raspberry Pi: A Hardware Software Bridge is an independent publication and has not been authorized, sponsored, or endorsed by any of the hardware or software rights holders described herein.

The publisher makes no warranty, express or implied, with respect to the material contained herein. The program listings, examples, and other information presented in this book are distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this book, neither the author nor Gaul Communications shall have any liability regarding its use.

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2

Assembly Language
Using the
Raspberry Pi

A Hardware Software Bridge

Robert Dunne

To

the four ladies in my life

Carol

Shannon

Robyn

Kelly

Contents
Preface

H ow do you use your Raspberry Pi? Thats a question I ask my students as well as people I meet in the business world. Some use it for games and entertainment. Some use it as part of a workstation in a network of computers. Some dont even use it, but bought one simply because the price was very reasonable. I primarily use the Raspberry Pi as part of instruction in electronics and computer science. Education was the principal motive for the development of the Raspberry Pi, and you can learn about its creation through the Raspberry Pi Foundation, a registered charity in the United Kingdom that promotes computer literacy and enthusiasm.

Assembly language is the computer programming language closest to a CPUs (Central Processing Unit) machine language. Programs written in assembly language are unique to a particular CPU design and are not portable from one CPU manufacturer or model to another. Programs written in higher level languages like Java, Python, C++, and Lisp are generally independent of the native hardware architecture of the CPU on which they will eventually run.

Audience for This Book

This book is part of a lecture and lab course in embedded systems. Embedded systems are internal computers that control almost everything today: automobile engines, television sets, furnaces, vacuum cleaners, cell phones, etc. The objective of this book is to introduce the novice to both CPU hardware and professional software development methods by working through sample assembly language programs. The intended audience is the following:

  • Anyone wanting to learn assembly language, especially individuals interested in the Raspberry Pi, the ARM CPU, VFPv3 floating point coprocessor, and NEON coprocessor architectures in particular.
  • Someone who already has assembly language experience, but now wants to become familiar with the ARM CPU, VFPv3 IEEE 754 floating point processor, and NEON vector processor resident in the Raspberry Pi.
  • Electronics engineers who want to bridge the gap toward software development, and software engineers who want to bridge the gap toward CPU hardware operation.
  • College students enrolled in embedded systems and computer architecture courses.

Expected background for someone reading this book to learn assembly language using the Raspberry Pi:

  • Most of my electronics students have no programming experience. Some have had limited encounters with Basic, C++, or Java.
  • Students should be able to start a Raspberry Pi and get it into Linux command line mode. I have included an appendix that should be adequate for most people needing some assitance. Note: Although I refer to the Raspberry Pi, almost any Linux or Unix system along with GNU utilities for an ARM processor will be adequate for most of the chapters in this book.
  • My embedded systems students have already taken a course in digital electronics. In other words, they will be familiar with binary, hexadecimal, ASCII, and hardware concepts like registers. For those needing assistance or refreshing in these areas, I have included appendices.

With students having the above background, the approach taken in this book is to be very thorough in providing detailed programming examples and not very thorough in explaining binary, hexadecimal, and ASCII. I have taken this approach based upon several years of feedback from electronics students of embedded systems indicating where they want more detail and where they need less. Readers with a strong background in computer programming may find I develop coding examples more slowly than they might prefer, and others might say I didnt explain binary and hexadecimal adequately (although I do provide several appendices explaining a variety of background issues).

Why Did I Write a Book for Learning Assembly Language?

Ive seen a lot of poorly written programs over the years, and I mean production code, not just classroom programming. The vast majority of it comes from people who have learned the elements of a programming language, but not how to develop software. Its comparable to an auto mechanic learning how to use wrenches, vacuum gauges, and oscilloscopes without knowing how an engine works. Its also like a soldier being taught to use a weapon but without being given the rules of engagement. In this book, I do introduce the mechanics of the ARM CPU and floating point processor within the Raspberry Pi, but I do it while subtly introducing software design patterns, object oriented design principles, and software development life cycles. This book is characterized by the following:

  • Independent Study: Although this book is part of my embedded systems course, it does not rely on additional material presented in the course. It is expected that the student will learn assembly language by working through the examples in this book, and well focus on electronic interfaces and feedback control methods during class.
  • Complete examples: Rather than provide just snippets of code, this book contains complete working programs.
  • An emphasis on software design methods: Design patterns and program development life cycles are as important for assembly language application development as for higher level language development.
  • Learn by doing: Prototype programs appear at the beginning of each chapter to get the readers feet wet before diving into the principles to be learned.
  • Flowcharts: Many students have stated they understand the concepts better when they can visually see the program flow.
  • Review questions and exercises: Every chapter ends with a series of suggested exercises and review questions to augment the understanding of the material presented. Answers to some of the review questions are in the back of the book, but many questions are left unanswered and are available for classroom assignments.
Why the Raspberry Pi?

So, why did I specifically target this book at the Raspberry Pi when other development environments have been available to college students for years?

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Assembly Language Using the Raspberry Pi: A Hardware Software Bridge»

Look at similar books to Assembly Language Using the Raspberry Pi: A Hardware Software Bridge. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Assembly Language Using the Raspberry Pi: A Hardware Software Bridge»

Discussion, reviews of the book Assembly Language Using the Raspberry Pi: A Hardware Software Bridge and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.