文件复制
DATA SEGMENT
FILE DB 'A\TEST.TXT',0
BUF DB 100 DUP(?)
FH DW ?
COPYFILE DB 'A\COPYTEXT.TXT',0
COPYFH DW ?
ERROR_MSG DB 0DH,0AH,'ERROR!','$'
SUCCESS_MSG DB 0DH,0AH,'DONE!','$'
DATA ENDS
STACK SEGMENT STACK
DW 20H DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
LEA DX,FILE
MOV AL,0
MOV AH,3DH
INT 21H
JC ERROR
MOV FH,AX
LEA DX,BUF
MOV CX,100
MOV BX,FH
MOV AH,3FH
INT 21H
JC ERROR
MOV CX,AX
PUSH CX
LEA SI,BUF
L1: MOV DL,[SI]
INC SI
MOV AH,02H
INT 21H
LOOP L1
LEA DX,COPYFILE
MOV CX,0
MOV AH,3CH
INT 21H
JC ERROR
MOV COPYFH,AX
LEA DX,BUF
MOV BX,COPYFH
POP CX
MOV AH,40H
INT 21H
JC ERROR
JMP EXIT
ERROR:
LEA DX,ERROR_MSG
MOV AH,09H
INT 21H
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END MAIN