磁盘的结构和读写操作

os·汇编 · 03-12

磁盘结构如下:

磁盘读取的配置信息:

先介绍一下端口,计算机控制硬盘的寄存器称为端口(外部设备的寄存器)

读写模式分两种:chs,lba。
chs根据柱面,磁头,磁道,扇区来读写
lba根据逻辑地址来读取,分为共28个B(不是字节,8个B是1字节)

通过端口可以配置磁盘的读写。

具体内容如下:
1.控制一次读取多少扇区
2.读取的起始扇区
3.设置是读还是写
4.选择读写模式(chs,lba)
5.磁盘状态(繁忙或正常)

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

具体端口如下:

0x1f0 读写数据
0x1f1 检测前一个指令的错误
0x1f2 扇区的数量
0x1f3 扇区的0-7
0x1f4 扇区的8-15
0x1f5 扇区的16-23
0x1f6 
0-3:扇区的24-27
4:0主片,1从片
6:0 chs,1 LBA
5-7固定为1

0x1f7:  out
  0xec : 识别硬盘
  0x20 : 读硬盘
  0x30 : 写硬盘
0x1f7:  in(返回8个b)
  0: 错误
  3: 数据准备完毕
  7: 硬盘繁忙

{dotted startColor="#ff6c6c" endColor="#1989fa"/}

ok编写相应的汇编代码,进行磁盘数据的读写
需要注意:汇编处理硬盘读写时只能用dx,ax来进行

比如:
dx存储端口
ax存储向端口传输的数据
Theme Jasmine by Kent Liao