• 成绩评级判断器,给定Score输出评级 • 当Score>=90时,输出A; • 当90>Score>=75时,输出B; • 当75>Score>=60时,输出C; • 当60>Score时,输出D;
时间: 2023-08-24 17:07:21 浏览: 54
好的,以下是8086汇编语言程序实现成绩评级判断器功能的示例代码:
```
.model small
.stack 100h
.data
score db ?
.code
main proc
mov ax, @data
mov ds, ax
; 从键盘读取输入成绩
mov ah, 01h
int 21h
sub al, 30h
mov score, al
; 判断成绩评级
cmp score, 90
jge gradeA
cmp score, 75
jge gradeB
cmp score, 60
jge gradeC
jmp gradeD
; 输出成绩评级
gradeA:
mov ah, 02h
mov dl, 'A'
int 21h
jmp exit
gradeB:
mov ah, 02h
mov dl, 'B'
int 21h
jmp exit
gradeC:
mov ah, 02h
mov dl, 'C'
int 21h
jmp exit
gradeD:
mov ah, 02h
mov dl, 'D'
int 21h
exit:
mov ah, 4ch
int 21h
main endp
end main
```
注意:在此示例代码中,我们使用 `int 21h` 中断来从键盘读取输入成绩和输出成绩评级。此外,需要根据输入成绩的 ASCII 码值进行处理,因此在输入成绩后需要减去字符 '0' 的 ASCII 码值。
相关问题
使用emu8086完成以下问题•成绩评级判断器,给定Score输出评级 •当Score>=90时,输出A; •当90>Score>=75时,输出B; •当75>Score>=60时,输出C; •当60>Score时,输出D; •加分项: •交互UI; •Score⽀持浮点 •当Score>100或Score<0时提示异常
以下是使用emu8086汇编语言完成的成绩评级判断器,包含交互UI和异常提示功能:
```
;成绩评级判断器
;给定Score,输出评级
;当Score>=90时,输出A;
;当90>Score>=75时,输出B;
;当75>Score>=60时,输出C;
;当60>Score时,输出D;
;加分项:
;交互UI;
;Score支持浮点
;当Score>100或Score<0时提示异常
.model small
.stack 100h
.data
score db ?
msg db '请输入成绩(0~100):$'
msg_err db '成绩输入错误,请重新输入!$'
msg_a db '评级为A!$'
msg_b db '评级为B!$'
msg_c db '评级为C!$'
msg_d db '评级为D!$'
.code
main proc
mov ax, @data
mov ds, ax
;显示输入提示信息
lea dx, msg
mov ah, 09h
int 21h
;读取用户输入的成绩
mov ah, 01h
int 21h
sub al, 30h ;将ASCII码转换为数字值
cmp al, 10 ;判断是否为数字
ja input_error ;如果输入不是数字,跳转到输入错误处理
;读取小数点
mov ah, 01h
int 21h
cmp al, 2Eh ;判断是否为小数点
jne input_error ;如果不是小数点,跳转到输入错误处理
;读取小数部分
mov ah, 01h
int 21h
sub al, 30h ;将ASCII码转换为数字值
cmp al, 10 ;判断是否为数字
ja input_error ;如果输入不是数字,跳转到输入错误处理
;计算成绩
mov bl, al ;保存小数部分
mov ah, 01h
int 21h
sub al, 30h ;将ASCII码转换为数字值
cmp al, 10 ;判断是否为数字
ja input_error ;如果输入不是数字,跳转到输入错误处理
mov cl, al ;保存整数部分
mov al, bl ;恢复小数部分
add al, 10 ;将小数部分加上10,变成0~100的整数部分
adc cl, 0 ;加上进位
cmp cl, 100 ;判断是否超过最大值
ja input_error ;如果超过最大值,跳转到输入错误处理
cmp cl, 0 ;判断是否小于最小值
jb input_error ;如果小于最小值,跳转到输入错误处理
;判断评级
cmp cl, 90
jge output_a
cmp cl, 75
jge output_b
cmp cl, 60
jge output_c
jmp output_d
input_error:
;显示错误提示信息
lea dx, msg_err
mov ah, 09h
int 21h
jmp main ;重新输入成绩
output_a:
;显示评级信息
lea dx, msg_a
mov ah, 09h
int 21h
jmp exit
output_b:
;显示评级信息
lea dx, msg_b
mov ah, 09h
int 21h
jmp exit
output_c:
;显示评级信息
lea dx, msg_c
mov ah, 09h
int 21h
jmp exit
output_d:
;显示评级信息
lea dx, msg_d
mov ah, 09h
int 21h
jmp exit
exit:
mov ah, 4ch
int 21h
main endp
end main
```
请使用emu8086编写一个;成绩评级判断器 ;给定Score,输出评级 ;当Score>=90时,输出A; ;当90>Score>=75时,输出B; ;当75>Score>=60时,输出C; ;当60>Score时,输出D要求交互UI; ;Score支持浮点 ;当Score>100或Score<0时提示异常
很高兴为您提供帮助。您需要先安装EMU8086汇编编译器,并创建一个新的程序文件。接下来,您可以按照以下代码进行编写:
```
.model small
.stack 100h
.data
score db ?
grade db ?
.code
main proc
mov ax, @data
mov ds, ax
; 输入分数
mov ah, 1
int 21h
sub al, '0'
mov score, al
; 判断分数等级
cmp score, 100
ja exception
cmp score, 90
jge grade_a
cmp score, 75
jge grade_b
cmp score, 60
jge grade_c
jmp grade_d
grade_a:
mov grade, 'A'
jmp output_grade
grade_b:
mov grade, 'B'
jmp output_grade
grade_c:
mov grade, 'C'
jmp output_grade
grade_d:
mov grade, 'D'
jmp output_grade
output_grade:
; 输出等级
mov ah, 2
mov dl, grade
int 21h
; 结束程序
mov ah, 4ch
int 21h
exception:
; 分数异常
mov ah, 9
mov dx, offset error_message
int 21h
; 结束程序
mov ah, 4ch
int 21h
error_message db '分数异常!', 0
main endp
end main
```
这段程序通过输入分数,判断其等级,并输出等级。如果分数超出范围(大于100或小于0),则会提示异常信息。您可以按照提示保存并编译程序,并在EMU8086汇编模拟器中运行测试。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)