汇编语言版学生管理系统演示教学.docx

上传人:b****8 文档编号:29486540 上传时间:2023-07-23 格式:DOCX 页数:39 大小:304.65KB
下载 相关 举报
汇编语言版学生管理系统演示教学.docx_第1页
第1页 / 共39页
汇编语言版学生管理系统演示教学.docx_第2页
第2页 / 共39页
汇编语言版学生管理系统演示教学.docx_第3页
第3页 / 共39页
汇编语言版学生管理系统演示教学.docx_第4页
第4页 / 共39页
汇编语言版学生管理系统演示教学.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

汇编语言版学生管理系统演示教学.docx

《汇编语言版学生管理系统演示教学.docx》由会员分享,可在线阅读,更多相关《汇编语言版学生管理系统演示教学.docx(39页珍藏版)》请在冰豆网上搜索。

汇编语言版学生管理系统演示教学.docx

汇编语言版学生管理系统演示教学

 

汇编语言版学生管理系统

汇编语言课程实习报告

 

实习题目学生成绩管理系统

学生姓名

班级(学号)

院系

指导老师

提交时间

成绩

 

 

题目一:

学生成绩管理系统

基本功能:

1、输入学生各门功课成绩;(假设3门功课,每门功课有唯一编号)

2、对学生成绩记录进行查询检索(按学号、姓名)

3、能修改指定学号的学生成绩;

4、对学生成绩排序(按总成绩降序排列);

5、、统计指定学号的学生的平均成绩在屏幕上显示;

6、统计指定编号课程的平均成绩在屏幕上显示;

7、每门课程成绩分析:

在屏幕上显示3门课程的各个分数段的学生人数;

(分数段为:

>=90;80~89;70~79;60~69;<=59)

8、退出系统功能

二、总体设计

功能结构图设计

依据程序的功能需求,描述该系统功能的结构图如下:

学生成绩管理系统

 

Insert

插入学生成绩

Analysiss

分数段人数

Printit

显示学生评价成绩

Query

查询学生

成绩

modify

修改学生

成绩

Rank

学生成绩

排名

Academic

学科平均成绩

Esc

退出学生

成绩管理

I

S

P

Q

M

R

G

E

图1系统功能结构图

studentstruc

namesdb18dup('$')

mathsdw?

englishdw?

chinesedw?

totaldw0

avgdw0

studentends

DATASSEGMENT

stu_arraystudent10dup(<>)

构建了student结构体,在存储方面使得结构变得简单。

insertprocnear

incnum

scur10

altertmes7

scur1

altertmes4

subbh,bh

movbl,num

bindecbx

crlf

movah,09

leadx,mes

int21h

subah,ah

moval,28d

mulnum

movsi,ax

scur2

movah,0ah

leadx,stu_array[si].names

subbh,bh

movbl,stu_array[si+1].names

movstu_array[si+bx+2].names,'$'

int21h

scur3

calldecibin

movstu_array[si].maths,bx

addstu_array[si].total,bx

scur4

calldecibin

movstu_array[si].english,bx

addstu_array[si].total,bx

scur5

calldecibin

movstu_array[si].chinese,bx

addstu_array[si].total,bx

movbl,3

movax,stu_array[si].total

divbl

subah,ah

movstu_array[si].avg,ax

ret

insertendp

用num做全局变量为学生的编号,在学生查询方面比较便利。

程序主界面:

Insert子程序界面:

Modify子程序界面:

Query子程序界面:

学生平均成绩分析界面:

学科成绩界面:

分数段界面:

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

(1)插入学生成绩

功能名:

insert

功能描述:

通过此功能可以插入一名学生的成绩信息,学号、姓名、语文成绩、数学成绩、英语成绩。

(2)学生平均成绩

功能名:

Printit

功能描述:

通过此功能指定学号的学生平均成绩

(3)学科平均成绩

功能名:

Academic

功能描述:

通过此功能可以显示指定编号的学科平均成绩。

(4)查询学生成绩

功能名:

query

功能描述:

通过此功能可以查询一名学生的成绩信息,学号、姓名、语文成绩、数学成绩、英语成绩。

(5)修改学生成绩

功能名:

modify

功能描述:

通过此功能可以修改一名学生的成绩信息,学号、姓名、语文成绩、数学成绩、英语成绩。

(6)学生成绩排名

功能名:

rank

功能描述:

通过此功能可以查看学生成绩总分排名。

(7)各科分数段人数

功能名:

Analysiss

功能描述:

通过此功能可以查看每科分数段人数。

(8)退出学生成绩管理系统

功能名:

esc

功能描述:

退出成绩管理系统

 

主程序流程图

Inputchar

Esc

退出学生

成绩管理

Printit

显示学生评价成绩

Academic

学科平均成绩

Analysiss

分数段人数

Rank

学生成绩

排名

modify

修改学生

成绩

Query

查询学生

成绩

Insert

插入学生成绩

cmpal,’e’

cmpal,’g’

cmpal,’s’

cmpal,’r’

cmpal,’m’

cmpal,’q’

cmpal,’i’

cmpal,’c’

N

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

Y

N

Y

详细设计

菜单模块

studentstruc

namesdb18dup('$')

mathsdw?

englishdw?

chinesedw?

totaldw0

avgdw0

studentends

DATASSEGMENT

stu_arraystudent10dup(<>)

recnamedb18dup('$')

numdb0

num1dw0

num2dw0

num3dw0

num4dw0

num5dw0

num6dw0

recdw0

mesdb'Name:

',13,10

db'Maths:

',13,10

db'English:

',13,10

db'Chinese:

',13,10,'$'

mes1db'Can`tfindthestudent!

$'

mes2db'-------------------MainMenu------------------',13,10,13,10

db'I.Inserttheinformation',13,10,13,10

db'M.Modifytheinformation',13,10,13,10

db'Q.Querythestudent',13,10,13,10

db'C.Charforquerythestudent',13,10,13,10

db'P.Printitthestudentaveragescores',13,10,13,10

db'S.Studentperformanceanalysiss',13,10,13,10

db'R.Rankofsumgrade',13,10,13,10

db'G.Academicaverage',13,10,13,10

db'E.ESC',13,10,13,10

db'-------StudentGradeManagementSystem--------',13,10,'$'

mes3db'Pleaseinputnumofthestudent:

$'

mes4db'Numofthestudentis:

$'

mes5db'-------Querythestudent-----------$'

mes6db'-------Modifytheinformation------$'

mes7db'-------Inserttheinformation------$'

mes8db'-------Studentaveragescores------',13,10

db'Name:

',13,10

db'Avgscore:

',13,10,'$'

mes9db'-------MathsAnalysiss-------------',13,10

db'>=90:

',13,10

db'80~80:

',13,10

db'70~79:

',13,10

db'60~69:

',13,10

db'<=59:

',13,10,'$'

mes10db'-------EnglishAnalysiss-----------',13,10

db'>=90:

',13,10

db'80~80:

',13,10

db'70~79:

',13,10

db'60~69:

',13,10

db'<=59:

',13,10,'$'

mes11db'-------ChineseAnalysiss-----------',13,10

db'>=90:

',13,10

db'80~80:

',13,10

db'70~79:

',13,10

db'60~69:

',13,10

db'<=59:

',13,10,'$'

mes12db'Thereisnodata!

$'

mes13db'---------M->Avgofmaths------------',13,10,13,10

db'---------N->Avgofenglish----------',13,10,13,10

db'---------C->Avgofchinese----------',13,10

db'Pleaseinputthechar:

$'

mes14db'Maths:

$'

mes15db'English:

$'

mes16db'Chinese:

$'

sumdw30dup('')

输入模块

menu:

callclear_screen

scur11

pushax

pushbx

pushcx

pushdx

pushsi

movah,2

movbh,0

movdh,1

movdl,0

int10h

movah,09

leadx,mes2

int21h

movah,1

int21h

cmpal,'i'

jzii

cmpal,'q'

jzqq

cmpal,'m'

jzmm

cmpal,'p'

jzPP

cmpal,'s'

jzss2

cmpal,'c'

jzcc

cmpal,'r'

jzrr

cmpal,'g'

jzgg

cmpal,'e'

jzee

jmpmenu

gg:

callclear_screen

callAcademic_average

jmpmenu

rr:

callclear_screen

callrank

jmpmenu

ii:

callclear_screen

callinsert

jmpmenu

qq:

callclear_screen

callquery

jmpmenu

mm:

callclear_screen

callmodify

jmpmenu

pp:

callclear_screen

callstudent_p

jmpmenu

ss2:

callclear_screen

callscore_analysis

jmpmenu

cc:

callclear_screen

callquery_char

jmpmenu

;此处输入代码段代码

ee:

MOVAH,4CH

INT21H

 

主程序代码

START:

MOVAX,DATAS

MOVDS,AX

menu:

callclear_screen

scur11

pushax

pushbx

pushcx

pushdx

pushsi

movah,2

movbh,0

movdh,1

movdl,0

int10h

movah,09

leadx,mes2

int21h

movah,1

int21h

cmpal,'i'

jzii

cmpal,'q'

jzqq

cmpal,'m'

jzmm

cmpal,'p'

jzPP

cmpal,'s'

jzss2

cmpal,'c'

jzcc

cmpal,'r'

jzrr

cmpal,'g'

jzgg

cmpal,'e'

jzee

jmpmenu

gg:

callclear_screen

callAcademic_average

jmpmenu

rr:

callclear_screen

callrank

jmpmenu

ii:

callclear_screen

callinsert

jmpmenu

qq:

callclear_screen

callquery

jmpmenu

mm:

callclear_screen

callmodify

jmpmenu

pp:

callclear_screen

callstudent_p

jmpmenu

ss2:

callclear_screen

callscore_analysis

jmpmenu

cc:

callclear_screen

callquery_char

jmpmenu

;此处输入代码段代码

ee:

MOVAH,4CH

INT21H

;********************

子程序代码

query_charprocnear

cmpnum,0

jzqc_exit

movah,0ah

leadx,recname

int21h

subbh,bh

movbl,recname+1

movrecname[bx+2],'$'

scur1

subah,ah

moval,28d

mulnum

movbx,ax

movah,09

leadx,stu_array[bx].names

adddx,2

int21h

crlf

leadx,recname

adddx,2

movah,09

int21h

leadi,recname

adddi,2

leasi,stu_array[bx].names

addsi,1

subch,ch

movcl,recname+1

cld

repzcmpsb

jzqc_exit1

crlf

subdh,dh

movdl,num

qc_loop:

subah,ah

moval,28d

mulnum

movsi,ax

leadi,stu_array[si].names

adddi,2

leasi,recname

addsi,1

subch,ch

movcl,recname+1

cld

repzcmpsb

jzqc_exit1

decdl

cmpdl,0

jzqc_exit

jmpqc_loop

qc_exit:

scur6

altertmes1

crlf

qc_exit1:

movah,01

movdl,0ah

int21h

ret

query_charendp

;**********************

insertprocnear

incnum

scur10

altertmes7

scur1

altertmes4

subbh,bh

movbl,num

bindecbx

crlf

movah,09

leadx,mes

int21h

subah,ah

moval,28d

mulnum

movsi,ax

scur2

movah,0ah

leadx,stu_array[si].names

subbh,bh

movbl,stu_array[si+1].names

movstu_array[si+bx+2].names,'$'

int21h

scur3

calldecibin

movstu_array[si].maths,bx

addstu_array[si].total,bx

scur4

calldecibin

movstu_array[si].english,bx

addstu_array[si].total,bx

scur5

calldecibin

movstu_array[si].chinese,bx

addstu_array[si].total,bx

movbl,3

movax,stu_array[si].total

divbl

subah,ah

movstu_array[si].avg,ax

ret

insertendp

;****************************

queryprocnear

scur10

altertmes5

crlf

movah,09

leadx,mes

int21h

sno:

subdh,dh

movdl,num

altertmes3

calldecibin

q:

cmpdx,0

jzerror

cmpbx,dx

jzi

decdx

cmpdx,0

jzerror

jmpq

i:

subah,ah

moval,28d

muldl

movsi,ax

scur1

movah,09

leadx,stu_array[si].names

adddx,2

int21h

crlf

scur2

bindecstu_array[si].maths

crlf

scur3

bindecstu_array[si].english

crlf

scur4

bindecstu_array[si].chinese

movah,1

movdl,0ah

int21h

jmpq_exit

error:

crlf

movah,09

leadx,mes1

int21h

crlf

movah,1

movdl,0ah

int21h

q_exit:

ret

queryendp

;**********************************

modifyprocnear

scur10

altertmes6

crlf

movah,09

leadx,mes

int21h

sno1:

subdh,dh

movdl,num

altertmes3

calldecibin

q1:

cmpdx,0

jzerror1

cmpbx,dx

jzi1

decdx

cmpdx,0

jzerror1

jmpq1

i1:

subah,ah

moval,28d

muldl

movsi,ax

scur1

movah,0ah

leadx,stu_array[si].names

int21h

subbh,bh

movbl,stu_array[si+1].names

movstu_array[si+bx+2].names,'$'

scur2

calldecibin

movstu_array[si].maths,bx

addstu_array[si].total,bx

scur3

calldecibin

movstu_array[si].english,bx

addstu_array[si].total,bx

scur4

calldecibin

movstu_array[si].chinese,bx

addstu_array[si].total,bx

movbl,3

movax,stu_array[si].total

divbl

subah,ah

movstu_array[si].avg,ax

jmpm_exit

error1:

crlf

movah,09

leadx,mes1

int21h

crlf

movah,1

movdl,0ah

int21h

m_exit:

ret

modifyendp

;***********************************

score_analysisprocnear

subch,ch

movcl,num

movdx,cx

cmpcx,0

jzs_aexit

loop1:

;maths

callloop2

looploop1

scur10

altertmes9

scur1

bindecn

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

当前位置:首页 > 考试认证 > 司法考试

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

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