汇编语言课程设计
4.3文件写入模块设计
打开文件 键盘输入存入缓冲区 缓冲区写入文件 关闭文件 Y N 写入成功 成功 错误 返回 图4-2
4
汇编语言课程设计
4.4 读文件模块设计
开始 N 打开文件成功与否 Y 显示打开文件失败 读文件成功与否 Y N 显示读取失败 N 显示 字符串 Y N 关闭文件 关闭文件失败 读文件成功 返回功能菜单 结束 图4-3
5 测试
5.1 测试方案
将源程序输入代码编辑器中,检查无误后在Turbo Debugger中运行。 5.2 测试结果
程序运行结果如图5-1所示:
5
汇编语言课程设计
图5-1
当输入1时,创建文件成功,如图5-2所示:
图5-2
当输入2时,向磁盘中写入信息zhanghui,如图5-3所示:
图5-3
当输入3时,从磁盘文件中读出文件成功,如图5-4所示:
图5-4
当输入4时,退出程序。
当输入除1-4以外的其他字符,显示结果如图5-5所示:
6
汇编语言课程设计
图5-5
6 小结
一周的汇编语言课程设计结束了,我的收获很大。无论从学习上还是自身角度,我都自认得到了很大的提高。在课程设计过程中,发现许多在理论学习过程中所为发现的问题,同时,通过自己的努力,顺利地解决了这些问题。这是一种磨砺。
通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。在整个程序的编写中,调试占了很大部分的时间。要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平。
汇编也应该属于基础理论,我们正是沿着“理论—实践—应用”的学习之道正确的前进着,让我们在这个短语做为我们报告的结束语以再次提醒所有人诸如汇编语言的基础理论的重要性:理论—实践—应用——正确的计算机学习之道!
7
汇编语言课程设计
附 录
附录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 ?
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,'Wtite to file successfully!',0dh,0ah,'$' str_ok3 db 0dh,0ah,'Read from file successfully!',0dh,0ah,'$' str_error1 db 'Create file error!$' str_error2 db 'Open file error!$' str_error3 db 'Write to file error!$' str_error4 db 'Read file error!$'
str_error5 db '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 mov ah,9 lea dx,menu int 21h me endp
8