已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 号:0120710340522武汉理工大学 汇编语言课程设计题 目文本方式下字处理程序的设计与实现学 院计算机科学与技术学院专 业计算机科学与技术班 级计算机科学与技术0705姓 名黄威指导教师李春林2010 年1 月15 日课程设计任务书学生姓名: 黄威 专业班级:计算机科学与技术0705 指导教师: 李春林 工作单位:计算机科学与技术学院 题目: 文本方式下字处理程序的设计与实现初始条件:理论:完成了汇编语言程序设计课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。实践:完成了汇编语言程序设计的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)理解键盘和显示器接口的工作原理,掌握BIOS键盘和显示器中断调用的使用方法,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:1) 清晰且易于操作的用户界面;动态显示光标的当前位置;2) 在文本编辑区接受并保存输入信息;3) 光标上移,下移,左移,右移;4) 允许删除当前光标前的字符;5) 将编辑文本存盘,读出并显示硬盘中的指定文件。(任选)在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。阅读资料:1)IBMPC汇编语言程序设计实验教程3.3节2)IBMPC汇编语言程序设计(第2版)9.1节时间安排:设计安排一周:周1、周2:完成系统分析及设计。周3、周4:完成程序调试,和验收。周5:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日一、 系统描述1、 目的(1)掌握计算机汇编语言的使用。学完汇编课程,理解和掌握键盘和显示器接口的工作原理,掌握BIOS键盘和显示器中断调用的使用方法,掌握复杂内存数据结构的定义和管理方法。(2)通过设计、编制、调试一个文本方式下字处理程序。实现一个简单的文本编辑器的基本功能2、 设计内容1) 清晰且易于操作的用户界面;2) 动态显示光标的当前位置;3) 在文本编辑区可以输入字符信息;4) 光标上移,下移,左移,右移,还可以回车,使用home键、end键退格键;5) 允许删除当前光标前的字符;6) 将编辑文本存盘,读出并显示硬盘中的指定文件。3、 开发平台 所使用的系统:Windows XP程序开发工具:Masn for Windows 6.0 集成实验开发环境序设计语言:IBM-PC 汇编语言二、 文本编辑译系统的概要设计文本编辑程序要实现简单的文本编辑器基本功能。1. 设计一个友好,易于操作的界面,界面可仿照windows记事本,但windows记事本的菜单项不好制作,所以将主要功能说明制作到边框,方便使用即可。并且实现在某一固定区域内可以显示当前光标的坐标。2. 实现用键盘上的功能键制编辑文本,例如:按一下BackSpace键可以删除当前光标以前的字符;按一下Delete 键可以删除当前光标之后的字符;按一下Home键可以使光标跳转到当前行的第一列;按一下End 键可以使光标跳转到当前行的最后一列;按一下F1 键可以激活File的五个功能键(new,open,save ,save as,exit);按一下Enter键可以使光标跳转到下一行的第一列;按一下F1 键可以显示帮助信息用 上下左右 键 使光标在文本框内任意移动3. 根据程序思想设计程序流程图,按照程序流程图完成实现各个模块的功能三、 详细的算法描述1、本程序主要使用的数据结构如下: path db 40 dup(0),$ ;保存文件路径 buffer db 1840 dup(0) ,$ ;保存文本内容,作为一个缓存区 line db ? ;保存列号 row db ? ;保存行号bak db 3850 dup(0) ;保存缓冲区的内容2、本程序主要使用的子程序说明Wind ;创建窗口的子程序edit ;进行文本文本编辑win4 ;动态显示光标位置,先保存光标位置,最后一行输出 行列数 改变了光标位置Open ;输出文本内容Save ;保存文本内容clean_path ;清除保存路径的内容3、函数调用关系:主函数mainWind editWin3和wind4 各个键的 curs_get menu_show func_key 功能模块 new opensave save_as exithome end backspace delete F10 help win44、程序中主要使用的宏汇编以及出口、入口的参数说明read_chr macro ;读取字符宏定义 mov ah,0 int 16hendmhuixian macromov ah,1int 21hendmxianshi macromov ah,2int 21hendmreadf macromov ah,3fhint 21hendmopenf macro mov ah,3dh mov al,0 int 21h endmjianlif macromov ah,3chmov cx,00int 21hendmwritef macromov ah,40hint 21hendmclosef macromov ah,3ehint 21hendmstring macro p1 ;输入字符光标 mov ah,9 lea dx,p1 int 21hendmwin macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口 mov ah,07h;初始化 mov al,opr1;上或下卷的行数 mov bh,opr2;卷入行属性 mov ch,opr3;左上角行号 mov cl,opr4;左下角列号 mov dh,opr5;右上角行号 mov dl,opr6;右下角列号 int 10hendmcurs_locate macro op1,op2,op3 ;定光标位置 mov ah,2 mov bh,op1;页号 mov dh,op2;行号 mov dl,op3;列号 int 10hendmcurs_get macro ;读光标位置 mov ah,03h mov bh,0 int 10h;页号ch/cl:开始/结束行;dh/dl 当前行endmbuffer_locate macro rrow,ccol;坐标定位r*80+c 坐标在ax中;即行列数对应的缓冲区偏移地址 ax中 push bx mov ah,0d dec rrow mov bl,rrow mov al,80d ;r * 80 mul bl add al,ccol;+ c adc ah,0 pop bx endm开始edit的程序流程图:键盘输入字符判断键值是功能键刷屏,重新显示文本界面录入字符保存,保存字符NYup光标上移row - 1YdownN光标下移Row + 1YN光标左移line - 1leftYN光标右移line + 1rightY光标移到本行首位line =0HomeNY光标移到本行首位line =79EndNYEnter光标移到下行首位row +1; line =0YN删除光标前的字符row+1BackspaceYN删除光标后的字符row+1DeleteYN创建新文件row+1F1 newYNPath = 输入的文件路径打开文件F2 openYNPath = 输入的文件路径保存文件F3 saveYPath = 输入的文件路径另存文件F4 save_asNYPath = 输入的文件路径保存文件F5 exitNYN结束四、 软件的测试方法和测试结果经过测试实现用键盘上的功能键制文本编辑程序,1、测试用例:1. 按一下BackSpace键可以删除当前光标以前的字符;2. 按一下Delete 键可以删除当前光标之后的字符;3. 按一下Home键可以使光标跳转到当前行的第一列;4. 按一下End 键可以使光标跳转到当前行的最后一列;5. 按一下Enter键可以使光标跳转到下一行的第一列;6. 用 上下左右 键 使光标在文本框内任意移动2、文件操作1.按一下new 键可以创建新文件2.按一下open 键可以打开已有的文件;3.按一下save 键可以保存当前文件4.按一下saveas 键可以另存为当前文件5.按一下exit 键可以正常退出文本编辑器Path = 完整的文件名(默认路径)或 Path = 完整的路径+文件名程序运行结果如图:运行界面如下:输入字符后如下:按F1键后如下:选择exit,如下:按ENTER后如下:同意保存,输入y;然后输入文件名:确定,按enter后退出:五、 小结与体会通过本次汇编课程设计,加深了对汇编理论知识的理解,真正地把汇编的理论知识应用于实践,更好的掌握了汇编技术的基本方法。在掌握基本指令的基础上,更加了解子程序结构设计、宏汇编设计、I/O中断、显示器的控制、基本的文件操作。子程序设计:把程序模块化,完成独立的功能宏汇编设计:更像高级语言中的函数设计INT 21H :强大的DOS功能调用(包括文件操作)INT 10H :显示操作,进行显示控制INT 16H :键盘中断,控制键盘,完成对应的操作本程序最大特点功能比较完善,由于使用较多的宏汇编是的代码量大大降低,宏汇编从分体现代码的重用。实现:BackSpace删除当前光标以前的字符;Delete 键删除当前光标之后的字符;Home键使光标跳转到当前行的第一列;End 键使光标跳转到当前行的最后一列;Enter键使光标跳转到下一行的第一列;用 上下左右 键 使光标在文本框内任意移动可以保存文件,以及打开指定路径文件,基本是一个简单的文本编辑器文本的内容是由buffer定义的缓冲区保存,所以就把光标的位置换算为数组的下标,(坐标定位公式r*80+c)进行定位操作。是每个元素都对应文本框内的一个位置起到保存文本内容的作用。但是,文本的大小也就固定了;同时:当插入时就会覆盖原有的字符。这样就很难实现插入操作。为此我想:只要略微改变一下当前的数据结构就可以实现插入和扩充文本,或者专门为插入计算一个插入的函数也可实现。 六、 参考文献1、IBM-PC 汇编语言程序设计(第2版)清华大学出版社沈美明 温冬婵 著2/、IBM-PC 汇编语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兼职外教合同书范本
- 快递公司加盟合作协议
- 2024年政府购买服务合同书格式
- 建筑工程设计合同条款解析
- 广东省汕尾市劳动合同范本
- 建筑工人保密协议合同
- 国际技术转让合同的风险评估和管理
- 2024年购房简单协议书
- 承包运输协议书2024年
- 2024年第三方担保合同补充协议正规范本
- 广东省揭阳市榕城区2023-2024学年八年级上学期期中考试地理试题
- 广东省信宜市2023-2024学年高二上学期期中考试历史试题
- 《田螺姑娘》儿童故事ppt课件(图文演讲)
- 金融业的数据隐私保护与合规问题分析
- 销售应急预案
- 2023年新闻记者资格证及新闻写作相关知识考试题库(附含答案共400题)
- 部编版七年级上《论语十二章》理解性默写训练及答案
- 思想道德与法治-第一章第一节-人生观是对人生的总看法
- 人教版(2019)选择性必修第四册Unit 3 Sea Exploration Reading and Thinking
- 亩高标准农田项目施工图设计说明
- 校级签约仪式会务工作指引
评论
0/150
提交评论