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. Youll 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, youll 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 computers memory. In addition, youll learn how to interface to hardware such as GPIO ports. WithRISC-V Assembly Language Programming youll develop enough background to use the official RISC-V reference documentation for your own projects.
What You'll Learn
Program basic RISC-V Assembly LanguageSee how data is represented and stored in a RISC-V based computerMake operating system calls from Assembly Language and include other software libraries in projectsInterface to various hardware devicesComprehend code containing Assembly LanguageReverse engineer and hack codeUse 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.
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, andMobile Devices and RP2040 Assembly Language Programming, all published by Apress. Also, he writes his popular technology blog, at smist08.wordpress.com.