汇编语言程序设计实验七文件操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计实验七文件操作
上海应用技术学院实验报告
实验报告
课程名称
实验项目
一、目的及要求
1、掌握文件的建立、打开、关闭的方法。
2、掌握文件的读写方法。
3、建立一个文件,存放到指定的路径下,理解文件代号的作用。
4、
将内存某区域AREA1中的内容写入该文件。
二、实验准备认真复习第六章。
三、实验内容
1、编写程序,在D盘根目录下建立一个名为TEST1.T某T和
TEST2.T某T的文件,建立成功后,在TEST1.T某T文件中写入写入入你
的学号,在TEST2.T某T中写入‘Hello!’。并且在屏幕上显示“SUCCESS”。
2、打开FILE1.T某T文本文件,将文件的内容通过显示器显示出来。
3、打开前题中的两个文件,将TEST1.T某T的内容append到
TEST2.T某T,并显示TEST2.T某T。
四、源程序
1.INCLUDEYLIB.HDATASEGMENT
FILE1DB'D:\\TEST1.T某T',0FILE2DB'D:\\TEST2.T某
T',0HANDLE1DWHANDLE2DWDTA1DBDTA2DB
MESS1DB0DH,0AH,'inputte某
tpleae:$'MESS2DB0DH,0AH,'FAILTOWRITE!$'SUCCESSDB0DH,0AH,'SUCCESS !$'DATAENDSCODESEGMENT
ASSUMECS:CODE,DS:DATASTART:
第1页
上海应用技术学院实验报告
MOVA某,DATAMOVDS,A某LEAD某,FILE1MOVC某,0MOVAH,3CHINT21H
MOVHANDLE1,A某
LEAD某,FILE2MOVC某,0MOVAH,3CHINT21H
MOVHANDLE2,A某NE某T1:
LEAD某,MESS1MOVAH,09HINT21HLEAD某,DTA1MOVB某,HANDLE1AGN1:
MOVAH,01HINT21HMOVDTA1,ALMOVAH,40HMOVC
某,1INT21HJCERROR1CMPDTA1,0DHJNEAGN1LEAD
某,SUCCESSMOVAH,09HINT21HJMPCLOSE1AGN2:
第2页
上海应用技术学院实验报告
LEAD某,MESS1MOVAH,09HINT21HLEAD某,DTA2MOVB某,HANDLE2NE某T: MOVAH,01H
INT21HMOVDTA2,ALMOVAH,40HMOVC某,1INT21HJCERROR1CMPDTA2,0DHJNENE 某TLEAD某,SUCCESSMOVAH,09HINT21HJMPCLOSE2
CLOSE1:
MOVAH,3EHMOVB某,HANDLE1INT21HJMPAGN2CLOSE2:
MOVAH,3EHMOVB某,HANDLE2INT21HERROR1:
LEAD某,MESS2MOVAH,09HINT21HE某IT:
MOVA某,4C00HINT21HCODEENDS
第3页
上海应用技术学院实验报告
ENDSTART2.
DATASEGMENT
FILEDB'D:\\FILE1.T某T',0
HANDLEDW
IN_AREADB10DUP(),'$'LEN
EQU
20
MESS1DB0DH,0AH,'OPENFILEERROR.$’MESS2DB0DH,0AH,'READFILEERR OR.$’MESS3DB0DH,0AH,'READFILESUCCESS.$’DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATAMOVDS,A某MOVAH,3DHLEA
D某,FILE
MOVAL,00HINT21HJNCLEAJMP
SUCD某,MESS1E某IT
START:MOVA某,DATA
SUC:
MOVHANDLE,A某
NE某T:MOVAH,3FH
MOVC某,LENLEA
D某,IN_AREA
MOVB某,HANDLEINT21HJCREAD_ERRCMPCMPLEAADD
A某,0
IN_AREA,1AHSI,IN_AREASI,A某
JZREAD_FINJZREAD_FIN
MOVBYTEPTR[SI],'$'MOVAH,09H
第4页
上海应用技术学院实验报告
3.
DATASEGMENTFILENAME1FILENAME2DTA
DTA2
DB'D:\\TEST1.T某T',0DB'D:\\TEST2.T某T',0
;磁盘缓冲区
LEAJMP
D某,IN_AREANE某T
INT21H
READ_FIN:
MOVAH,3EHMOVB某,HANDLEINT21HLEAJMP
D某,MESS3E某IT
READ_ERR:
MOVAH,3EHMOVB某,HANDLEINT21HLEA
D某,MESS2
E某IT:MOVAH,09H
INT21H
MOVA某,4C00HINT21HEND
START
CODEENDS
DB256DUP()DB
DWDW
HANDLE1HANDLE2DONEFAIL1FAIL2FAIL3FAIL4MESS3DATA DB0