Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

About the RISC-V Field Guide

Welcome to the RISC-V Field Guide, a searchable reference manual and learning resource for RISC-V assembly arcanists programmers. I basically designed it for my own needs but I hope this field guide is useful to others in some way.

My intent for this guide is to provide a reasonably accurate, useful, sampling of the important parts of the RISC-V specification, for programmers, by a programmer. I do not intend this site to be an authoritative source, however.

At times, you will want to refer to the resources in the References section, particularly if you need reference a source of truth.

Coverage

At this time I’m working on covering the base instructions for RV32 and RV64 and common pseudointructions.

Instruction References

For your convenience, this entire site is searchable via the magnifying glass at the top of the page. The most useful part of this site are the instruction reference sections that should give you a simple lookup for any instructions you are looking at.

Incantations

Assembly programming isn’t for the faint of hart (pun intended). Explore the incantations to reveal the deepest secrets of the RISC-V specification.

Rituals

We learn best when we learn by doing. Perform the rituals regularly and you will turn what starts as a passing familiarity, into a deep understanding, a memory.

Use of AI Declaration

Because I am but one human, and the breadth of knowledge hidden in the RISC-V specifications is vast, I have used AI to assist me in building this site. That doesn’t mean that I auto-generated every line though. I have written this entire page, for example, and there are plenty of areas where I have taken the time to explain things, human to human.

As a result, some of the content could be misleading or outright incorrect. If you spot something, please let me know via a GH issue and I promise I will do my best to address it.

About the curator

Hi, I’m Jim. I’ve been programming professionally since the late 90s, and am currently working in cybersecurity risk management for a large tech company where I spend time worrying about the safety of other peoples data. In my spare time I am an independent security researcher working on kernels and vulnerabilties in various things.

You can find me on socials and in other places under the pseudonym akses.