微型计算机原理及应用课程设计
微机原理课设
目录
1. 课程设计目的 2 2. 课程设计内容 2
2-1 设计要求 2 2-2 设计题目 2
3、设计思想 3 4、数据结构设计 3
4-1 数据段 3 4-2 宏定义 3 4-3 代码段 3
5、详细的算法描述 4
5-1 宏定义详细描述 4 5-2 实现流程图 6 5-3 算法描述 6
6、源程序 7 7、程序运行结果 25 8、设计心得与程序不足 29 9、参考文献 29
微机原理课设
摘要
设计一个具有输入输出以及对文本进行编辑的简易文本编辑器,该编辑器具有可利用Del键、BackSpace键、Home键、End键 上下左右光标键对文本进行全屏编辑的功能,并且能够打开、新建、保存文件。
微机原理课设
1、课程设计目的
本课程设计的目的和任务:
1. 巩固和加深学生对汇编语言课程的基本知识的理解和掌握。 2. 掌握汇编语言编程和程序调试的基本技能。 3. 利用汇编语言进行基本程序设计。 4. 提高运用汇编语言解决实际问题的能力。
2、课程设计的内容
2-1设计要求
1) 分析课程设计题目的要求 2) 写出详细设计说明
3) 编写程序代码,调试程序使其能正确运行 4) 设计完成的软件要便于操作和使用 5) 设计完成后提交课程设计报告
2-2设计题目
简单的文本编辑器
基本功能:
0 运行可执行文件wbbjq.exe,在出现的界面中输入任意文本内
容,利用DEL键、BACKSPACE键、HOME键、END键、上下左右光标键对文本进行全屏幕编辑。
1 按F1键激活菜单file,下移光标,通过选择New;Open;
Save As;Save;Exit子菜单实现文件的新建;打开;另存;保存和退出等功能。按F10激活帮助,给出帮助信息;按ESC键退出帮助。
微机原理课设
3、设计思想
该程序主要是设计一个简易文本编辑器,达到可以可利用Del键、BackSpace键、Home键、End键 上下左右光标键对文本进行全屏编辑的目的。用BIOS功能调用中的10H中断类型,调用06号功能,设置窗口背景;调用DOS功能中的09号功能,实现显示菜单信息字符串;调用BIOS中的键盘I/O中断调用中的0号功能;从键盘读取字符,通过对上,下,左,右,光标间以及DEL,INS,BACKSPACE,END,HOME键的扫描码的判断,结合10H中中断的02号,03号功能确定光标的相应移动,从而实现对输入文本的全屏幕编辑;利用DOS系统功能调用中的文件管理功能,如建立文件,打开文件,读文件,写文件,实现对文件的操作。
4、数据结构设计
4-1 数据段
handle dw ? ;文件代号暂存区 path db 50 dup(0),'$' ;路径暂存区 buffer db 2000 dup(?) ;数据缓存区 bak db 3850 dup(0) ;保存文本中的内容 line db ? ;列号 row db ? ;行号
4-2 宏定义
red_chr macro ;读取字符 string macro p1 ; 显示字符串
win macro opr1,opr2,opr3,opr4,opr5,opr6 ;新建窗口,设置大小和颜色 pos_curse macro op1,op2,op3 ;设置光标位置 pos_get macro ;读取光标信息
4-3 代码段
main proc far ;主程序
window proc near ;创建窗口子程序 edit proc near ;编辑功能子程序
微机原理课设
5、详细的算法描述
5-1 宏定义详细描述
1.字符宏定义
red_chr macro ;读取字符 mov ah,0
; 读键盘。出口AH=键盘的扫描码,AL=字符的ASCII码
int 16h endm
2.输入字符串宏定义
string macro p1 ;输入字符光标 mov ah,9 ;显示字符串
lea dx,p1 ;DS:DX=串地址,'$'结束字符串 int 21h endm
3.建立窗口宏定义
win macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口 mov ah,06h ;向上滚屏
mov al,opr1 ;AL=滚动行数(0——清窗口) mov bh,opr2 ;BH=空白区域的缺省属性, mov ch,opr3
;(CH,CL)=窗口的左上角位置(Y坐标,X坐标)
mov cl,opr4 mov dh,opr5
;(DH,DL)=窗口的右下角位置(Y坐标,X坐标)
mov dl,opr6 int 10h endm
4.光标位置宏定义
微机原理课设
pos_curse macro op1,op2,op3 ;定义光标位置
mov ah,2 ;用文本坐标下设置光标位置 mov bh,op1 ;BH=显示页码 mov dh,op2 ;DH=行(Y坐标) mov dl,op3 ;DL=列(X坐标) int 10h endm
5.显示光标宏定义
pos_get macro ;显示光标位置 mov ah,03h ;读取光标信息。
;出口CH=光标的起始行,CL=光标的终止行,DH=行(Y坐标),DL=列(X坐标) mov bh,0 ;BH=显示页码 int 10h endm
5-2 程序结构图
5-3 实现流程图
微机原理课设
开始
键盘输入
否
是否为菜单 功能键
是
进入编辑
F1 F1orF10
F10 10
各项编辑功 能 功能菜单 帮助页面
文件操作
显示帮助信息
是 Esc ? 否 显示帮助信息
结束
第 - 6 - 页 共 29 页
微机原理课设
6、源程序
red_chr macro ;读取字符宏定义
mov ah,0 ; 读键盘。出口AH=键盘的扫描码,AL=字符的ASCII码 int 16h endm
string macro p1 ;输入字符光标 mov ah,9 ;显示字符串
lea dx,p1 ;DS:DX=串地址,'$'结束字符串 int 21h endm
win macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口 mov ah,06h ;向上滚屏
mov al,opr1 ;AL=滚动行数(0——清窗口) mov bh,opr2 ;BH=空白区域的缺省属性
mov ch,opr3 ;(CH,CL)=窗口的左上角位置(Y坐标,X坐标)
mov cl,opr4
mov dh,opr5 ;(DH,DL)=窗口的右下角位置(Y坐标,X坐标)
mov dl,opr6 int 10h endm
pos_curse macro op1,op2,op3 ;定义光标位置
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学