Raspberry Pi Assembly Language Programming: ARM Processor Coding
Gain all the skills required to dive into the fundamentals of the Raspberry Pi hardware architecture and how data is stored in the Pi’s memory. This book provides you with working starting points for your own projects while you develop a working knowledge of Assembly language programming on the Raspberry Pi.

You'll learn how to interface to the Pi’s hardware including accessing the GPIO ports. The book will cover the basics of code optimization as well as how to inter-operate with C and Python code, so you'll develop enough background to use the official ARM reference documentation for further projects.

With Raspberry Pi Assembly Language Programming as your guide you'll study how to read and reverse engineer machine code and then then apply those new skills to study code examples and take control of your Pi’s hardware and software both.


What You'll Learn



• Program basic ARM 32-Bit Assembly Language

• Interface with the various hardware devices on the Raspberry Pi

• Comprehend code containing Assembly language

• Use the official ARM reference documentation


Who This Book Is For

Coders who have already learned to program in a higher-level language like Python, Java, C#, or C and now wish to learn Assembly programming.
1132783611
Raspberry Pi Assembly Language Programming: ARM Processor Coding
Gain all the skills required to dive into the fundamentals of the Raspberry Pi hardware architecture and how data is stored in the Pi’s memory. This book provides you with working starting points for your own projects while you develop a working knowledge of Assembly language programming on the Raspberry Pi.

You'll learn how to interface to the Pi’s hardware including accessing the GPIO ports. The book will cover the basics of code optimization as well as how to inter-operate with C and Python code, so you'll develop enough background to use the official ARM reference documentation for further projects.

With Raspberry Pi Assembly Language Programming as your guide you'll study how to read and reverse engineer machine code and then then apply those new skills to study code examples and take control of your Pi’s hardware and software both.


What You'll Learn



• Program basic ARM 32-Bit Assembly Language

• Interface with the various hardware devices on the Raspberry Pi

• Comprehend code containing Assembly language

• Use the official ARM reference documentation


Who This Book Is For

Coders who have already learned to program in a higher-level language like Python, Java, C#, or C and now wish to learn Assembly programming.
54.99 In Stock
Raspberry Pi Assembly Language Programming: ARM Processor Coding

Raspberry Pi Assembly Language Programming: ARM Processor Coding

by Stephen Smith
Raspberry Pi Assembly Language Programming: ARM Processor Coding

Raspberry Pi Assembly Language Programming: ARM Processor Coding

by Stephen Smith

Paperback(First Edition)

$54.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Gain all the skills required to dive into the fundamentals of the Raspberry Pi hardware architecture and how data is stored in the Pi’s memory. This book provides you with working starting points for your own projects while you develop a working knowledge of Assembly language programming on the Raspberry Pi.

You'll learn how to interface to the Pi’s hardware including accessing the GPIO ports. The book will cover the basics of code optimization as well as how to inter-operate with C and Python code, so you'll develop enough background to use the official ARM reference documentation for further projects.

With Raspberry Pi Assembly Language Programming as your guide you'll study how to read and reverse engineer machine code and then then apply those new skills to study code examples and take control of your Pi’s hardware and software both.


What You'll Learn



• Program basic ARM 32-Bit Assembly Language

• Interface with the various hardware devices on the Raspberry Pi

• Comprehend code containing Assembly language

• Use the official ARM reference documentation


Who This Book Is For

Coders who have already learned to program in a higher-level language like Python, Java, C#, or C and now wish to learn Assembly programming.

Product Details

ISBN-13: 9781484252864
Publisher: Apress
Publication date: 10/24/2019
Edition description: First Edition
Pages: 374
Product dimensions: 6.10(w) x 9.25(h) x (d)

About the Author

Stephen Smithis a retired Software Architect, located in Gibsons, BC, Canada. He's been developing software since high-school, or way too many years to record. Since retiring he has pursued Artificial Intelligence programming, earned his Advanced HAM Radio License and enjoys mountain biking, hiking, and nature photography. He continues to write his popular technology blog at smist08.wordpress.com.

Table of Contents

Chapter 1: Getting StartedA Bit of HistoryTools you NeedARM Assembly InstructionsThe GCC AssemblerA Very Small Example

Chapter 2: My First Working Program

Add Two Numbers

Print the ResultMakeRun the ProgramDebug the ProgramChapter 3: Basic Arithmetic

Memory and Registers

Loading and Saving RegistersAddition and SubtractionMultiplication and DivisionChapter 4: Controlling Program Flow

Conditional Statements

LoopsChapter 5: Debugging with GDB

Examining Memory and Registers

Single SteppingSetting Breakpoints

Chapter 6: Linux Operating System Services

Overview

Calling ConventionExamplesChapter 7: Programming the GPIO Pins

Introduction

Using the Linux DriverUsing Mapped MemoryChapter 8: Interacting with C and Python

Calling C Functions

Calling Assembly from CEmbedding Assembly in CCalling C/Assembly from PythonChapter 9: Floating Point Operations

Write Assembler to perform floating point calculations

Division

Data Formats

Chapter 10: The Neon Coprocessor

Explain Single Instruction Multiple Data (SIMD) programming

Examples from AI and graphics

Speed up your program.

SIMD OpCodesMatrix ExampleGraphics ExampleChapter 11: Disassembling and Reverse Engineering

GCC

GDBGhidraChapter 12: Writing to the Screen and Reading the Keyboard

The Keyboard

Screen BuffersGraphics AlgorithmsChapter 13: 64-Bits

Appendix A: The ARM Instruction Set

Appendix B: Linux Operating System ServicesAppendix C: Binary Formats of Data TypesAppendix D: Assembler Directives
From the B&N Reads Blog

Customer Reviews