Nano Banana 2.1 现已上线 — Google 最新模型 | 立即体验 →
WAVESPEED AI RISC-V 模拟器 你的代码保留在你的设备上
100% 免费

免费 RISC-V 模拟器编写汇编,运行它,看清每个寄存器。

输入带标签和伪指令的 RV32IM 汇编,然后全速运行或逐条执行。
设置断点、后退一步,在程序运行时观察寄存器、内存、机器码和控制台。

RV32I + M后退与断点十六进制机器码
无需注册 在浏览器中运行 无需安装

正在加载 RISC-V 模拟器…

你的程序保存在此浏览器中。下载即可留存副本。
三个简单步骤

如何在线运行 RISC-V 汇编

01

编写或打开程序

从示例开始、输入你自己的汇编,或打开 .s 文件。数据放在 .data 下,代码放在 .text 下。

02

运行或单步

点击“运行”全速执行,或点击“单步”执行一条指令并查看哪些寄存器和内存发生了变化。点击行号旁边即可设置断点。

03

查看结果

输入和输出都在控制台中进行。检查寄存器和内存,后退找到出错的位置,并以十六进制复制机器码。

汇编调试技巧

后退,而不是重新开始

多走了一步?“后退一步”会撤销最近的指令,包括寄存器、内存和输出,无需从头运行就能再看一遍。

调用前保存 ra

call 会覆盖 ra。调用其他函数的函数必须先把 ra 保存到栈上,并在 ret 之前恢复,就像阶乘示例那样。

留意“执行次数”列

机器码标签页会统计每条指令执行的次数。循环体多执行了一次或从未执行,就直接说明分支写错了。

WaveSpeed AI

从代码到视觉

需要处理器设计的插图或课程用的视频片段?用 WaveSpeed AI 来制作。

  • 1,000+ AI 模型
  • 图片、视频和 3D
  • 按量付费

符合条件的新账号可获得 $1 免费额度,无需绑卡。 生成器需要单独的账号和积分。RISC-V 模拟器免费使用。

RISC-V 模拟器常见问题

这个 RISC-V 模拟器免费吗?

免费。这款 RISC-V 在线模拟器无需账号,运行次数不限,也无需安装。

支持哪些指令?

32 位基础整数指令集(RV32I)、用于乘法、除法和取余的 M 扩展,以及对 cycle、time 和 instret 计数器的读取——也就是计算机体系结构和汇编课程中讲授的核心指令集。

我课程里的程序能在这里运行吗?

大多数可以。代码从 0x00400000 开始,数据从 0x10010000 开始,系统调用号也与常见教学模拟器相同(a7 = 1 打印整数、4 打印字符串、5 读取整数、10 退出等)。“参考”标签页列出了全部调用。

怎么打印输出和读取输入?

把调用号放入 a7、参数放入 a0,然后执行 ecall。程序读取时,控制台会请求输入:输入后按 Enter。你也可以在程序请求之前提前输入。

周期数是怎么计算的?

指令数是精确的。周期数是按简单顺序执行内核估算的:每条指令 1 个周期,加载 2 个,跳转或成立的分支 3 个,乘法 3 个,除法 33 个。

可以获取机器码吗?

可以。“机器码”标签页显示每条指令的地址、十六进制字和反汇编形式。可以以十六进制复制(每行一个字),或下载 .hex 或原始 .bin 文件。

为什么我的程序因未对齐访问而停止?

字必须在 4 的倍数地址读写,半字必须在 2 的倍数地址读写。请在字数据前加上 .align 2,或检查你计算出的地址。错误信息会指出地址和所在行。

可以后退执行吗?

可以。“后退一步”最多可撤销最近 4,096 条指令,包括寄存器、内存和输出,无需从头运行就能找到 bug。

我的代码会被上传吗?

不会。汇编和运行都在你的浏览器中进行,程序保存在此浏览器的本地存储中,下次打开依然在。

全部免费工具

运行你的下一个 RISC-V 程序。

免费、私密,随时可用。

打开模拟器