目录1 系统实现的目标 3
2 系统实现方案 3
3 详细设计 3
4 具体的开发方法 5
5 调试及分析结果。
参考文献 14
用汇编实现成绩管理系统,首先必须有一个友好的界面,界面的设计是本系统的重要的组成部分,利用int10的显示功能,显示字符,实现界面设计。其次是光标的定位(int10和int21各功能的实现),界面设计好了,那么,在频幕上显示时,使用者必须按操作,光标位置就是提示。最后,就是各功能模块的编写,编写成子程序,在主程序中调用这些子程序实现各个功能。
对于主程序的设计,不外乎是不断的调用子程序。
一)设计一个学生的成绩系统,包括功能如下:
1,输入学生的信息。
2,查询学生的信息。
3,修改学生的信息。
查询学生总人数,输入学生的姓名,输入学生的分数,输入学生的学号)
二)算法。1)数据段(datas segment)
name db 50 dup学生姓名。
score db 20 dup学生得分。
number db 20 dup学生序号。
count db 0 ;学生总人数,初始值位零。
temp db ? 用于缓存。
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
2)**段(codes segment)
主界面。lea dx, welcome
子程序1:从键盘读入一个字符,input_key proc near
input_key endp
;子程序2: 回车换行。
otherline proc near
otherline endp
子程序3:输入学生name
input_name proc near
input_name endp
子程序4:输入学生score
input_score proc near
input_score endp
;子程序5:查询学生信息。
search proc near
;子程序6: 修改学生信息。
datas segment
;提示信息。
welcome db 'welcome to use shi zheng software!',13,10,'$
massage0 db 'what are you want to do ?'13,10,'$
massage1 db ' student information',13,10,'$
massage2 db ' student information',13,10,'$
massage3 db ' student information',13,10,'please choice
massage4 db 'how many stdentds? '13,10,'$
massage5 db 'please input name in turn',13,10,'$
massage6 db 'please input scorer in turn',13,10,'$
massage7 db 'please input number in turn',13,10,'$
massage8 db 'finished ',13,10,'$
massage9 db 'input number',13,10,'$
massage10 db 'please input socrer',13,10,'$
massage11 db 'the number , name, socrer is : 13,10,'$
massage12 db 'sorry ! wrong number!',13,10,'$
; 定义变量。
_name db 20 dup学生姓名。
score db 20 dup学生得分。
number db 20 dup(0) ;学生序号。
count db 0 ;学生总人数,初始值位零。
temp db ? 用于缓存。
datas ends
stacks segment
db 100 dup(?)
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
;主界面。again0:
lea dx, welcome
mov ah,9
int 21h
lea dx, massage1
mov ah,9
int 21h
lea dx, massage2
mov ah,9
int 21h
lea dx, massage3
mov ah,9
int 21h
mov ah, 01h
int 21h
call otherline
cmp al,32h ;和字符2进行比较。
jz l1 ;选择2,查询。
ja l2 ;选择3,修改。
否则选择1,输入学生信息。
lea dx, massage4 ;提示信息。
mov ah,9
int 21h
call otherline
mov ah,01h ;输入学生个数。
int 21h
sub al,30h ;得到十进制数。
call otherline
mov count,al ;将总个数输入count中。
xor ax,ax
mov al,count
cbwmov cx,ax;cx控制循环。
xor si,si
mov dl,1
next1:
mov number[si],dl;输入序号。
inc si
inc dl
loop next1
call input_name
call input_score
jmp again0
l1:call search
jmp again0
l2:call revise
jmp again0 ;继续循环。
mov ah,4ch
int 21h
子程序1:从键盘读入一个字符,input_key proc near
push ax
mov ah,01h
int 21h
mov temp,al ;利用temp返回输入的值
pop ax
retinput_key endp
;子程序2: 回车换行。
otherline proc near
push ax
push dx
mov dl,13
mov ah,02
汇编课程设计
直流电机调速系统设计。摘要。脉宽调制的全称为 pulse widthmodulator 简称pwm 直流电机调速器就是调节直流电动机速度的设备,由于直流电动机具有低转速大力矩的特点,是交流电动机无法取代的,因此调节直流电动机速度的设备 直流调速器,由于它的特殊性能 常被用于直流负载回路中 灯具调光或...
汇编课程设计
湖南农业大学课程设计报告。学院 信息科学与技术学院班级 计算机科学与技术2班 姓名 陈小湾学号 200841842226 课程设计报告题目 时钟显示程序。课程名称 微机原理与接 术。评阅成绩 评阅意见 成绩评定教师签名 日期 年月日。第一部分 任务与要求。利用芯片8253和8259a完成时钟显示程序...
汇编课程设计
汇编语言课程临近结束时,将利用实验课和理论课最后阶段时间 大约14周开始,具体安排听通知 让同学们进行题目的答辩。分组 每5到6人一组,推选出组长。每组同学选一组题目,且任两组同学不得选重复组的题目,两班同学不要选相同组题目。请班长在第三周周一前将分组及选题的汇总excel电子版发到我邮箱。选第一组...