汇编语言程序设计实验七 文件操作
更新时间:2024-01-02 09:20: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 页
正在阅读:
汇编语言程序设计实验七 文件操作01-02
【最新2022】说话的检讨书800字-精选word文档 (3页)04-18
2020上半年云南省楚雄彝族自治州禄丰县城投集团招聘试题及解析04-26
我爱那一抹白色作文06-28
新概念英语第一册73-96课语法点总结10-02
苯--甲苯溶液连续筛板精馏塔设计306-05
2017北国会MPAcc考研心态调整05-23
中国人民解放军各集团军编制战斗序列大全05-02
初级会计实务考前押题1(巅峰)10-04
初三各科复习方法计划05-31
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 汇编语言
- 程序设计
- 实验
- 操作
- 文件
- 金版教程金考卷2016高三物理新一轮总复习阶段示范性测试:专题9 - 电磁感应
- 并行工程
- 浙江大学医学院附属邵逸夫医院庆春院区名医门诊一览表
- 富硒小麦生产项目可研报告6
- 家庭协同护理模式对初产妇分娩结局的影响
- 个人房地产销售工作报告-精选模板
- 国际航运管理第一章练习题
- 医院行政管理制度
- 基金从业资格考试每日一练(十四)
- 阿拉善额济纳旗旅游开发投资意向报告
- 《电工电子技术》补修试题答案33333
- 语文阅读教学中应处理好几个问题论文
- 过河顶管施工方案
- 联锁报警系统管理规定
- 2015年华南理工大学网络继续教育学院-最新《经济数学》作业题答案
- 西方经济学课程考试题库(含答案)
- 新婚庆典方案
- 2016考研英语一大作文
- 12系统抽样
- 管理信息系统模拟试卷(二)