首页 > 代码库 > 30天自制操作系统(第一天笔记)
30天自制操作系统(第一天笔记)
第一天主要是涉及一些比较基础的概念,大多都是关于操作系统基本知识以及一些硬件操作的
这里主要讲一下关于FAT12的一些概念:
启动区:软盘的第一个扇区称为启动区,一般启动盘的后两个字节为55AA,不然计算机认为这个系统没有启动程序
1 ;hello-os 2 ;TAB=4 3 4 ;以下这段是标准FAT12格式软盘专用代码 5 DB 0xeb, 0x4e, 0x90 6 DB "HELLOIPL" ;启动扇区的名称可以使任意的字符串 7 DW 512 ;每个扇区的大小(必须为512字节) 8 DB 1 ;簇的大小(必须为1个扇区) 9 DW 1 ;FAT的起始位置(一般从第一个扇区开始)10 DB 2 ;FAT的个数(必须为2)11 DW 224 ;根目录的大小(一般设置为224)12 DW 2880 ;该磁盘的大小(必须是2880扇区)13 DB 0xf0 ;磁盘的种类(必须是0xf0)14 DW 9 ;FAT的长度(必须是9扇区)15 DW 18 ;1个磁道有几个扇区(必须是18)16 DW 2 ;磁头数(必须是2)17 DD 0 ;不试用分区(必须是0)18 DD 2880 ;重写一次磁盘大小19 DB 0,0,0x29 ;固定20 DD 0xffffffff ;(可能是)卷码标号21 DB "HELLO-OS " ;磁盘的名称(11字节)22 DB "FAT12 " ;磁盘格式的名称(8字节)23 RESB 18 ;先空出18字节24 25 ;程序的主体26 DB 0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c27 DB 0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a28 DB 0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x0929 DB 0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb30 DB 0xee, 0xf4, 0xeb, 0xfd31 32 ;信息显示部分33 DB 0x0a, 0x0a ;2个换行34 DB "hello, world"35 DB 0x0a ;换行36 DB 037 RESB 0x1fe-$ ;填写0x00,直到0x001fe38 DB 0x55, 0xaa39 40 ;以下是启动区以外部分的输出41 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0042 RESB 460043 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0044 RESB 1469432
第一天的内容也比较简单,没什么好说的,另外还涉及到一些CPU和汇编的基础知识,关于这方面,书的作者写得比我好多了,期待第二天的内容
30天自制操作系统(第一天笔记)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。