回 帖 发 新 帖 刷新版面

主题:文件分配表出错

利用QB45写的程序获得硬盘的ID,然后再执行文件读写操作,则提示文件分配表出错,终止程序,返回DOS操作也不行,一定要得新启动才可以。是不是在读完硬盘ID后要调整端口状态。我不太懂这个,所以可能说得不太清楚。

回复列表 (共7个回复)

沙发

没有人回复我,看来都在玩高级的东西了,我的意思是说是不是要释放硬盘的控制权,怎样释放,我找不到相关的资料很无奈。敢请走过路过的大侠指点一二,谢谢!

板凳

+----+------+------+---+---+---+----------------+---------------+
|Addr|-CS1FX|-CS3FX|SA2|SA1|SA0| Read (-IOR)    | Write (-IOW)  |
+----+------+------+---+---+---+----------------+---------------+-----------+
|    |  0   |  0   | X | X | X | ILLEGAL        | ILLEGAL       | <--+      |
|    |  1   |  1   | X | X | X | High Impedance | Not Used      | Control   |
|3FX |  1   |  0   | 0 | X | X | High Impedance | Not Used      | Block     |
|3FX |  1   |  0   | 1 | 0 | X | High Impedance | Not Used      | Registers |
|3F6 |  1   |  0   | 1 | 1 | 0 | Altern Status  | Device Control|    |      |
|3F7 |  1   |  0   | 1 | 1 | 1 | Drive Address  | Not Used      | <--+      |
+----+------+------+---+---+---+----------------+---------------+-----------+
|1F0 |  0   |  1   | 0 | 0 | 0 | Data Port      | Data Port     | <--+      |
|1F1 |  0   |  1   | 0 | 0 | 1 | Error Register | Precomp       |    |      |
|1F2 |  0   |  1   | 0 | 1 | 0 | Sector Count   | Sector Count  | Command   |
|1F3 |  0   |  1   | 0 | 1 | 1 | Sector Number  | Sector Number | Block     |
|1F4 |  0   |  1   | 1 | 0 | 0 | Cylinder Low   | Cylinder Low  | Registers |
|1F5 |  0   |  1   | 1 | 0 | 1 | Cylinder High  | Cylinder High |    |      |
|1F6 |  0   |  1   | 1 | 1 | 0 | Drive / Head   | Drive / Head  |    |      |
|1F7 |  0   |  1   | 1 | 1 | 1 | Status         | Command       | <--+      |
+----+------+------+---+---+---+----------------+---------------+-----------+
谁给解释一下,或者汉化一下

3 楼

焦急的在等待

4 楼

读完硬盘ID后,再打开文件时出现Device I/O error 错误代码为57,有的时候出现文件不能找到,返回DOS目标文件夹不见了,重启电脑就正常。

5 楼

看来是真的木有人知道了,顺便再说一句我的笔记本上运行是正常的,笔记本是PIII的老机器,台式机是C4的机器。

6 楼

我试过把1F2到1F7的数据用INP保存下来,读完ID后再用OUT恢复,结果还是一样。不行

7 楼


应该是没有人可以回答你
有没有想过是因为操作系统的关系

我来回复

您尚未登录,请登录后再回复。点此登录或注册