楼 主
如何使用bios的io直接对硬盘的读写??
发表于 2006-03-13 21:27 · 中国 内蒙古 呼和浩特 教育网
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
第 2 楼
发表于 2006-03-13 23:01 · 中国 广东 中山 电信
高级用户
★★★
积分 972
发帖 420
注册 2004-05-16 00:00
22年会员
UID 24467
性别 男
状态 离线
ATA Command
BIOS INT13
DOS INTXX
沒聽過BIOS的IO
平生进退如飙风
第 3 楼
发表于 2006-03-14 12:19 · 中国 湖北 宜昌 电信
高级用户
★★
积分 677
发帖 194
注册 2003-09-13 00:00
22年会员
UID 9778
性别 男
状态 离线
用qbasic读写IO端口很简单
OUT是写端口
INP是读端口
不知道楼主会不会用qbasic
第 4 楼
发表于 2006-03-22 11:56 · 中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
弟兄们,int13和dos下的中断,都很简单,我就是为了实现越过联想的保护系统,怎么能写道扇区中。我想我直接对CPU发指令,是不是就可以呀。该怎么弄呢?
ATA Command,怎么弄呀??
第 5 楼
发表于 2006-03-22 13:31 · 中国 湖北 宜昌 电信
高级用户
★★
积分 677
发帖 194
注册 2003-09-13 00:00
22年会员
UID 9778
性别 男
状态 离线
很简单,如果你懂一门编程语言就很简单,不知道你会不会qbasic!
会的话可以看看我写的获得硬盘序列号的帖子,那个程序就直接是用IO端口.
因为BIOS不提供硬盘序列号的服务,所以,必须自己对硬盘的端口比如(&H170......)发出指令,然后读取序列号,注意这个序列号可不是硬盘每个分区的号,有的网友说C盘D盘等等都有序列号,实际上那是卷标号!
通过IO指令来读写硬盘的好处是:可以越过BIOS提供的服务,所以能破还原类软件,在486的老电脑上都能读写不大于137GB的硬盘!
当然,更重要的用途还不在于此,有很多硬盘专用的命令都必须通过IO指令来实现,比如写负道,把坏扇区加入G表等等
所有强大的硬盘修复软件都是用IO指令,比如我们熟知的PC3000,MHDD等等.
建议你学会一门编程语言,C语言是最好的选择!尽管我不会C语言,只会qbasic!
第 6 楼
发表于 2006-03-22 14:48 · 中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
实话说,C语言还凑合。或者说直接使用汇编也能勉强。
我先找找你的帖子,看看。谢谢qb45。
顺便问一下,programfan中的qb斑竹是不是就是你呀。名字一样呀。
第 7 楼
发表于 2006-03-22 15:35 · 中国 北京 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
qb45:没有找到你的帖子呀,我以前也看到了你的关于还原卡的帖子,可是使用之后,没有还原卡是没问题的,可是安装上还原卡就不行了。怎么办呀?
第 8 楼
发表于 2006-03-23 11:58 · 中国 浙江 宁波 鄞州区 电信
中级用户
★★
积分 300
发帖 137
注册 2005-11-04 02:00
20年会员
UID 44559
性别 男
状态 离线
第 9 楼
发表于 2006-03-27 15:59 · 中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
如果仅是写硬盘隐藏扇区,HDSECT就足够了(超级急救盘 里有)
DOS之家 http://doshome.com 站长 葛明阳
论坛跳转: