急求 汇编语言 文件拷贝

急求 汇编语言 文件拷贝,第1张

题目名称:复制文件

题目来源:http://zhidao.baidu.com/question/131059632.html

*** 作说明:在输入源文件名或目标文件名时,若直接回车,则结束程序,未有提示

本程序在MASMPlus 1.2集成环境下通过编译,经过调试,谨悔运行正确。蚂羡

Code Segment

Assume CS:Code,DS:Code

------------------------闷晌拍-------------

功能:显示指定地址(Str_Addr)的字符串

入口:

Str_Addr=字符串地址(要求在数据段)

用法: Output Str_Addr

用法举例:Output PromptStr

Output MACRO Str_Addr

lea dx,Str_Addr

mov ah,9

int 21h

EndM

-------------------------------------

Handle_File dw ?,? 文件代号

Prompt_Str1 db 13,10,'Please input the path and name of source file: $'

Prompt_Str2 db 13,10,'Please input the path and name of target file: $'

Prompt_Str3 db 13,10,13,10,'The source file does not exist.$'

Prompt_Str4 db 13,10,13,10,'Invalid path.$'

Press_Key db 7,13,10,13,10,'The file has been copied.'

db7,13,10,13,10,'Press any key to exit...$'

Start:push cs

pop ds

push cs

pop es 使数据段、附加段与代码段同段

Input_Src: Output Prompt_Str1 提示输入源文件路径和文件名

lea dx,File_Name 字符串缓冲区

mov ah,0ah

int 21h

lea si,File_Name[1]

lodsb 读入实际输入的字符个数

test al,al

jz Exit_Proc 若输入文件名时,直接回车,则结束程序

xor ah,ah

mov bx,ax

mov BYTE ptr [bx][si],0

mov dx,si

Open_File: mov ax,3d40h 打开源文件

int 21h

jc $+8

mov Handle_File,ax 保存源文件代号

jmp Input_Tar

cmp ax,5

jz Open_File 若访问被拒绝,尝试再次打开文件

cmp ax,2

jnz $+12

Output Prompt_Str3 提示:文件不存在

jmp Input_Src

cmp ax,3

jnz $+12

Output Prompt_Str4 提示:无效的路径

jmp Input_Src

Input_Tar: Output Prompt_Str2 提示输入目标文件路径和文件名

lea dx,File_Name 字符串缓冲区

mov ah,0ah

int 21h

lea si,File_Name[1]

lodsb 读入实际输入的字符个数

test al,al

jz Exit_Proc 若输入文件名时,直接回车,则结束程序

xor ah,ah

mov bx,ax

mov BYTE ptr [bx][si],0

mov dx,si

Create_File: xor cx,cx

mov ah,3ch 建立目标文件

int 21h

jnc @@Next1

cmp ax,3

jnz Create_File

Output Prompt_Str4 提示:无效的路径

jmp Input_Tar

@@Next1: mov Handle_File[2],ax 保存目标文件代号

lea dx,File_Name 文件内容缓冲区

mov cx,0ffc0h 预留32个字的堆栈空间

sub cx,dx 设置读写一次文件内容的字节数

mov bp,cx 暂存

Read_File: mov cx,bp

mov bx,Handle_File 读取源文件代号

mov ah,3fh 读文件内容

int 21h

jc Read_File 读文件失败,尝试再读

test ax,ax

jz Close_File 若实际读取的字节数为0,结束读写 *** 作,关闭源文件和目标文件

mov bx,Handle_File[2] 读取目标文件代号

mov cx,ax

Write_File: mov ah,40h 写文件

int 21h

jc Write_File 写文件失败,尝试再写

jmp Read_File

Close_File: mov bx,Handle_File 读取源文件代号

mov ah,3eh 关闭文件

int 21h

mov bx,Handle_File[2] 读取目标文件代号

mov ah,3eh 关闭文件

int 21h

-------------------------------------

Exit_Proc: Output Press_Key 提示 *** 作完成,按任意键结束程序

mov ah,1

int 21h

mov ah,4ch 结束程序

int 21h

File_Name db 81 字符串缓冲区

Code Ends

END Start 编译到此结束

汇编语言中没有什么文件复制的指令。汇编语言针对的是档手孝机器行稿,他经过编译后只会告诉机器执行什么 *** 作。要想薯纤真正实现什么文件复制,那不是一个指令就可以搞定的,毕竟不是像我们桌面上简单复制粘贴就可以,后面要编很多程序才行。

1、首先打开Word文档,将卜胡鼠标在文档上点击一下,进入下一页,从第二页开始逐篇将需要汇编的文件按先后顺序复制到文档内。

2、其次选中需要汇编的文件,点击开始,将字体统一设置为宋体字,字体大小统一设置为小四。

3、然后选中每篇文件标题,点击鼠标右键选中段落,找到大纲级别选择2级,点击确定,将光标移到首页,回车两行,点击引用,点击插入目录,再点击确定,生成文件汇编目录。

4、最后将光标如渗移至首页第一行,打上目录,点击插入,点击页码,选中目录,根据需要对文本进行字体、段落设置,文件型橡拦汇编文成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12226883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存