第375章 没有操作系统怎么办?

重启了一下286,然后在自检的过程中,按住了“DELETE”键。

这样,自检结束后,就跳过了系统自举阶段,进入了BIOS的设置程序郑

BIOS设置界面非常简单,江寒很快在其中找到了一个关于ROMBASIC的选项。

是一款十分古老的处理器,只集成了13万个晶体管,最大主频仅有20MHz。

但就是这么落后的机器,却包含了一些十分有意思的功能。

在这种早期主板的ROM芯片中,常常会固化一个BASIC解释程序。

当相关的选项开启时,如果系统启动时找不到可引导的系统,将会进入ROMBASIC解释程序。

而不像后来的先进计算机那样,只给出一个错误信息,之后就什么也干不了了。

这个选项默认处于“关闭”状态,江寒将其设置为“开启”,然后按“F10”保存、退出。

系统重新启动,很快屏幕上就出现了“”、“copyright1981”字样。

屏幕中还出现了一个一闪一闪的“_”,这就是提示符光标了。

屏幕的最下方,还有一行命令提示:“1、list,2、load,3、run……

现在就可以利用这个不到10KB的BASIC解释程序,来干点什么了。

这个BASIC语言解释器,可以相当简陋,很多功能都没有内建,连浮点运算都不支持。

但厉害的是,却可以通过IO指令,直接读取端口和内存,以及调用一些系统中断。

这就给了用户很大的操作空间。

江寒先退出虚拟空间,去CSDN上找了几份关于ROMBASIC的教程,。

没错,对于来,跑太高版本的DOS,还是有些力不从心的。

,刚好处于一个微妙的平衡点。

,占用太多可用内存;又不会像更早期的版本那样太过简陋,能干的事情太少。……

接下来,,然后用一款非常牛掰的、能支持DOS软件的反汇编工具,对安装程序进行了静态分析。

再结合网上找来的那些资料,他很快就理解了MSDOS的运行机制,并搞清楚了硬盘主引导记录(MBR)的格式。

接下来,江寒就回到了虚拟空间,然后在ROMBASIC里,编写了一段程序。

这段程序执行时,会调用BIOS的INT13H中断,对磁盘进行读写。

虽然做起来很麻烦,但至少突破了最大的阻碍,可以把数据写入硬盘了……

Back to Top