Skip to content

Commit 0a854ec

Browse files
committed
zz
1 parent e176be5 commit 0a854ec

File tree

4 files changed

+34
-0
lines changed

4 files changed

+34
-0
lines changed

docs/public/st0095-01.png

24.6 KB
Loading

docs/public/st0095-02.png

24.8 KB
Loading

docs/smalltalk/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ title: 碎碎念
88

99
#
1010

11+
- 2025-11-16: [凹语言RISC-V汇编器支持中文指令名](st0095.md)
1112
- 2025-11-12: [凹语言中文版NOIP 2024真题详解第1题](st0094.md)
1213
- 2025-11-07: [凹语言中文版CSP-J 2025真题详解第2题](st0093.md)
1314
- 2025-11-02: [凹语言版CSP-J 2025真题详解](st0092.md)

docs/smalltalk/st0095.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 凹语言RISC-V汇编器支持中文指令名
2+
3+
- 时间:2025-11-16
4+
- 撰稿:凹语言开发组
5+
- 转载请注明原文链接:[https://wa-lang.org/smalltalk/st0095.html](https://wa-lang.org/smalltalk/st0095.html)
6+
7+
---
8+
9+
RISC-V是当前流行的开源CPU架构,然而当前主流的RISC-V工具链依然基于GCC/LLVM等国外的架构。因此,中文编程语言和英文编程语言之争,从RISC-V指令集层面就开始处于不利地位。为了改变中文编程语言长期被歧视的现状,凹语言开发组希望从CPU指令集层面实现中文汇编器、在高级语言层面彻底实现中英文编程语言的技术平权。而凹语言RISC-V汇编器也是在此背景下诞生的,目前已经完成对RISC-V中文指令集的定义和支持。
10+
11+
## 1. 中文RISC-V汇编器例子
12+
13+
以下是RISC-V裸机输出中文字符串的一个例子:
14+
15+
![](/st0095-01.png)
16+
17+
需要说明的是,这并不是GNU As汇编语法,而是凹语言开发组从头设计实现的汇编语言。其中关键字有:`常量``全局``函数``变量`等,同时配套了对应的英文关键字的翻译以方便国际友人学习。特别是RISC-V的寄存器和指令也全部有完整定义的中文名字。
18+
19+
## 2. 中文RISC-V指令集名字
20+
21+
只有从寄存器和指令集彻底中文化,才能从根源上实现中英文编程语言的平权。以下是RV32I基础指令部分的中文名字:
22+
23+
![](/st0095-02.png)
24+
25+
26+
完整的中文指令列表:https://gitcode.com/wa-lang/wa/blob/master/internal/native/riscv/anames.go#L527
27+
28+
## 3. 本地化和本土化并不矛盾
29+
30+
如果从中文编程语言角度看,中文编程语言的lexer和英文的有很大差别。但是因为国内对此探索太少,没多少有价值的沉淀。其实在词法解析这一步就已经被英文思维带歪了,类似要从汇编语言层平权一样,编译器也需要从词法分析阶段就开始深入匹配中文的特点。
31+
32+
本土化的编程语言发展之路虽然充满荆棘和曲折,但是同样也充满乐趣,我们会继续探索下去。
33+

0 commit comments

Comments
 (0)