Assembly Language Using the Raspberry Pi: A Hardware Software Bridge
Authors: Robert Dunne
ISBN-10: 0970112416
ISBN-13: 9780970112415
Publication Date 出版日期: 2017-06-06
Print Length 页数: 412 pages
Book Description
By finelybook
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.
Copyright
Assembly LanguageUsing theRaspberry Pi
Contents
Preface
0: Introduction
1: Compile,Link,Execute
2: Arithmetic Logic Unit
3: Subroutines and ASCll Output
4: True and False
5: Display Numbers in Binary
6: Display Numbers in Hexadecimal
7: Display Numbers in Decimal
8: Data Types and Storage
9: Disassembler
10: Fixed Point
11: Binary Point
12: Floating Point Display
13: Floating Point Coprocessor
14: Precision
15: Performance Using Vectors
16: Text and Logical Input
17: Integer Input
18: Floating Point Input
19. Model View Controller
Epilogue
A: Raspberry Pi Setup
B: Binary Numbers
C: Hexadecimal Numbers
D: ASCll
E: Text Editors
F: ARM Instructions
G: Vector & Floating Point Instructions
H: Assembler Directives
l: Linux Service Calls
: GDB Debugger Commands
K: Command Lines
L: CProgramming
M: Electronic Interfaces
N: Thumb Code
Answers to Selected Questions