汇编实验之统计学生成绩
统计学生成绩程序一、题目要求二、注意三、具体代码一、题目要求设有 10 个学生的成绩分别为 56、69、84、82、73、88、99、63、100 和 80 分。试编制程序分别统计低于 60 分、60~69 分、70~79 分、80~89 分、90~99 分及 100 分的人数存放到 s5、s6、s7、s8、s9 及 s10 单元,并分别输出这些单元的数据。二、注意要注意的地方在于输出完一类成绩后
·
一、题目要求
设有 10 个学生的成绩分别为 56、69、84、82、73、88、99、63、100 和 80 分。试编制程序分别统计低于 60 分、60~69 分、70~79 分、80~89 分、90~99 分及 100 分的人数存放到 s5、s6、s7、s8、s9 及 s10 单元,并分别输出这些单元的数据。
二、注意
要注意的地方在于输出完一类成绩后要进行换行操作,灵活利用子程序和循环即可
三、具体代码
;4.asm
.model small
.stack
.data
str_s5 db 'grade <60 is:','$'
str_s6 db 'grade 60-69 is:','$'
str_s7 db 'grade 70-79 is:','$'
str_s8 db 'grade 80-89 is:','$'
str_s9 db 'grade 90-99 is:','$'
str_s10 db 'grade =100 is:','$'
ENT db 0ah,'$';换行
grade db 56,69,84,82,73,88,99,63,100,80;成绩
s5 db 0
s6 db 0
s7 db 0
s8 db 0
s9 db 0
s10 db 0
.code
.startup
mov cx,10
mov si,offset grade
;循环开始
again:
mov al,[si]
cmp al,60;与60比较
jae ae60;如果大于等于60,跳转
inc s5;否则,小于60,s5++
jmp next
ae60:
cmp al,70
jae ae70
inc s6
jmp next
ae70:
cmp al,80
jae ae80
inc s7
jmp next
ae80:
cmp al,90
jae ae90
inc s8
jmp next
ae90:
cmp al,100
je e100
inc s9
jmp next
e100:
inc s10
next:
inc si
loop again
;循环结束
mov dx,offset str_s5
mov ah,09h
int 21h
mov dl,s5;输出s5
or dl,30h;与30h或,将数值转换成ASCII码
mov ah,02h
int 21h
mov dx,offset ent;换行
mov ah,09h
int 21h
mov dx,offset str_s6
mov ah,09h
int 21h
mov dl,s6
or dl,30h
mov ah,02h
int 21h
mov dx,offset ent;换行
mov ah,09h
int 21h
mov dx,offset str_s7
mov ah,09h
int 21h
mov dl,s7
or dl,30h
mov ah,02h
int 21h
mov dx,offset ent;换行
mov ah,09h
int 21h
mov dx,offset str_s8
mov ah,09h
int 21h
mov dl,s8
or dl,30h
mov ah,02h
int 21h
mov dx,offset ent;换行
mov ah,09h
int 21h
mov dx,offset str_s9
mov ah,09h
int 21h
mov dl,s9
or dl,30h
mov ah,02h
int 21h
mov dx,offset ent;换行
mov ah,09h
int 21h
mov dx,offset str_s10
mov ah,09h
int 21h
mov dl,s10
or dl,30h
mov ah,02h
int 21h
.exit
end

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)