微机原理:怎么是程序实现15个学生的成绩统计,要求分4个档次:60以下,60-75,75-85,85分以上。

img


微机原理:怎么是程序实现15个学生的成绩统计,要求分4个档次:60以下,60-75,75-85,85分以上。

你这要问的是什么?


;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