这次把前面的内容换个书的思路再来一遍。——实话是,那本书我发现开始看不懂了。大不了换个思路继续来,才不管用啥办法。
光盘的共享和书本的共享。这本书还是很比较适合入门的,有时候连汇编都带着讲讲。
新书《30自制操作系统》,书本的基础要求比较低。虽然人家说最后貌似只能做个系统的DEMO,但是不怕,继续。
因为之前的书本学会了各种平台的建立,这里指需要用一个新的工具就是Binary Editor二进制编辑器~下载之。
输入书上的那部分,好多000000.....但是关键部分在BZ的左边一栏可以看出来他想写的是helloworld
按照书上的步骤继续会发现作者开始让让我们用汇编语言开始去写了。按照我找的光盘的内容。
成功实现了生成.img的的文件建立还实现了用QEMU好吧,作者写了一个一个run程序,一切都是自动的。光盘的共享和书本的共享尾部发。这本书还是很比较适合入门的,有时候连汇编都带着讲讲。
这里讲到了DB的含义是 Data byte 含义就是往文件里写进一个字节的指令。有了这个指令几乎可以做任何事情。
RESB就是reserve byte 如果想空出10个字节就可以写 RESB 10. 同时空出来的时候还会自动填上0x00,就不用像之前写的要一行一行自己写了。
DB还可以写字符串,写字符串的时候汇编语言胡i自动查找每个字符对应的编码。然后一个一个排列起来。
DW指令:DW指令的含义就是data word 写进去16位,即2个字节。
DD指令就是data double-word 写进去32位,即4个字节,word在这里的含义就是16位的意思。double-word自然就是32位了。
DB写进去一个字节,8位。
RESB 0x1fe-$中的美元符号的含义是:他是一个变量,告诉我们现在这一行的字节数。只有用了它,我们在改变例如helloworld的时候程序能够自动改变中间输出的0x00
FAT12格式:win dos 格式化出来的软盘就是这个格式,可以装系统,空余的还可以装自己的东西。兼容性也比较好。
boot sector :软盘的第一个扇区称为启动区,而且计算机读取软盘的时候是以512分字节为一个单位进行读写的。因此软盘的512个字节称为一个扇区。 1440KB就是512X2880
而且如果这个软盘的引导扇区最后2个字节不是55AA,计算机就不认为这软盘上没有启动程序,会报错。
IPL :Initial program loader 启动程序加载器。因为程序很大,于是几乎所有的操作系统都是吧加载操作系统自己的程序写在启动区里的。
boot: boot单词的含义是靴子。也就是走起~启动。还有就是bootstrap的缩写,含义是自力更生完成任务。
第一天的结束,深夜12点了。还是洗洗睡吧。。这几天看之前那本书的时候写了很多的读书笔记但是都没法啊。。。因为自己看了发现有些要补啊~当初在论坛说的人说对了一般,这一路山会遇到很多艰难险阻,我见识到了,但是他说错的一般是让我不要做这个。谁说操作系统不能当起点,我站在这个目标上选择一个适合新手的书籍有错么。我要用什么再去学。我这不是目的性很强么~继续~我走我的,这块骨头我一定要啃掉。
光盘百度可以搜到