汇编语言:统计学生成绩小程序(增加了边界判断)

本文介绍了一个使用汇编语言编写的程序,该程序能够接收10个0到100的学生成绩,统计各分数段的学生数量。程序新增了边界判断,避免了输入值超出范围的问题。当输入成绩超出100或按下ESC键时,程序会结束。示例展示了极端情况和正常运行情况。
摘要由CSDN通过智能技术生成

从键盘录入10个学生成绩(0-100),录入完毕自动统计各分段的学生数。如果录入的不是0-100,则报错并重新输入。而且,按下ESC直接结束程序。之前没有对边界进行判断,结果造成了统计人数超过9以后就不能正常显示了此次加了边界判断,如果人数更大的话以此类推,若超过100则再另行处理。

include 一套工具.mac
data segment
	buf db 10 dup(?)
	w db 3 dup (?)
	s6 db ?
	s7 db ?
	s8 db ?
	s9 db ?
	show db "Please input ten scores:$"
	show1 db "The number of 0-59:$"
	show2 db "The number of 60-79:$"
	show3 db "The number of 80-89:$"
	show4 db "The number of 90-100:$"
	error1 db "Input error!$"
data ends

code segment
	assume cs:code,ds:data
start:
	mov ax,data
	mov ds,ax
	oustring show
	mov bx,0
	mov di,0
set1:
	input
	escexit al
	ldjudge al
	cmpzn al
	and al,0fh
	cmp bx,2
	jg error
	mov w[bx],al
	inc bx
	jmp set1
judge:
	cmp bx,0
	jz error
	cmp bx,1
	jz onebit
	cmp bx,2
	jz twobit
	cmp w[0],1
	jnz error
	threedigit w
	cmp al,100
	jg error
	jmp ret1
onebit:
	onedigit w
	jmp ret1
twobit:
	twodigit 
  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值