跟大师学习系统编程---操作系统加载(3)
2017-11-01 10:03
357 查看
获取磁盘参数
ok_load_setup: ! Get disk drive parameters, specifically nr of sectors/track mov dl,#0x00 mov ax,#0x0800 ! AH=8 is get drive parameters int 0x13 mov ch,#0x00 seg cs mov sectors,cx mov ax,#INITSEG mov es,ax
获取磁盘参数,主要是获取每磁道的扇区数,这样做的目的是为了判断当前的启动磁盘的类型(当时还流行软盘驱动器,而软盘有2种尺寸的——1.2M和1.44M). 他们每磁道包含的扇区数目不同。
第8行代码将ch清0,主要是为了第10行的代码,因为扇区数目是存储在cl中的,所以,要排除ch的干扰。sectors为本程序的一个变量,在程序文件的某位有定义。保存每磁道扇区数目。
第11行和第12行代码用于恢复es寄存器的值,因为取磁盘参数中断程序修订了es寄存器的值,需要重新初始化es。
相关文章推荐
- 跟大师学习系统编程---操作系统加载(6)
- 跟大师学习系统编程---操作系统加载(7)
- 跟大师学习系统编程---操作系统加载(1)
- 跟大师学习系统编程---操作系统加载(8)
- 跟大师学习系统编程---操作系统加载(9)
- 跟大师学习系统编程---操作系统加载(2)
- 跟大师学习系统编程---操作系统加载(4)
- 跟大师学习系统编程---操作系统加载(5)
- 发生系统错误 1275.此驱动程序被阻止加载 寒江孤钓<<windows 内核安全编程>> 学习笔记
- 跟大师学习系统编程---linux时间换算
- 【前端编程-学习-5】系统加载提示
- Unity3D之Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关
- Linux操作系统下C语言编程入门学习笔记(...20090601(第一遍学完待整理)...)
- 关于编程开发的最小系统学习法
- 操作系统(5)--文件系统学习笔记
- 操作系统学习笔记:文件系统接口
- LINUX C系统编程学习笔记-----------多线程编程
- Unix编程学习笔记--------把一个库下载到系统中,那么这个库到底是什么??? 其内部的机制和原理是什么???
- Linux操作系统加载不同文件系统的总结
- 信息安全系统设计基础第十周——怎样学习系统编程