标题:我想实现两个txt文本内容的连接
只看楼主
在云旁边
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-2
 问题点数:0 回复次数:0 
我想实现两个txt文本内容的连接

我写的这段代码是死循环,但我找不到错误,请各位帮忙
将text2的内容加到text1的结尾

BUFFERLEN = 8

DATA SEGMENT
FILENAME1 DB 'TEXT1.TXT',0
FILENAME2 DB 'TEXT2.TXT',0
BUFFER DB BUFFERLEN DUP (0)
ERROR1 DB 'CANNOT OPEN FILE',07H,'$'
ERROR2 DB 'CANNOT READ FILE',07H,'$'
ERROR3 DB 'CANNOT WRITE TO FILE',07H,'$'
HANDLE1 DW 0
HANDLE2 DW 0
DATA ENDS

CODE SEGMENT
ASSUME DS:DATA,CS:CODE
STARTTT:MOV AX,DATA
MOV DS,AX

MOV DX,OFFSET FILENAME1 ;以只写打开text1
MOV AL,01H
MOV AH,3DH
INT 21H
JC OPEN_ERROR ;打开文件失败
MOV HANDLE1,AX

MOV DX,OFFSET FILENAME2 ;以只读打开text2
MOV AL,00H
MOV AH,3D
INT 21H
JNC OPENED2 ;打开文件2成功
MOV BX,HANDLE1 ;如果打开text2失败则先关闭text1
MOV AL,0
MOV AH,3EH
INT 21H
JMP OPEN_ERROR

OPENED2:MOV HANDLE2,AX
MOV BX,HANDLE1 ;将text1的文件指针移动到文件尾
XOR CX,CX
XOR DX,DX
MOV AX,4202H
INT 21H

CONT:MOV BX,HANDLE2 ;读取text2的内容
MOV CX,BUFFERLEN
MOV DX,OFFSET BUFFER
MOV AH,3FH
INT 21H
JC READ_ERROR
OR AX,AX ;判断是否读完了
JZ CLOSEFILE

MOV BX,HANDLE1 ;写入text1中
MOV CX,AX
MOV AH,40H
INT 21H
JNC CONT ;如果写成功则继续

MOV DX,OFFSET ERROR3 ;如果写失败则显示错误信息,并跳转到关闭文件
MOV AH,9
INT 21H
JMP CLOSEFILE

OPEN_ERROR:MOV DX,OFFSET ERROR1
MOV AH,9
INT 21H
JMP OVER

READ_ERROR:MOV DX,OFFSET ERROR2
MOV AH,9
INT 21H
JMP OVER

CLOSEFILE:MOV BX,HANDLE1
MOV AH,3EH
INT 21H
MOV BX,HANDLE2
MOV AH,3EH
INT 21H

OVER:MOV AH,4CH
INT 21H

CODE ENDS
END STARTTT

这个是清华那本教材的例题,我只改动了一点就不行了

搜索更多相关主题的帖子: txt 文本 DATA CANNOT SEGMENT 
2006-05-02 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-61588-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.940002 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved