自制操作系统笔记-第一章

光盘里的tolset文件夹(tool set 工具套件),把它复制到硬盘的任意位置。后面开发的都放在这里。也可以移动到其它地方。

教程中每天的工具目录分别命名为helloos0,helloos1,helloos2......,存在tolset文件夹下。

在helloos0文件夹下创建run.bat,这个是通过模拟器测试生成的软盘镜像文件,书上的代码有误,下面是光盘中的代码:

copy helloos.img ..\z_tools\qemu\fdimage0.bin
..\z_tools\make.exe    -C ../z_tools/qemu

同样,创建install.bat,这个作用是将软盘镜像写入物理软盘,但现在我们都没有软驱了,所以用不上这个文件了。

..\z_tools\imgtol.com w a: helloos.img

 nask是作者自己开发的一个汇编语言编译器。可以直接将nas源程序 编译生成 img镜像文件

--------------------------------------------------------------------------------------------------------------------------

汇编语言中;表示注释

----------------------------------------------------------------------

DB 是data byte的意思,此指令往文件里写入一个字节的内容,可以用它直接写字符串,汇编语言会自动查找每个字符的编码,然后把它们一个字节一个字节地排序起来

DW data word 此指令往文件里写入2字节的内容(16bit)

DD data double-word 此指令往文件里写入2字节的内容(32bit)

RESB reserve byte 预留字节, RESB 10就是预留10字节,也就是连续输出10个"0x00"
RESB 0x1fe-$ $是一个变量,表示从开头到当前行位置的字节数,例:

        0
        1
        2
        3
        4 RESB 7 - $   这里$表示4 ,7-4= 3 
        5
        6 
        7 0x55
        8 0xAA

 

0x1fe = 510
16^2*1+16^1*f+e
256+240+14 = 510

必须要保证软盘的第510字节(0x1fe)的位置是0x55 0xAA (85 170), 必须保证软盘510字节(即0X1FE)开始的地方是55 AA,这个位置是第一个扇区最后两个字节(510,511),如果这两个字节是0x55 0xAA就认为这个扇区开头的是启动程序

软盘的512字节称为一个“扇区”,1440KB软盘,也就是1474560字节,除以512,得2880,也就是说一张软盘共有2880个扇区,软盘的第一个扇区称为“启动区”,计算机从第一个扇区读软盘,检查最后两个字节。如果不是0x55 0xAA就报不能启动,如果是则认为这个扇区的开头是启动程序,并执行这个程序。

posted @ 2020-02-12 18:51  johnjackson  阅读(375)  评论(0编辑  收藏  举报