关于输入一个字符,判断其是否是数字的汇编程序

;输入0-9的数字,并将其输出,若输入的不是0-9,则输入ERROR,重新输入
.model small
	.stack
	.data
strPrompt DB 0dh,0ah,'Input number:0-9  $'
strError DB 0dh,0ah,'ERROR!$'
strRight DB 0dh,0ah,'Right!$'
nNum DB ?
	.code
	.startup
input:	mov dx,offset strPrompt
        mov ah,9
	int 21h
	mov ah,1
	int 21h
	cmp al,39h
	JB isL0
showE: 	mov dx,offset strError
	mov ah,9
	int 21h
	JMP input
isL0:	cmp al,30h
	JB showE
	mov dx,offset strRight
	mov ah,9
	int 21h
	.exit 0
	end
要注意的是cmp al 39h,39h是9的ASCII码,要比较的数字需要ascii码,al存储的是字符的ascii码,具体可看21中断的1号中断的具体语法规则
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值