首页 教育论文中心 论文分类 论文搜索 论文发表 汇款确认 会员专区 在线购卡 服务帮助 联系我们 网站地图
当前位置:教育论文中心首页--计算机计算机 毕业论文--也谈硬盘参数测试t2gg
推荐论文
·心病还需“心”来医
·语文教师,解放你的心灵
·让语文课堂成为学生的乐园
·语文学科目标的再认识
·语文美感教学的理论思考
·在听说读写中开发学生智力
·结合实际,谈谈对学生进行

·对小学数学课堂教学的一点
·地理学习风格与教学策略
·“参与探究型”结构在小学
科目列表
市场营销 管理理论 人力资源
电子商务 社会实践 先进教育
伦理道德 艺术理论 环境保护
农村研究 交通相关 烟草论文
电子电气 财务分析 融资决策
电影艺术 国学论文 材料工程
语文论文 数学论文 英语论文
政治论文 物理论文 化学论文
生物论文 美术论文 历史论文
地理论文 信息技术 班主任
音乐论文 体育论文 劳技论文
自然论文 德育管理 农村教育
素质教育 三个代表 旅游管理
国际贸易 哲学论文 工商管理
证券金融 社会学 审计论文
会计论文 建筑论文 电力论文
水利论文 园林景观 农林学
中医学 西医学 心理学
公安论文 法学法律 思想汇报
法律文书 总结报告 演讲稿
物业管理 经济学 论文指导
计算机 护理论文 社会调查
军事论文 化工论文 财政税收
保险论文 物流论文 语言教育
教育教学 给水排水 暖通论文
结构论文 综合类别  

 
也谈硬盘参数测试t2gg

《计算机世界月刊》1995年第八期上刊登了李宇先生的计算机 毕业论文一篇文章,介绍了测试pc机软硬盘参数的计算机 毕业论文方法。文中介绍的读取硬盘参数的方法是通过读取并分析硬盘主引导记录masterboot record来取得硬盘信息的。此方法适用范围比较广。事实上由于现在很多pc都使用ide型的硬盘,因此,我们也可以通过直接编程ide控制器的方法获得硬盘参数。下面简单介绍一下这个方法,并给出一个汇编程序供大家参考。
ide(integrated drive electronics)有时也被称为atapi型控制器。此种控制器速度快,集 成度高,在pc机中应用广泛。我们可以通过一些ide控制命令来完成硬盘的读/写/校验等各种操作。本文仅介绍其中的硬盘测试命令--0ech。表1列出了ide控制器的端口寄存器分配及功能,其中主状态寄存器(1f7h)的各位定义如表2。
表1 ide端口寄存器地址及功能表2
硬盘控制寄存器(3f6h)各位定义如表3。
表3
输出ide控制命令可采用下列步骤:
(1)向端口3f6h写入控制字节,建立相应的硬盘控制方式;
(2)检验控制器和驱动器的状态(通过检测端口1f7h的b7、b6两位),若控制器空闲且驱动器就绪,即可输出命令;
(3)完整地输出7b长的命令块,依次写入端口1f1h-1f7h,不论是否需要,端口1f1h-1f6h对应的前6b参数必须输出,端口1f7h输出命令码0ech;
(4)检测端口1f7h的b7、b3位,若控制器空闲且b3置1,表示操作结束,即可读取结果;
(5)通过端口1f0h独取100h字至缓冲区;
(6)再次读取端口1f7h,判断b0位是否为0,若b0=0,表示命令成功,否则表示命令失败,转至错误处理;
(7)通过表4所示的偏移量,读取我们所需的信息并转换成可显示的信息。
表4
源程序如下。
.model small
.286
.data
copydb ide hard drive identify program 1.0,0dh,0ah
db copyright (c) 1995 by lichunsheng,0dh,0ah
db all rights reserved.
db 0dh,0ah,0ah,model number......
iofm dw 14h dup(2020h)
db 0dh,0ah,firmware revision....
dw 4 dup(2020h)
db 0dh,0ah,serial number......
dw 0ah dup(2020h)
db 0ah
db 0dh,0ah,cylinders......
nofcdb 5 dup(20h)
db 0dh,0ah,heads......
db 5 dup(20h)
db 0dh,0ah,sectors per track...
db 5 dup(20h)
db 0dh,0ah,bytes per track....
db 5 dup(20h)
db 0dh,0ah,bytes per sector....
db 5 dup(20h)
db 0dh,0ah,buffer size(kb).....
db 5 dup(20h)
db 0dh,0ah,ecc bytes......
db 5 dup(20h)
db 0dh,0ah,drive capacity......
db 5 dup(20h)
db mb,24h
addrdb 2,6,12,8,10,42,44
addr1dw 36h,14h,2eh,04h,14h,0ah
cmddb 0,0,0,0,0,0,0ech
hdinfodw 100h dup(?)
t-o-msg db time out of range!!!,0dh,0ah,24h
errmsg db error!!!,0dh,0ah,24h
.code
dec160proc
push di
push dx
push cx
push ax
mov al,20h
std
cmp dx,9999
ja dloop
stosb
cmp dx,999
ja dloop
stosb
cmp dx,99
ja dloop
stosb
cmp dx,9
ja dloop
stosb
dloop:mov ax,dx
mov dx,0
mov cx,10
div cx
xchg ax,dx
add al,30h
stosb
cmp dx,0
jnz dloop
pop ax
pop cx
pop dx
pop di
cld
ret
dec160endp
mainproc
mov ax,@data
mov ds,ax
mov es,ax
mloop1:
mov cx,0
mov dx,1f7h
mloop2:in al,dx
and al,11000000b
cmp al,01000000b
jz d-rdy
loop mloop2
jmp time-out
d-rdy:mov al,0
mov dx,3f6h
out dx,al
mov si,offset cmd
mov al,byte ptr
and al,1
mov cl,4
shl al,cl
or al,0a0h
mov byte ptr,al
mov dx,1f1h
mov cx,7
mloop3:
lodsb
out dx,al
inc dx
loop mloop3
dec dx
xor cx,cx
mloop4:
in al,dx
and al,10001000b
cmp al,00001000b
jz readdata
loop mloop4
jmp time-out
readdata:
cli
cld
mov dx,1f0h
mov di,offset hdinfo
mov cx,100h
repz insw
sti
mov dx,1f7h
in al,dx
and al,71h
xor al,50h
jnz errend
mov si,offset addr
mov di,offset nofc
add di,4
mov bh,0
mov cx,7
mloop6:
mov bl,byte ptr
mov dx,word ptr
call dec160
inc si
add di,28
loop mloop6
mov ax,1
mov si,offset addr
mov cx,3
mloop7:
mov bl,byte ptr
mul word ptr
inc si
loop mloop7
mov bx,2048
div bx
mov dx,ax
call dec160
mov bx,offset hdinfo
mov si,offset addr1
mov di,offset iofm
mov cx,3
mloop8:
push cx
push bx
add bx,
mov cx,
add si,4
mloop9:mov ax,word ptr
xchg ah,a1
stosb
mov al,ah
stosb
add bx,2
loop mloop9
pop bx
pop cx
add di,23
loop mloop8
mov dx,offset copy
jmp endproc
time-out:
mov dx,offset t-o-msg
jmp endproc
errend:
mov dx,offset errmsg
endproc:
mov ah,09h
int 21h
mov ah,4ch
int 21h
mainendp
end main
 
<<<<<全文未完>>>>> 全文字数约515字
是否要阅读全文?点卡会员将扣除1点!点击阅读全文
 
 
 
版权所有 教育论文中心 Copyright(C) All Rights Reserved
联系方式: QQ:277865656
或写信给我