汇编语言程序设计实验七 文件操作
更新时间:2024-03-19 05:15:01 阅读量: 综合文库 文档下载
- 汇编语言程序设计实验总结推荐度:
- 相关推荐
上海应用技术学院 实验报告
实验报告
课程名称
汇编语言程序设计
实验项目
实验七 文件操作
一、目的及要求
1、掌握文件的建立、打开、关闭的方法。 2、 掌握文件的读写方法。
3、 建立一个文件,存放到指定的路径下,理解文件代号的作用。 4、 将内存某区域AREA1中的内容写入该文件。
二、 实验准备 认真复习第六章。
三、 实验内容
1、编写程序,在D盘根目录下建立一个名为TEST1.TXT和TEST2.TXT的文件,建立成功后,在TEST1.TXT文件中写入写入入你的学号,在TEST2.TXT中写入‘Hello!’。并且在屏幕上显示“SUCCESS”。
2、打开FILE1.TXT文本文件,将文件的内容通过显示器显示出来。
3、打开前题中的两个文件,将TEST1.TXT的内容append 到TEST2.TXT,并显示TEST2.TXT。
四、源程序
1. INCLUDE YLIB.H DATA SEGMENT
FILE1 DB 'D:\\TEST1.TXT',0 FILE2 DB 'D:\\TEST2.TXT',0 HANDLE1 DW ? HANDLE2 DW ? DTA1 DB ? DTA2 DB ?
MESS1 DB 0DH,0AH, 'input text please:$' MESS2 DB 0DH,0AH,'FAIL TO WRITE!$' SUCCESS DB 0DH,0AH,' SUCCESS! $' DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
第 1 页
上海应用技术学院 实验报告
MOV AX, DATA MOV DS, AX LEA DX, FILE1 MOV CX, 0 MOV AH, 3CH INT 21H
MOV HANDLE1, AX
LEA DX, FILE2 MOV CX, 0 MOV AH, 3CH INT 21H
MOV HANDLE2, AX NEXT1:
LEA DX , MESS1 MOV AH, 09H INT 21H LEA DX, DTA1 MOV BX, HANDLE1 AGN1:
MOV AH, 01H INT 21H MOV DTA1 , AL MOV AH, 40H MOV CX,1 INT 21H JC ERROR1 CMP DTA1, 0DH JNE AGN1 LEA DX, SUCCESS MOV AH, 09H INT 21H JMP CLOSE1 AGN2:
第 2 页
上海应用技术学院 实验报告
LEA DX, MESS1 MOV AH, 09H INT 21H LEA DX, DTA2 MOV BX, HANDLE2 NEXT:
MOV AH,01H
INT 21H MOV DTA2, AL MOV AH, 40H MOV CX, 1 INT 21H JC ERROR1 CMP DTA2, 0DH JNE NEXT LEA DX, SUCCESS MOV AH, 09H INT 21H JMP CLOSE2
CLOSE1:
MOV AH, 3EH MOV BX, HANDLE1 INT 21H JMP AGN2 CLOSE2:
MOV AH, 3EH MOV BX, HANDLE2 INT 21H ERROR1:
LEA DX, MESS2 MOV AH, 09H INT 21H EXIT:
MOV AX, 4C00H INT 21H CODE ENDS
第 3 页
上海应用技术学院 实验报告
END START 2.
DATA SEGMENT
FILE DB 'D:\\FILE1.TXT',0
HANDLE DW ?
IN_AREA DB 10 DUP(?),'$' LEN
EQU
20
MESS1 DB 0DH,0AH,'OPEN FILE ERROR.$’ MESS2 DB 0DH,0AH,' READ FILE ERROR.$’ MESS3 DB 0DH,0AH,' READ FILE SUCCESS.$’ DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA MOV DS,AX MOV AH,3DH LEA
DX,FILE
MOV AL,00H INT 21H JNC LEA JMP
SUC DX,MESS1 EXIT
START: MOV AX,DATA
SUC:
MOV HANDLE,AX
NEXT: MOV AH,3FH
MOV CX,LEN LEA
DX,IN_AREA
MOV BX,HANDLE INT 21H JC READ_ERR CMP CMP LEA ADD
AX,0
IN_AREA,1AH SI,IN_AREA SI,AX
JZ READ_FIN JZ READ_FIN
MOV BYTE PTR [SI],'$' MOV AH,09H
第 4 页
上海应用技术学院 实验报告
3.
DATA SEGMENT FILENAME1 FILENAME2 DTA
DTA2
DB 'D:\\TEST1.TXT', 0 DB 'D:\\TEST2.TXT', 0
; 磁盘缓冲区
LEA JMP
DX,IN_AREA NEXT
INT 21H
READ_FIN:
MOV AH,3EH MOV BX,HANDLE INT 21H LEA JMP
DX,MESS3 EXIT
READ_ERR:
MOV AH,3EH MOV BX,HANDLE INT 21H LEA
DX,MESS2
EXIT: MOV AH,09H
INT 21H
MOV AX,4C00H INT 21H END
START
CODE ENDS
DB 256 DUP (?) DB ?
DW ? DW ?
HANDLE1 HANDLE2 DONE FAIL1 FAIL2 FAIL3 FAIL4 MESS3 DATA
DB 0
DB 0DH, 0AH, 'Open File Error. $' DB 0DH, 0AH, 'Move File Pointer Error. $' DB 0DH, 0AH, 'Read File Error. $' DB 0DH, 0AH, 'Write File Error. $ ' DB 0DH, 0AH, 'read file success.$' ENDS
CODE SEGMENT
第 5 页
上海应用技术学院 实验报告
AGAIN:MOV AH, 3FH
第 6 页
ASSUME CS:CODE,DS:DATA MOV DS, AX MOV DONE, 0 LEA
START: MOV AX, DATA
DX, FILENAME2
MOV AL, 01H MOV AH, 3DH INT 21H JC ERR11
; 打开不成功,转ERR11
MOV HANDLE2, AX LEA
DX, FILENAME1
; 为“读”打开文件1
MOV AL, 0 MOV AH, 3DH INT 21H JC ERR12
MOV HANDLE1, AX MOV AH, 42H MOV AL, 02 MOV DX, 0 MOV CX, 0
MOV BX, HANDLE2 INT 21H JC ERR2
; 读文件1
LEA DX, DTA
MOV BX, HANDLE1 MOV CX, 256 INT 21H JC ERR3 CMP
AX, 0
JNE AGA1 MOV DONE,1 JMP
FINISH
; 文件结束,转FINISH
上海应用技术学院 实验报告
AGA1: CMP
CONT: PUSH AX
ERR11: LEA
INT 21H JMP
EXIT
DX, FAIL1
; 打开文件1失败,显示信息
DX, FAIL1
MOV AH, 09H
MOV AH, 40H LEA POP
DX, DTA CX
; 写文件失败,转ERR4
; 写文件2
JE CONT MOV DONE,1
; 文件结束,置完成标志
AX, 256
MOV BX, HANDLE2 INT 21H JC ERR4 CMP
MOV AH, 3EH
; 关闭文件1
MOV BX, HANDLE1 INT 21H
MOV BX, HANDLE2 INT 21H JMP
READF2
; 关闭文件2
JE AGAIN
DONE,0
FINISH:
FINISH1:MOV AH, 3EH
ERR12: LEA
INT 21H JMP JMP JMP
MOV AH, 09H
FINISH1
ERR2: LEA ERR3: LEA ERR4: LEA
DX, FAIL2 DX, FAIL3 DX, FAIL4
; 移动指针失败,显示信息 ; 读文件失败,显示信息 ; 写文件失败,显示信息
; 显示出错信息
DISP DISP
DISP: MOV AH, 09H
INT 21H
第 7 页
上海应用技术学院 实验报告
READF2:
MOV AH,3DH LEA
MOV AL,00H INT 21H
MOV HANDLE2,AX
DX,DTA2
MOV BX,HANDLE2 MOV CX,1 MOV AH,3FH INT 21H JC ERR3 CMP CMP
AX,0 DTA2,1AH
JE CLOSE JE CLOSE MOV DL,DTA2 MOV AH,02H INT 21H JMP
ONE
;打开文件2
DX,FILENAME2
;为读而打开
JMP
FINISH
; 转FINISH,关闭文件
ONE: LEA
CLOSE: MOV AH,3EH
MOV BX,HANDLE2 INT 21H INT 21H END 1.
START
EXIT: MOV AX,4C00H CODE ENDS 五、运行结果
第 8 页
上海应用技术学院 实验报告
.
第 9 页
上海应用技术学院 实验报告
2.
第 10 页
上海应用技术学院 实验报告
3.
第 11 页
上海应用技术学院 实验报告
六、上机调试时的问题和解决方法
在这次实验中,文件的建立和写入时程序运行没有错误,但是在输入学号名时键盘输出一个1它却出现两个1,令人很苦恼,换了台电脑才运行正确了。后面的实验特别是实验三,文件指针运用和文件拼接,出现了一些问题,运行会出错。问同学和朋友,仔细看了书,最终运行正确。
七、总结
这次实验让我更清楚的了解和操作文件,对于文件的建立,读写以及文件拼接有了很深刻的认识。在实验中出现了很多错误,这说明我所要学的东西还多,还有很多东西没有掌握,在后续复习中,我会努力复习自己不懂得地方和容易出错之处,不让错误第二次再犯。
第 12 页
正在阅读:
汇编语言程序设计实验七 文件操作03-19
通信原理实验报告05-27
反洗钱上半年工作总结03-12
小小班儿歌歌曲复习目录04-05
2018最新幼儿园小班数学说课稿范文-精选word文档(4页)07-12
罗密欧与朱丽叶高中教案优秀4篇03-25
宁河区责任督学督导工作案例09-03
《村上广播》读后感10篇12-12
我的情绪我做主06-20
加固改造工程施工组织设计样板03-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇编语言
- 程序设计
- 实验
- 操作
- 文件
- 倾听孩子共同成长
- 2010年4月行政法与行政诉讼法(一)试题及答案
- 机票预定系统实验报告
- 第一至六章首页 Microsoft Word 文档
- 数字信号处理报告
- 2016会计学试卷
- 2018最新工作违纪检讨书经典范文-实用word文档(3页)
- 关于高职高专任务型英语阅读教学的设计探讨
- 精选八年级语文上学期第三次月考12月试题
- 人教版小学二年级音乐上册教案全册
- 个人房地产销售工作报告-精选模板
- 《电工电子技术》补修试题答案33333
- 浙江大学医学院附属邵逸夫医院庆春院区名医门诊一览表
- 2016年河北省内审师《内部审计基础》:其他数据收集手段考试题
- 基金从业资格考试每日一练(十四)
- 全国计算机等级考试VB经典必考资料,知识点总结
- 软件体系结构构
- 研究生道德与学术规范测试
- 2010年英语专业八级考试全真试卷及其参考答案
- 网站建设复习资料