RISC-V Assembly language programming : unlock the power of the risc-v instruction set
(eBook)

Book Cover
Average Rating
Status

Description

Loading Description...

Also in this Series

Checking series information...

More Like This

Loading more titles like this title...

More Details

Published
New York, NY : Apress, 2024.
Format
eBook
Language
English
ISBN
9798868801372

Notes

General Note
Includes index.
Description
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.
Local note
O'Reilly,O'Reilly Online Learning: Academic/Public Library Edition

Reviews from GoodReads

Loading GoodReads Reviews.

Citations

APA Citation, 7th Edition (style guide)

Smith, S. (2024). RISC-V Assembly language programming: unlock the power of the risc-v instruction set . Apress.

Chicago / Turabian - Author Date Citation, 17th Edition (style guide)

Smith, Stephen. 2024. RISC-V Assembly Language Programming: Unlock the Power of the Risc-v Instruction Set. Apress.

Chicago / Turabian - Humanities (Notes and Bibliography) Citation, 17th Edition (style guide)

Smith, Stephen. RISC-V Assembly Language Programming: Unlock the Power of the Risc-v Instruction Set Apress, 2024.

MLA Citation, 9th Edition (style guide)

Smith, Stephen. RISC-V Assembly Language Programming: Unlock the Power of the Risc-v Instruction Set Apress, 2024.

Note! Citations contain only title, author, edition, publisher, and year published. Citations should be used as a guideline and should be double checked for accuracy. Citation formats are based on standards as of August 2021.

Staff View

Grouped Work ID
9480ed3c-ad62-317f-9abb-06ea63dbeadf-eng
Go To Grouped Work

Grouping Information

Grouped Work ID9480ed3c-ad62-317f-9abb-06ea63dbeadf-eng
Full titlerisc v assembly language programming unlock the power of the risc v instruction set
Authorsmith stephen
Grouping Categorybook
Last Update2024-03-13 13:26:08PM
Last Indexed2024-05-04 04:27:14AM

Book Cover Information

Image Sourcedefault
First LoadedMay 6, 2024
Last UsedMay 6, 2024

Marc Record

First DetectedMar 13, 2024 01:26:21 PM
Last File Modification TimeMar 13, 2024 01:26:21 PM

MARC Record

LEADER06330cam a22004817i 4500
001on1420708108
003OCoLC
00520240223121953.0
006m     o  d        
007cr cnu|||unuuu
008240211s2024    nyua    o     001 0 eng d
020 |a 9798868801372|q (electronic bk.)
020 |z 9798868801365
035 |a (OCoLC)1420708108
037 |a 9798868801372|b O'Reilly Media
040 |a YDX|b eng|e rda|c YDX|d ORMDA|d OCLCO|d EBLCP
049 |a MAIN
050 4|a QA76.6
08204|a 001.642|2 23/eng/20240214
1001 |a Smith, Stephen,|e author.
24510|a RISC-V Assembly language programming :|b unlock the power of the risc-v instruction set /|c Stephen Smith.
260 |a New York, NY :|b Apress,|c 2024.
300 |a 1 online resource (369 pages) :|b illustrations
336 |a text|b txt|2 rdacontent
337 |a computer|b c|2 rdamedia
338 |a online resource|b cr|2 rdacarrier
500 |a Includes index.
5050 |a Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Getting Started -- History and Evolution of the RISC-V CPU -- What You Will Learn -- Ten Reasons to Learn Assembly Language Programming -- Running Programs on RISC-V Systems -- Coding a Simple "Hello World" Program -- Hello World on the Starfive Visionfive 2 -- Programming Hello World in the QEMU Emulator -- Install QEMU on Windows -- Install QEMU on Linux -- Compiling in Emulated Linux -- About Hello World on the ESP32-C3 Microcontroller -- Summary -- Exercises
5058 |a Chapter 2: Loading and Adding -- Computers and Numbers -- Negative Numbers -- About Two's Complement -- RISC-V Assembly Instructions -- CPU Registers -- RISC-V Instruction Format -- About the GCC Assembler -- Adding Registers -- 32-bits in a 64-bit World -- Moving Registers -- About Pseudoinstructions -- About Immediate Values -- Loading the Top -- Shifting the Bits -- Loading Larger Numbers into Registers -- More Shift Instructions -- About Subtraction -- Summary -- Exercises -- Chapter 3: Tooling Up -- GNU Make -- Rebuild a Project -- Rule for Building .S files -- Define Variables
5058 |a Build with CMake -- Debugging with GDB -- Preparation to Debug -- Setup for Linux -- Start GDB -- Set Up gdb for the ESP32-C3 -- Debugging with GDB -- Summary -- Exercises -- Chapter 4: Controlling Program Flow -- Creating Unconditional Jumps -- Understanding Conditional Branches -- Using Branch Pseudoinstructions -- Constructing Loops -- Create FOR Loops -- Code While Loops -- Coding If/Then/Else -- Manipulating Logical Operators -- Using AND -- Using XOR -- Using OR -- Adopting Design Patterns -- Converting Integers to ASCII -- Using Expressions in Immediate Constants
5058 |a Storing a Register to Memory -- Why Not Print in Decimal? -- Performance of Branch Instructions -- Using Comparison Instructions -- Summary -- Exercises -- Chapter 5: Thanks for the Memories -- Defining Memory Contents -- Aligning Data -- About Program Sections -- Big vs. Little Endian -- Pros of Little Endian -- About Memory Addresses -- Loading a Register with an Address -- PC Relative Addressing -- Loading Data from Memory -- Combining Loading Addresses and Memory -- Storing a Register -- Optimizing Through Relaxing -- Converting to Uppercase -- Summary -- Exercises
5058 |a Chapter 6: Functions and the Stack -- About Stacks -- Jump and Link -- Nesting Function Calls -- Function Parameters and Return Values -- Managing the Registers -- Summary of the Function Call Algorithm -- Uppercase Revisited -- Stack Frames -- Stack Frame Example -- Defining Symbols -- Macros -- Include Directive -- Macro Definition -- Labels -- Why Macros? -- Using Macros to Improve Code -- Summary -- Exercises -- Chapter 7: Linux Operating System Services -- So Many Services -- Calling Convention -- Finding Linux System Call Numbers -- Return Codes -- Structures -- About Wrappers
520 |a 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.
590 |a O'Reilly|b O'Reilly Online Learning: Academic/Public Library Edition
650 0|a Computer programming.
650 6|a Programmation (Informatique)
650 7|a computer programming.|2 aat
655 0|a Electronic books.
77608|i Print version:|z 9798868801365|w (OCoLC)1411031693
85640|u https://learning.oreilly.com/library/view/~/9798868801372/?ar
938 |a ProQuest Ebook Central|b EBLB|n EBL31136606
938 |a YBP Library Services|b YANK|n 306093528
994 |a 92|b PCO