汇编语言文件操作管理,文件代号式磁盘存取中遇到的问题

来源:互联网 发布:2016美容行业数据 编辑:程序博客网 时间:2024/05/17 11:34

最近在做汇编语言的文件管理实验时,发现几个有趣的问题。

就是在 mov ah,40h int 21h时,不论bx 的值是0还是1,都能讲内容输出到屏幕,仔细查看课本后,发现文件代号0是标准输入设备,1是标准输出设备。没想到二者都能起到这个作用。

因为一开始我把

filenum dw ?

而且使用

buf db '1','2','3'     

mov bx,filenum       

mov ah,40h  

mov cx,10   

lea dx,buf  

int 21h

结果就直接输出了,愣了好一会儿,不过后来还是弄清楚是怎么回事了。

类似的还有3fh,3eh等,都是要在使用前考虑cx,bx的初值的,否则本以为它会关闭失败、读取失败的,结果却没有输出提示语句(这些自己额外添加),还以为是自己理解错了呢。

其实,只要换个没有的文件代号就行了,比如:12,这时肯定会提示失败(前提:未创建该文件),要不然就会以你的默认值为准,比如:0,关闭成功。

另外路径长度也要考虑,还有路径内出现的文件夹也要先建立。路径名还要必须是ASCIZ串,即以0为结尾。

最后要说的是在创建、打开、读取、写入、关闭文件等操作的执行过程中注意记录有用的返回值,以备以后所需。

0 0
原创粉丝点击