你这要问的是什么?
;4.asm
.model small
.stack
.data
str_s5 db 'grade <60 is:','$'
str_s6 db 'grade 60-75 is:','$'
str_s7 db 'grade 75-85 is:','$'
str_s8 db 'grade 85- is:','$'
ENT db 0ah,'$';换行
grade db 56,69,84,82,73,88,99,63,100,80,69,84,82,73,88;成绩
s5 db 0
s6 db 0
s7 db 0
s8 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,75
jae ae75
inc s6
jmp next
ae75:
cmp al,85
jae ae85
inc s7
jmp next
ae85:
inc s8
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
.exit
end