求助:一道简单的汇编语言程序设计
作者:小雪发布时间:2023-03-02浏览:468
8086汇编语言,使用masm5汇编器编译通过
data segment
score db 30,40,50,60,70,80,90,67,70 ;9个学生的分数
num_under60 db 0 ;60以下的人数
num_60to69 db 0 ;60到69的人数
num_70to79 db 0 ;70到79的人数
num_80to89 db 0 ;80到89的人数
num_90to99 db 0 ;90到99的人数
num_100 db 0 ;100的人数
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
xor ax,ax
mov cx,9 ;循环9次
lea bx,score
compare:
cmp byte ptr [bx],60 ;与60比较
jl under60
jmp is60to69
is60to69:
cmp byte ptr [bx],70 ;与70比较
jl _60to69
jmp is70to79
is70to79:
cmp byte ptr [bx],80 ;与80比较
jl _70to79
jmp is80to89
is80to89:
cmp byte ptr [bx],90 ;与90比较
jl _80to89
jmp is90to99
is90to99:
cmp byte ptr [bx],100 ;与100比较
jl _90to99
jz equal100
under60: ;如果低于60
add num_under60,1
jmp con
_60to69: ;如果在60到69之间
add num_60to69,1
jmp con
_70to79: ;如果在70到79之间
add num_70to79,1
jmp con
_80to89: ;如果在80到89之间
add num_80to89,1
jmp con
_90to99: ;如果在90到99之间
add num_90to99,1
jmp con
equal100: ;如果等于100
add num_100,1
con:
lea bx,[bx+1]
loop compare
last: ;输出
mov dl,num_under60 ;输出60以下的人数
add dl,30h
mov ah,2
int 21h
mov dl,num_60to69 ;输出60到69的人数
add dl,30h
mov ah,2
int 21h
mov dl,num_70to79 ;输出70到79的人数
add dl,30h
mov ah,2
int 21h
mov dl,num_80to89 ;输出80到89的人数
add dl,30h
mov ah,2
int 21h
mov dl,num_90to99 ;输出90到99的人数
add dl,30h
mov ah,2
int 21h
mov dl,num_100 ;输出100的人数
add dl,30h
mov ah,2
int 21h
mov ah,4ch ;返回DOS
int 21h
code ends
end start
相关推荐
- 练马拉松的方法 练马拉松的方法有什么
- 想换了戴尔Inspiron3670台式机CPU的散热器,不知道买什么样的好?CPU是i5-8400
- 迈腾波箱油多久换一次?
- 黄渤的一部电影,三国派,里面有...
- 60分钟用英语怎么说
- 杜仲乳胶枕头是真的吗
- 洋葱炒鸡蛋怎么炒
- 一部搞笑的三国电影,曾志伟饰演诸葛亮,黄渤饰演周瑜,叫什么名字?确认就采纳。
- 轮转除湿干燥机是什么来的
- 本田CRV引擎盖如何打开
- 长安汽车uni-t系统激活需要多久
- p30多少倍变焦
- 马拉松的训练方法有哪些
- 11年雪佛兰斯帕可值得下手吗
- 淘宝上的扫一扫在哪
- 中国最大的湿地
- 速滑鞋选用多大的轮子最为理想
- 爱奇艺老是闪退怎么办
- 保险公司定损要多久
- 想入手一台华硕游戏本,是顽石好一点还是灵耀好一点