汇编语言文件的读写源代码

举报
资源描述
欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!main proc far start:mov ax,DATA mov ds,ax;-;1.首先新建一个新文件的操作(初始时文件不存在)mov ah,3ch ;记住DOS的3c号功能是建立文件 mov cx,00 ;cx是文件属性,0号表示为默认属性 lea dx,path_name ;需要新建文件的绝对路径的偏移量传送到dx寄存器中 int 21h ;中断后,系统开始建立文件,若成功返回一个代号到ax中供以后使用若出错置位CF标志位 jc next ;jc是判断CF标志位的若cf=1表示新建文件出错跳转到next执行处理程序 lea bx,codename ;获取存储代号的地址偏移量 mov bx,ax ;寄存器的间接寻址,将AX中的代号数据保存起到codename中;-;2.对新建的文件的写操作(写入字符串数据)lea si,codename ;回去代号所在的地址偏移量 mov ah,40h ;记住是DOS的40号功能 lea dx,string ;将需要传递的数据的地址偏移量传送给dx寄存器 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!mov bx,si ;bx接收的是文件代号数据(si表示寄存器间接寻址方式)mov cx,13h ;cx存储你打算写入的字符串的字节数 int 21h ;开启软中断 jc next ;jc是判断CF标志位的若cf=1表示对文件的写出错跳转到next执行处理程序 ;-;3.完成了所有操作后,关闭文件的操作 lea si,codename ;回去代号所在的地址偏移量 mov ah,3fh ;3f号功能 mov bx,si int 21h jc next ;jc是判断CF标志位的若cf=1表示关闭文件出错跳转到next执行处理程序 ;-;4.再次打开我们新建的文件,这一步获取文件的代号同时指定打开文件干什么 mov ah,3dh ;3d号功能的调用 mov al,00h ;00指定了打开这个文件只为了读 lea dx,path_name ;ASCIZ串地址首地址 int 21h ;开启软中断 jc next ;jc是判断CF标志位的若cf=1表示打开文件过程出错跳转到next执行处理程序 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!lea bx,codename ;获取存储代号的地址偏移量 mov bx,ax ;寄存器的间接寻址,将AX中的代号数据保存起到codename中;-;5.打开了文件开始读文件到缓冲区 lea si,codename mov ah,3fh lea dx,buffer ;读出的数据存储在buffer中 mov bx,si ;同样bx存储的是文件的代号 mov cx,13h ;你打算要读取的字节数根据需要任意设定 int 21h jc next ;jc是判断CF标志位的若cf=1表示读取文件出错跳转到next执行处理程序 ;-;6.完成了所有操作后,关闭文件的操作 lea si,codename mov ah,3fh ;3f号功能可以关闭文件,打开文件后需要关闭文件 mov bx,si ;文件代号 int 21h jc next ;jc是判断CF标志位的若cf=1表示关闭文件出错跳转到next执行处理程序 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!;-;7.把读出的放在缓冲池的数据在屏幕上显示 mov dx,offset buffer ;获取偏移量 mov ah,09h int 21h ;-final:mov ah,4ch ;返回DOS系统 int 21h;-;错误处理程序 next:lea dx,error ;若没有建立文件则输出错误信息 mov ah,09 int 21h jmp final ;-main ENDP end start ;程序结束
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号