小型机手拨十三条开机引导指令

国产计算机早期的"手拨十三条",了解一下。

早期的计算机没有固化的操作系统,甚至没有固化的引导程序,刚开机的时候,它的内存是一片空白,所以它连读取纸带都不会。怎么给它注入最起码的引导程序呢?它的操作台上有一排拨动开关,每个代表一bit,一排合起来代表一个内存word。开机时候,就要用手拨动这些开关,向内存里预置十三条二进制指令,然后机器才能运转。在没有编译器(广义地说包括汇编器)的时代,人们就是直接用二进制数来写代码的。

46年前“裸机”的这段输入源码,你见过吗?

不知道各位对“手拨十三条”有没有了解?其实它就是十三条的机器指令。在1970-1985年这段期间,使用DJS100系列的老计算机,都离不开“手拨十三条”。这类的老计算机,如果没有开机,它们都是没有任何的程序,也就是“裸机”。

当主机开机之后,系统程序员会用面板,将十三条的机器指令手动拨入。之后,再将SOS/RTOS/纸带输入机等操作系统,引导到内存中。完成了这步之后,老计算机才被控制台所控制。当磁盘机现身后,引入使用的RDOS操作系统。然而,系统安装到磁盘之前,还需要使用手拨十三条。RDOS操作系统安装好之后,每次开机,老计算机都要拨2条机器的指令。只有等操作系统被启动之后,方被控制台所管理。

交代了这么多,这些都是背景。不知道各位对老计算机的“手拨十三条”程序,有没有了解?下面,分享手拨十三条的源代码,还是带注释的。

这就是1970年代,我国出现的小型机,叫做 DJS-130。在当时,这是很先进的一种机器。这种机器,不存在BIOS。要想开机引导进系统用终端操作,需要用手拨开关,将上面的13条指令输进去。开关在底下,需要一位一位的写入内存。

这就是1970年代,我国出现的小型机,叫做 DJS-130。在当时,这是很先进的一种机器。这种机器,不存在BIOS。要想开机引导进系统用终端操作,需要用手拨开关,将上面的13条指令输进去。开关在底下,需要一位一位的写入内存。

看了传说中的手拨十三条,很多网友都很激动。有人说“如果把这个当作是开机密码,画面简直太美了”。还有人说“之前听老师讲过,现在终于见到了,很激动。”更有网友大赞“实在是太厉害了。”

人类的智慧是无极限,从1970年发明至今,电脑的历史也走过很多年,而电脑的类型也在不断变化。在未来,也许会发生更大的变化。话又说回来,对于上面的“手拨十三条”源码,你觉得怎样?

中国BIOS

大凡1985年前使用过DJS100系列老计算机的人都知道有个“手拨十三条”,它红遍了大江南北长城内外,其实它就是十三条机器指令。老计算机没开机之前都是没有任何程序的“裸机”,“裸机”即使在如今也是非常重要的概念,比如新开发的系统如何在“裸机”状态下调试并装入固化程序。

老计算机在主机开机后,像我这样的系统程序员用面板手动拨入十三条机器指令,然后引导纸带输入机将SOS或RTOS这样的操作系统引导到内存,之后老计算机才由控制台控制。磁盘机出现后引入使用RDOS操作系统,但系统安装进磁盘前依然要用“手拨十三条”,安装RDOS操作系统之后的老计算机在每次开机启动时依然要拨入2条机器指令,待操作系统启动后才由控制台管理。

当年清华大学的老师觉得“手拨十三条”太麻烦了,于是就用通用集成电路和分立元件焊了个“固化手拨十三”,达到自动开机的目的,这颇似如今微机的BIOS,只是简单而已。

第 1 页

当年中外技术交流根本没有,这个“固化手拨十三条”不知是否能成为“中国版BIOS”的鼻祖?

下面是手拨十三条源程序,数字是8进制表示:

126440 GET:SUBO 1,1

063610 SKPDN

000777 JMP .-1

060510 DIAS 0,TTI

127100 ADDL 1,1

127100 ADDL 1,1

107003 ADD 0,1 SNC

000772 JMP GET +1

001400 JMP 0,3

060110 BSTRP:NIOS TTI

004766 JSR GET

044402 STA 1,.+2

004764 JSR GET

这就是著名的“手拨十三条”

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容