参考资料:

  1. 《IBM-PC汇编语言程序设计》

  2. http://blog.sina.com.cn/s/blog_5028978101008wk2.html

  3. http://www.ctyme.com/intr/int-13.htm

   ◆ 磁盘复位:

  功能号:AH = 00H

  调用参数:DL = 驱动器号 (00H~7FH为软盘;80H~0FFH为硬盘)

  返回参数:读成功 ⇒ AH = 00H, CF = 0

         读失败 ⇒ AH = 错误码

  ◆ 读磁盘状态:

  功能号:AH = 01H

  返回参数:AH = 状态字节

  ◆ 读磁盘扇区:  

  功能号:AH = 02H

  调用参数:AL = 扇区数

         CX中的0~5位代表扇区号,CX中的6~15位代表柱面号(其中,CL的6~7为柱面数的高两位,CH存低8位)

         DH/DL = 磁头号/驱动器号

       ES:BX = 数据缓冲区地址

  返回参数:读成功 ⇒ AH = 00H, AL = 读取的扇区数,CF = 0

         读失败 ⇒ AH = 错误码

  ◆ 写磁盘扇区:

  功能号:AH = 03H

  调用参数:AL = 扇区数

       CX中的0~5位代表扇区号,CX中的6~15位代表柱面号

       DH/DL = 磁头号/驱动器号

       ES:BX = 数据缓冲区地址

  返回参数:写成功 ⇒ AH = 00H, AL = 写入的扇区数,CF = 0

         写失败 ⇒ AH = 错误码

   ◆ 检查磁盘扇区:

  功能号:AH = 04H

  调用参数:AL = 扇区数

       CX中的0~5位代表扇区号,CX中的6~15位代表柱面号

       DH/DL = 磁头号/驱动器号

  返回参数:成功 ⇒ AH = 00H, AL = 被检查的扇区数,CF = 0

         失败 ⇒ AH = 错误码

   ◆ 格式化磁盘扇区:

  功能号:AH = 05H

  调用参数:AL = 扇区数

       CX中的0~5位代表扇区号,CX中的6~15位代表柱面号

       DH/DL = 磁头号/驱动器号

       ES:BX = 格式化参数表指针

  返回参数:成功 ⇒ AH = 00H,CF = 0

         失败 ⇒ AH = 错误码

  ◆ 读取驱动器参数:

  功能号:AH = 08H

  调用参数:DL = 驱动器号

       ES:BX = 格式化参数表指针

  返回参数:成功 ⇒ BL = 磁盘大小,CX中的0~5位存扇区数,CX中的6~15位存柱面号,DH/DL = 磁头数/驱动器数,ES:DI = 磁盘驱动器参数列表地址

         失败 ⇒ AH = 错误码,CF = 1

  ◆ 读取磁盘类型:

  功能号:AH = 15H

  调用参数:DL = 驱动器号

       ES:BX = 格式化参数表指针

  返回参数:成功 ⇒ AH = 类型码,01H 无变线支持的软驱,02H 带线支持的软驱,03H 硬盘驱动器;CX:DX = 512字节扇区的个数。

         失败 ⇒ AH = 错误码,CF = 1

《Linux内核设计的艺术》学习笔记(二)INT 0x13中断的更多相关文章

  1. linux内核设计与实现学习笔记-模块

    模块 1.概念:  如果让LINUX Kernel单独运行在一个保护区域,那么LINUX Kernel就成为了“单内核”.    LINUX Kernel是组件模式的,所谓组件模式是指:LINUX K ...

  2. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

  3. Linux内核设计与实现 读书笔记 转

    Linux内核设计与实现  读书笔记: http://www.cnblogs.com/wang_yb/tag/linux-kernel/ <深入理解LINUX内存管理> http://bl ...

  4. linux内核设计的艺术--系统启动第一步

    计算机究竟是如何执行起来的呢,在我学习计算机的时候一直不是非常明确,可是近期借了本<linux内核设计的艺术>算是知道了计算机从按开机到启动操作系统之间究竟做了些什么. 这本书刚開始介绍的 ...

  5. linux内核分析第四周学习笔记

    linux内核分析第四周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  6. Linux内核分析第二周学习笔记

    linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  7. linux内核分析第一周学习笔记

    linux内核分析第一周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  8. 《Linux内核设计与实现》第一二章笔记

    第一章 linux内核简介 每个处理器在任何时间点上的活动必然概括为下列三者: 运行于用户空间,执行用户进程 运行于内核空间,处于进程上下文,代表某个特定的进程执行 运行于内核空间,处于中断上下文,与 ...

  9. 初探内核之《Linux内核设计与实现》笔记上

    内核简介  本篇简单介绍内核相关的基本概念. 主要内容: 单内核和微内核 内核版本号 1. 单内核和微内核   原理 优势 劣势 单内核 整个内核都在一个大内核地址空间上运行. 1. 简单.2. 高效 ...

  10. 《Linux内核设计的艺术》学习笔记(一)从开机加电到加载三个汇编源码

      实验内核版本:0.11 ◆ 从开机到main函数的三步: ① 启动BIOS,准备实模式下的中断向量表和中断服务程序: ② 从启动盘加载OS程序到内存中,加载OS程序的工作就是利用第一步中的中断服务 ...

随机推荐

  1. MyBatis的Dao层注入SqlSession

    有点坑爹,以前没用过Mybatis,最近才用,而且一直用Mybatis推荐的接口映射的方式,但是今天有人告诉我接口方式用得少,大多还是采用从配置文件里面读sql的方式,当然接口也是类似的,都是利用ma ...

  2. Android推送方案分析(MQTT/XMPP/GCM)

    本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案. 方案1. 使用GCM服务(Google Cloud ...

  3. [转]iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    转载地址:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINav ...

  4. JQuery知识快览之三—JQuery对象集

    本文讲述JQuery对象集的各相关知识 获取JQuery对象集 JQuery对象,和DOM对象是两个不同的东西,JQuery对象可以是DOM对象的封装,但是JQuery对象不只是DOM对象的封装,它还 ...

  5. Webstrom快捷键大全

    20:32:59 Ctrl+/ 或 Ctrl+Shift+/          注释(// 或者 ) Shift+F6               重构-重命名 Ctrl+X             ...

  6. 分页sql存储过程算法

    /****** Object: StoredProcedure [dbo].[PRO_Pub_FenYe] Script Date: 08/04/2014 11:14:22 ******/ SET A ...

  7. CodeBlocks养眼的colour theme

    把如下的代码复制粘贴到这个文件:default.conf <?xml version="1.0" encoding="UTF-8" standalone= ...

  8. 解决浏览器使用<pre></pre>时不换行

    <!-- 解决火狐浏览器中pre标签不换行 --> <style type="text/css"> pre { white-space: pre-wrap; ...

  9. java 学习路线《转》

    *第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架: *第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及: *第三阶段 ...

  10. C#数组的排序(正序逆序)

    C#数组的排序(正序逆序) 这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using ...