当前位置: 代码迷 >> 汇编语言 >> 怎么通过INT13中断打开一个文件
  详细解决方案

怎么通过INT13中断打开一个文件

热度:2692   发布时间:2013-02-26 00:00:00.0
如何通过INT13中断打开一个文件
RT,望高人赐教,说一说想法~~谢谢啊

------解决方案--------------------------------------------------------
那个很麻烦的,因为INT13H是低级的磁盘读写中断,所以你必须首先读磁盘分区表,得到文件系统类型(FAT32或NTFS),比如是FAT32,就要先读FAT32的文件系统参数(分区第一个扇区),然后在FDT(文件目录表)里查找文件名,找到后,根据索引去FAT(文件分配表)去找文件的第一个簇,然后再不断重复找下一个簇,直至文件结尾。根据簇的信息去读文件内容。NTFS更麻烦。而且注意INT13H有8.4GB容量限制,现在一般都用INT13H的扩展功能,需要传递LBA地址来读取磁盘扇区。
所以你还不如直接用DOS中断INT21H来做:功能号3DH是打开文件,3EH是关闭文件,3FH是读,40H是写,42H是检索位置。详细的调用方法网上有介绍。
  相关解决方案