汇编语言:如何将输出写入到磁盘文件???

来源:百度知道 编辑:UC知道 时间:2024/05/28 05:15:45
比如: 将数组 array DWORD 1000,2000,3000,4000
输出到磁盘文件
就是如何将汇编语言程序的输出重定向到文件!

一般都是用系统中断
文件操作中断
新建文件 ah=3c ds:dx=asciiz串地址 cx=属性字 返回成功: ax=句柄
打开文件 ah=3d ds:dx=asciiz串地址 返回成功: ax=句柄
al=(访问码)(0,读 1,写 2,读写)
读文件 ah=3f ds:dx=数据缓冲区地址 返回成功: ax=句柄
bx=句柄 cx=读取字节数
写文件 ah=40 ds:dx=数据缓冲区地址 返回成功: ax=句柄
bx=句柄 cx=写入字节数
关闭文件 ah=3e bx=句柄
移动文件指针 ah=42 al=移动方式(0,1,2)
bx=句柄 cx:dx=指针移动字节数
返回成功: ax=实际移动字节数
调用都是int 21 (以上都是16进制数)

在windows下我们可以通过调用API函数--invoke CreatFile,XXXXX具体参数忘了,会得到了个文件句柄,,再通过文件句柄操作文件,也有专门的API

在dos中我们通过中断--int n ;n是中断号,具体是几我也不知道

所以的操作,其实就是用端口in和out操作,只不过是操作系统代做了.不过我具体我也不会,因为我不知道硬盘的端口号和操作的规则

如果能根据磁盘的数据结构按读写扇区的方式来操作就比较强了。以上说的只是对中断接口功能的调用。

中断啊