菜鸟提问:这个程序无法循环是为什么啊?
DATA SEGMENTINPUT DB 0AH,0AH,'PLEASE INPUT A NUMBER:'
ERROR db 0ah,0dh,'INPUT ERROR!';0ah,0dh是字符型2个字符,是回车换行符
BUF DB 10
DB ?
DB 10 DUP(0)
ARR DD 2 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
mov ah,08H ;dos调用的8号功能:不需要提供入口参数,等待键盘输入一个字符。自动将ASCII码存入AL中
int 21h
CMP AL,30
JB A1
CMP AL,39
JA A1
mov BL,AL
MUL BL
XOR BH,BH
MUL BL
CMP AX,0FFH
JA A
B1: DIV 10
MOV BL,AL
PUSH AH
CMP BL,0
INC CX
JNE B1
JMP A2
A: DIV 10
PUSH DX
B2: DIV 10
MOV BL,AL
PUSH AH
CMP BL,0
INC CX
JNE B2
A1: LEA dx,error ;出错提示
mov ah,9
int 21h
A2:POP AH
LOOP A2
MOV AH,4CH
INT 21H
CODE ENDS
END START
错误提示