7个稳定版本
2.4.0 | 2023年9月29日 |
---|---|
2.3.0 | 2023年7月23日 |
2.1.0 | 2023年6月28日 |
2.0.1 | 2023年5月30日 |
1.8.0 | 2021年8月11日 |
#32 in 模拟器
每月 30次下载
165KB
4K SLoC
FPGRARS
快速不错的RISC-V汇编渲染系统
(名称可能会随时更改)
FPGRARS是一个具有图形显示窗口和键盘输入的RISC-V汇编模拟器,类似于RARS,但速度快200倍。如果您想轻松运行RISC-V汇编程序、学习汇编语言,甚至构建游戏,FPGRARS是一个不错的选择!(如果不是您想要的,请打开一个问题 :)
运行FPGRARS
首先,前往 最新版本 并下载相应的可执行文件。然后,您可以在终端中运行 ./fpgrars your_riscv_file.s
,或者在可执行文件上拖放 .s
文件。如果您使用Linux,可能需要执行 chmod +x fpgrars-x86_64-unknown-linux-gnu
以使FPGRARS正常工作。
如果您已安装Rust工具链,也可以通过运行 cargo install fpgrars
来下载FPGRARS。
您还可以查看入门指南 以获取更详细的说明。
文档
正在https://leoriether.github.io/FPGRARS/建设中
支持的ecalls
描述 | a7 | 输入 | 输出 |
---|---|---|---|
打印整数 | 1 | a0 = 要打印的整数 | |
打印浮点数 | 2 | fa0 = 要打印的浮点数 | |
打印字符串 | 4 | a0 = 字符串的地址 | |
读取整数 | 5 | a0 = 读取的整数 | |
读取浮点数 | 6 | fa0 = 读取的浮点数 | |
Sbrk | 9 | a0 = 分配的字节数(>= 0) | a0 = 分配块的地址 |
退出 | 10 | ||
停止执行 | 110 | ||
打印字符 | 11 | a0 = 要打印的字符 | |
时间 | 30 | a0 = 自Unix纪元以来的毫秒的低位,a1 = 高位 | |
Midi输出 | 31 | a0 = 音高(音符),a1 = 持续时间(毫秒),a2 = 乐器(范围0-127),a3 = 音量(也是0-127) | 异步声音 |
休眠毫秒 | 32 | a0 = 要休眠的毫秒数 | |
Midi输出同步 | 33 | a0 = 音高(音符),a1 = 持续时间(毫秒),a2 = 乐器(范围0-127),a3 = 音量(也是0-127) | 同步声音 |
打印十六进制整数 | 34 | a0 = 要打印的整数 | |
打印无符号整数 | 36 | a0 = 要打印的无符号整数 | |
随机种子 | 40 | 目前不执行任何操作 | |
随机整数 | 41 | a0 = 随机整数 | |
随机整数范围 | 42 | a0 被丢弃,a1 = 上限 | a0 = [0, a1) 内的随机整数 |
随机浮点数 | 43 | fa0 = [0, 1) 内的随机浮点数 | |
清除屏幕 | 48 或 148 | a0 = 颜色,a1 = 帧 | |
打开文件 | 1024 | a0 = 以空字符结尾的路径字符串的地址,a1 = 0(读取模式),1(写入模式)或9(追加模式) | a0 = 文件描述符或-1(如果出错) |
关闭文件 | 57 | a0 = 文件描述符 | |
寻找 | 62 | a0 = 文件描述符,a1 = 要寻找的偏移量,a2 = 0(从文件开头寻找),1(从当前位置寻找)或2(从文件末尾寻找) | a0 = 从文件开头选定的位置 |
读取 | 63 | a0 = 文件描述符,a1 = 缓冲区的地址,a2 = 要读取的最大长度 | a0 = 读取的字节数或-1(如果出错) |
写入 | 64 | a0 = 文件描述符,a1 = 缓冲区的地址,a2 = 要写入的长度 | a0 = 写入的字节数或-1(如果出错) |
依赖项
~12-44MB
~711K SLoC