汇编语言课程设计磁盘文件管理Word格式文档下载.docx

上传人:b****6 文档编号:17671162 上传时间:2022-12-08 格式:DOCX 页数:17 大小:172.70KB
下载 相关 举报
汇编语言课程设计磁盘文件管理Word格式文档下载.docx_第1页
第1页 / 共17页
汇编语言课程设计磁盘文件管理Word格式文档下载.docx_第2页
第2页 / 共17页
汇编语言课程设计磁盘文件管理Word格式文档下载.docx_第3页
第3页 / 共17页
汇编语言课程设计磁盘文件管理Word格式文档下载.docx_第4页
第4页 / 共17页
汇编语言课程设计磁盘文件管理Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

汇编语言课程设计磁盘文件管理Word格式文档下载.docx

《汇编语言课程设计磁盘文件管理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计磁盘文件管理Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

汇编语言课程设计磁盘文件管理Word格式文档下载.docx

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开发环境

Tasm

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].清华大学出版社

附录

附录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?

buffer1db60,0,60dup(?

huanhangdb'

'

dataends

codesegment

assumecs:

code,ds:

data

mainprocfar

start:

movax,data

movds,ax

movax,0600h

callme

callchoice

ret

mainendp

meprocnear

meendp

choiceprocnear

movah,1

cmpal,31h

jenext1

cmpal,32h

jenext2

cmpal,33h

jenext3

cmpal,34h

jenext4

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

movcx,0

movhandle,ax

jmpexit

error1:

leadx,str_error1

jmpexit1

exit:

leadx,str_ok1

exit1:

creathendp

entryprocnear

leadx,entery

leadx,buffer1

movah,0ah

subch,ch

movcl,buffer1+1

adddx,2

callwrith

entryendp

writhprocnear

movah,3dh

moval,1

jcerror2

movah,40h

leadx,buffer1+2

movcx,60

jcerror3

jcerror4

jmpback1

error2:

leadx,str_error2

jmpexit2

error3:

jmpexit2

error4:

leadx,str_error4

back1:

leadx,str_ok2

exit2:

writhendp

readprocnear

moval,0

jcerror5

movah,3fh

leadx,buffer2

jcerror6

jcerror7

jmpback2

error5:

jmpexit3

error6:

error7:

leadx,str_error5

jmpexit3

back2:

leadx,str_ok3

exit3:

readendp

codeends

endstart

endmain

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

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1