5.11
从键盘上输入一系列以$为结束符的字符串,然后对其中的字母字符计数,并显示出计数结果
DATAS SEGMENT
string db 100 dup('$')
line db 0dh,0ah,'$'
count db 0
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
lea si,string
mov count,0
input:
mov ah,1
int 21h
mov [si],al
inc si
cmp al,'$'
jnz input
lea si,string
next:
mov cl,[si]
inc si
cmp cl,'$'
jz disp
cmp cl,'0'
jb next
cmp cl,'9'
ja next
inc count
disp:
mov dx,0ah
mov ah,02
int 21h
mov dx,0dh
mov ah,02
int 21h
mov dx,si
dec dx
add dx,30h
mov ah,2
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START