从键盘输入1个学生的成绩,如果低于60分,则F (Fail),如 果高于或等于90 分则显示 G (good),否则显示 P (Pass)。用汇编语言实现
时间: 2023-09-08 10:14:48 浏览: 162
好的,以下是汇编语言程序的代码:
```
section .data
msg db '请输入学生的成绩:'
pass db 'P'
fail db 'F'
good db 'G'
section .bss
score resb 1
section .text
global _start
_start:
; 输出提示信息
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, 12
int 0x80
; 读取用户输入
mov eax, 3
mov ebx, 0
mov ecx, score
mov edx, 1
int 0x80
; 将输入的字符转换为数字
mov eax, [score]
sub eax, '0'
; 判断成绩等级并输出
cmp eax, 60
jl fail
cmp eax, 90
jge good
; 成绩在60到90之间
mov eax, 4
mov ebx, 1
mov ecx, pass
mov edx, 1
int 0x80
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
fail:
; 输出 F 并退出程序
mov eax, 4
mov ebx, 1
mov ecx, fail
mov edx, 1
int 0x80
mov eax, 1
xor ebx, ebx
int 0x80
good:
; 输出 G 并退出程序
mov eax, 4
mov ebx, 1
mov ecx, good
mov edx, 1
int 0x80
mov eax, 1
xor ebx, ebx
int 0x80
```
程序首先输出提示信息,然后读取用户输入的成绩,并将输入的字符转换为数字。接着,程序判断成绩等级并输出对应的字符。如果成绩低于60分,则输出 F;如果成绩高于或等于90分,则输出 G;否则输出 P。最后,程序退出运行。
阅读全文