怎样制作自己喜欢用的电脑系统_自制电脑操作系统

步骤一:编写汇编程序(linux版)

在linux下,我使用as86和ld86这2个程序来产生代码。(我这里以linux的Ubuntu发行版为例)。

as86对于我们这个任务来说足够简单,因此也比较适合我们。

另外一个原因恐怕是在1990年的时候,linux系统的创始者,被奉为神明的linus大牛就是使用as86来编写linux的启动代码的。

无论如何,在PC机上凡是类UNIX的系统都有这套汇编器,而且一般是在bin86软件包内。

在Ubuntu下要安装bin86软件包,只需要在终端中输入命令 sudo apt-get install bin86 即可。

下面是我们的代码:

1 entry start

2 start:

3 mov ax,#0xb800

4 mov ds,ax

5 mov byte[0],#0x41

6 mov byte[1],#0x1f

7 hlt

8

上面这段就是我们需要的as86汇编代码。在linux下将它保存为boot.s文件。

entry start 这一句正如字面意思所言,我们的程序就从start这里开始。

代码的意义等我们讲完windows版本的汇编代码再在步骤二解释,我们先在linux终端中输入命令把代码汇编成机器指令:

as86 -o boot.o boot.s

ld86 -o boot boot.o

这样我们就在linux中得到了我们接下来要写入U盘的文件boot,

而且我们希望PC从U盘启动的时候就运行我们的boot小程序(而不是试图在U盘上启动别的什么操作系统)。

步骤一:编写汇编程序(windows版)

在windows中我没找到可以用的bin86软件包,我下载了一个cygwin版本的,不过它的ld86总是报错。

而我平时一直喜欢用MinGW做C\C++的编译器,索性我们就使用这个windows版的gcc中自带的汇编程序gas。

在linux中当然也可以使用gas,不过这反而增加了点麻烦