如何测试软硬盘驱动器参数

更新时间:2019-06-15 04:46 找法网官方整理
导读:
[摘要]:一、如何测试驱动器类型随着PC硬件的高速发展,各种应用软件对外设的要求亦不断提高,这使得有些软件的设计者在开发软件时需要对主机的配套设备进行检查,以便能更


[摘 要]:一、如何测试驱动器类型随着PC硬件的高速发展,各种应用软件对外设的要求亦不断提高,这使得有些软件的设计者在开发软件时需要对主机的配套设备进行检查,以便能更好地利用这些设备。如对处理器CPU及协处理器的
[英文摘要]:
[关 键 字]:
[论文正文]:一、如何测试驱动器类型
随着PC硬件的高速发展,各种应用软件对外设的要求亦不断提高,这使得有些软件的设计者在开发软件时需要对主机的配套设备进行检查,以便能更好地利用这些设备。如对处理器CPU及协处理器的检测、对驱动器的检测等等。对于上述的测试,除CPU及协处理器的测试方法已有不少文章论述过外,还很少有对驱动器测试的论述。本文将详细介绍如何测试驱动器,并给出相应的子程序源码,读者可根据需要将其变成一独立程序,也可将其加入到自己的应用程序中去。
在提供的测试驱动器子程序中,使用了DOSINT21h的设备管理功能调用44XXh(IOCTL)的两个子功能:AX=4409h和AX=440Dh。通过对What-Drv子程序的调用,可得到指定驱动器的类型。该测试子程序的调用方式为:
输入:AL=驱动器标号(A,B,C,...)
程序:CALLWhat-Drv
输出:CF=0成功
AL=驱动器类型(提供之源码中有各种类型说明)
DS:DX=Device-Params读取参数缓冲区,共有32Bytes长度
CF=1失败
AX=错误代码
1.测试指定驱动器状态
本子功能是测试所指定驱动器是否为单机或网络之共享状态输入:AX=4409h
BL=0,1,2,...(0=defult,1=A,2=B,3=C,...)
中断:INT21h
输出:CF=0成功
DX=返回状态(这里仅讨论DX寄存器的Bit12,在返回的参数中,DX还有其它许多状态值,本节将不在此讨论)
若Bit12=0,则为单机状态
Bit12=1,则为服务器共享状态
CF=1失败
AX=错误代码
2.读取指定驱动器参数
本子功能将读出指定驱动器的各种参数,包括驱动器类型、文件分配表FAT大小,根目录ROOT大小,及其它BPB各种磁盘参数。本子程序仅读取驱动器类型参数。
输入:AX=440Dh,
BL=0,1,2,...(0=defult,1=A,2=B,3=C,...)
CX=0860h这里CH=08h表示磁盘驱动器
CL=60h表示读取驱动器参数
DS∶DX=Device-Params指向读取参数缓冲区,共有32Bytes长度
中断:INT21h
输出:CF=0成功
DS∶DX=缓冲区包含读出驱动器参数
CF=1失败
AX=错误代码
3.磁盘参数区
表1为一130mm1.2MB的软盘驱动器参数信息(共32字节长度)。
@@08a08600.GIF;表1@@
4.测试驱动器源码(程序1)
程序1:
;------------
;CheckDriveType
;Input:AL=Canbeanydriveletter(A,B,C..)
;Output:CF=0Successfully
;AL=drivetypewillbereturnedasan
;ERRORLEVEL.
;DS∶DX=Pointertoparameterblock
;CF=1Failed
;allregistersrestored.
;-----------------
;ERRORLEVELResult
;--------------
;-1Driveisn′tlocal
;0320K/360K130mm.drive
;11.2M130mm.drive
;2720K90mm.drive
;3Single-density203mm.drive
;4Double-density203mm.drive
;5Harddisk
;6Typedrive
;71.44Mdrive
;8Somethingelse
;------------;
What-drvprocnear
pushcx;saveregisters
pushbx
movbl,al
andbl,lfh;bl=0,1,2..
movax,4409h
;Checkworkstation/server
pushbx
int21h
popbx
jbWhat-error;Errortoexit
testdh,10h;testserver?
jzWhat-continue
moval,-1
jmpshortWhat-Exit
What-continue:
movax,440dh
movcx,0860h
;Getdeviceparamters
pushcs
popds
movdx,offsetDevice-params
int21h
jbWhat-error;Errortoexit
moval,[Device-Params+1]
;Getdevicetype
What-Exit:
clc;Successfullyflag
What-error:
popbx;recoverregisters
popcx
retn
What-drvendp
Device-Paramsdb32dup(0)
二、读取硬盘参数
硬盘是主机重要的存储设备,不同厂家,不同大小的硬盘参数均不相同。这里所说的硬盘参数是:磁头数、簇面数和扇区数。本节将给出一个读取硬盘参数的子程序(不含逻辑,即将一个大硬盘分成两个以上分区。当然读者也可修改本程序,以便能识别两个以上分区的硬盘)。在下面的程序中,将首先读取硬盘的主引导区Masterbootrecord,因为所有的硬盘参数都存放在里面。程序流程如下:
(1)将指定的物理硬盘主引导区读入缓冲区
(2)在引导区偏移地址1BEh处获取相应的硬盘参数
(3)通过计算求得该硬盘的磁头数、簇面数和扇区数
(4)由得到的硬盘参数求得其容量大小
Get-FdiskParam子程序调用方式为:
输入:AL=硬盘物理ID号(80h或81h)
程序:CALLGet-FdiskParam
输出:CF=0成功
AX=硬盘容量大小(Hex)
CX=簇面数
DL=扇区数
DH=磁头数
CF=1失败
1.硬盘分区表参数
在硬盘主引导区的1BEh位置即为硬盘分区表参数区,一个硬盘最多只能分成四个逻辑分区,每个分区参数表占10hBytes长度。本节为方便起见,仅设定硬盘为一个分区的情况,至于多分区情况,请读者通过修改本程序亦可获得。这里以162MB硬盘主引导区中的分区表参数为例。
@@08A08601.GIF;表2硬盘分区表参数@@
由参数表可查出:磁头数=15,簇面数=1010,扇区数=22
2.硬盘容量计算
通过分区表的参数,还可求得硬盘的容量大小。在提供的程序中对硬盘容量的计算均按16进制方式:
硬盘容量(MB)=磁头数×簇面数×扇区数×512/1024为精简程序,笔者在计算时舍掉了许多余数(舍掉较多,仅保留整数),故此计算得来的容量与实际容量有些差异,请读者引用时注意。
3.读硬盘参数源码(程序2)
程序2:
;----------------
;GetHardCyls,Sector,Head,Size
;Input:AL=FdiskID(80h,81h)
;Output:CF=0successfully
;AX=Fdisksize(Hex)
;CX=NumberofCylinders
:DL=NumberofSectors
;DH=NumberofHeads
;CF=1failed
;-------------
Get-Fdiskparamprocnear
cmpal,80h;testFdiskID
jbGet-FdiskExit
movcx,cs
movds,cx
moves,cx;setDS,ESsegment
movdl,al;FdiskID
movbx,offsetPartition-area
movcx,1
movdh,0
movax,201h;readpartitionsector
int13h
jbGet-FdiskExit;failedtoexit.
movbx,offsetPartiton-area+1beh
moval,[bx+8];Sectorcounter
movah,[bx+5];Headcounter[page]
movdl,[bx+7];cylinderlower

1|2|下一页

温馨提示:法律问题具有较强的专业性,如有疑问,建议一对一咨询专业律师
我在司法鉴定领域有丰富的实战经验 ,如果你需要针对性解答,可以向我在线咨询。
响应时间 平均2分钟内
已帮助 154127
在线咨询
声明:该作品系作者结合法律法规、政府官网及互联网相关知识整合,如若内容错误请通过【投诉】功能联系删除。
相关知识推荐
投标样品是否属于投标文件,样品合格后,当实际参数与响应参数不同时,验收以哪个参数为准。
投标的效力认定一般指投标文件的效力认定,而招投标文件一般不具有法律效力,只有签订合同才能具有法律效力,根据《中华人民共和国招标投标法》规定,投标人应当按照招标文
网上的软阳光软,网上的阳光守护软件违法吗
网络侵权行为属于违法行为。行为人由于过错侵害他人的财产和人身权利,依法应当承担民事责任的行为,以及依据法律特别规定应当承担民事责任的其他致人损害行为。
找法网咨询助手
官方
当前在线
立即咨询
找法网咨询助手提醒您:
法律所涉问题复杂,每个细节都有可能决定案件走向,若问题紧急,建议 立即咨询 律师,并详细描述自身问题,以获得 针对性解答。24小时在线,平均5分钟回复。
中标参数与招标参数不同
可以向招标单位,招标单位监察机构,招标公司管理部部门。
软金换软金需要拿工费吗
你好 你是安装什么呢
公司网上的手机参数和实际参数不一样能退货吗?
根据《中华人民共和国消费者权益保护法》第二十五条规定,经营者采用网络、电视、电话、邮购等方式销售商品,消费者有权自收到商品之日起七日内退货,且无需说明理由,但下
公司网上手机参数与实际参数不同可以退货吗?
产品质量问题可以退货,如果是质量问题,而选择七天无理由退换货,商家可能会将存在的质量问题说成是买家人为损坏而拒绝退款。 建议退货前先联系卖家,将质量问题拍照发给
请问什么是双软企业,双软企业认定条件有哪些?
双软认定”是指软件企业的认定和软件产品的登记 软件企业的认定标准 1)在我国境内依法设立的企业法人; 2)以计算机软件开发生产、系统集成、应用服务和其他相应技术
青岛软控辞职后可以提取档案吗?软控人力
您好,档案与户口没有关系,您可以申请仲裁。
起诉单位欠取暖费
如果单位一直拖欠取暖费,首先可以尝试与单位协商解决。若协商无果,可以准备相关证据材料,如取暖费缴纳记录、催缴通知等,向法院提起诉讼。在诉讼过程中,要遵循法律程序
雇佣关系雇工受伤问题
雇工在雇佣关系中受伤,应首先收集相关证据,如医疗记录、费用清单等。然后,与雇主协商赔偿事宜,如无法达成一致,可向法院提起诉讼。法院会根据实际情况,判决雇主承担相
但她没有受伤,但一直住在医院怎么办
建议报警,或到交警队补事故认定书
有身份信息被泄密怎么处理
身份信息泄露后,常见处理方式有更换账号、修改密码、报案及律师起诉等。选择时需考虑泄露程度、影响范围及个人需求,轻微泄露可修改密码,若涉及财产等严重问题则应及时报
身份信息泄露怎么去查
身份信息泄露,及时应对。可向公安、互联网管理部门投诉举报,要求查处。同时,更换账号、密码,监控银行账户,防止财产损失。必要时,寻求律师协助,维护权益。
摩托车过期的年审2月左右才闯红灯
你好,你是有民事案件的问题吗,具体描述
就是我15周岁出去旅游可以开酒店吗
针对不同情况,未成年人在旅游时的住宿问题可采取不同措施。如有监护人陪同,可直接预订酒店并共同入住。若单独出行,建议提前咨询酒店政策,部分酒店可能接受监护人签署的
1分钟提问 海量律师提供在线解答
  • 1
    提交咨询
    详细描述您所遇到的问题或纠纷并发送
  • 2
    接入律师
    耐心等待律师解答,平均5分钟及时响应
  • 3
    获取解答
    还有疑问?60分钟无限次追问
立即咨询