直接磁盘服务(Direct Disk Service——INT 13H)  
00H —磁盘系统复位 
01H —读取磁盘系统状态 
02H —读扇区 
03H —写扇区 
04H —检验扇区 
05H —格式化磁道 
06H —格式化坏磁道 
07H —格式化驱动器 
08H —读取驱动器参数 
09H —初始化硬盘参数 
0AH —读长扇区 
0BH —写长扇区 
0CH —查寻 
0DH —硬盘系统复位 
0EH —读扇区缓冲区 
0FH —写扇区缓冲区 
10H —读取驱动器状态 
11H —校准驱动器 
12H —控制器RAM诊断 
13H —控制器驱动诊断 
14H —控制器内部诊断 
15H —读取磁盘类型 
16H —读取磁盘变化状态 
17H —设置磁盘类型 
18H —设置格式化媒体类型 
19H —磁头保护 
1AH —格式化ESDI驱动器 
  
(1)、功能00H 
功能描述:磁盘系统复位 
入口参数:AH=00H 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(2)、功能01H  
功能描述:读取磁盘系统状态 
入口参数:AH=01H 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
出口参数:AH=00H,AL=状态代码,其定义如下: 
00H — 无错 
01H — 非法命令 
02H — 地址目标未发现 
03H — 磁盘写保护(软盘) 
04H — 扇区未发现 
05H — 复位失败(硬盘) 
06H — 软盘取出(软盘) 
07H — 错误的参数表(硬盘) 
08H — DMA越界(软盘) 
09H — DMA超过64K界限 
0AH — 错误的扇区标志(硬盘) 
0BH — 错误的磁道标志(硬盘) 
0CH — 介质类型未发现(软盘) 
0DH — 格式化时非法扇区号(硬盘) 
0EH — 控制数据地址目标被发现(硬盘) 
0FH — DMA仲裁越界(硬盘) 
10H — 不正确的CRC或ECC编码 
11H — ECC校正数据错(硬盘) 
 CRC:Cyclic Redundancy Check code 
 ECC:Error Checking & Correcting code 
20H — 控制器失败 
40H — 查找失败 
80H — 磁盘超时(未响应) 
AAH — 驱动器未准备好(硬盘) 
BBH — 未定义的错误(硬盘) 
CCH — 写错误(硬盘) 
E0H — 状态寄存器错(硬盘) 
FFH — 检测操作失败(硬盘) 
  
(3)、功能02H  
功能描述:读扇区 
入口参数:AH=02H 
AL=扇区数 
CH=柱面 
CL=扇区 
DH=磁头 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 
  
(4)、功能03H  
功能描述:写扇区 
入口参数:AH=03H 
AL=扇区数 
CH=柱面 
CL=扇区 
DH=磁头 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 
  
(5)、功能04H  
功能描述:检验扇区 
入口参数:AH=04H 
AL=扇区数 
CH=柱面 
CL=扇区 
DH=磁头 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参见功能号01H中的说明 
  
(6)、功能05H  
功能描述:格式化磁道 
入口参数:AH=05H 
AL=交替(Interleave) 
CH=柱面 
DH=磁头 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
ES:BX=地址域列表的地址 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(7)、功能06H  
功能描述:格式化坏磁道 
入口参数:AH=06H 
AL=交替 
CH=柱面 
DH=磁头 
DL=80H~0FFH:硬盘 
ES:BX=地址域列表的地址 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(8)、功能07H  
功能描述:格式化驱动器 
入口参数:AH=07H 
AL=交替 
CH=柱面 
DL=80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(9)、功能08H  
功能描述:读取驱动器参数 
入口参数:AH=08H 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明,否则, BL=01H — 360K 
=02H — 1.2M 
=03H — 720K 
=04H — 1.44M 
CH=柱面数的低8位 
CL的位7-6=柱面数的该2位 
CL的位5-0=扇区数 
DH=磁头数 
DL=驱动器数 
ES:DI=磁盘驱动器参数表地址 
  
(10)、功能09H  
功能描述:初始化硬盘参数 
入口参数:AH=09H 
DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略) 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(11)、功能0AH  
功能描述:读长扇区,每个扇区随带四个字节的ECC编码 
入口参数:AH=0AH 
AL=扇区数 
CH=柱面 
CL=扇区 
DH=磁头 
DL=80H~0FFH:硬盘 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 
  
(12)、功能0BH  
功能描述:写长扇区,每个扇区随带四个字节的ECC编码 
入口参数:AH=0BH 
AL=扇区数 
CH=柱面 
CL=扇区 
DH=磁头 
DL=80H~0FFH:硬盘 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 
  
(13)、功能0CH  
功能描述:查寻 
入口参数:AH=0CH 
CH=柱面的低8位 
CL(7-6位)=柱面的高2位 
DH=磁头 
DL=80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(14)、功能0DH  
功能描述:硬盘系统复位 
入口参数:AH=0DH 
DL=80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(15)、功能0EH  
功能描述:读扇区缓冲区 
入口参数:AH=0EH 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明 
  
(16)、功能0FH  
功能描述:写扇区缓冲区 
入口参数:AH=0FH 
ES:BX=缓冲区的地址 
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明 
  
(17)、功能10H  
功能描述:读取驱动器状态 
入口参数:AH=10H 
DL=80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(18)、功能11H  
功能描述:校准驱动器 
入口参数:AH=11H 
DL=80H~0FFH:硬盘 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 
  
(19)、功能12H  
功能描述:控制器RAM诊断 
入口参数:AH=12H 
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明 
  
(20)、功能13H  
功能描述:控制器驱动诊断 
入口参数:AH=13H 
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明 
  
(21)、功能14H  
功能描述:控制器内部诊断 
入口参数:AH=14H 
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号01H中的说明 
  
(22)、功能15H  
功能描述:读取磁盘类型 
入口参数:AH=15H 
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
出口参数:CF=1——操作失败,AH=状态代码,参见功能号01H中的说明, 否则,AH=00H — 未安装驱动器 
=01H — 无改变线支持的软盘驱动器 
=02H — 带有改变线支持的软盘驱动器 
=03H — 硬盘,CX:DX=512字节的扇区数

(23)、功能16H  
功能描述:读取磁盘变化状态 
入口参数:AH=16H 
DL=00H~7FH:软盘 
出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号01H中的说明 
  
(24)、功能17H  
功能描述:设置磁盘类型 
入口参数:AH=17H 
DL=00H~7FH:软盘 AL=00H — 未用 
=01H — 360K在360K驱动器中 
=02H — 360K在1.2M驱动器中 
=03H — 1.2M在1.2M驱动器中 
=04H — 720K在720K驱动器中 
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能号01H中的说明 
  
(25)、功能18H  
功能描述:设置格式化媒体类型 
入口参数:AH=18H 
CH=柱面数 
CL=每磁道的扇区数 
DL=00H~7FH:软盘 
出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否则,AH=状态编码,参见功能号01H中的说明 
  
(26)、功能19H  
功能描述:磁头保护,仅在PS/2中有效,在此从略 
  
(27)、功能1AH  
功能描述:格式化ESDI驱动器,仅在PS/2中有效,在此从略 

int 13h,磁盘中断的更多相关文章

  1. 清华大学ucore操作系统课笔记

    操作系统 清华大学ucore操作系统课笔记 全文思维导图 1. 操作系统概述 1.1 什么是操作系统? 操作系统的定义 没有公认的精确定义 一个控制程序 一个系统软件 控制程序执行过程,防止错误和计算 ...

  2. 《30天自制操作系统》读书笔记(3) 引入C语言

    这一次的学习相当曲折, 主要是因为粗心, Makefile里面的错误导致了文件生成出现各种奇奇怪怪的问题, 弄得心力交瘁, 因此制作过程还是尽量按着作者的路子来吧. 作者提供的源码的注释在中文系统下是 ...

  3. 13号中断 int 13(转)

    第一部分      简      介      1,1      一.    硬盘结构简介              1.    硬盘参数释疑              到目前为止,    人们常说的 ...

  4. 汇编实验15:安装新的int 9中断例程

    汇编实验15:安装新的int 9中断例程 任务 安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不在松开,一旦松开后,就显示满屏幕的“A”,其他键照常处理. 预备知识概要 这次实 ...

  5. BIOS中断大全

    BIOS中断大全 BIOS中断:1.显示服务(Video Service——INT 10H)  00H —设置显示器模式0CH —写图形象素01H —设置光标形状0DH —读图形象素02H —设置光标 ...

  6. [汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写

    第十七章 使用BIOS进行键盘输入和磁盘读写 17.1 int 9 中断例程对键盘输入的处理 17.2 int 16 读取键盘缓存区 mov ah,0 int 16h 结果:(ah)=扫描码,(al) ...

  7. bios和dos中断

    1.字符功能调用类(Character-Oriented Function)01H.07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H — ...

  8. 使用BIOS进行键盘输入和磁盘读写

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  9. 不同WINDOWS平台下磁盘逻辑扇区的直接读写

    不同WINDOWS平台下磁盘逻辑扇区的直接读写 关键字:VWIN32.中断.DeviceIoControl 一.概述 在DOS操作系统下,通过BIOS的INT13.DOS的INT25(绝对读).INT ...

随机推荐

  1. nginx实用配置用例

    vue项目部署及后台api访问 nginx.conf # vue本地项目配置 ... server { listen 8000; server_name localhost; root /.../di ...

  2. Linux 容器 vs 虚拟机——谁更胜一筹

    自从Linux上的容器变得流行以来,了解Linux容器和虚拟机之间的区别变得更加棘手.本文将向您提供详细信息,以了解Linux容器和虚拟机之间的差异. Linux容器vs虚拟机 - 应用程序与操作系统 ...

  3. DMZ在虚拟化环境中的部署

    常见的方法有三种: 1.分别部署 2.部分虚拟化 3.全部虚拟化 传统DMZ部署结构: 分别部署: 想要保持DMZ区域物理隔离采用这种方法,每个区域分别部署进入不同的服务器集群,区域之间的连接采用物理 ...

  4. 廖雪峰Java11多线程编程-3高级concurrent包-7Future

    JDK提供了ExecutorService接口表示线程池,可以通过submit提交一个任务. ExecutorService executor = Executors.newFixedThreadPo ...

  5. 从微服务治理的角度看RSocket、. Envoy和. Istio

    很多同学看到这个题目,一定会提这样的问题:RSocket是个协议,Envoy是一个 proxy,Istio是service mesh control plane + data plane. 这三种技术 ...

  6. limit方法也是模型类的连贯操作方法之一

    limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 限制结果数量 例如获取满足要求的 ...

  7. 跳表上线性dp——1150D 好题!

    题目设计的很好,感觉做了这题对dp的状态有了更深的理解 /* 先预处理序列自动机 dp[i][j][k]表示匹配到i,j,k时的最靠前的位置 那么现在A串加入了一个字母,我们要求的就是dp[i+1][ ...

  8. golang的表格驱动测试

    一.leetcode的算法题 package main import ( "fmt" "strings" ) func lengthOfNonRepeating ...

  9. We'll be fine.

    可怜的人心中都有一种信念,那就是 明天会更好. Everything will be fine. 我拥见风来,嗅见花开,是避不掉的厉寒,是止不住的徘徊.

  10. TCP/IP四层模型和OSI七层模型(模型分层的作用是什么)

    TCP/IP四层模型和OSI七层模型的概念(模型分层的作用是什么) 一.总结 一句话总结: 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错: 在各层分别定义标准接口,使具 ...