You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ripes中RISCV系统调用报错:a7寄存器值始终为0的咨询

问题解决思路

首先,你用错了系统调用号:a7=1是输出整数的调用(需要提前把要输出的数存在a0里),但你要做的是读取输入,正确的读取整数调用号是a7=5,调用后输入的数值会存在a0寄存器中。

另外,不管你设什么a7都报错说它是0,核心原因是Ripes默认没开启控制台交互:

  • 点击顶部的「Config」按钮
  • 在配置窗口里找到「Console」选项,勾选「Enable Console」
  • 把「Console Mode」改成「Interactive」
  • 重新运行程序

给你一个能正常读取并验证输入的示例代码:

.text
main:
    li a7, 5          # 系统调用号:读取整数
    ecall             # 触发调用,输入的数会存在a0里
    li a7, 1          # 切换到输出整数的调用
    ecall             # 把刚才输入的数值输出到控制台

内容的提问来源于stack exchange,提问作者Iamawatermelon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:50:54