软盘相关知识和通过BIOS中断访问软盘
一、 软盘基础知识介绍
(1) 3.5英寸软盘
3.5英寸软盘分为上下两面,每面有80个磁道,每个磁道又分为18个扇区,每个扇区大小为512个字节。
软盘大小计算: 2面 * 80磁道 * 18扇区 * 512 字节 = 1440KB ≈ 1.44MB
(2) 5.25英寸软盘
- 5.25英寸软盘每个磁道只有15个扇区,其它的与3.5英寸软盘一样。因此,5.25英寸软盘大小为 1.2MB
磁盘的实际访问由磁盘控制器进行。我们可以通过控制磁盘控制器来访问磁盘。只能以扇区为单位对磁盘进行读写。在读写扇区的时候,要给出面号、磁道号和扇区号。面号和磁道号从0开始,而扇区号从1开始。
二、 使用BIOS的 int 13h 中断访问磁盘
如果通过直接控制磁盘控制器来访问磁盘,则需要涉及许多硬件细节。BIOS提供了对扇区进行读写的中断例程,这些中断例程完成了许多复杂的和硬件相关的工作,我们可以通过调用BIOS中断例程来访问磁盘。
(一) 读软盘
ah = int 13h 的功能号(2表示读扇区)
al = 读取的扇区数
ch = 磁道号
cl = 扇区号
dh = 磁头号(对于软盘即面号,因为一个面用一个磁头来读写)
dl = 驱动器号(软驱从零开始, 0: 软驱A, 1: 软驱B;硬盘需要把第七位置位,从80h开始, 80h:硬盘c,81h:硬盘D)
返回参数:操作成功,ah = 0,al = 读入的扇区数;操作失败,ah = 出错代码
读取0面0道1扇区内容到0:200的程序如下所示
mov ax,0
mov es,ax
mov bx,200h
mov al,1 ;读取1个扇区
mov ch,0 ;磁道号0
mov cl,1 ;扇区号0
mov dl,0 ;软驱A
mov dh,0 ;软盘0面
mov ah,2 ;int 13h 2号功能
int 13h
(二) 写软盘
ah = int 13h 的功能号(3表示写扇区)
al = 写入的扇区数
ch = 磁道号
cl = 扇区号
dh = 磁头号(对于软盘即面号,因为一个面用一个磁头来读写)
dl = 驱动器号(软驱从零开始, 0: 软驱A, 1: 软驱B;硬盘需要把第七位置位,从80h开始, 80h:硬盘c,81h:硬盘D)
返回参数:操作成功,ah = 0,al = 写入的扇区数;操作失败,ah = 出错代码
将0:200的内容写入0面0道1扇区的程序如下所示
mov ax,0
mov es,ax
mov bx,200h
mov al,1 ;读取1个扇区
mov ch,0 ;磁道号0
mov cl,1 ;扇区号0
mov dl,0 ;软驱A
mov dh,0 ;软盘0面
mov ah,3 ;int 13h 2号功能
int 13h
软盘相关知识和通过BIOS中断访问软盘的更多相关文章
- WEB相关知识和Tomcat服务器
WEB相关知识 1.Internet上供外界访问的Web资源分为: 静态web资源:指web页面中供人们浏览的数据始终是不变的. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间 ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- BIOS中断大全
BIOS中断大全 BIOS中断:1.显示服务(Video Service——INT 10H) 00H —设置显示器模式0CH —写图形象素01H —设置光标形状0DH —读图形象素02H —设置光标 ...
- BIOS 中断大全
BIOS中断: 1.显示服务(Video Service--INT 10H) 00H -设置显示器模式0CH -写图形象素 01H -设置光标形状0DH -读图形象素 02H -设置光标位置0EH ...
- listener监听器的相关知识
从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...
- 【转】java NIO 相关知识
原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...
- 地址标记,SpringMVC转发与调用相关知识存档
1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...
- AJAX跨域调用相关知识-CORS和JSONP(引)
AJAX跨域调用相关知识-CORS和JSONP 1.什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容. 但是我们项目开发过程中,经常 ...
- Centos的Inode及Block相关知识
Centos的Inode及Block相关知识 时间:2016-06-04 01:54来源:blog.51cto.com 作者:"tao" 博客 举报 点击:173次 本经验均在Ce ...
随机推荐
- [arc081F]Flip and Rectangles-[黑白染色]
Description 传送门 Solution 有一个神秘的结论..我不知道大佬是怎么场上推出来的. 一个黑白染色图,每次可以任意翻转行或列的颜色,如果每个2*2的子矩阵内黑色格子都是偶数个,则可以 ...
- 安装spark-1.5遇到的一些问题
1.java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z 这个问 ...
- python爬虫之urllib库介绍
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
- css绘制常见的几何图形
前言:终于我的大一生活结束了,迎来了愉快的暑假,大家都开始了各自的忙碌.一直忙着一些项目的事情,终于决定今天要更新一篇博客了,对上一阶段的学习做简单的总结. 这次我主要总结一下用Css绘制各种形状的技 ...
- **测试某系统切换成docker部署之后性能的下降情况**
###分析 * 对比:某系统/docker* A:某系统性能情况* B:dockers部署的性能情况* 求出A&B两者之间的差异* 确定性能指标(tps)* 测试报告里体现:tps的变化 ## ...
- Charles 抓包使用教程
将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网络 修改网络请求内容 给服务器做压力测试 修改服务 ...
- c语言数字图像处理(八):噪声模型及均值滤波器
图像退化/复原过程模型 高斯噪声 PDF(概率密度函数) 生成高斯随机数序列 算法可参考<http://www.doc.ic.ac.uk/~wl/papers/07/csur07dt.pdf&g ...
- Centos7 安装与破解 Confluence 6.7.1
1.1硬件需求建议: CPU:32/64 bit 2.27GHz双核心以上之CPU: 内存:8GB以上: 硬盘:300GB,7200转以上: 建议数据库.Confluence等各自独立一台服务器(本测 ...
- 理解粒子滤波(particle filter)
1)初始化阶段-提取跟踪目标特征 该阶段要人工指定跟踪目标,程序计算跟踪目标的特征,比如可以采用目标的颜色特征.具体到Rob Hess的代码,开始时需要人工用鼠标拖动出一个跟踪区域,然后程序自动计算该 ...
- 笨办法学Python - 习题6-7: Strings and Text & More Printing
目录 1.习题 6: 字符串(string) 和文本 2.加分习题: 3.我的答案 4.习题总结 5.习题 7: 更多打印 6.习题总结 1.习题 6: 字符串(string) 和文本 学习目标:了解 ...