第026章 赵浮生的终极目标

时间就这样一分一秒的过去了,截止下午六点,赵浮生顺利录了六集,一周的播放量了。晚饭是在央视吃的,他没有拒绝节目组的邀请,也想着一起吃个饭,混混人头,万一哪天有需要人家帮忙的,也好张个口,一番觥筹交错,赵浮生也算是初步与电视台的人有了个良好基础。

回到家,赵浮生开始忙碌起来。

他要做的就是将前世的gall语言写书写成册,条件成熟了大量招些技术牛人,一起编写编译器、调试工具等,最后就是编写操作系统,再在新系统上改进语言以及编译器等开发环境工具。

操作系统也是一段程序,看看我们可以在dos上运行苹果系统,同样在ac电脑上安装运行dos系统。

我们常用的dos操作系统,主要是用c语言写的(少量与硬件交互的代码因为c无法实现所以用汇编写的)。

其中dos2000大概有20余万行代码,其中80是用c编写,部分汇编,底层接口都是用汇编编写的还有部分是使用c++编写的。

lux,unix内核基本上是用c完成的,少量与硬件交互的代码因为c无法实现,所以用汇编写的,没有使用c++代码。

但是,现在lux有些高级特性是也有采用用c++写的。lux,unix平台上的很多gnu软件也全部是用c语言写出来的。

综合上面的,我们可以看出,不管是dos还是luxunix,其操作系统的核心都是使用大量的c语言和一些汇编语言写成的。

其发展脉络是这样的:因为计算机只能识别二进制的机器码,所以,最开始的程序都是使用机器码来写的(打孔机就是证明),难度很大。

后来,使用机器码写了一个程序,该程序可以解释一些最简单字符指令,将这些字符指令转换成对应的机器码,然后在计算机上执行。

这个就是汇编器的初始版本,利用这些简单的字符指令,大大简化了代码的编写,不用像以前那样必须写大量的机器码了,仅仅需要找到这些机器码对应的字符指令码就可以了,这些指令再被汇编器翻译成大量的机器码。

利用这些简单的指令-->>

本章未完,点击下一页继续阅读</p>,可以做很多事情了,包括处理额外的一些字符指令,并将其转换成机器码这样的事情,这样一来,我们就可以使用这些简单的字符指令写一个处理额外字符指令的程序,利用初始版本的汇编器翻译成机器码,就得到了一个扩展版本的汇编器。

该版本的汇编器与初始版本的汇编器相比,能处理更多的额外字符指令,通过多次迭代,最终可以得到一个比较完备的汇编器(能处理所有的汇编指令)。这就是汇编器的来历。

有了汇编器,我们就可以使用汇编指令来编写各种汇编程序了。我们发现,汇编器本身的最初版本(只能处理简单的汇编指令)是使用二进制机器码编写的,剩下的大部分(能处理额外的大部分汇编指令)都是使用汇编语言本身编写的。

所以,我们看到,在所有的汇编程序的世界中,除了汇编器本身是由机器码和汇编码写的以外,汇编代码还可以用来实现很多的其它功能,例如很多系统级别的工具软件,其中就包括各种和硬件打交道的驱动程序等等,以及各种编译器,例如:c语言编译器。

类似的,c编译器的核心也是由汇编语言写成的,甚至还可以包括一些机器码,但是大部分还是通过迭代来使用c语言编写的,c编译器能处理的数据结构和语言规则比汇编语言更丰富,更高级了,更接近人的可读性了,这些数据结构和语言规则就是c语言标准了。