汇编课设程序报告录入学生身高体重等.docx

上传人:b****5 文档编号:8392232 上传时间:2023-01-31 格式:DOCX 页数:11 大小:135.32KB
下载 相关 举报
汇编课设程序报告录入学生身高体重等.docx_第1页
第1页 / 共11页
汇编课设程序报告录入学生身高体重等.docx_第2页
第2页 / 共11页
汇编课设程序报告录入学生身高体重等.docx_第3页
第3页 / 共11页
汇编课设程序报告录入学生身高体重等.docx_第4页
第4页 / 共11页
汇编课设程序报告录入学生身高体重等.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

汇编课设程序报告录入学生身高体重等.docx

《汇编课设程序报告录入学生身高体重等.docx》由会员分享,可在线阅读,更多相关《汇编课设程序报告录入学生身高体重等.docx(11页珍藏版)》请在冰豆网上搜索。

汇编课设程序报告录入学生身高体重等.docx

汇编课设程序报告录入学生身高体重等

 

华北科技学院

 

课程设计说明书

 

专业:

网络工程

课程名称:

汇编语言班级:

网络B093

姓名:

李金栋学号:

200907024324

设计题目:

个人文档管理

设计时间:

2011.12.5至2011.12.16

评语:

________________________________

_________________________________________

_________________________________________

_________________________________________

_________________________________________

评阅成绩:

____评阅教师:

_李冬艳____

 

课程设计报告的要求

1、需求分析

描述问题。

简述课题要解决的问题是什么,有什么要求和限制条件。

2、总体设计(程序设计组成框图、流程图)

3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等))

4、调试与测试:

调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施

5、测试结果,用几组测试数据进行测试算法设计的正确性。

6、附录。

源程序清单和结果:

源程序要加注释。

结果要包括测试数据和运行结果。

《汇编语言》课程设计

一需求分析

建立一个输入个人信息、显示个人信息的程序、实现菜单化操作,子母i、l、q、对应插入信息、显示列表、退出程序的功能。

程序开始时,先建立判断是否存在文件,如果不存在,就创立文件。

然后随便输入i,l,q中任意一个字母(可以是大写),然后跳到相应的子程序,输入i时,跳到输入的子程序,输入相应的数据,保存到文件里。

当输入l时,保存在文件里的数据就会显示,每个学生的信息显示一行。

当输入q时,直接关闭文件,程序结束

二总体设计

1功能结构图设计

 

2模块简介

依据程序的功能模块的划分,各模块定义如下:

(1)输入个人信息

模块名:

insert;

模块描述:

通过此模块可以向某个人的信息。

并且将学生信息写入指定的txt文件。

添加有误则弹出相应信息提示,并实现再次输入此项目。

(2)显示个人信息

模块名:

list_all;

模块描述:

显示所有文件中存储的个人信息。

(3)打开创建文件

模块名:

open_create;

模块描述:

没有指定的txt文件时创建文件、文件存在时打开文件,为写入数据做准备。

(4)关闭文件

模块名:

closef;

模块描述:

关闭文件。

三详细设计

1、主过程的算法设计:

显示菜单及运用选择操作,调用各个过程,最后退出程序,

主要代码

start:

movax,condata

moves,ax

movax,vardata

movds,ax

pushds

;--------------显示菜单-------------------

movax,es

movds,ax

movdx,offsets4;显示菜单

movah,9h

int21h

popds

;----------------选择命令------------------

cmp_l1:

movah,01h

int21h

cmpal,'l'

jnzcmp_L2

calllist_all

jmpstart

cmp_L2:

cmpal,'L'

jnzcmp_i1

calllist_all

jmpstart

cmp_i1:

cmpal,'i'

jnzcmp_I2

callinsert

jmpstart

cmp_I2:

cmpal,'I'

jnzcmp_q1

callinsert

jmpstart

cmp_q1:

cmpal,'q'

JNEcmp_Q2

jeclosef;直接退出

cmp_Q2:

cmpal,'Q'

jeclosef

exit:

movax,4c00h

int21h

系统的程序流程图

2、子过程的算法设计

(1)插入信息(包含纠错)

该过程的程序流程图.

 

 

由于输入信息的子程序中很多算法类似相同,有些纠错方法相同,下面只介绍姓名程序段的流程图,对于输入数字的纠错,只是比较的对象变化,相应的循环次数发生相应变化,这和数据单元的预先定义有关。

 

 

(2)显示子程序使用的是类似输入子程序的流程。

读取姓名、年龄、性别等采取的循环体与输入部分一致,在此不值得赘述。

四调试与测试

调试程序的程序段(举例)

init:

;memoryinitialize初始化

movnames[bx],0

incbx

cmpbx,20

jlinit

movbx,0

lp:

;从键盘接受数据

movah,1

int21h

cmpal,0dh

jzinext

cmpal,0ah

jzinext

movnames[bx],al

incbx

cmpbx,10

jllp

以上是未调试之前的代码,对应输入子程序的姓名输入,运行的相应结果如下

修改后代码及截图

start1:

movdx,offsetmess_n;增加部分

movah,9h

int21h

movbx,0

init:

;memoryinitialize初始化

movnames[bx],0

incbx

cmpbx,20

jlinit

movbx,0

;从键盘接受数据

lp:

movah,1

int21h

cmpal,0dh

jzinext

cmpal,0ah

jzinext

cmpal,61h;;;;;;;;;;;;;;;;;纠错;增加部分

jberror1;;;;;;;;;;;;;;;;;;增加部分

cmpal,7ah

jaerror1;;;;;;;;;;;;;;;;;增加部分

movnames[bx],al

incbx

cmpbx,10

jllp

error1:

;增加部分

leadx,s5;;;;;;;提示

movah,9

int21h

jmpstart1

截图

后边相应的改动于此类似,不在赘述。

五测试结果

1、程序运行结果如下所示。

 

上图是输入的情况,表示程序已经实现了纠错。

2、显示列表、键入q就退出程序、键入任意键后退出DOS。

 

六感想:

这个程序是在原有程序的基础上修改得到的,原有程序没有输入的纠错功能,自己通过思考和同学讨论,对程序增加了纠错功能的提示和相应的跳转指令,实现当输入不合法时,可以返回相应的项目重新输入,这保证了程序的健壮性,跳转的位置设置很重要,一个程序段实现了,其余的便照搬可以了。

程序定义了一个

宏,宏中使用了bios中断,使屏幕上卷。

宏插入的位置,是经过很多次尝试,最终确定下来的。

通过这次实验,更加理解了宏的调用,和分支、循环程序的设计,尤其是数据段的定义,和写入文件的设计方法,改变了我以前依靠数组存储的编程思想。

总之,这个成绩程序已经完成了题目所要求的功能,并实现了纠错,算是一个比较完整的程序了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1