您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 文本方式下字处理程序的设计与实现
武汉理工大学《汇编语言》课程设计说明书1学号:0120610340704课程设计题目文本方式下字处理程序的设计与实现学院计算机科学与技术学院专业计算机科学与技术专业班级计算机0607姓名陈善祥指导教师陈先桥2009年1月15日武汉理工大学《汇编语言》课程设计说明书2课程设计任务书学生姓名:陈善祥专业班级:计算机0607指导教师:陈先桥工作单位:计算机科学与技术学院题目:文本方式下字处理程序的设计与实现初始条件:理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)理解键盘接口的工作原理,掌握BIOS键盘I/O功能,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:1)清晰且易于操作的用户界面;动态显示光标的当前位置;2)在文本编辑区接受并保存输入信息;3)光标上移,下移,左移,右移;4)允许删除当前光标后的字符;5)将编辑文本存盘,读出并显示硬盘中的指定文件。(任选)在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)《IBM—PC汇编语言程序设计实验教程》3.3节2)《IBM—PC汇编语言程序设计(第2版)》9.1节时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名:年月日系主任(或责任教师)签名:年月日武汉理工大学《汇编语言》课程设计说明书3文本方式下字处理程序的设计与实现1.设计内容及要求;理解键盘接口的工作原理,掌握BIOS键盘I/O功能,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:1.清晰且易于操作的用户界面;动态显示光标的当前位置;2.在文本编辑区内接受并保存输入信息;3.在文本编辑区内允许光标上移,下移,左移,右移;4.允许删除当前光标后的字符;5.将编辑文本存盘,读出并显示硬盘中的指定文件。2.设计中使用的关键技术和方法;汇编语言的中的各种寻址存储等命令及BIOS中断和DOS中断调用窗口的建立功能键的定义子程序的调用等等3.设计方案说明:包括模块层次图和各模块说明(功能定义、入口参数和出口参数等),详细的算法描述(流程图或伪代码),主要数据结构的定义和说明,程序界面的描述;模块说明:red_chrmacro;读取字符宏定义stringmacrop1;显示字符串信息winmacroopr1,opr2,opr3,opr4,opr5,opr6;建立窗口pos_cursemacroop1,op2,op3;定义光标位置pos_getmacro;显示光标位置datasegment;定义数据段mainprocfar;主程序武汉理工大学《汇编语言》课程设计说明书4windowprocnear;创建窗口子程序editprocnear;编辑输入的字符menu_showprocnear;显示菜单menu_file:;定义菜单的背景字体颜色win0,06h,2,1,7,11;建立菜单子窗口manu_n:;开始定义各个菜单项comprocnear;定义功能键callfuc_key;调用功能子键fuc_keyprocnear;功能键子程序savedisplayprocnear;保存输入的文本newprocnear;新建文件openprocnear;打开文件saveprocnear;保存文件saveasprocnear;另存为win3procnear;显示日期模块层次图:mainwindowfileeditformatoptionshelpnewopensaveassaveexitfontcolorsettingaboutcommandcutcopypasteclear武汉理工大学《汇编语言》课程设计说明书5程序界面如下图所示:本程序界面简洁明了,操作起来十分容易上手,满足要求。4.测试及评估;4.1测试:编译成功后点击运行,出现下面的界面:将光标通过上下左右方向键移到屏幕中间某个位置,随便输入一些文字,再按F1键,通过上下方向键选择“saveas”,出现下面的界面:武汉理工大学《汇编语言》课程设计说明书6输入:D:\chen.txt,即可把刚才的文字内容保存在D盘的一个叫chen.txt的记事本文件中。到D盘就可找到该文件,如下图:打来该文件发现和在刚才的界面中输入的内容完全一致:说明本程序能够接受和保存输入信息,符合要求。再在D盘新建一个叫123.txt的文件,在里面随便输写文字,例如hahahahaha武汉理工大学《汇编语言》课程设计说明书7回到刚才的界面,按F1通过上下键选择open出现一下界面:输入:D:\123.txt,即可打开D盘中的123.txt文件,显示结果如下:和之前在123.txt文件里输入的内容一致,说明本程序能读出并显示硬盘中的指定文件,符合要求。按F10选中command回车可显示帮助信息:武汉理工大学《汇编语言》课程设计说明书84.2评估:本程序能完全满足课程设计的要求,操作界面简洁明了,能保存输入的信息和读取存储在硬盘上的指定文件,功能还算完善。在一些小的方面还需要改进和完善。5.设计心得:包括设计中遇到的问题及思考,对该程序进一步改进扩展的设想;5.1遇到的问题及思考:刚开始弄时,根本就是一头雾水,看着那长长的代码不知所措。后来对照这代码的注释和参照课本上的一些实例,慢慢的明白了一些,比如说哪些代码是定义数据段,哪些代码是用来调用子程序的,哪些代码是定义窗体的。还有一些重要的但平时很少用到的一些命令,例如:movah,0int16h开始不知道这命令什么意思,查了书才知道是从键盘读字符,而且这两条命令是搭配起来用得,如果把第一句改成movah,1的话,命令的意思就变成了取键盘缓冲区状态,差别就大多了,所以汇编语言编程是要很注意细节的。5.2对程序进一步改进扩展的设想:程序中一个明显的不完善的地方就是:按F1后再按上下方向键时,屏幕中的光标会跟着一起跳动。保持光标位置在按F1键前后一致是本程序需要改进的地方,这个还在思考中,相信能够解决。6.致谢,参考文献(按公开发表的规范书写);武汉理工大学《汇编语言》课程设计说明书96.1致谢:感谢学院组织这次汇编课程设计,让我的汇编能力在实践中得到锻炼,让我明白了理论联系实际是多么的有用。感谢汇编老师这一年来对我的谆谆教导,对我学习的督促和鼓励。感谢宿舍室友的大力帮助,谢谢你们帮忙查询资料帮忙解释我不懂的地方,让我加深了对编程的理解。6.2参考文献:清华大学出版社《IBM—PC汇编语言程序设计》沈美明、温冬婵著清华大学出版社《IBM—PC汇编语言程序设计实验教程》沈美明、温冬婵著武汉理工大学《汇编语言》课程设计说明书107.附录:源程序清单。red_chrmacro;读取字符宏定义movah,0;返回的al=字符码,ah=扫描码int16hendm;---------------------------------------------------------------------stringmacrop1;显示字符串信息movah,9leadx,p1int21hendm;---------------------------------------------------------------------winmacroopr1,opr2,opr3,opr4,opr5,opr6;建立窗口movah,06h;0pr1=上卷行数,opr2=行属性moval,opr1;opr3=左上角行号,opr4=左上角列号movbh,opr2;opr5=右下角行号,opr6=右下角列号movch,opr3movcl,opr4movdh,opr5movdl,opr6int10hendm;---------------------------------------------------------------------pos_cursemacroop1,op2,op3;定义光标位置movah,2;op1=页号,0p2=行号,0p3=列号movbh,op1movdh,op2movdl,op3int10hendm;---------------------------------------------------------------------pos_getmacro;显示光标位置movah,03h;dh=行号,dl=列号movbh,0int10hendm;---------------------------------------------------------------------;*********************************************************************datasegment;定义数据段flagdw?color_1db32dup(''),'Black_to_Blue',13,10,'$'color_2db32dup(''),'Red_to_White',13,10,'$'color_3db32dup(''),'Cyan_to_Red',13,10,'$'menudb'FileEditFormatOptionsHelp$'messdb'F1-FileF2-EditF3-FormatF4-OptionsF10-helpEsc-quit','$'manu_1db'New',13,10,'$'manu_2db'Open',13,10,'$'manu_3db'Save',13,10,'$'manu_4db'Saveas',13,10,'$'manu_5db'Exit','$'manu_6db6dup(''),'Cut',13,10,'$'manu_7db6dup(''),'Copy',13,10,'$'manu_8db6dup(''),'Paste',13,10,'$'manu_9db6dup(''),'Clear',13,10,'$'manu_10db12dup(''),'Font',13,10,'$'manu_11db20dup(''),'Color',13,10,'$'manu_12db20dup(''),'Setting',13,10,'$'manu_13db29dup(''),'Command',13,10,'$'manu_14db29dup(''),'About',13,10,'$'handledw?mess1db'Pleaseinputafilename:','$'mess2db'Pleaseinputasavingfilename:','$'mess3db'Pleaseinputanopenfilename:','$'mess4db'Thefileisnotsaved!Saveitnow?(Y/N):','$'pathdb50dup(0),'$'bufferdb2000dup(?)bakdb3850dup(0)linedb?rowdb?chardb?help_mas0db'AboutEditor$'help_mas1db'************************************************$';帮助内容help_mas2db'*Thanksforusingthiseditor!*$'help_mas3db'**$'help_mas4db'*MAYYOUHAVEAGOODTIME*$'武汉理工大学《汇编语言》课程设计说明书11help_mas5db'*----------------------------------------------*$'help_mas6db'*MS-DOSEditor*$'help_mas7db'*Copyright
本文标题:文本方式下字处理程序的设计与实现
链接地址:https://www.777doc.com/doc-4410389 .html