MSE Syscall 文档
本文档说明 runbin 命令当前支持的系统调用(syscall)约定。
前置条件
- 指令集初始化已在内核完成(
FGMSECInstructionSet.Install()) - 使用
runbin <file>运行二进制程序
调用约定
- 当前可用 syscall 数量:
3 - 索引范围:
0、1、2
syscall 0:输出字符串
功能: 将内存中的以 \0 结尾字符串输出到控制台。
参数:
R3:字符串起始地址
行为:
- 从
R3指向地址开始逐字符读取 - 遇到
\0终止输出 - 不自动换行
syscall 1:读取一行输入
功能: 从控制台读取一行文本,并写入可执行程序内存。
行为:
- 调用
Console.ReadLine() - 自动在末尾追加
\0 - 将结果写入程序内存
返回值:
R3:写入字符串的起始地址
syscall 2:清屏
功能: 清空控制台屏幕。
行为:
- 调用
Console.Clear()
最小流程示例
- 准备符合 FGMSEC 指令集的二进制文件
- 在 Shell 执行
runbin <file> - 程序通过 syscall 与控制台交互(输出、输入、清屏)
注意事项
- 如果程序调用了未实现的 syscall,会导致运行失败
- 输入输出行为与控制台一致,建议程序自行处理提示文本与换行