上次说到文件操作,今天要真正操作文件了
补充:
之前忘讲了,汇编语言没有缩进,不 tab 也行
有人问我 Linux 系统怎么编译,Linux 下载 nasm 就行了,Cygwin 本来就是为了 Windows 模拟 Linux 终端,dd 和 cat 命令本身就是 Linux 命令,直接在终端输入就行了
我们这个教程主要是做 16 位的操作系统,BIOS 提供的功能足够了,但后期也会讲到 32 位
一、关于软盘
文件操作其实就是读软盘的信息,先来了解一下软盘:
软盘分了两个磁头(面),每个磁头有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字节。所以,