从键盘输入10个学生的成绩,如果低于60分,则F (Fail),如 果高于或等于90 分则显示 G (good),否则显示 P (Pass)。汇编语言
时间: 2023-12-10 20:42:06 浏览: 86
学生成绩管理系统 C++课程设计
4星 · 用户满意度95%
下面是使用汇编语言实现该功能的代码:
```
.model small
.stack 100h
.data
scores db 10 dup(0)
grades db 10 dup(0)
.code
main proc
mov ax, @data
mov ds, ax
; 从键盘输入10个学生的成绩
mov cx, 10
mov si, offset scores
input_loop:
call read_char
mov [si], al
inc si
loop input_loop
; 判断每个学生成绩所对应的等级
mov cx, 10
mov si, offset scores
mov di, offset grades
grade_loop:
mov al, [si]
cmp al, 60
jl fail
cmp al, 90
jge good
jmp pass
fail:
mov [di], 'F'
jmp next
good:
mov [di], 'G'
jmp next
pass:
mov [di], 'P'
jmp next
next:
inc si
inc di
loop grade_loop
; 输出每个学生成绩所对应的等级
mov cx, 10
mov si, offset grades
output_loop:
mov dl, [si]
mov ah, 2
int 21h
inc si
loop output_loop
mov ah, 4ch
int 21h
main endp
; 从键盘读取一个字符
read_char proc
mov ah, 1
int 21h
ret
read_char endp
end main
```
该程序首先从键盘输入10个学生的成绩,并将它们保存在 `scores` 数组中。然后循环遍历每个学生成绩,根据其大小判断所对应的等级,并将等级保存在 `grades` 数组中。最后输出每个学生成绩所对应的等级。
需要注意的是,在 DOS 环境下,使用 `int 21h` 中断来进行输入输出操作。
阅读全文