RISC-V Assembly Language Programming: Unlock the Power of the RISC-V Instruction Set
- 3h 34m
- Stephen Smith
- Apress
- 2024
Gain the skills required to dive into the fundamentals of the RISC-V instruction set architecture. This book explains the basics of code optimization, as well as how to interoperate with C and Python code, thus providing the starting points for your own projects as you develop a working knowledge of assembly language for various RISC-V processors.
The RISC-V processor is the new open-source CPU that is quickly gaining popularity and this book serves as an introduction to assembly language programming for the processor in either 32- or 64-bit mode. You’ll see how to write assembly language programs for several single board computers, including the Starfive Visionfive 2 and the Espressif ESP32-C3 32-bit RISC-V microcontroller. The book also covers running RISC-V Linux with the QEMU emulator on and Intel/AMD based PC or laptop and all the tools required to do so.
Moving on, you’ll examine the basics of the RISC-V hardware architecture, all the groups of RISC-V assembly language instructions and understand how data is stored in the computer’s memory. In addition, you’ll learn how to interface to hardware such as GPIO ports. With RISC-V Assembly Language Programming you’ll develop enough background to use the official RISC-V reference documentation for your own projects.
What You’ll Learn
- Program basic RISC-V Assembly Language
- See how data is represented and stored in a RISC-V based computer
- Make operating system calls from Assembly Language and include other software libraries in projects
- Interface to various hardware devices
- Comprehend code containing Assembly Language
- Reverse engineer and hack code
- Use the official RISC-V reference documentation
Who This Book Is For
Those who have already learned to program in a higher-level language like Python, Java, C# or even C and now wish to learn Assembly Language programming.
About the Author
Stephen Smith is a Software Architect, located in Gibsons, BC, Canada. He's been developing software since high school, or way too many years to record. He is an expert in Artificial Intelligence and Assembly Language programming, earned his Advanced HAM Radio License. Smith also enjoys mountain biking, hiking and nature photography, and volunteers for Sunshine Coast Search and Rescue. He is the author of Raspberry Pi Assembly Language Programming, Programming with 64-Bit ARM Assembly Language, and Mobile Devices and RP2040 Assembly Language Programming, all published by Apress. Also, he writes his popular technology blog, at smist08.wordpress.com.
In this Book
-
Introduction
-
Getting Started
-
Loading and Adding
-
Tooling Up
-
Controlling Program Flow
-
Thanks for the Memories
-
Functions and the Stack
-
Linux Operating System Services
-
Programming GPIO Pins
-
Interacting with C and Python
-
Multiply and Divide
-
Floating-Point Operations
-
Optimizing Code
-
Reading and Understanding Code
-
Hacking Code