Assembly Language Using the Raspberry Pi: A Hardware Software Bridge

Assembly Language Using the Raspberry Pi: A Hardware Software BridgeReviews
Author: Robert Dunne
Pub Date: 2017
ISBN: 978-0970112415
Pages: 412
Language: English
Format: EPUB/AZW3/PDF (conv)
Size: 17 Mb

Download

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, two’s complement, and hexadecimal appear in fourteen appendices for those who need it, without getting in the way of programmers who don’t.
  • 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 computer’s “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.