
用汇编语言编写程序
问题如下:设有10个学生的成绩分别是:76,69,84,90,73,88,99,63,100,80分。编制一个子程序统计60~69分,70~79分,80~89分,90~9...
问题如下:
设有10个学生的成绩分别是:76,69,84,90,73,88,99,63,100,80分。编制一个子程序统计60~69分,70~79分,80~89分,90~99分和100分的人数并分别存放到S6,S7,S8,S9和S10单元中。
越详细越好,谢谢!!!!!!! 展开
设有10个学生的成绩分别是:76,69,84,90,73,88,99,63,100,80分。编制一个子程序统计60~69分,70~79分,80~89分,90~99分和100分的人数并分别存放到S6,S7,S8,S9和S10单元中。
越详细越好,谢谢!!!!!!! 展开
3个回答
展开全部
data segment
credit dw 76,69,84,90,73,88,99,63,100,80
mes1 db '60-69:$'
mes2 db '70-79:$'
mes3 db '80-89:$'
mes4 db '90-99:$'
mes5 db '100:$'
s6 db ? ;60-69段人数计数器
s7 db ? ;70-79段人数计数器
s8 db ? ;80-89段人数计数器
s9 db ? ;90-99段人数计数器
s10 db ? ;100段人数计数器
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
call count ;统计各分段人数的子程序
mov ah,4ch
int 21h
ret
main endp
count proc near
lea si,credit
mov cx,0ah;循环统计人数并分别存在相应单元中
m1:mov bx,[si]
add si,2
cmp bx,60
jl m6
cmp bx,69
jg m2
inc s6
jmp m6 ;60-69
m2:cmp bx,79
jg m3 ;70-79
inc s7
jmp m6
m3:cmp bx,89
jg m4 ;80-89
inc s8
jmp m6
m4:cmp bx,99
jg m5 ;90-99
inc s9
jmp m6
m5:cmp bx,100
jg m6 ;100
inc s10
m6:loop m1
;以下分别显示不同阶段的个数
mov dx,offset mes1
mov ah,09h
int 21h
mov dl,s6
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes2
mov ah,09h
int 21h
mov dl,s7
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes3
mov ah,09h
int 21h
mov dl,s8
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes4
mov ah,09h
int 21h
mov dl,s9
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes5
mov ah,09h
int 21h
mov dl,s10
add dl,30h
mov ah,02h
int 21h
exit:
ret
count endp
crlf proc near ;回车换行子程序
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start
credit dw 76,69,84,90,73,88,99,63,100,80
mes1 db '60-69:$'
mes2 db '70-79:$'
mes3 db '80-89:$'
mes4 db '90-99:$'
mes5 db '100:$'
s6 db ? ;60-69段人数计数器
s7 db ? ;70-79段人数计数器
s8 db ? ;80-89段人数计数器
s9 db ? ;90-99段人数计数器
s10 db ? ;100段人数计数器
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
call count ;统计各分段人数的子程序
mov ah,4ch
int 21h
ret
main endp
count proc near
lea si,credit
mov cx,0ah;循环统计人数并分别存在相应单元中
m1:mov bx,[si]
add si,2
cmp bx,60
jl m6
cmp bx,69
jg m2
inc s6
jmp m6 ;60-69
m2:cmp bx,79
jg m3 ;70-79
inc s7
jmp m6
m3:cmp bx,89
jg m4 ;80-89
inc s8
jmp m6
m4:cmp bx,99
jg m5 ;90-99
inc s9
jmp m6
m5:cmp bx,100
jg m6 ;100
inc s10
m6:loop m1
;以下分别显示不同阶段的个数
mov dx,offset mes1
mov ah,09h
int 21h
mov dl,s6
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes2
mov ah,09h
int 21h
mov dl,s7
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes3
mov ah,09h
int 21h
mov dl,s8
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes4
mov ah,09h
int 21h
mov dl,s9
add dl,30h
mov ah,02h
int 21h
call crlf
mov dx,offset mes5
mov ah,09h
int 21h
mov dl,s10
add dl,30h
mov ah,02h
int 21h
exit:
ret
count endp
crlf proc near ;回车换行子程序
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
单片机编程是指使用单片机编程语言,如C语言,来编写单片机的程序代码,以控制单片机的行为。这种技术在电子工程、计算机科学和电子通信等领域中被广泛应用。单片机编程的主要任务是设计和实现单片机的程序,包括定义单片机的指令系统、编写程序代码、处理器...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
s6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询