📄 grade.asm
字号:
.model small
.data
grade db 56,69,84,82,73,88,99,63,100,80
msg1 db ' grade<60: $'
msg2 db ' 60=<grade<70: $'
msg3 db ' 70=<grade<80: $'
msg4 db ' 80=<grade<90: $'
msg5 db '90=<grade<100: $'
msg6 db ' grade=100: $'
msg7 db 0dh,0ah,'$'
s5 db 0 ;1.2.1.4.1.1
s6 db 0
s7 db 0
s8 db 0
s9 db 0
s10 db 0
;*************************************************************************
.code
start:
mov ax,@data
mov ds,ax
mov es,ax
lea di,grade
mov cx,10
next:
mov al,[di]
cmp al,60
jb b60 ;<60
cmp al,70
jb b70 ;<70
cmp al,80
jb b80 ;<80
cmp al,90
jb b90 ;<90
cmp al,100
jb b100 ;<100
je e100 ;=100
follow:
inc di
loop next
jmp print ;打印结果
;************************************************************************
b60:
inc s5
jmp follow
b70:
inc s6
jmp follow
b80:
inc s7
jmp follow
b90:
inc s8
jmp follow
b100:
inc s9
jmp follow
e100:
inc s10
jmp follow
print:
lea dx,msg1 ;显示结果
mov ah,09h
int 21h
mov dl,s5
add dl,30h
mov ah,02h
int 21h
lea dx,msg7 ;换行
mov ah,09h
int 21h
;***********************************
lea dx,msg2 ;显示结果
mov ah,09h
int 21h
mov dl,s6
add dl,30h
mov ah,02h
int 21h
lea dx,msg7
mov ah,09h
int 21h
;***********************************
lea dx,msg3 ;显示结果
mov ah,09h
int 21h
mov dl,s7
add dl,30h
mov ah,02h
int 21h
lea dx,msg7
mov ah,09h
int 21h
;***********************************
lea dx,msg4 ;显示结果
mov ah,09h
int 21h
mov dl,s8
add dl,30h
mov ah,02h
int 21h
lea dx,msg7
mov ah,09h
int 21h
;***********************************
lea dx,msg5 ;显示结果
mov ah,09h
int 21h
mov dl,s9
add dl,30h
mov ah,02h
int 21h
lea dx,msg7
mov ah,09h
int 21h
;***********************************
lea dx,msg6 ;显示结果
mov ah,09h
int 21h
mov dl,s10
add dl,30h
mov ah,02h
int 21h
mov ax,4c00h ;返回dos
int 21h
;**************************************************************************
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -