DATA SEGMENTMESSAGE
DB 'INPUT STRINGS:',13,10,'$'
DATA1 DB 100 DUP(?)
DATA3 DB 'RESULT=',13,10,'$'
CR DB 13,10,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,0
MOV CX,0
MOV DX,OFFSET MESSAGE
MOV AH,09H
INT 21H
MOV SI,OFFSET DATA1
L1: MOV AH,01H
INT 21H
CMP AL,'0'
JB L1
CMP AL,'9'
JA L1
CMP AL,0DH
JMP NEXT
INC CX
MOV [SI+BX],AL
INC BX
JMP L1
NEXT: MOV DX,OFFSET CR
MOV AH,09H
INT 21H
MOV DX,OFFSET DATA3
MOV AH,09H
INT 21H
MOV AH,02H
MOV DL,CX
INT 21H
DEC BX
MOV CX,BX
L2: MOV AH,02H
MOV DL,[SI]
INT 21H
INC SI
LOOP L2
MOV AX,4CH
INT 21H
CODE ENDS
END START
总是报错 Out of memory ,哪里错了?
实验内容:先在屏幕上显示“input string,”,输入字符串; 再显示“result=”。如为0~9的数字,则计数器加1,如为非数字,则直接显示,但不计数。



