汇编语言实现文本编辑器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言课程设计
题目文本方式下字处理程序的设计与实现
学院计算机科学与技术学院
专业计算机科学与技术
班级计算机科学与技术0705
课程设计任务书
题目: 文本方式下字处理程序的设计与实现
初始条件:
理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。
实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等
具体要求)
理解键盘和显示器接口的工作原理,掌握BIOS键盘和显示器中断调用的使用方法,掌握复杂内存数据结构的定义和管理方法。具体的设计任务及要求:
1)清晰且易于操作的用户界面;动态显示光标的当前位置;
2)在文本编辑区接受并保存输入信息;
3)光标上移,下移,左移,右移;
4)允许删除当前光标前的字符;
5)将编辑文本存盘,读出并显示硬盘中的指定文件。(任选)
在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。
阅读资料:
1)《IBM—PC汇编语言程序设计实验教程》3.3节
2)《IBM—PC汇编语言程序设计(第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
Wind
Win3和wind4
各个键的 curs_get menu_show func_key
home end backspace delete F10 help win4
4、程序中主要使用的宏汇编以及出口、入口的参数说明
read_chr macro ;读取字符宏定义
mov ah,0
int 16h
endm
huixian macro
mov ah,1
int 21h
endm
xianshi macro
mov ah,2
int 21h
endm
readf macro
mov ah,3fh
int 21h
endm
openf macro
mov ah,3dh
mov al,0
int 21h
endm
jianlif macro
mov ah,3ch
mov cx,00
int 21h
endm
writef macro
mov ah,40h
int 21h
endm
closef macro
mov ah,3eh
int 21h