汇编语言 判断学生成绩是否及格

设某个学生的英语成绩已存放在AL寄存器中,如果低于60分,那么打印F(FAIL);若高于或等于85分,则打印G(GOOD);当在60分和84分之间时,打印P(PASS)。

assume cs:code, ds:data

data segment
	score	db 90		; 分数
	give_a_mark  db 0, '$'   ; 评分
data  ends

code segment

	start:	mov ax, data   
			mov ds, ax		; 初始化 ds,将data段的偏移地址赋值给 ds
			mov dx, 0			
			
			mov al, ds:score[0]   ; 将AL指向 score 首地址
			
			cmp AL, 60		; 与60分比较
			jb FAIL			; < 60,转FAIL
			cmp AL, 85		; ≥ 60,与85分比较
			jae GOOD		; ≥ 85,转GOOD
			mov AL, 'P'		; 其它,将AL ← 'P'
			jmp PRINT		; 转打印程序
			
	FAIL:	mov AL, 'F'		; AL ← 'F'
			jmp PRINT		; 转打印程序
	GOOD:	MOV AL, 'G'		; AL ← 'G'
	PRINT:	
			MOV ds:give_a_mark[0], AL
			lea dx, give_a_mark  ;使DX指向give_a_mark首地址
			mov ah, 09H   ;给AH设置参数09H
			
			int 21H
			mov ax, 4C00H
			int 21H

code ends
end start

当学生成绩为 90分时,程序输出‘G’。
在这里插入图片描述
当学生成绩为 60分时,程序输出‘F’。
在这里插入图片描述
当学生成绩为 70分时,程序输出‘P’。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值