学生成绩管理系统设计实验汇编语言汇编.docx
- 文档编号:24793502
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:41
- 大小:227.24KB
学生成绩管理系统设计实验汇编语言汇编.docx
《学生成绩管理系统设计实验汇编语言汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计实验汇编语言汇编.docx(41页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统设计实验汇编语言汇编
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□
加拿大beadworks公司就是根据年轻女性要充分展现自己个性的需求,将世界各地的珠类饰品汇集于“碧芝自制饰品店”内,由消费者自选、自组、自制,这样就能在每个消费者亲手制作、充分发挥她们的艺术想像力的基础上,创作出作品,达到展现个性的效果。
据了解,百分之八十的饰品店都推出“DIY饰品”来吸引顾客,一方面顺应了年轻一代喜欢与众不同、标新立异的心理;另一方面,自制饰品价格相对较低,可以随时更新换代,也满足了年轻人“喜新厌旧”的需要,因而很受欢迎。
我们从小学、中学到大学,学的知识总是限制在一定范围内,缺乏在商业统计、会计,理财税收等方面的知识;也无法把自己的创意准确而清晰地表达出来,缺少个性化的信息传递。
对目标市场和竞争对手情况缺乏了解,分析时采用的数据经不起推敲,没有说服力等。
这些都反映出我们大学生创业知识的缺乏;
二、大学生DIY手工艺制品消费分析
调研要解决的问题:
(4)创新能力薄弱
据上述部分的分析可见,我校学生就达4000多人。
附近还有两所学校,和一些居民楼。
随着生活水平的逐渐提高,家长给孩子的零用钱也越来越多,人们对美的要求也越来越高,特别是大学生。
他们总希望自己的无论是衣服还是首饰都希望与众不同,能穿出自己的个性。
但在我们美丽的校园里缺少自己的个性和琳琅满目的饰品,所以我们的小饰品店存在的竞争力主要是南桥或是市区的。
这给我们小组的创业项目提供了一个很好的市场机会。
他们的成功秘诀在于“连锁”二字。
凭借“连锁”,他们在女孩们所喜欢的小玩意上玩出了大名堂。
小店连锁,优势明显,主要有:
尽管售价不菲,但仍没挡住喜欢它的人来来往往。
这里有营业员们向顾客们示范着制作各种风格迥异的饰品,许多顾客也是学得不亦乐乎。
在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。
可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。
而这也许正是自己制造所能带来最大的快乐吧。
实验六学生成绩管理系统设计实验
一、实验目的
1、熟悉汇编语言程序结构;
2、熟悉INT21H的文件操作功能调用;
3、熟悉INT21H的1、9号功能和INT10H常用功能的使用方法;
4、掌握多子程序复杂问题程序设计方法;
5、掌握利用汇编语言实现字符串的输入输出程序设计方法;
6、了解多模块程序设计方法。
二、实验原理
我们把可以多次调用、具有通用性、能完成特定功能的程序段编写成的独立程序模块称为子程序。
子程序是把一个程序划分成若干模块所用的主要手段,它便于独立设计、测试程序和编制程序文件。
3、实验内容
1、实验要求
设计一个学生成绩管理系统,要求完成文件建立、学生成绩录入、显示指定学号的学生记录、删除一个学生的记录、修改学生记录、返回等工作。
学生成绩包括学号(XH)、姓名(XM)、数学(SX)、语文(YW)、外语(WY)字段。
至少包括30名学生信息,每名学生学号字段为4个字符,姓名字段为15个字符(最大),每门成绩字段为3个字符(最大)。
程序设计步骤如下:
1、编写主程序main.asm;
2、编写文件创建子程序create,实现在指定盘指定文件夹“d:
\chengji\2009\”下建立一个指定名称的文件2009doc.dat;
3、编写成绩录入子程序append,实现在指定文件尾部插入一个学生的成绩记录;
4、编写显示子程序display,实现按指定学号显示一个学生的记录;
5、编写修改子程序modify,实现按指定学号修改一个学生的记录字段(不需修改直接回车);
6、编写删除子程序,实现按指定学号、姓名删除一个学生的记录;
7、编译、链接、调试,产生可执行文件main.exe。
2、程序流程图
3、程序代码
程序代码如下:
DATASSEGMENT
MSG1DB'1.Appendarecord$'
MSG2DB'2.Displayarecord$'
MSG3DB'3.Modifyarecord$'
MSG4DB'4.Deletearecord$'
MSG5DB'5.Createfile$'
MSG6DB'6.ReturnDOS$'
MSGCDB'Pleaseinput1--6:
$'
MSGEDB'Error!
$'
MSGC1DB'Pleaseinputfilename:
$'
MAXLENDB25
ACTLENDB?
STRINGDB25DUP(?
)
MAXLEN1DB25
ACTLEN1DB?
STRING1DB25DUP(?
)
PATHNMDB'D:
\chengji\2009\\',23DUP(?
)
PATHDB'D:
\chengji\2009\2009doc.dat',00
MSGA1DB'PleaseinputXH:
$'
MSGA2DB'PleaseinputXM:
$'
MSGA3DB'PleaseinputSX:
$'
MSGA4DB'PleaseinputYW:
$'
MSGA5DB'PleaseinputWY:
$'
HANDLEDW?
MSGXHDB'Xuehao:
$'
MSGXMDB'Xingming:
$'
MSGSXDB'Shuxue:
$'
MSGYWDB'Yuwen:
$'
MSGWYDB'Waiyu:
$'
BUFFERDB2048DUP('')
MSGRTDB'Pressanykeytoreturn!
$'
DELSTRDB33DUP('')
DATASENDS
STACKSSEGMENTSTACK
DB256DUP(?
)
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
;********************************
;主程序
MAINPROCFAR
S:
;清屏
CALLCLS;逐行输出提示信息
MOVAH,02H
MOVDH,9
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG1
INT21H
MOVAH,02H
MOVDH,10
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG2
INT21H
MOVAH,02H
MOVDH,11
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG3
INT21H
MOVAH,02H
MOVDH,12
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG4
INT21H
MOVAH,02H
MOVDH,13
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG5
INT21H
MOVAH,02H
MOVDH,14
MOVDL,30
INT10H
MOVAH,9
LEADX,MSG6
INT21H;提示输入
MOVAH,02H
MOVDH,15
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGC
INT21H;从键盘读入一个数字
MOVAH,02H
MOVDH,15
MOVDL,48
INT10H
MOVAH,1
INT21H;按数字对应子程序
CMPAL,31H
JZCAPPEND
CMPAL,32H
JZCDISPLAY
CMPAL,33H
JZCMODIFY
CMPAL,34H
JZCDELETE
CMPAL,35H
JZCCREATE
CMPAL,36H
JZE
;若输入不是1-6数字,则提示错误
MOVAH,02H
MOVDH,16
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGE
INT21H
CCREATE:
CALLCREATE
JMPS
CDELETE:
CALLDELETE
JMPS
CMODIFY:
CALLMODIFY
JMPS
CDISPLAY:
CALLDISPLAY
JMPS
CAPPEND:
CALLAPPEND
JMPS
E:
MOVAH,4CH
INT21H
MAINENDP
;********************************
;CREATE程序
CREATEPROCNEAR
PUSHAX
PUSHCX
PUSHDX
PUSHSI
PUSHDI;清屏
CALLCLS
;提示输入文件名
MOVAH,2
MOVDH,12
MOVDL,20
INT10H
MOVAH,9
LEADX,MSGC1
INT21H
;从键盘读入文件名字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H
;将文件名字符串加到ASCIZ字符串末尾
MOVCX,0
MOVCL,ACTLEN
LEASI,STRING
LEADI,PATHNM
ADDDI,16
LCREATE:
MOVAL,BYTEPTR[SI]
MOV[DI],AL
INCDI
INCSI
LOOPLCREATE
;在ASCIZ字符串末尾加00
MOVBYTEPTR[DI],0
;按ASCIZ字符串创建文件
MOVAH,3CH
LEADX,PATHNM
MOVCX,0
INT21H
POPDI
POPSI
POPDX
POPCX
POPAX
RET
CREATEENDP
;********************************
;APPEND程序
APPENDPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHSI
PUSHDI;清屏
CALLCLS
;打开文件(只写)
MOVAH,3DH
MOVAL,01H
LEADX,PATH
INT21H
MOVHANDLE,AX
;提示输入学号
MOVAH,02H
MOVDH,10
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGA1
INT21H
;从键盘读入字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H
;在字符串末尾补足空格
MOVDX,4
CALLFILL
;将文件指针定位至文件末尾
MOVAH,42H
MOVAL,2
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;写入文件
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;提示输入姓名
MOVAH,02H
MOVDH,11
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGA2
INT21H;从键盘读入字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;在字符串末尾补足空格
MOVDX,15
CALLFILL
;将文件指针定位至文件末尾
MOVAH,42H
MOVAL,2
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;写入文件
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;提示输入语文成绩
MOVAH,02H
MOVDH,12
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGA3
INT21H;从键盘读入字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;在字符串末尾补足空格
MOVDX,3
CALLFILL
;将文件指针定位至文件末尾
MOVAH,42H
MOVAL,2
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;写入文件
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;提示输入数学成绩
MOVAH,02H
MOVDH,13
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGA4
INT21H;从键盘读入字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;在字符串末尾补足空格
MOVDX,3
CALLFILL
;将文件指针定位至文件末尾
MOVAH,42H
MOVAL,2
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;写入文件
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;提示输入外语成绩
MOVAH,02H
MOVDH,14
MOVDL,30
INT10H
MOVAH,9
LEADX,MSGA5
INT21H;从键盘读入字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;在字符串末尾补足空格
MOVDX,3
CALLFILL
;在字符串末尾加回车、换行
INCSI
MOVBYTEPTR[BX+SI],0DH
INCSI
MOVBYTEPTR[BX+SI],0AH
ADDACTLEN,2
;将文件指针定位至文件末尾
MOVAH,42H
MOVAL,2
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;写入文件
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;关闭文件
MOVAH,3EH
MOVBX,HANDLE
INT21H
POPDI
POPSI
POPDX
POPCX
POPBX
POPAX
RET
APPENDENDP
;********************************
DISPLAYPROCNEAR
PUSHAX
PUSHDX;清屏
CALLCLS;提示输入学号
MOVAH,02H
MOVDH,10
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGXH
INT21H;从键盘读入学号字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;打开文件(只读)
MOVAH,3DH
MOVAL,00H
LEADX,PATH
INT21H
MOVHANDLE,AX
;将文件指针定位至文件开头
MOVAH,42H
MOVAL,0
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;将文件载入缓存
MOVAH,3FH
MOVBX,HANDLE
MOVCX,2048
LEADX,BUFFER
INT21H;在缓存中找到对应记录
LEASI,BUFFER
LEADI,STRING
MOVCX,AX
CALLSEARCH
CMPDX,0
JZOUTPUT
;若未找到,则提示错误
MOVAH,9
LEADX,MSGE
INT21H
JMPDEND;显示对应信息
OUTPUT:
MOVAH,02H
MOVDH,11
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGXM
INT21H
ADDSI,5
MOVAH,9
MOVDX,SI
INT21H
MOVAH,02H
MOVDH,12
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGYW
INT21H
ADDSI,16
MOVAH,9
MOVDX,SI
INT21H
MOVAH,02H
MOVDH,13
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGSX
INT21H
ADDSI,4
MOVAH,9
MOVDX,SI
INT21H
MOVAH,02H
MOVDH,14
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGWY
INT21H
ADDSI,4
MOVAH,9
MOVDX,SI
INT21H
MOVAH,2
MOVDH,15
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGRT
INT21H
MOVAH,1
INT21H
DEND:
;关闭文件
MOVAH,3EH
MOVBX,HANDLE
INT21H
POPDX
POPAX
RET
DISPLAYENDP
;********************************
MODIFYPROCNEAR
PUSHAX
PUSHDX;清屏
CALLCLS;提示输入学号
MOVAH,02H
MOVDH,10
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGXH
INT21H;从键盘读入学号字符串
MOVAH,0AH
LEADX,MAXLEN
INT21H;打开文件(读写)
MOVAH,3DH
MOVAL,10
LEADX,PATH
INT21H
MOVHANDLE,AX
;将文件指针定位至文件开头
MOVAH,42H
MOVAL,0
MOVBX,HANDLE
MOVCX,0
MOVDX,0
INT21H;将文件载入缓存
MOVAH,3FH
MOVBX,HANDLE
MOVCX,2048
LEADX,BUFFER
INT21H;在缓存中找到对应记录
LEASI,BUFFER
LEADI,STRING
MOVCX,AX
CALLSEARCH
CMPDX,0
JZREVISEXM
;若未找到,则提示错误
MOVAH,9
LEADX,MSGE
INT21H
JMPMEND;修改姓名
REVISEXM:
MOVAH,02H
MOVDH,11
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGXM
INT21H
MOVAH,0AH
LEADX,MAXLEN
INT21H
CMPBYTEPTR[STRING],0DH;若为回车,则将指针指向下一字段
JNZXMCONT
ADDSI,5
JMPREVISEYW
XMCONT:
PUSHSI
MOVDX,15
CALLFILL
POPSI
ADDSI,5
LEABX,BUFFER
MOVDX,SI
SUBDX,BX
MOVAH,42H
MOVAL,00
MOVBX,HANDLE
MOVCX,00
INT21H
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;修改语文成绩
REVISEYW:
MOVAH,02H
MOVDH,12
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGYW
INT21H
MOVAH,0AH
LEADX,MAXLEN
INT21H
CMPBYTEPTR[STRING],0DH
JNZYWCONT
ADDSI,16
JMPREVISESX
YWCONT:
PUSHSI
MOVDX,3
CALLFILL
POPSI
ADDSI,16
LEABX,BUFFER
MOVDX,SI
SUBDX,BX
MOVAH,42H
MOVAL,00
MOVBX,HANDLE
MOVCX,00
INT21H
MOVAH,40H
MOVBX,HANDLE
MOVCX,0
MOVCL,ACTLEN
LEADX,STRING
INT21H;修改数学成绩
REVISESX:
MOVAH,02H
MOVDH,13
MOVDL,28
INT10H
MOVAH,9
LEADX,MSGSX
INT21H
MOVAH,0AH
LEADX,MAXLEN
INT21H
CMPBYTEPTR[STRING],0DH
JNZSXCONT
ADDSI,4
JMPREVISEWY
SXCONT:
PUSHSI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计 实验 汇编语言 汇编