F汇编课程设计报告

发布 2022-10-01 07:21:28 阅读 1253

专业:网络工程。

班级学号102055211

姓名:赫前进。

指导老师:郭芸俊。

提交日期:2012/12/30

一、实验目的。

1、培养学生理论联系实际的设计思想,提高学生综合运用汇编语言课程的理论知分析问题、解决问题的能力。

2、通过查找、运用设计资料,完成工程设计所必备的基本训练。

3、使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

二、实验内容和要求。

利用dos系统功能调用和bios功能调用设计—有菜单栏的编辑窗口,在该窗口中可以实现文本的输入,利用del键、backspace键、home键、end键、上下左右光标键,实现对输入文本的全屏幕编辑。使用彩色组和背景颜色来设计界面颜色,利用dos系统功能调用的磁盘文件存取技术实现文件的“新建”、“打开”、“保存”、“另存为”与“退出”。

三、分析设计。

本次课程设计设计了一个简易的文本编辑器,该编辑器通过利用dos系统功能调用和bios功能调用设计一有菜单栏的编辑窗口,在该窗口中可以实现文本的输入。该文本编辑器利用bios功能调用中的10h中断类型,调用06号功能,实现了设置窗口背景的功能;调用dos功能中的09号功能,实现显示菜单信息字符串的功能;调用bios中的键盘i/o中断调用中的0号功能;从键盘读取字符,通过对上,下,左,右,光标间以及del,ins,backspace,end,home键的扫描码的判断,结合10h中中断的02号,03号功能确定光标的相应移动,从而实现对输入文本的全屏幕编辑;利用dos系统功能调用中的文件管理功能,如建立文件,打开文件,读文件,写文件,实现对文件的操作。

运行可执行文件,输入文本,利用del键、home键、backspace键、home键、上下左右光标键对输入文本的全屏幕编辑,按f1键激活菜单,下移光标,选择保存,输入文件名。也可以选择file菜单的其他菜单项,它们的功能均可实现。按f10键激活帮助,按esc键退出帮助。

实验流程图:

四、部分源程序。

1) 主程序设计模块:该设计模块主要通过调用子程序,创建了初始化界面,更有利于用户操作。

code segment

main proc far ;主程序定义开始。

assume cs:code,ds:data

start:

push ds

sub ax,ax

push ax

mov ax,data

mov ds,ax

call wind ;用创建窗口子程序

call edit ;调用设置菜单子程序。

retmain endp

2) 创建窗口子程序设计模块:该部分程序**主要实现了创建窗口的功能。在show处调用函数显示菜单等。。

在弹出菜单后再判断是不是方向键或者enter键,跳到相应的地方并做出相应的处理。

wind proc near创建窗口子程序。

win 0,3eh,1,0,24,79 ;定义窗口背景。

win 1,1fh,0,0,0,79 ;定义菜单项背景。

win 0,1fh,24,0,24,79 ;定义状态栏背景。

show显示菜单位置及内容。

pos_curse 0,0,1

mov ah,9

lea dx,menu

int 21h

show_2显示状态栏位置及内容。

pos_curse 0,24,1 ;定义光标位置。

mov ah,9

lea dx,mass_1

int 21h ;状态栏提示信息显示。

call win3;调用设置时间子程序。

call win4;调用设置行列子程序。

pos_curse 0,1,0;置光标位置。

mov row,dh

mov line,dl;保存行列。

wind endp

3)字符宏定义模块:字符定义模块主要定义了字符的读取、输入、从键盘读入等功能。

red_chr macro ;读取字符宏定义。

mov ah,0

int 16h ;中断调用从键盘读入字。

endm string macro p1 ;输入字符串宏定义。

mov ah,9

lea dx,p1

int 21h

endm4) 输入字符串宏定义模块:该部分主要通过调用09号功能,实现了字符串的输入功能以及从键盘输入文字的光标位置等。

string macro p1 ;输入字符串宏定义。

mov ah,9

lea dx,p1

int 21h

endm5) 建立窗口宏定义:该部分主要通过调用06号功能,实现了创建窗口的功能。

win macro opr1,opr2,opr3,opr4,opr5,opr6 ;建立窗口宏定义。

mov ah,06h

mov al,opr1

mov bh,opr2

mov ch,opr3

mov cl,opr4

mov dh,opr5

mov dl,opr6

int 10h

endm6)光标位置宏定义模块:该模块通过调用2号功能,实现了对文本编辑器中光标的定义。

pos_curse macro op1,op2,op3定义光标位置。

mov ah,2

mov bh,op1

mov dh,op2

mov dl,op3

int 10h

endm7)显示光标宏定义:

pos_get macro

显示光标位置。

mov ah,03h

mov bh,0

int 10h

状态栏显示。

manu_2 db ' open ',13,10,'$

manu_3 db ' s**e ',13,10,'$

manu_4 db ' s**e as ',13,10,'$

manu_5 db ' exit

handle dw ?

message1 db ' please input file name:',提示信息。

message2 db ' please input s**e file name:',提示信息。

message3 db ' please input open file name:',提示信息。

message4 db ' the file is not s**e! s**e it now? (y/n提示信息。

path db 50 dup(0),'

buffer db 2000 dup(?)

bak db 3850 dup(0)

line db ?

row db ?

char db ?

help_mas1 db ' welcome use editor帮助内容。

help_mas2 db 'please the first active help! $

help_mas3 db 'good lucky!!

help_mas4 db

help_mas5 db 'press f1 to active file. $

help_mas6 db 'you can use down cursor key to choose the fuction $'

help_mas7 db 'press f10 to show the help esc to quit$'

date db 'today调用日期。

hanglie db行/列。

data ends

8)数据段定义模块设计:

data segment ;定义数据段。

menu db 'file edit help $'标题。

mass_1 b 'f1 active file f10 active help','

五、测试结果。

六、心得体会。

通过这段时间的课程设计,我们学习到很多知识,明白了其实认真学习一门语言并不困难,关键是所追求的学习的方法和途径。一条好的途径便于快速掌握,熟悉运用语言。查找资料真的很关键,一开始我们一点思路也没,然后在网上参考了人家的设计,也找了很多种设计的办法,最后摸索出一点门道。

这次的程序训练培养了我们实际分析问题、编程和动手能力,使我们掌握了程序设计的基本技能,提高了我们适应实际,实践编程的能力。最后,我们明白了编程是需要细心和耐心的,特别是在调试的时候,查找错误是很麻烦的,所以我们要养成一个良好的编程习惯,注意标明注释。。程序设计是一件很复杂的事情,需要我们耐心的对待。

在程序设计过程中有一些我们没学过的知识,但大部分我们学过,那些没学过的知识我们只要看下书就很容易弄懂。本次课程设计,提高了我用汇编理论分析问题和解决问题的能力,还有更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。

本组成员共三人:102055204 王永超,102055210 高华,102055211 赫前进)

汇编课程设计报告

课程设计。目录。一概述 1 1.1课程设计的目的 4 1.2课程设计的要求 5 1.3小结 6 二总体方案设计 7 2.1主要设计思想 7 2.2程序设计思想及流程图 7 2.3 datedisplay子程序流程图 8 2.4 timedisplay子程序流程图 9 2.5小结 10 三详细设计 1...

汇编课程设计报告

汇编语言与接 术课程设计报告。题目计时器。系部计算机学院。专业计算机科学与技术年级 10级 学生姓名钟霖。学号 100510119 目录。1 设计目的 1 2 总体设计 5 3 详细设计 6 3.1 程序具体功能 6 3.2 函数功能 6 3.3 调试分析 7 4 源程序和运行结果 8 4.1 源程...

中南大学汇编课程设计报告

中南大学。微机原理课程设计报告。信号发生器功能程序设计。第一章设计题目 要求及目的 3 1.设计题目要求3 2.设计目的3 第二章总体设计方案3 1.设计思想3 2.设计方案4 3.总体设计流程图5 第三章硬件设计5 1.硬件环境要求5 2.所用芯片及其功能说明6 3.硬件接线图9 第四章程序设计1...