乾为天,坤为地,阴阳交泰,万物生焉。
你有没有想过,如果计算机的指令集用中文写,寄存器用八卦命名,会是什么样子?
我最近开源了一个项目:羲和CPU。它是一款64位RISC处理器,指令助记符全是中文,寄存器以八卦命名(乾、兑、离、震、巽、坎、艮、坤),调试器可以直接输出八卦符号,让冰冷的机器码多了一点文化的温度。
今天,我把它完整的设计文档、模拟器、工具链全部公开,希望更多人能一起玩,也希望能给计算机教学和本土化技术探索提供一个有趣的样本。
为什么做羲和CPU?
这个项目源于一次教学经历。我在教学生二进制分组时,发现很多人记不住 000~111 对应哪个数字。突然想到:如果换成八卦符号呢?
乾是天(000),坤是地(111),中间还有兑、离、震……每个卦象都有明确的含义,比数字好记多了。
于是我开始设计一个“懂中文”的CPU:
- 指令用中文(加、减、乘、除、跳转、调用)
- 寄存器用八卦命名
- 调试时显示八卦符号,让内存值变得直观
后来我们越做越大,不仅有了CPU,还配套了羲和语言(纯中文编程语言)、乾坤OS(内核设计),形成了一套完整的“软硬一体”生态。
架构亮点
1. 八卦寄存器
羲和CPU-64位有8个通用寄存器,名字就是八卦:
| 寄存器 | 八卦 | 用途 |
|---|---|---|
| R0 | 乾 | 累加器 / 返回值 |
| R1 | 兑 | 通用 |
| R2 | 离 | 通用 |
| R3 | 震 | 临时寄存器 |
| R4 | 巽 | 通用 |
| R5 | 坎 | 通用 |
| R6 | 艮 | 通用 |
| R7 | 坤 | 返回地址 / 栈指针 |
此外还有天干、地支扩展寄存器,一共26个,足够日常使用。
2. 中文指令集
所有指令都用中文助记符,例如:
| 指令 | 操作 | 说明 |
|---|---|---|
| 加 Rd, Rs1, Rs2 | Rd = Rs1 + Rs2 | 加法 |
| 减 Rd, Rs1, Rs2 | Rd = Rs1 - Rs2 | 减法 |
| 乘 Rd, Rs1, Rs2 | Rd = Rs1 × Rs2 | 乘法 |
| 除 Rd, Rs1, Rs2 | Rd = Rs1 / Rs2 | 除法 |
| 跳转 目标 | PC = 目标 | 无条件跳转 |
| 调用 函数 | 坤=PC+4; PC=函数 | 函数调用 |
配合羲和语言,你可以写出这样的代码:
函数 爻 阶乘(爻 n) {
如果 (n <= 壹) {
返回 壹;
}
返回 n * 阶乘(n - 壹);
}
然后编译成羲和CPU指令,在模拟器上运行。
3. 阴阳进制显示
羲和CPU的调试器可以直接用八卦符号显示内存和寄存器。例如,数值165会显示为 “初爻巽坎”,而不是枯燥的“10100101”。
这种显示方式对教学特别友好——学生看到八卦符号,自然就联想到二进制分组,更容易理解。
4. 64位扩展(八宫)
64位数据就是8组八卦(八宫),一次可以处理8字节。我们支持八宫字面量,比如 $兑兑兑兑兑兑兑兑 直接对应数值 2396745,写起来非常直观。
技术实现
指令格式
采用32位定长编码,分为R型(寄存器)、I型(立即数)、J型(跳转)、M型(内存)四种格式。
寄存器与栈帧
使用$坤作为栈指针,$乾作为返回值,支持标准的函数调用约定。
中断与异常
内置中断向量表和异常处理,支持系统调用(通过INT指令)。
内存模型
64位虚拟地址空间,支持三级页表,可运行现代操作系统内核。
现有成果
1. 羲和CPU模拟器(Python)
- 完整实现指令集
- 支持
.xh64可执行文件加载与运行 - 内置调试器(断点、单步、寄存器/内存查看)
- 提供15个系统调用(打印、文件I/O、内存分配等)
2. 羲和语言编译器(Python)
- 将羲和语言编译为羲和CPU机器码
- 支持变量、函数、条件、循环、八卦字面量
- 输出
.xh64文件,与模拟器无缝对接
3. 在线演示器
为了方便体验,我们做了一个在线演示器(HTML+JS),直接在浏览器里写羲和代码,点击运行,立刻看到结果。
👉 羲和语言在线演示器(即将上线)
4. 完整文档(全部开源)
-
羲和CPU架构与指令集-64位
详细定义了八卦寄存器、中文指令集、64位扩展、中断与异常处理。 -
羲和语言设计规范-64位
纯中文语法、八卦字面量、八宫运算、标准库定义。 -
阴阳进制技术规范
定义八卦与二进制的映射关系、转换算法、初爻/终爻规则、显示模式。 -
主仓库:gitee.com/xihe-ecosys…
包含全部技术规范、工具代码和示例程序。
如何体验?
1. 直接在线体验(推荐)
打开在线演示器,输入:
函数 爻 主函数() {
爻 a = 离巽坎;
打印(a);
返回 乾;
}
点击运行,看它输出什么。(演示器即将上线,敬请关注)
2. 本地运行模拟器
git clone https://gitee.com/xihe-ecosystem_1/xihe-cpu.git
cd xihe-cpu/src
python main.py examples/factorial.xh64
3. 编译自己的羲和程序
git clone https://gitee.com/xihe-ecosystem_1/xihe-compiler.git
cd xihe-compiler
python src/compiler_pipeline.py your_program.xh -o output.xh64
python ../xihe-cpu/src/main.py output.xh64
未来计划
- 自举编译器:用羲和语言重写编译器,实现自举。
- 乾坤OS内核:用羲和语言写一个完整的操作系统内核。
- FPGA实现:将羲和CPU烧进FPGA,真正跑在硬件上。
- 更多应用:基于羲和生态开发趣味小游戏、教学工具。
一起玩!
如果你对中文编程、传统文化与计算机结合感兴趣,欢迎:
- 去Gitee仓库点个 ⭐,支持我们继续开发。
- 克隆仓库,自己动手写个羲和程序。
- 提Issue,分享你的想法或建议。
主仓库地址:gitee.com/xihe-ecosys…
在线演示器:obw1blfi5yff.space.minimaxi.com
交流群:QQ群(见Gitee主页)
让冰冷的二进制数据,拥有文化的温度。
期待和你一起,见证东方计算的未来。
玄同工作室
2026年3月27日