;输入一系列以$为结束符的字符串,对其中的非数字字符计数 ;(非数字字符个数应小于等于19),并显示出计数结果. data segment h1 db 80 dup(?) data ends code segment stack segment stack db 100 dup (?) stack ends assume cs:code,ds:data start:mov ax,data mov ds,ax mov cx,0 mov dh,0 j1: mov bx,offset h1 l1: mov ah,1 int 21h cmp al,'=' jz exit cmp al,'$' jz l2 mov ds:[bx],al inc bx inc dh jmp l1 ;___________________________ l2: mov dl,0dh mov ah,2 int 21h mov dl,0ah mov ah,2 int 21h ;___________________________ mov bx,offset h1 l3: cmp dh,0 jz j1 mov al,[bx] inc bx dec dh cmp al,'0' jb l4 cmp al,'9' jbe l3 l4: inc cl jmp l3 exit: cmp cl,9 jbe j2 add cl,6 j2: mov bl,cl mov al,bl mov cl,4 shr al,cl add al,30h mov dl,al mov ah,2 int 21h mov al,bl and al,0fh add al,30h mov dl,al mov ah,2 int 21h mov ah,4ch int 21h code ends end start