;输入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号中断的具体语法规则关于输入一个字符,判断其是否是数字的汇编程序
最新推荐文章于 2021-03-03 20:52:24 发布