了解RISC-V基础知识:RISC-V是一种开放源代码指令集架构,是由加州大学伯克利分校开发的。您可以阅读RISC-V官方网站(http://riscv.org)以及RISC-V基金会的白皮书来了解更多RISC-V的基础知识。 学习RISC-V汇编语言:学习RISC-V汇编语言是理解RISC-V架构的第一步。您可以尝试使用一些RISC-V开发板或仿真器来实践RISC-...
在学习RISC-V汇编指令的时候,发现最能体现RISC-V是精简指令集的地方就是其存在很多伪指令。如下图所示,比如NEG、MV、NOP等基于算术运算指令实现的伪指令。换句话说,能用其他指令凑出来的指令,就不开发新的指令。由于有的操作需要多条精简指令一起作用,甚至有比较复杂的分支,所以就定义一条伪指令来概括,比如上面的...
RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是加州大学伯克利分校的David A. Patterson教授。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望...
机器模式(缩写为 M 模式, M-mode)是 RISC-V 中 hart(hardware thread,硬件线程)可以执行的最高权限模式。 在M 模式下运行的 hart 对内存, I/O 和一些对于启动和配置系统来说必要的底层功能有着完全的使用权。 简单的 RISC-V微控制器仅支持 M 模式。 机器模式最重要的特性是拦截和处理异常(不寻常的运行时...
(1)在学习RISC-V的反汇编之前,我们需要先知道RISC-V的编码格式,RISC-V的编码格式有如下图6种。 (2)现在我们以RV32I为例子说明。RV32I的指令长度为32位,因此我们每次读取指令的时候,都是4字节4字节的抽取出来。 (3)RISC-V将一条指令分为了多个域(field),例如下面的R-type格式中32bit,有funct7,rs2,rs...
立即数在RISC-V汇编中用于执行各种算术、逻辑运算以及数据转移等操作,可以简化程序结构,提高执行效率。
ESP32-C3 是一款安全稳定、低功耗、高性价比的物联网芯片,搭载乐鑫自研 RISC-V 32 位单核处理器,非常适合用于 RISC-V 汇编学习。ESP32-C3 对 Wi-Fi 和 Bluetooth 5 (LE) 的双重支持降低了设备配网难度,并为物联网产品提供行业领先的射频性能、完善的安全机制和丰富的内存资源。此外,本书使用的开源仿真器 ...
RISC-V汇编学习环境(Assembly Learn Environment,简称ALE)是一个设计用来支持RISC-V程序的执行和测试的环境。 轻松使用 ALE基于JavaScript,直接在浏览器上运行!换句话说,没有必要安装复杂的模拟软件,就可以在Windows、Linux和OSX上运行它。ALE甚至可以在移动操作系统上工作!
这个简单的risc-v汇编程序支持带有几个标准扩展的rv32和rv64。它的输出是一个原始列表,列出了源代码行,地址和字节(以十六进制表示)。当前不支持编写ELF。 指令集和扩展名: rv32G(IMAFD_Zicsr_Zifencei) rv64G(IMAFD_Zicsr_Zifencei) C-压缩指令 E-16寄存器 Q-四重浮子 Zfinx-X寄存器中的浮点数 其中...
基于Digital数字电路仿真软件,构建支持简易指令集的CPU以及简单的外设电路仿真。 目标能够支持系统的引导、启动、运行、中断处理、外设控制等功能。 本项目用于辅助学习CPU结构/数字电路设计,微机组成原理,汇编/C语言开发,嵌入式开发等技术入门。