最近一直在研究C和汇编的关系,得出了以下的几个结论,希望能够和大家一起探讨。
当你在学习计算机时,我发现了一个很经典的问题,到底是先有Complier还是现有计算机语言?这问题令我想起,到底是有鸡先还是先有蛋?我想答案应该是:先有Complier!
任何一种计算机语言,无论遵从什么语法结构,它的唯一实现就是靠一个Complier来实现,Complier负责检测语法,把计算机语言翻译成最终的机器语言。但实际上,没有机器语言这个东西,我们应该称其为机器指令,而机器指令都是由CPU的硬件设计来实现,也就是我们平常说的INTEL指令集。所以更准确的叫法应该是机器指令。
可能大家都了解计算机的发展过程,由最古老的使用Punch Card来输入程序的计算机,到现在只有手指头大的闪存就能存储高达100G程序的年代。即使发展最快,都离不开一个本质,就是人类想法设法地把程序存放到某种介质上,能让计算机可以处理。同时,人类也在不断地改进编写程序的方式。
我们由最古老的Punch Card程序说起。以前的程序员编写程序的难道极大。没有磁盘介质,没有计算机语言。他们要实实在在的用机器指令来编写,困难的是,不像现在敲敲键盘就把程序输了进去。他们要在一张称为“Punch Card“的硬纸板上钻孔&#x