TIS-100

强烈推荐程序员玩的游戏!看截图你就明白了

屏幕快照 2015-11-29 上午10.43.27.png

起初一看,以为是写x86汇编。其实是游戏自己设计的一指令集。好在只有十几个指令,花个一、二十分钟就可以看完手册。然后就可以开始玩了。

这个游戏就是让你写代码解决题目。为什么它是游戏呢?因为它是一个虚构的计算机,有多个CPU,每个CPU最多执行15行代码,只有2个寄存器,但是稍加利用,旁边的几个CPU也可以协助寄存数据。

所有的题目都非常简单,用C语言实现不超过5行,在这个游戏上实现就比较费劲了。首先,只有一个ACC寄存器和一个不那么方便访问的BAK寄存器,一个简单的if-else可能都有写5、6行。其次是每个CPU代码长度有限,最多15行,所有必需足够简短。运行正确后,系统会打分,用了多少CPU、多少条指令、花费时钟周期都会列出来,可以和朋友们比赛,谁能写出最短、最快的代码。

我玩了3/5的题目,总结了一些规律:高效的利用寄存器是能否解决问题的关键;逻辑尽量在一个CPU内实现,速递最快;利用并行减少长时间阻塞输入输出。基本上,这也是优化任何代码的必经之路。不过在这种机器上,一般第一次写出来能通过的代码,差不多已经是最优解了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,713评论 8 114
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,892评论 25 709
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 7,290评论 0 1
  • 欣赏花儿的时候,我们是被一种完整的氛围所吸引,再美艳的花朵,也只是这神秘力量中的一部分。 追求目标的时候,我们是被...
    文心访艺阅读 3,126评论 0 0
  • 我的电动车爆胎了,这已经是第三次了,这辆车子只买了一年半,非常不好开,今天还害得我差点迟到,所幸车子后轮胎爆胎的时...
    悠冉的情感观阅读 4,363评论 0 0