Risc-V Assembly Language Programming: Unlock the Power of the Risc-V Instruction Set

Huge savings for students

Each student receives a 50% discount off of most books in the HSG Book Store. During class, please ask the instructor about purchase details.
List Price:
Price:
You Save:
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.

Apress