Skip to content
Published at:

【RISC-V 汇编】从零开始的 RISC-V 汇编之旅

RISC-V 是什么

  • RISC-V 是一款开源、免版税的指令集架构(ISA),2010 年由 UC Berkeley 发布
  • 模块化设计:基础整数 ISA(RV32I/RV64I)+ 可选标准扩展(M/A/F/D/C 等)
  • 与 x86(CISC,闭源,>1500 条指令)和 ARM(RISC,需授权费)的本质区别
  • RV64I 仅约 50 条基础指令,编码规整,学习成本远低于 x86

为什么要学 RISC-V 汇编

  • 理解底层:寄存器、内存、指令执行周期——所有程序最终都运行在这些之上
  • 调试与逆向:gdb 反汇编、性能热点分析、理解编译器优化
  • 系统编程:bootloader、OS 内核、嵌入式开发都需要汇编
  • 生态爆发:从 IoT 到服务器,Linux 内核已原生支持 RISC-V

教程全览:22 章覆盖 RISC-V 汇编体系

篇章章节主题
第一篇:基础篇1-4RISC-V 历史、数制、体系结构、第一个程序
第二篇:指令篇5-9算术逻辑、立即数移位、访存、分支跳转、伪指令
第三篇:系统篇10-13栈与内存、调用约定、系统调用、汇编器与ELF
第四篇:扩展篇14-17M乘除、A原子、F/D浮点、C压缩指令
第五篇:实战篇18-19C 互操作、交互式计算器
第六篇:特权架构篇20-22特权级别与CSR、异常与中断、虚拟内存

工具与环境

  • 前期(第1-12章):使用 RISC-V ALE 在线环境,浏览器打开即用,零安装
  • 后期(第13章起):GNU RISC-V Toolchain + QEMU 模拟器
    • macOS: brew install riscv64-elf-gcc riscv64-elf-binutils qemu
    • Ubuntu: apt install gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu qemu-user-static

前置知识

  • 至少一门高级语言(C/Python/Java/Go 均可)
  • 基本命令行操作(cd、ls、运行命令)
  • 不需要任何汇编或硬件基础——本教程从零讲起

写作风格

全书采用简洁总结式语言,精炼要点。每章末尾有要点总结,方便回顾。

参考资源