文档详情

汇编--BIOS与DOS中断.doc

发布:2017-08-02约7.66万字共23页下载文档
文本预览下载声明
一、实验目的和内容 (1)掌握BIOS和DOS中断的基本原理; (2)了解DOS的文件管理功能; (3)编程实现基本的文件管理功能; (4)观察并记录运行结果。 二、实验原理及基本技术路线图(方框原理图) DOS的文件管理功能可以实现建立、打开、读写、关闭文件等操作。DOS2.0以上版本在DOS1.0版FCB(文件控制块)功能的基础上增加了句柄式(HANDLE)文件管理功能。句柄式文件管理功能支持树型结构,即允许指定文件路径。当系统允许打开的文件数量足够多,则一个程序装入内存后,系统把属于它的20个文件句柄中的5个分配给DOS标准字符设备,这也就意味着可以使用句柄访问这些设备,就像访问其它磁盘文件一样。 一个过程每调用一次打开或创建文件功能,就将该过程自己的20个句柄中的一个分配出去,直到所有句柄用完或是系统打开文件表满为止。采用句柄式文件管理功能打开或建立一个文件后,若操作成功,DOS回送一个句柄在AX中,其后对该文件的读写、关闭等操作,均通过分配该句柄实现,而不再使用文件说明,因此应保存好返回的句柄,一般把它存放在一个字型内存变量中。句柄式文件管理功能的共同特点:若调用成功,则使CF=0,否则使CF=1,AX=错误码。 利用文件句柄存取文件的流程图: 移动文件指针到所需位置(若顺序存取则由操作系统自动调整)置CX为要读或写的字节数 移动文件指针到所需位置 (若顺序存取则由操作系统自动调整) 置CX为要读或写的字节数 进行读或写操作 打开或创建文件 读或写结束? 关闭文件 (1)操作系统平台:Windows 7 (2)汇编环境:Microsoft MASM 5.0 (3)文本编辑器:记事本 四、实验方法、步骤 (1)在D:\assembly下新建文件管理功能宏指令库filefuc.mac,输入宏指令代码; (2)在D:\assembly下新建filec.asm;输入建立文件的汇编程序源代码,实现功能为:在D:\assembly下创建一个数据文件FDATA.DAT,为以后的读写使用。若创建成功,则显示“CREATE FILE OK!”,然后关闭该文件,返回DOS。在创建及关闭FDATA.DAT文件时若遇到错误,则显示相关的错误提示信息; (3)在D:\assembly下新建filew.asm;输入写文件的汇编程序源代码,实现功能为:首先打开D:\assembly\FDATA.DAT文件(由程序filec.asm创建);接着在该文件中写入信息“WRITE DEMO!”;然后关闭它;最后返回DOS。若写入成功,则显示“WRITE FILE OK!”。在对FDATA.DAT文件操作时若遇到错误,则显示相关的错误提示信息; (4)在D:\assembly下新建filer.asm;输入读文件的汇编程序源代码,实现功能为:首先打开D:\assembly\FDATA.DAT文件(由程序filec.asm创建);接着在该文件中读出信息(该信息应是由程序filew.asm写入的WRITE DEMO!);然后关闭FDATA.DAT文件;最后返回DOS。若读取成功,则显示“READ FILE OK!”。在对FDATA.DAT文件操作时若遇到错误,则显示相关的错误提示信息。为了验证其读取的正确性,在读文件的前后均调用了PUTS宏指令显示BUFFER中的信息,若程序运行正确,两次显示的信息应不相同; (5)汇编以上三个程序(filec.asm、filew.asm、filer.asm)源代码,检查错误,错误可能是由宏指令库里的代码错误导致,应注意汇编程序的提示信息,并改正之,重新汇编; (6)调试运行以上三个程序,并记录实验结果; (7)完成实验报告。 五、实验过程原始记录(数据、图表、计算等) 1. 新建文件管理功能宏指令库filefuc.mac: filefuc.mac文件源码: ;----------------------------------- ;功能:保存寄存器DX、CX、BX、AX ;----------------------------------- PUSHREG MACRO PUSH DX PUSH CX PUSH BX PUSH AX ENDM ;----------------------------------- ;功能:恢复寄存器AX、BX、CX、DX ;----------------------------------- POPREG MACRO POP AX POP BX POP CX POP DX ENDM ;----------------------------------- ;功能:清屏 ;----------------------------------- CLRSC
显示全部
相似文档