最近看到太多关于中文编程的争论,搞得我在梦里都在用中文编程,不得不说,用中文写汇编很酷(dou)炫(bi)

2014-08-18 03:07:52 +08:00
 akfish

比如x86汇编,通用寄存器恰好8个,这是巧合么?其实是与我大天朝古代的八卦暗合了:

原名 | 中文
—–| —–
EAX | 乾
EBX | 坤
ECX | 坎
EDX | 离
ESI | 震
EDI | 巽
ESP | 艮
EBP | 兑

十六进制弱爆,我大天朝天干地支60进制,但是为了兼容性,好吧,就很生硬的十天干+五地支编码了1~F
1|2|3|4|5|6|7|8|9|A|B|C|D|E|F
—|—|—|—|—|—|—|—|—|—|—|—|—|—|—|—
甲|乙|丙|丁|戊|己|庚|辛|壬|癸|子|丑|寅|卯|辰

这时中文的伟大就提现出来了有没有,用他们洋鳖的阿拉伯数字的话,要区分十进制和十六进制需要加前缀后缀,0x神马的,h神马的,中文的话:
十进制:二百五
十六进制:辰子

至于指令神马的,洋鳖们又是mov,又是push,还pop,都不等长,多难看!中文的话,都是一个字,多么整齐!

示例代码:

四八六 矣
平模   矣
码     矣

公 吾函
吾函 始
  推 兑     
  移 兑, 艮 
  减 艮, 四   
  推 巽     
  推 震     

  移 乾, 存之兑增辛   
  移 震, 存之兑增丑  
  移 巽, 存之兑增甲零  

  移 存之兑去四, 巽   
  加 存之兑去四, 震   
  加 乾, 存之兑去四   

  弹 震      
  弹 巽
  移 艮,兑 
  弹 兑 
  返

吾函 终
终

像武功秘籍对吧?

我们再来看看洋鳖们的写法:

.486
.MODEL FLAT
.CODE
PUBLIC _myFunc
_myFunc PROC
  ; Subroutine Prologue
  push ebp     ; Save the old base pointer value.
  mov ebp, esp ; Set the new base pointer value.
  sub esp, 4   ; Make room for one 4-byte local variable.
  push edi     ; Save the values of registers that the function
  push esi     ; will modify. This function uses EDI and ESI.
  ; (no need to save EBX, EBP, or ESP)

  ; Subroutine Body
  mov eax, [ebp+8]   ; Move value of parameter 1 into EAX
  mov esi, [ebp+12]  ; Move value of parameter 2 into ESI
  mov edi, [ebp+16]  ; Move value of parameter 3 into EDI

  mov [ebp-4], edi   ; Move EDI into the local variable
  add [ebp-4], esi   ; Add ESI into the local variable
  add eax, [ebp-4]   ; Add the contents of the local variable
                     ; into EAX (final result)

  ; Subroutine Epilogue 
  pop esi      ; Recover register values
  pop  edi
  mov esp, ebp ; Deallocate local variables
  pop ebp ; Restore the caller's base pointer value
  ret
_myFunc ENDP
END

一点也不整齐,一点也不土气,居然还需要那么多奇怪的注释才能让人看懂这段代码,弱爆了!

程序员从此不再是手无束鸡之力的geek形象了有没有,给不明真相的围观妹纸随意朗诵一段中文汇编程序,立即就充满了武侠气质。

需要中文编程的少年们,学汇编去吧。

9302 次点击
所在节点    奇思妙想
58 条回复
akfish
2014-08-18 03:08:22 +08:00
传说中的markdown呢。。。
typcn
2014-08-18 03:14:12 +08:00
你考虑过Linker的感受吗
alexapollo
2014-08-18 03:18:30 +08:00
好玩
hoogle
2014-08-18 03:25:30 +08:00
100个赞
txlty
2014-08-18 05:03:22 +08:00
如果没有西学东渐,工业革命在中国明朝甚至宋朝爆发。可能汇编真就是那样了。
fanzeyi
2014-08-18 07:12:07 +08:00
赞。
snachx
2014-08-18 07:34:08 +08:00
如果从零开始计数是不是就把天干地支全用上了…
cloudyplain
2014-08-18 07:40:46 +08:00
真的很有文采...
clino
2014-08-18 07:42:09 +08:00
@txlty 工业革命的前提是科学的产生,中国会有生产相关的技术,但基本上没有产生科学的土壤。期望中国自己产生工业革命就是在做梦。看看4大发明在专制的中国的应用和在西欧引进以后的爆炸式的发展就能知道。
Havee
2014-08-18 07:43:10 +08:00
语言从来不是问题,问题是生态啊
q397064399
2014-08-18 08:04:31 +08:00
@clino 土壤可以说根本没有,当西方人在探究自然科学的道路上付出生命代价的时候,我们还在闭关锁国,不求进取。
q397064399
2014-08-18 08:09:45 +08:00
世界上的象形文字在今天很普遍难以取得较为广泛的应用,从文字的基本属性-传递信息的目的角度出发, 汉字注定是一门落后的文字,无论是学习成本,书写成本,载体(纸张 竹片)本身的成本 来讲汉字都不是一门先进的文字。
从艺术跟内涵角度来讲 汉字确实是值得称赞的,但是很多人都忽略了文字的基本属性跟最重要的属性。
learnshare
2014-08-18 08:27:14 +08:00
易语言还是比较容易理解的,跟 VB 差不多嘛。
reeco
2014-08-18 08:55:07 +08:00
@txlty 历史没有假设一说
Doubear
2014-08-18 09:14:53 +08:00
牛逼啊、、、小弟瞬间疯了、、、、、
pimin
2014-08-18 09:17:21 +08:00
稍微有点偏激,其实汇编是最容易做中文的,逻辑比较好处理。
push eax
push ebx
mov eax,10
mov ebx,8
add eax,ebx

推入 扩展寄存器甲
推入 扩展寄存器乙
移动 阿拉伯数字10 到 扩展寄存器甲
移动 阿拉伯数字8 到 扩展寄存器乙
相加 扩展寄存器甲 扩展寄存器乙

认为语言是障碍的朋友,我可以做一个转译脚本,让他们学汇编更容易一些。
rwx
2014-08-18 09:27:03 +08:00
凌波微步既视感。。已笑抽
kokdemo
2014-08-18 10:12:38 +08:00
0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F
—|—|—|—|—|—|—|—|—|—|—|—|—|—|—|—|—
甲|乙|丙|丁|戊|己|庚|辛|壬|癸|子|丑|寅|卯|辰|巳

古代十六两秤叫十六金星秤,是由北斗七星、南斗六星加福禄寿三星组成十六两的秤星,告诫做买卖的人要诚实信用,不欺不瞒,否则,短一两无福,少二两少禄,缺三两折寿。

所以十六进制应该是……

天枢、天璇、天玑、天权、玉衡、开阳、摇光、天府、天梁、天机、天同、天相、七杀、福、禄、寿

你看这种设置多喜庆。
circsqua
2014-08-18 10:44:29 +08:00
来人,喂楼主Brainfuck
Tinet
2014-08-18 10:47:32 +08:00
笑喷了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX