版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何测试软硬盘驱动器参数如何测试软硬盘驱动器参数 如何测试软硬盘驱动器参数 如何测试软硬盘驱动器参数一、如何测试驱动器类型随着PC硬件的高速开展,各种应用软件对外设的要求亦不断进步,这使得有些软件的设计者在开发软件时需要对主机的配套设备进展检查,以便能更好地利用这些设备。如对处理器CPU及协处理器的检测、对驱动器的检测等等。对于上述的测试,除CPU及协处理器的测试方法已有不少文章阐述过外,还很少有对驱动器测试的阐述。本文将详细介绍如何测试驱动器,并给出相应的子程序源码,读者可根据需要将其变成一独立程序,也可将其参加到自己的应用程序中去。在提供的测试驱动器子程序中,使用了DOS INT 21h
2、的设备管理功能调用 44XXh(IOCTL)的两个子功能:AX=4409h 和AX=440Dh。通过对What-Drv子程序的调用,可得到指定驱动器的类型。该测试子程序的调用方式为:输入:AL=驱动器标号(A,B,C,.)程序:CALL What-Drv输出:CF= 0 成功AL= 驱动器类型(提供之源码中有各种类型说明)DS:DX= Device-Params读取参数缓冲区,共有32Bytes长度CF= 1失败AX=错误代码1.测试指定驱动器状态本子功能是测试所指定驱动器是否为单机或网络之共享状态输入:AX= 4409h中断:INT 21h输出:CF= 0成功DX=返回状态(这里仅讨论DX存
3、放器的Bit12,在返回的参数中,DX还有其它许多状态值,本节将不在此讨论)假设Bit12=0,那么为单机状态Bit12=1,那么为效劳器共享状态CF= 1失败AX=错误代码2.读取指定驱动器参数本子功能将读出指定驱动器的各种参数,包括驱动器类型、文件分配表FAT大小,根目录ROOT大小,及其它BPB各种磁盘参数。本子程序仅读取驱动器类型参数。输入:AX= 440Dh,CX= 0860h 这里 CH=08h表示磁盘驱动器CL=60h表示读取驱动器参数DSDX=Device-Params指向读取参数缓冲区,共有32 Bytes长度中断:INT 21h输出:CF= 0成功DSDX=缓冲区包含读出驱
4、动器参数CF= 1失败AX=错误代码3.磁盘参数区08a08600.GIF;表14.测试驱动器源码(程序1)程序1:;-; Check Drive Type;Input: AL=Can be any drive letter(A,B,C.);Output: CF=0 Successfully; AL=drive type will be returned as an; ERRORLEVEL.; DSDX=Pointer to parameter block; CF=1 Failed; all registers restored.;-; ERRORLEVEL Result; -; -1Driv
5、e isnt local; 0320K/360K 130mm.drive; 2720K 90mm.drive; 3Single-density 203mm.drive; 4Double-density 203mm.drive; 5Hard disk; 6Type drive; 71.44M drive; 8Something else;-;What-drv proc nearpush cx ;save registerspush bxmov bl,almov ax,4409h;Check workstation /serverpush bxint 21hpop bxjb What-error
6、;Error to exittest dh,10h ;test server?jz What-continuemov al,-1jmp short What-ExitWhat-continue:mov ax,440dhmov cx,0860h;Get device paramterspush cspop dsmov dx,offset Device-paramsint 21hjb What-error ;Error to exitmov al,Device-Params+1;Get device typeWhat-Exit:clc ;Successfully flagWhat-error:po
7、p bx ;recover registerspop cxretnWhat-drv endpDevice-Params db 32 dup(0)二、读取硬盘参数硬盘是主机重要的存储设备,不同厂家,不同大小的硬盘参数均不一样。这里所说的硬盘参数是:磁头数、簇面数和扇区数。本节将给出一个读取硬盘参数的子程序(不含逻辑,即将一个大硬盘分成两个以上分区。当然读者也可修改本程序,以便能识别两个以上分区的硬盘)。在下面的程序中,将首先读取硬盘的主引导区 Master boot record,因为所有的硬盘参数都存放在里面。程序流程如下:(1) 将指定的物理硬盘主引导区读入缓冲区(2) 在引导区偏移地址1B
8、Eh处获取相应的硬盘参数(3) 通过计算求得该硬盘的磁头数、簇面数和扇区数(4) 由得到的硬盘参数求得其容量大小Get-FdiskParam 子程序调用方式为:输入:AL=硬盘物理ID号(80h 或 81h)程序:CALL Get-FdiskParam输出:CF=0成功AX= 硬盘容量大小(Hex)CX= 簇面数DL=扇区数DH=磁头数CF=1 失败1.硬盘分区表参数08A08601.GIF;表2 硬盘分区表参数2.硬盘容量计算通过分区表的参数,还可求得硬盘的容量大小。在提供的程序中对硬盘容量的计算均按16进制方式:3.读硬盘参数源码(程序2)程序2:;-;Get Hard Cyls,Sect
9、or,Head,Size;Input:AL= Fdisk ID(80h,81h);Output: CF= 0 successfully;AX= Fdisk size(Hex);CX= Number of Cylinders:DL= Number of Sectors;DH= Number of Heads;CF= 1 failed;-Get-Fdiskparamproc nearcmp al,80h ;test Fdisk IDjb Get-FdiskExitmov cx,csmov ds,cxmov es,cx ;set DS,ES segmentmov dl,al ;Fdisk IDmov
10、 bx,offset Partition-areamov cx,1mov dh,0mov ax,201h ;read partition sectorint 13hjb Get-FdiskExit ;failed to exit.mov bx,offset Partiton-area+1behmov al,bx+8 ;Sector countermov ah,bx+5 ;Head countermov dl,bx+7 ;cylinder lowermov dh,bx+6 ;cylinder highmov cx,6shr dh,clinc dx ;get cylinderpush dx ;save cylinderpush ax ;save head sectormul ah ;compute Fdisk sizemul dxmov cx,11Loop-shift:shr dx,1rcr ax,1loop Loop-shift ;Get Fdisk sizepop dx ;sectors headspop cx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度餐饮行业冷链配送与质量追溯体系合同3篇
- 郑州科技学院《风景人像基础教程》2023-2024学年第一学期期末试卷
- 2025版互联网金融服务委托理财合同范本库3篇
- 2025年行政合同签订及管理中行政优先权的法律风险防范指南2篇
- 美容院股份转让服务协议(2025版)2篇
- 二零二五版美容美发行业美容院品牌推广服务合同4篇
- 2025年度个人反担保协议样本:教育机构贷款融资专用4篇
- 2025版全面升级危险品物流运输合同范本3篇
- 西安市2025年度汽车租赁企业服务质量评价体系3篇
- 2025年度菜鸟驿站绿色物流体系建设与推广合同3篇
- 圆周率的认识
- 基于SMT求解器的分支条件覆盖测试
- 反骚扰政策程序
- 运动技能学习与控制课件第十一章运动技能的练习
- 射频在疼痛治疗中的应用
- 四年级数学竖式计算100道文档
- “新零售”模式下生鲜电商的营销策略研究-以盒马鲜生为例
- 项痹病辨证施护
- 怀化市数字经济产业发展概况及未来投资可行性研究报告
- 07FD02 防空地下室电气设备安装
- 教师高中化学大单元教学培训心得体会
评论
0/150
提交评论