1、5.1 测试方案 45.2 测试结果 56 小结 6参考文献 7附 录 7附录1 源程序清单 81 概 述 1.1 课程设计目的在学完教学大纲规定的全部内容,完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言课程设计方法,提高分析问题,解决问题的综合应用能力。学会查阅和汇编语言相关的规范,手册等技术资料。能正确绘制和使用流程图。掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。此课程设计中,通过对磁盘管理分段程序的设计,来实现键盘的输入,输出文件的读写的功能。熟悉常用的系统功能调用和常用的算法实现。如01H功能调用实现键盘输入并回显,09H的功能
2、调用显示字符串,3CH的功能调用是建立文件,3DH的功能调用是打开文件,3EH的功能调用是关闭文件3FH是读取文件,40H功能调用是写入文件。掌握基本子程序的调用和返回指令。1.2 课程设计内容磁盘文件管理系统 2 系统需求分析2.1 系统目标功能菜单的编制;向磁盘文件中写入信息;从磁盘文件中读出信息并显示;退出程序2.2 主体功能创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。根据提示输入字符,如果输错可以返回并且从新输入。2.3 开发环境Tasm3 系统概要设计3.1 系统的功能模块划分1功能菜
3、单的显示。利用9H功能调用显示menu mov ah,9 lea dx,menu int 21h2创建文件。利用功能调用3CH建立文件。DX=文件路径,CX=属性3 向磁盘文件中写入信息。先利用功能调用3DH打开文件,再将从键盘输入的字符存入缓冲区,再从缓冲区写入文件,关闭文件。4 从磁盘文件中读出信息并显示。先打开文件,在将文件内容存入缓冲区,再将缓冲区内容输出,关闭文件。5 退出程序。3.2 系统流程图NY创建文件写入信息读取信息4系统详细设计调用Dos 21H功能实现文件操作3CH:创建文件 DS:DX=文件路径,CX=属性,返回文件号3DH:打开文件 DS:DX=文件路径,AL=模式3
4、EH:关闭文件 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 wha
5、t you want to write to the file!(The length of the strings is under 60) str_ok1 db ,0dh,0ah,Create file successfully! str_ok2 db ,0dh,0ah,Write to file successfully! str_ok3 db ,0dh,0ah,Read from file successfully! str_ok4 db ,0dh,0ah,Delete file successfully! str_error1 db ,0dh,0ah,Create file erro
6、r! 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 测试方案输入字符141是创建文件,2是向磁盘文件中写入信息,3是从磁盘中读取信息,4是退出程序5.2 测试结果运行程序后屏幕会出现菜单1 输入1创建文件如果创建成功屏幕会显示create file successfully!在D:IBM P
7、C. TXT会创建名为IBM PC的TXT文本文件如果创建失败屏幕会显示create file error!2 输入2向磁盘中写入信息输入字符2屏幕会显示输入字符sjaklwildacz在创建的文件中会显示如果成功屏幕会显示write to file successfully!如果失败屏幕会显示write to file error!3 输入3从磁盘文件中读出信息如果读出信息成功,屏幕会显示read from file successfully!如果读出信息失败,屏幕会显示read file error!4 输入4退出程序5 输入其他字符,屏幕会提示please enter the digit
8、al from 14!6 如果没有先创建文件,就执行写入信息,读取信息的操作就会提示open file error!6 小结 这学期学习汇编语言这门课时,对它有了基本的了解和认识,觉得这门课并不难,反而很容易理解弄懂。但本次课程设计使我充分了解到汇编语言在实际中的应用并不是那么容易。在这次课程设计中让我认识到仅把课堂上的知识充分运用还是不够的。程序设计不能仅仅停留在课本上,想要把程序做好,必须不断通过各种途径掌握更多更好的知识,最重要的是,要将获得的知识运用的实际编程中,要学以致用。只有认真的去思考机器是如何进行逻辑思考才能更好的掌握理解它。相信通过这次的课程设计,更让我深刻意识到自己在学习中
9、的弱点,同时也找到了克服这些弱点的方法。在以后的时间中,我应该利用更多的时间去上机实验,多编写程序,相信不久后我的编程能力会有很大的提高。 对于我学的这个专业来说,编写程序是最基本的,也是最重要的技能,然而本次课程设计的程序都不是自己编写的感觉到很遗憾,这次带着侥幸完成觉得很惭愧。但我相信,在以后的学习和实践中,我一定会汲取这次课程设计的经验和教训,会把程序编写的更好。参考文献1花小朋,刘其明.汇编语言程序设计教程M .中国矿业大学出版社2王元珍,曹忠升. 80X86汇编语言程序设计M . 华中科技大学出版社3沈美明,温冬婵. IBM-PC汇编语言程序设计 M. 清华大学出版社4王爽 汇编语言
10、 M.清华大学出版社附 录附录1 源程序清单data segmentmenu db 0dh,0ah, *,0dh,0ah db * menu * db *-* 1.Create file * 2.Write to file * 3.Read file * 4.Quit * Choice(1-4) * pathname db D:IBM PC.TXT,00 handle dw ? buffer1 db 60,0,60 dup(? huanhang db data ends code segment assume cs:code,ds:data main proc far start: mov a
11、x,data mov ds,ax mov ax,0600h call me call choice ret main endp me proc near me endp choice proc near mov ah,1 cmp al,31h je next1 cmp al,32h je next2 cmp al,33h je next3 cmp al,34h je next4 jmp backnext1: call creathnext2: call entrynext3: lea dx,huanhang call readnext4: mov ax,4c00hnext5: mov ah,3
12、eh mov bx,handle mov ah,41h lea dx,pathname jc error1back3:mov ah,9 lea dx,str_ok4back: lea dx,chosechoice endpcreath proc near mov ah,3ch mov cx,0 mov handle,ax jmp exiterror1: lea dx,str_error1 jmp exit1exit: lea dx,str_ok1exit1:creath endpentry proc near lea dx,entery lea dx,buffer1 mov ah,0ah su
13、b ch,ch mov cl,buffer1+1 add dx,2 call writhentry endpwrith proc near mov ah,3dh mov al,1 jc error2 mov ah,40h lea dx,buffer1+2 mov cx,60 jc error3 jc error4 jmp back1error2: lea dx,str_error2 jmp exit2 error3: jmp exit2error4: lea dx,str_error4back1: lea dx,str_ok2exit2:writh endpread proc near mov al,0 jc error5 mov ah,3fh lea dx,buffer2 jc error6 jc error7 jmp back2error5: jmp exit3error6:error7: lea dx,str_error5 jmp exit3 back2: lea dx,str_ok3exit3:read endpcode ends end start end main
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1