汇编语言课程设计磁盘文件管理Word下载.docx
- 文档编号:17077477
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:112.75KB
汇编语言课程设计磁盘文件管理Word下载.docx
《汇编语言课程设计磁盘文件管理Word下载.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计磁盘文件管理Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
退出程序
2.2主体功能
创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。
如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。
根据提示输入字符,如果输错可以返回并且从新输入。
2.3开发环境
Masm
3系统概要设计
3.1系统的功能模块划分
1功能菜单的显示。
利用9H功能调用显示menu
movah,9
leadx,menu
int21h
2创建文件。
利用功能调用3CH建立文件。
DX=文件路径,CX=属性
3向磁盘文件中写入信息。
先利用功能调用3DH打开文件,再将从键盘输入的字符存入缓冲区,再从缓冲区写入文件,关闭文件。
4从磁盘文件中读出信息并显示。
先打开文件,在将文件内容存入缓冲区,再将缓冲区内容输出,关闭文件。
5退出程序。
3.2系统流程图
N
创建文件
写入信息
Y
读取信息
4系统详细设计
调用Dos21H功能实现文件操作
3CH:
创建文件DS:
DX=文件路径,CX=属性,返回文件号
3DH:
打开文件DS:
DX=文件路径,AL=模式
3EH:
关闭文件BX=文件号
3FH:
读取文件BX=文件号CX=字符数DS:
DX=缓冲区成功:
CF=0,失败:
CF=1,AX=错误码
40H:
写文件或设备BX=文件号DS:
DX=代写的数据地址CX=代写的字节数
在主程序中通过call指令调用子程序,在子程序中通过RET指令返回主函数。
缓冲区定义
buffer1db60,0,60dup(?
)
buffer2db60,0,60dup(?
提示信息定义
chosedb0dh,0ah,'
Pleaseenterthedigitalfrom1-4!
'
0dh,0ah,'
$'
enterydb0dh,0ah,'
Enterwhatyouwanttowritetothefile!
(Thelengthofthestringsisunder60)'
str_ok1db,0dh,0ah,'
Createfilesuccessfully!
str_ok2db,0dh,0ah,'
Writetofilesuccessfully!
str_ok3db,0dh,0ah,'
Readfromfilesuccessfully!
str_ok4db,0dh,0ah,'
Deletefilesuccessfully!
str_error1db,0dh,0ah,'
Createfileerror!
str_error2db,0dh,0ah,'
Openfileerror!
str_error3db,0dh,0ah,'
Writetofileerror!
str_error4db,0dh,0ah,'
Readfileerror!
str_error5db,0dh,0ah,'
Exitfromfileerror!
5测试
5.1测试方案
输入字符1—4
1是创建文件,2是向磁盘文件中写入信息,3是从磁盘中读取信息,4是退出程序
5.2测试结果
运行程序后屏幕会出现菜单
1输入1创建文件
如果创建成功屏幕会显示createfilesuccessfully!
在D:
\IBMPC.TXT会创建名为IBMPC的TXT文本文件
如果创建失败屏幕会显示createfileerror!
2输入2向磁盘中写入信息
输入字符2屏幕会显示
输入字符sjaklwildacz在创建的文件中会显示
如果成功屏幕会显示writetofilesuccessfully!
如果失败屏幕会显示writetofileerror!
3输入3从磁盘文件中读出信息
如果读出信息成功,屏幕会显示readfromfilesuccessfully!
如果读出信息失败,屏幕会显示readfileerror!
4输入4退出程序
5输入其他字符,屏幕会提示pleaseenterthedigitalfrom1—4!
6如果没有先创建文件,就执行写入信息,读取信息的操作就会提示openfileerror!
6小结
这学期学习汇编语言这门课时,对它有了基本的了解和认识,觉得这门课并不难,反而很容易理解弄懂。
但本次课程设计使我充分了解到汇编语言在实际中的应用并不是那么容易。
在这次课程设计中让我认识到仅把课堂上的知识充分运用还是不够的。
程序设计不能仅仅停留在课本上,想要把程序做好,必须不断通过各种途径掌握更多更好的知识,最重要的是,要将获得的知识运用的实际编程中,要学以致用。
只有认真的去思考机器是如何进行逻辑思考才能更好的掌握理解它。
相信通过这次的课程设计,更让我深刻意识到自己在学习中的弱点,同时也找到了克服这些弱点的方法。
在以后的时间中,我应该利用更多的时间去上机实验,多编写程序,相信不久后我的编程能力会有很大的提高。
对于我学的这个专业来说,编写程序是最基本的,也是最重要的技能,然而本次课程设计的程序都不是自己编写的感觉到很遗憾,这次带着侥幸完成觉得很惭愧。
但我相信,在以后的学习和实践中,我一定会汲取这次课程设计的经验和教训,会把程序编写的更好。
参考文献
[1]花小朋,刘其明.
汇编语言程序设计教程[M].中国矿业大学出版社
[2]王元珍,曹忠升.80X86汇编语言程序设计[M].华中科技大学出版社
[3]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].清华大学出版社
[4]王爽汇编语言[M].清华大学出版社
[5]朱定华.微机原理、汇编与接口技术(第二版).清华大学出版社
附录
附录1源程序清单
datasegment
menudb0dh,0ah,'
****************************************'
0dh,0ah
db'
*menu*'
db'
*--------------------------------------*'
*1.Createfile*'
*2.Writetofile*'
*3.Readfile*'
*4.Quit*'
*Choice(1--4)*'
pathnamedb'
D:
\IBMPC.TXT'
00;
创建文件路径
handledw?
;
handle用于存放选择的数
buffer1db60,0,60dup(?
);
数据缓冲区
huanhangdb'
'
;
定义换行变量
;
存放提示信息
以下都是提示信息
dataends
codesegment
assumecs:
code,ds:
data
mainprocfar
start:
movax,data
movds,ax
movax,0600h
callme
callchoice
ret
mainendp
meprocnear;
me子程序功能,显示菜单
movah,9;
9号功能调用
meendp
choiceprocnear;
choice子程序功能,从键盘中输入选择的数据
movah,1;
1号功能调用,输入并显示一个字符
cmpal,31h;
判断输入的数是否为1
jenext1;
若为1,则跳到next1
cmpal,32h;
判断输入的数是否为2
jenext2;
若为2,则跳到next2
cmpal,33h;
判断输入的数是否为3
jenext3;
若为3,则跳到next3
cmpal,34h;
判断输入的数是否为4
jenext4;
若为4,则跳到next4
jmpback;
否则,返回
next1:
callcreath;
调用创建子程序
next2:
callentry;
调用输入子程序
next3:
leadx,huanhang;
换行
callread;
调用读子程序
next4:
movax,4c00h;
next5:
movah,3eh
movbx,handle
movah,41h
leadx,pathname
jcerror1
back3:
movah,9
leadx,str_ok4
back:
leadx,chose
choiceendp
creathprocnear
movah,3ch;
调用3CH功能,创建文件
leadx,pathname;
设置创建文件的路径
movcx,0;
设置文件属性
jcerror1;
错误1
movhandle,ax;
从键盘输入的数据付给handle
jmpexit;
跳转到exit
error1:
leadx,str_error1;
创建文件失败,显示错误信息提示1
jmpexit1
exit:
movah,9;
显示成功创建文件的提示信息
leadx,str_ok1
exit1:
callchoice;
从新选择
creathendp
entryprocnear
leadx,entery;
显示输入的内容
leadx,buffer1
movah,0ah;
10号功能调用,显示缓冲区字符串
subch,ch
movcl,buffer1+1
adddx,2
callwrith
entryendp
writhprocnear;
向文件写入内容
movah,3dh;
3dh功能调用
moval,1;
1号功能调用
jcerror2;
写入信息失败,转到error2
movhandle,ax
movah,40h;
40H功能调用写入文件。
leadx,buffer1+2;
除去前面的空格
movcx,60
jcerror3
movah,3eh;
3EH的功能调关闭文件
jcerror4
jmpback1
error2:
leadx,str_error2;
显示错误提示信息2
jmpexit2
error3:
leadx,str_error3;
显示错误提示信息3
jmpexit2
error4:
leadx,str_error4;
back1:
leadx,str_ok2;
返回提示信息2
exit2:
writhendp
readprocnear
movah,3dh;
3DH的功能调用是打开文件
moval,0
jcerror5;
打开失败,转到error5
movah,3fh;
3FH是读取文件
leadx,buffer2
jcerror6;
跳到error6
movah,9;
jcerror6;
movah,3eh;
jcerror7
jmpback2
error5:
leadx,str_error2;
;
显示提示信息
jmpexit3
error6:
error7:
leadx,str_error5;
jmpexit3
back2:
leadx,str_ok3
exit3:
readendp
codeends
endstart
endmain
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 磁盘 文件 管理