自制操作系统(四、实现文件操作,磁盘管理,制作ipl,突破512字节大关)

上次说到文件操作,今天要真正操作文件了

补充:

之前忘讲了,汇编语言没有缩进,不 tab 也行

有人问我 Linux 系统怎么编译,Linux 下载 nasm 就行了,Cygwin 本来就是为了 Windows 模拟 Linux 终端,dd 和 cat 命令本身就是 Linux 命令,直接在终端输入就行了

我们这个教程主要是做 16 位的操作系统,BIOS 提供的功能足够了,但后期也会讲到 32 位

一、关于软盘

文件操作其实就是读软盘的信息,先来了解一下软盘:

a162fc4bbced4b9594c72d923305897d.jpg

软盘分了两个磁头(面),每个磁头有18 个扇区,每个扇区有 80 个柱面(0-79)

看一下磁盘操作:

磁盘读、写,扇区校验(verify),以及寻道(seek)

AH=0x02;(读盘)

AH=0x03;(写盘)

AH=0x04;(校验)

AH=0x0c;(寻道)

AL=处理对象的扇区数;(只能同时处理连续的扇区)

CH=柱面号 &0xff;

CL=扇区号(0-5位)|(柱面号&0x300)* * 2;

DH=磁头号;

DL=驱动器号;

ES:BX=缓冲地址;(校验及寻道时不使用)

返回值:

FLACS.CF==0:没有错误,AH==0

FLAGS.CF==1:有错误,错误号码存入AH内(与重置(reset)功能一样)

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

综上所述,1张软盘有80个柱面,2个磁头,18个扇区,且一个扇区有512字节。所以,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值