




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二一二二一三学年第 二 学期 电子信息工程系 课程设计报告书 姓 名: 康 雅 文 学 号: 201004135122 班 级: 电子信息工程 2010 级 4 班 课程名称: 微机原理及应用课程设计 学时学分: 1 周 1 学分 指导教师: 闵 华 松 二一三年二月 磁盘文件管理系统 磁盘文件管理系统 目目 录录 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 磁盘文件管理系统 0 磁盘文件管理系统 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 mov ah,9 汇编语言课程设计报告(2011) 1 lea dx,menu int 21h 2 创建文件。利用功能调用 3CH 建立文件。DX=文件路径,CX=属性 3 向磁盘文件中写入信息。先利用功能调用 3DH 打开文件,再将从键盘输入 的字符存入缓冲区,再从缓冲区写入文件,关闭文件。 4 从磁盘文件中读出信息并显示。先打开文件,在将文件内容存入缓冲区, 再将缓冲区内容输出,关闭文件。 5 退出程序。 3.23.2 系统流程图系统流程图 创建文件 Ah=1 N N N Ah=输入字符 Y 创建文件成功 创建文件 创建成功 创建文件错误 返回 结束 创建文件 写入信息Ah=2 N 读取信息 Ah=3 Y Ah=4 退出程序 N YN 开始 显示菜单 Y Y 磁盘文件管理系统 2 写入信息 打开文件 键盘输入存入缓冲区 缓冲区写入文件 关闭文件 写入成功 错误成功 返回 YN 汇编语言课程设计报告(2011) 3 读取信息 打开文件 文件内容输入缓 从缓冲区输出 关闭文件 读取成功 错误成功 返回 YN 磁盘文件管理系统 4 4 系统详细设计系统详细设计 调用 Dos 21H 功能实现文件操作 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 指令返回主函数。 缓冲区定义 buffer1 db 60,0,60 dup(?) buffer2 db 60,0,60 dup(?) 提示信息定义 chose db 0dh,0ah,Please enter the digital from 1- 4!,0dh,0ah,$ entery db 0dh,0ah,Enter what you want to write to the file!(The length of the strings is under 60),0dh,0ah,$ str_ok1 db ,0dh,0ah,Create file successfully!,0dh,0ah,$ str_ok2 db ,0dh,0ah,Write to file successfully!,0dh,0ah,$ str_ok3 db ,0dh,0ah,Read from file successfully!,0dh,0ah,$ str_ok4 db ,0dh,0ah,Delete file successfully!,0dh,0ah,$ str_error1 db ,0dh,0ah,Create file error!$ str_error2 db ,0dh,0ah,Open file error!$ str_error3 db ,0dh,0ah,Write to file error!$ str_error4 db ,0dh,0ah,Read file error!$ str_error5 db ,0dh,0ah,Exit from file error!$ 5 测试 5.1 测试方案 输入字符 14 1 是创建文件,2 是向磁盘文件中写入信息,3 是从磁盘中读取信息,4 是退出程 序 汇编语言课程设计报告(2011) 5 5.2 测试结果 运行程序后屏幕会出现菜单 1 输入 1 创建文件 如果创建成功屏幕会显示 create file successfully!在 D:IBM PC. TXT 会创建名为 IBM PC 的 TXT 文本文件 如果创建失败屏幕会显示 create file error! 2 输入 2 向磁盘中写入信息 输入字符 2 屏幕会显示 输入字符 sjaklwildacz 在创建的文件中会显示 如果成功屏幕会显示 write to file successfully! 如果失败屏幕会显示 write to file error! 磁盘文件管理系统 6 3 输入 3 从磁盘文件中读出信息 如果读出信息成功,屏幕会显示 read from file successfully! 如果读出信息失败,屏幕会显示 read file error! 4 输入 4 退出程序 5 输入其他字符,屏幕会提示 please enter the digital from 14! 6 如果没有先创建文件,就执行写入信息,读取信息的操作就会提示 open file error! 6 6 小结小结 这学期学习汇编语言这门课时,对它有了基本的了解和认识,觉得这门课并 不难,反而很容易理解弄懂。但本次课程设计使我充分了解到汇编语言在实际中 的应用并不是那么容易。在这次课程设计中让我认识到仅把课堂上的知识充分运 用还是不够的。程序设计不能仅仅停留在课本上,想要把程序做好,必须不断通 过各种途径掌握更多更好的知识,最重要的是,要将获得的知识运用的实际编程 中,要学以致用。只有认真的去思考机器是如何进行逻辑思考才能更好的掌握理 解它。 相信通过这次的课程设计,更让我深刻意识到自己在学习中的弱点,同时也找到 了克服这些弱点的方法。在以后的时间中,我应该利用更多的时间去上机实验, 多编写程序,相信不久后我的编程能力会有很大的提高。 对于我学的这个专业来说,编写程序是最基本的,也是最重要的技能,然而 本次课程设计的程序都不是自己编写的感觉到很遗憾,这次带着侥幸完成觉得很 惭愧。但我相信,在以后的学习和实践中,我一定会汲取这次课程设计的经验和 教训,会把程序编写的更好。 汇编语言课程设计报告(2011) 7 参考文献参考文献 1花小朋,刘其明. 汇编语言程序设计教程M .中国矿业大学出版社 2王元珍,曹忠升. 80X86 汇编语言程序设计M . 华中科技大学出版社 3沈美明,温冬婵. IBM-PC 汇编语言程序设计 M. 清华大学出版社 4王爽 汇编语言 M.清华大学出版社 5朱定华 . 微机原理、汇编与接口技术(第二版). 清华大学出版社 磁盘文件管理系统 8 附附 录录 附录 1 源程序清单 data segment menu db 0dh,0ah, *,0dh,0ah db * menu *,0dh,0ah db *-*,0dh,0ah db * 1.Create file *,0dh,0ah db * 2.Write to file *,0dh,0ah db * 3.Read file *,0dh,0ah db * 4.Quit *,0dh,0ah db *-*,0dh,0ah db * Choice(1-4) *,0dh,0ah db *,0dh,0ah,$ pathname db D:IBM PC.TXT,00 ;创建文件路径 handle dw ? ;handle 用于存放选择的 数 buffer1 db 60,0,60 dup(?) ;数据缓冲区 buffer2 db 60,0,60 dup(?) huanhang db ,0dh,0ah,$ ;定义换行变量 chose db 0dh,0ah,Please enter the digital from 1-4!,0dh,0ah,$ ;存放提示信息 entery db 0dh,0ah,Enter what you want to write to the file!(The length of the strings is under 60),0dh,0ah,$ ;存放提示信息 ;以下都是提示信息 str_ok1 db ,0dh,0ah,Create file successfully!,0dh,0ah,$ str_ok2 db ,0dh,0ah,Write to file successfully!,0dh,0ah,$ str_ok3 db ,0dh,0ah,Read from file successfully!,0dh,0ah,$ str_ok4 db ,0dh,0ah,Delete file successfully!,0dh,0ah,$ str_error1 db ,0dh,0ah,Create file error!$ str_error2 db ,0dh,0ah,Open file error!$ 汇编语言课程设计报告(2011) 9 str_error3 db ,0dh,0ah,Write to file error!$ str_error4 db ,0dh,0ah,Read file error!$ str_error5 db ,0dh,0ah,Exit from file error!$ data ends code segment assume cs:code,ds:data main proc far start: mov ax,data mov ds,ax mov ax,0600h call me call choice ret main endp me proc near ;me 子程序功能,显示菜单 mov ah,9;9 号功能调用 lea dx,menu int 21h me endp choice proc near ;choice 子程序功能,从键盘中输入选择的数 据 mov ah,1;1 号功能调用,输入并显示一个字符 int 21h cmp al,31h;判断输入的数是否为 1 je next1;若为 1,则跳到 next1 cmp al,32h;判断输入的数是否为 2 je next2 ;若为 2,则跳到 next2 cmp al,33h ;判断输入的数是否为 3 je next3 ;若为 3,则跳到 next3 cmp al,34h ;判断输入的数是否为 4 je next4 ;若为 4,则跳到 next4 磁盘文件管理系统 10 jmp back ;否则,返回 next1: call creath;调用创建子程序 next2: call entry;调用输入子程序 next3: lea dx,huanhang;换行 mov ah,9 int 21h call read;调用读子程序 next4: mov ax,4c00h;退出程序 int 21h next5: mov ah,3eh mov bx,handle int 21h mov ah,41h lea dx,pathname int 21h jc error1 back3:mov ah,9 lea dx,str_ok4 int 21h back: mov ah,9 lea dx,chose int 21h call me ret choice endp creath proc near mov ah,3ch ;调用 3CH 功能,创建文件 汇编语言课程设计报告(2011) 11 lea dx,pathname;设置创建文件的路径 mov cx,0;设置文件属性 int 21h jc error1;错误 1 mov handle,ax;从键盘输入的数据付给 handle jmp exit;跳转到 exit error1: mov ah,9 lea dx,str_error1;创建文件失败,显示错误信息提示 1 int 21h jmp exit1 exit: mov ah,9;显示成功创建文件的提示信息 lea dx,str_ok1 int 21h exit1: call choice;从新选择 creath endp entry proc near mov ah,9 lea dx,entery;显示输入的内容 int 21h lea dx,buffer1 mov ah,0ah;10 号功能调用,显示缓冲区字符串 int 21h sub ch,ch mov cl,buffer1+1 add dx,2 call writh ret entry endp writh proc near ;向文件写入内容 mov ah,3dh;3dh 功能调用 磁盘文件管理系统 12 lea dx,pathname mov al,1;1 号功能调用 int 21h jc error2;写入信息失败,转到 error2 mov handle,ax mov ah,40h;40H 功能调用写入文件。 lea dx,buffer1+2 ;除去前面的空格 mov bx,handle mov cx,60 int 21h jc error3 mov ah,3eh;3EH 的功能调关闭文件 mov bx,handle int 21h jc error4 jmp back1 error2: mov ah,9 lea dx,str_error2;显示错误提示信息 2 int 21h jmp exit2 error3: mov ah,9 lea dx,str_error3;显示错误提示信息 3 int 21h jmp exit2 error4: mov ah,9 lea dx,str_error4 ;显示错误提示信息 3 int 21h jmp exit2 bac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装知识考试题目及答案
- 液流电池制造项目节能评估报告
- 音乐鉴赏基础试题及答案
- 团务基础试题及答案
- 数字化财务审计的创新方法与技术手段
- 包装物流中心建设项目经济效益和社会效益分析报告
- 羽毛球拍生产线项目风险评估报告
- 风电场项目社会稳定风险评估报告
- 2025年小餐馆员工的劳动合同模板
- 智慧康养中心综合建设项目经济效益和社会效益分析报告
- 穴位按摩法操作评分标准
- 充电站运营管理制度(参考模板)
- 体育与健康教学设计《手倒立前滚翻》
- NISP一级考前模拟训练题库200题(含答案)
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 脊柱外科进修汇报
- 《史记》上册注音版
- 苏州大学文学院语言学纲要课程笔记
评论
0/150
提交评论