汇编语言课程设计磁盘文件管理.docx

上传人:b****1 文档编号:15077272 上传时间:2023-06-30 格式:DOCX 页数:20 大小:172.85KB
下载 相关 举报
汇编语言课程设计磁盘文件管理.docx_第1页
第1页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第2页
第2页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第3页
第3页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第4页
第4页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第5页
第5页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第6页
第6页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第7页
第7页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第8页
第8页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第9页
第9页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第10页
第10页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第11页
第11页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第12页
第12页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第13页
第13页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第14页
第14页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第15页
第15页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第16页
第16页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第17页
第17页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第18页
第18页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第19页
第19页 / 共20页
汇编语言课程设计磁盘文件管理.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编语言课程设计磁盘文件管理.docx

《汇编语言课程设计磁盘文件管理.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计磁盘文件管理.docx(20页珍藏版)》请在冰点文库上搜索。

汇编语言课程设计磁盘文件管理.docx

汇编语言课程设计磁盘文件管理

 

电子信息工程系

课程设计报告书

 

课程名称:

微机原理及应用课程设计

 

 

 

磁盘文件管理系统

目录

1概述1

1.1课程设计目的1

1.2课程设计内容1

2系统需求分析1

2.1系统目标1

2.2主体功能1

2.3开发环境1

3系统概要设计1

3.1系统的功能模块划分1

3.2系统流程图1

4系统详细设计2

5测试4

5.1测试方案4

5.2测试结果5

6小结6

参考文献7

附录7

附录1源程序清单8

磁盘文件管理系统

1概述

1.1课程设计目的

在学完教学大纲规定的全部内容,完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言课程设计方法,提高分析问题,解决问题的综合应用能力。

学会查阅和汇编语言相关的规范,手册等技术资料。

能正确绘制和使用流程图。

掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。

此课程设计中,通过对磁盘管理分段程序的设计,来实现键盘的输入,输出文件的读写的功能。

熟悉常用的系统功能调用和常用的算法实现。

如01H功能调用实现键盘输入并回显,09H的功能调用显示字符串,3CH的功能调用是建立文件,3DH的功能调用是打开文件,3EH的功能调用是关闭文件3FH是读取文件,40H功能调用是写入文件。

掌握基本子程序的调用和返回指令。

1.2课程设计内容

磁盘文件管理系统

2系统需求分析

2.1系统目标

功能菜单的编制;在磁盘中创建文件;向磁盘文件中写入信息;从磁盘文件中读出信息并显示;退出程序

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

Y

N

Y

N

N

N

Y

创建文件

N

Y

 

写入信息

N

Y

读取信息

 

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)',0dh,0ah,'$'

str_ok1db,0dh,0ah,'Createfilesuccessfully!

',0dh,0ah,'$'

str_ok2db,0dh,0ah,'Writetofilesuccessfully!

',0dh,0ah,'$'

str_ok3db,0dh,0ah,'Readfromfilesuccessfully!

',0dh,0ah,'$'

str_ok4db,0dh,0ah,'Deletefilesuccessfully!

',0dh,0ah,'$'

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*',0dh,0ah

db'*--------------------------------------*',0dh,0ah

db'*1.Createfile*',0dh,0ah

db'*2.Writetofile*',0dh,0ah

db'*3.Readfile*',0dh,0ah

db'*4.Quit*',0dh,0ah

db'*--------------------------------------*',0dh,0ah

db'*Choice(1--4)*',0dh,0ah

db'****************************************',0dh,0ah,'$'

pathnamedb'D:

\IBMPC.TXT',00;创建文件路径

handledw?

;handle用于存放选择的数

buffer1db60,0,60dup(?

);数据缓冲区

buffer2db60,0,60dup(?

huanhangdb'',0dh,0ah,'$';定义换行变量

chosedb0dh,0ah,'Pleaseenterthedigitalfrom1-4!

',0dh,0ah,'$'

;存放提示信息

enterydb0dh,0ah,'Enterwhatyouwanttowritetothefile!

(Thelengthofthestringsisunder60)',0dh,0ah,'$'

;存放提示信息

;以下都是提示信息

str_ok1db,0dh,0ah,'Createfilesuccessfully!

',0dh,0ah,'$'

str_ok2db,0dh,0ah,'Writetofilesuccessfully!

',0dh,0ah,'$'

str_ok3db,0dh,0ah,'Readfromfilesuccessfully!

',0dh,0ah,'$'

str_ok4db,0dh,0ah,'Deletefilesuccessfully!

',0dh,0ah,'$'

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!

$'

dataends

codesegment

assumecs:

code,ds:

data

mainprocfar

start:

movax,data

movds,ax

movax,0600h

callme

callchoice

ret

mainendp

meprocnear;me子程序功能,显示菜单

movah,9;9号功能调用

leadx,menu

int21h

meendp

choiceprocnear;choice子程序功能,从键盘中输入选择的数据

movah,1;1号功能调用,输入并显示一个字符

int21h

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;换行

movah,9

int21h

callread;调用读子程序

next4:

movax,4c00h;退出程序

int21h

next5:

movah,3eh

movbx,handle

int21h

movah,41h

leadx,pathname

int21h

jcerror1

back3:

movah,9

leadx,str_ok4

int21h

back:

movah,9

leadx,chose

int21h

callme

ret

choiceendp

creathprocnear

movah,3ch;调用3CH功能,创建文件

leadx,pathname;设置创建文件的路径

movcx,0;设置文件属性

int21h

jcerror1;错误1

movhandle,ax;从键盘输入的数据付给handle

jmpexit;跳转到exit

error1:

movah,9

leadx,str_error1;创建文件失败,显示错误信息提示1

int21h

jmpexit1

exit:

movah,9;显示成功创建文件的提示信息

leadx,str_ok1

int21h

exit1:

callchoice;从新选择

creathendp

entryprocnear

movah,9

leadx,entery;显示输入的内容

int21h

leadx,buffer1

movah,0ah;10号功能调用,显示缓冲区字符串

int21h

subch,ch

movcl,buffer1+1

adddx,2

callwrith

ret

entryendp

writhprocnear;向文件写入内容

movah,3dh;3dh功能调用

leadx,pathname

moval,1;1号功能调用

int21h

jcerror2;写入信息失败,转到error2

movhandle,ax

movah,40h;40H功能调用写入文件。

leadx,buffer1+2;除去前面的空格

movbx,handle

movcx,60

int21h

jcerror3

movah,3eh;3EH的功能调关闭文件

movbx,handle

int21h

jcerror4

jmpback1

error2:

movah,9

leadx,str_error2;显示错误提示信息2

int21h

jmpexit2

error3:

movah,9

leadx,str_error3;显示错误提示信息3

int21h

jmpexit2

error4:

movah,9

leadx,str_error4;显示错误提示信息3

int21h

jmpexit2

back1:

movah,9

leadx,str_ok2;返回提示信息2

int21h

exit2:

callchoice

writhendp

readprocnear

movah,3dh;3DH的功能调用是打开文件

leadx,pathname

moval,0

int21h

jcerror5;打开失败,转到error5

movhandle,ax

movah,3fh;3FH是读取文件

leadx,buffer2

movbx,handle

movcx,60

int21h

jcerror6;跳到error6

movah,9;9号功能调用

leadx,buffer2

int21h

jcerror6;跳到error6

movah,3eh;3EH的功能调关闭文件

movbx,handle

int21h

jcerror7

jmpback2

error5:

movah,9

leadx,str_error2;;显示提示信息

int21h

jmpexit3

error6:

movah,9

leadx,str_error4;;显示提示信息

int21h

jmpexit3

error7:

movah,9

leadx,str_error5;;显示提示信息

int21h

jmpexit3

back2:

movah,9;显示提示信息

leadx,str_ok3

int21h

exit3:

callchoice

readendp

codeends

endstart

endmain

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2