|  |      1iscraft      2014-11-26 10:43:41 +08:00 不明觉厉啊 | 
|  |      2hansnow      2014-11-26 10:48:04 +08:00 via Android 赞!最近在学微机原理,感觉很有帮助啊 | 
|  |      3deben      2014-11-26 10:52:10 +08:00 搞个4块钱的51单片机,用汇编来写程序不是更爽?哈哈! | 
|  |      5ibudao OP @deben 汇编不是目的,了解其中的运行原理才是我的本意啊。c代码也是先编译成汇编再运行的,所以下一步是实现一个高级语言来写程序。 | 
|  |      6Mutoo      2014-11-26 11:35:43 +08:00 | 
|  |      7s51431980      2014-11-26 11:35:48 +08:00 楼主是看什么书整的,我也看了一些编译和程序语言的书,但没有做出过一点东西来 | 
|  |      9wcp1231      2014-11-26 12:01:42 +08:00 大学完全没接触过汇编,想入手这个项目需要什么知识不?还是我直接去看代码就好了? | 
|  |      10madeye      2014-11-26 12:07:03 +08:00 | 
|  |      11ibudao OP @s51431980 经典的书在豆瓣上看排行就能找到,不过我倒是推荐你一些类似自制操作系统/编程语言的书,以及一些小型的项目,如:c4,tinyvm,因为这些更容易驱动你动手实践。 | 
|  |      12ibudao OP @wcp1231 如果你能看懂js的话就直接看代码,因为核心就是围绕fetch-decode-execute来的,很多代码都是相似的。之所以有汇编是因为总不能拿数字写程序吧。如果有不明白的地方,我很乐意跟你一起探讨。 | 
|      13jiang42      2014-11-26 12:28:29 +08:00 程序语言原理不用虚拟机也能学-。- | 
|      16feiyuanqiu      2014-11-26 13:10:14 +08:00 好厉害,我还知道一个js写的x86虚拟机 http://copy.sh/v86/ 同样想了解下楼主看的什么书? 我之前买了 csapp、汇编语言、Orange S:一个操作系统的实现,一直没时间看,感觉自己离底层好遥远,看了没什么用处... | 
|  |      17ibudao OP @feiyuanqiu 我也买了这些书,类似的还有 程序员的自我修养,自制操作系统等,大部分也没时间看。其实如我在13楼说的,你需要的是迈出第一步:动手写,哪怕是最基本的功能。在实现的过程中你肯定还会回来翻这些书的,到时你就知道用处了。其实我写的这个就是相当简单,并且我是参考b32的指令集来实现的,一点也不复杂,你可以试试。 | 
|  |      18bcxx      2014-11-26 13:29:46 +08:00 | 
|  |      20ffffwh      2014-11-26 14:30:45 +08:00 这叫计算机**原理。程序语言原理是更加偏向数学、逻辑的那种东西。 | 
|  |      21ibudao OP @ffffwh 程序语言原理是我的最终目的,这个东西仅仅是第一步,如果不了解计算机**原理,谈何实现一个高级语言虚拟机呢。对我来说,直接啃那些程序语言原理的书效果太差,所以才打算边coding边学习。如果兄台有好的方式,还请不吝赐教。 | 
|  |      23jeansfish      2014-11-26 15:49:17 +08:00 有本书《自己动手写操作系统》 | 
|  |      25liuzhedash      2014-11-26 18:22:56 +08:00 http://bellard.org/jslinux/ 这个也可以看一下 | 
|      26leiliang      2014-11-26 18:28:14 +08:00 没人想过把这个做成一个游戏吗?@ibudao | 
|  |      29jedihy      2014-11-29 09:44:22 +08:00 这个是哪种汇编呀,怎么跟我常用的不一样? | 
|  |      30husinhu      2014-11-29 17:20:45 +08:00 +1 for mentioning fabrice bellard. js实现,考不考虑浮点数,还是只支持整型运算,会不会模拟浮点寄存器 |