Fr. 76.00

RISC-V Assembly Language Programming - Unlock the Power of the RISC-V Instruction Set

English · Paperback / Softback

Shipping usually within 1 to 2 weeks (title will be printed to order)

Description

Read more

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.

List of contents

Chapter 1: Getting Started. - Chapter 2: Loading and Adding. - Chapter 3: Tooling Up. - Chapter 4: Controlling Program Flow. - Chapter 5: Thanks for the Memories. - Chapter 6: Functions and the Stack. - Chapter 7: Linux Operating System Services. - Chapter 8: Programming GPIO Pins. - Chapter 9: Interacting with C & Python. - Chapter 10: Multiply and Divide. - Chapter 11: Floating-Point Operations. - Chapter 12: Optimizing Code. - Chapter 13: Reading and Understanding Code. - Chapter 14: Hacking Code. - Appendix A: The RISC-V Instruction Set. - Appendix B: Binary Formats. - Appendix C: Assembler Directives. - Appendix D: ASCII Character Set. - Appendix E: Answers to Exercises.

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.


Product details

Authors Stephen Smith
Publisher Springer, Berlin
 
Languages English
Product format Paperback / Softback
Released 21.01.2024
 
EAN 9798868801365
ISBN 9798868801365
No. of pages 355
Dimensions 155 mm x 25 mm x 235 mm
Illustrations XXIV, 355 p. 30 illus.
Series Maker Innovations Series
Subject Natural sciences, medicine, IT, technology > IT, data processing > Hardware

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.