题目二:从键盘敲入一串字符以$结束,统计其中数字、字母、其它字符个数,在屏幕上显示个数。(为简化程序设计,建议各种字符不超过10个)
代码:
.model small
.stack 100h
.data
msg db 'please input a string$:$'
n_digit db 0
n_alpha db 0
n_other db 0
char db 0
n_digit_msg db 'digit:$'
n_alpha_msg db 'alpha:$'
n_other_msg db 'other:$'
.code
main proc
mov ax, @data
mov ds, ax
lea dx, msg
mov ah, 09h
int 21h
input:
mov ah, 01h
int 21h
cmp al, '$'
je output
cmp al, '0'
jb non_digit
cmp al, '9'
jbe digit
non_digit:
cmp al, 'a'
jb other
cmp al, 'z'
jbe alpha
cmp al, 'A'
jb other
cmp al, 'Z'
jbe alpha
other:
inc n_other
jmp input
digit:
inc n_digit
jmp input
alpha:
inc n_a