[[risc-v-isa]]
= The RISC-V Instruction Set Manual
:description: Volume I: Unprivileged ISA
:company: RISC-V.org
//:authors: Editors: Andrew waterman, Krste Asanovic, SiFive, Inc., CS Division, EECS Department, University of California, Berkeley
:revdate: 07/2021
:revnumber: Version 20191214-draft
:revremark: Pre-release version
//development: assume everything can change
//stable: assume everything could change
//frozen: of you implement this version you assume the risk that something might change because of the public review cycle  but we expect little to no change.
//ratified: you can implement this and be assured nothing will change. if something needs to change due to an errata or enhancement, it will come out in a new extension. we do not revise extensions.
:url-riscv: http://riscv.org
:doctype: book
//:doctype: report
:preface-title: Preamble
:colophon:
:appendix-caption: Appendix
:imagesdir: images
:title-logo-image: image:risc-v_logo.png[pdfwidth=3.25in,align=center]
//:page-background-image: image:draft.svg[opacity=20%]
//:title-page-background-image: none
:back-cover-image: image:backpage.png[opacity=25%]
// Settings:
:experimental:
:reproducible:
// needs to be changed? bug discussion started
//:WaveDromEditorApp: app/wavedrom-editor.app
:imagesoutdir: images
:bibtex-file: resources/riscv-spec.bib
:bibtex-order: alphabetical
:bibtex-style: ieee
:icons: font
:lang: en
:listing-caption: Listing
:sectnums:
:toc: left
:toclevels: 4
:source-highlighter: pygments
ifdef::backend-pdf[]
:source-highlighter: coderay
endif::[]
:data-uri:
:hide-uri-scheme:
:stem: latexmath
:footnote:
:xrefstyle: short

Contributors to all versions of the spec in alphabetical order (please contact editors to suggest
corrections): Arvind, Krste Asanovi´c, Rimas Aviˇzienis, Jacob Bachmeyer, Christopher F. Batten,
Allen J. Baum, Alex Bradbury, Scott Beamer, Preston Briggs, Christopher Celio, Chuanhua
Chang, David Chisnall, Paul Clayton, Palmer Dabbelt, Ken Dockser, Roger Espasa, Greg Favor,
Shaked Flur, Stefan Freudenberger, Marc Gauthier, Andy Glew, Jan Gray, Michael Hamburg, John
Hauser, David Horner, Bruce Hoult, Bill Huffman, Alexandre Joannou, Olof Johansson, Ben Keller,
David Kruckemyer, Yunsup Lee, Paul Loewenstein, Daniel Lustig, Yatin Manerkar, Luc Maranget,
Margaret Martonosi, Joseph Myers, Vijayanand Nagarajan, Rishiyur Nikhil, Jonas Oberhauser,
Stefan O’Rear, Albert Ou, John Ousterhout, David Patterson, Christopher Pulte, Jose Renau,
Josh Scheid, Colin Schmidt, Peter Sewell, Susmit Sarkar, Michael Taylor, Wesley Terpstra, Matt
Thomas, Tommy Thorn, Caroline Trippel, Ray VanDeWalker, Muralidaran Vijayaraghavan, Megan
Wachs, Andrew Waterman, Robert Watson, Derek Williams, Andrew Wright, Reinoud Zandijk,
and Sizhuo Zhang.

This document is released under a Creative Commons Attribution 4.0 International License.

This document is a derivative of “The RISC-V Instruction Set Manual, Volume I: User-Level ISA
Version 2.1” released under the following license: ©2010–2017 Andrew Waterman, Yunsup Lee,
David Patterson, Krste Asanovi'c. Creative Commons Attribution 4.0 International License.

Please cite as: “The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document
Version 20191214-draft”, Editors Andrew Waterman and Krste Asanovi´c, RISC-V Foundation,
December 2019.

//the colophon allows for a section after the preamble that is part of the frontmatter and therefore not assigned a page number.
include::colophon.adoc[]
//preface.tex
//While some documents need several levels of introductory material, other documents only need a breif introduction.
//include::overview.adoc[]
include::introduction.adoc[]
//intro.tex
include::rv32.adoc[]
//rv32.tex
include::zifencei.adoc[]
//zfencei.tex
include::zihintpause.adoc[]
//zihintpause.tex
include::rv32e.adoc[]
//rv32e.tex
include::rv64.adoc[]
//rv54.tex
include::rv128.adoc[]
//rv128.tex
include::m-st-ext.adoc[]
//m.tex
include::a-st-ext.adoc[]
//a.tex
include::zicsr.adoc[]
//csr.tex
include::f-st-ext.adoc[]
//f.tex t
include::d-st-ext.adoc[]
//d.tex
include::q-st-ext.adoc[]
//q.tex
include::rvwmo.adoc[]
//rvwmo.tex
include::c-st-ext.adoc[]
//c.tex
include::b-st-ext.adoc[]
//b.tex
include::j-st-ext.adoc[]
//j.tex
include::p-st-ext.adoc[]
//p.tex
include::v-st-ext.adoc[]
//v.tex
include::zam-st-ext.adoc[]
//zam.tex
include::ztso-st-ext.adoc[]
//ztso.tex
include::rv-32-64g.adoc[]
//gmaps.tex
include::extending.adoc[]
//extensions.tex
include::naming.adoc[]
//naming.tex
include::history.adoc[]
//history.tex
//include::mm-explain.adoc[]
//memory.tex
include::mm-formal.adoc[]
//end of memory.tex, memory-model-alloy.tex, memory-model-herd.tex
//include::index.adoc[]
// this is generated generated from index markers.
include::bibliography.adoc[]
// this references the riscv-spec.bi file that has been copied into the resources directoy

