文档详情

北理工汇编语言实验报告6.doc

发布:2025-04-04约6.98千字共10页下载文档
文本预览下载声明

汇编语言实验报告

第六章磁盘文件存取实验(设计性实验)

班级姓名:肖枫

学号:1120111431

实验日期:2013.9.14下午

第六章磁盘文件存取实验(设计性实验)

一、实验要求和目的

1.理解文件、目录的概念;

2.了解FCB(文件控制块)方式文件管理方法;

3.掌握文件代号式文件存取方式;

4.学习使用文件指针读取文件

二、软硬件环境

1.硬件环境:计算机系统windows;

2.软件环境:装有MASM、DEBUG、LINK、等应用程序。

三、实验涉及的主要知识单元

DOS功能调用中断(INT21H)提供了两类磁盘文件管理功能,一类是FCB(文

件控制块)方式,另一类是文件代号式存取方式。

对于文件的管理,实际上是对文件的读写管理,DOS设计了四种存取文件

方式:顺序存取方式、随机存取方式、随机分块存取方式和代号法存取方式。

文件的处理步骤

A)写之前必须先建立文件、读之前必须先打开文件。

B)写文件之后一定要关闭文件。通过关闭文件,使操作系统确认此

文件放在磁盘哪一部分,写后不关闭会导致写入文件不完整。

1、文件代号式存取方式:

当用户需要打开或建立一个文件时,必须提供文件标识符。文件标识符用

ASCIIZ字符串表示。ASCIIZ字符串是指文件标识符的ASCII字符串后面再加

1个“0”字符。文件标识符的字符串包括驱动器名、路径名和文件名。其格式

[d:][path]filename[.exe]

其中d为驱动器名,path为路径名,.exe为文件名后缀。

中断21H提供了许多有关目录和文件操作的功能,其中文件代号式存取方式

常用的功能如下:

2、操作目录的常用功能

39H——创建目录3BH——设置当前目录

3AH——删除目录47H——读取当前目录

有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅相关资料

之目录控制功能。

3、用文件句柄操作文件的常用功能

3CH——创建文件4EH——查找到第一个文件

3DH——打开文件4FH——查找下一个文件

3EH——关闭文件56H——文件换名

3FH——读文件或设备57H——读取/设置文件的日期和时间

40H——写文件或设备5AH——创建临时文件

41H——删除文件5BH——创建新文件

42H——设置文件指针67H——设置文件句柄数(最多文件数)

43H——读取/设置文件属性6CH——扩展的打开文件功能

有关中断功能的详细描述和调用参数在此从略,需要查阅者可参阅相关资料

之文件操作功能。下面简单介绍几种常用的功能:

(1).建立文件(3CH)

功能:按指定文件名建立文件。

入口参数:(AH)=3CH,DS:DX指向ASCIIZ字符串的段地址和偏移地址,

(CX)=文件属性。

出口参数:若操作成功,则CF=0,(AX)=文件代号;

若操作失败,则CF=1,(AX)=错误代码。

.打开文件(3DH)

功能:打开由ASCIIZ串指定的文件。

入口参数:(AH)=3DH,DS:DX指向ASCIIZ字符串的段地址和偏移地址,

(AL)=存取方式代码(0:读文件,1:写文件,2:读、写文件)。

出口参数:若操作成功,则CF=0,(AX)=文件代号;

若操作失败,则CF=1,(AX)=错误代码。

(3).关闭文件(3EH)

功能:关闭文件代号指定的文件。

入口参数:(AH)=3EH,(BX)=文件代号。

出口参数:若操作成功,则CF=0;

若操作失败,则CF=1,(AX)=错误代码。

(4).读文件(3FH)

功能:按文件代号读取文件。

入口参数:(AH)=3FH,(BX)=文件代号,(CX)=要读取的字节数;

DS:DX指向接收数据缓冲区的段地址和偏移地址。

出口参数:若操作成功,则CF=0,(AX)=实际读入字节数,(AX)=0,

文件结束;

若操作失败,则CF=1,(AX)=错误代码。

(5).写文件(40H)

功能:按文件代号写文件。

入口参数:(AH)=40H,(BX)=文件代号,(CX)=要写入的字节数;

DS:DX指向存放写入信息数据缓冲区的段地址和偏移地址。

出口参数:若操作成功,则CF=0,(AX)=写入字节数;

若操作失败,则CF=1,(AX)=错误代码。

(6).移动文件指针(42H)

功能:移动由文件代号标志的文件读写指针的位置

入口参数:在bx预置文件代号,在cx:dx双字中预置移动位移量,在al中

预置移动方式移动方式:

00h移动后文件指针值=0+移动位移量

01h移动后文件指针值=当前文件指针值+移动位移量

02h移动后文件指针值=文件尾值+移动位移量

出口参数:CF=0表示移动成功,此时CX:D

显示全部
相似文档