分类统计并且反序显示

来源:百度知道 编辑:UC知道 时间:2024/05/20 18:51:55
从键盘输入一字符串,首先统计字母,空格,数字,其它字符的个数并以十进制数的形式显示;然后将此字符串反序显示输出

;输入一串字符,统计字母,数字,空格和其他各多少,字符串反序显示.
data segment
Tips db 'Please Input a String: ',0dh,0ah,'$'
IN_STR DB 100,?,100 DUP (?)
MSG1 db 0dh,0ah,' LETTER='
LETTER dw 0 ;字母计数器
MSG2 db ' DIGIT='
DIGIT dw 0 ;数字计数器
MSG3 db ' SPACE='
SPACE dw 0 ;空格计数器
MSG4 db ' OTHER='
OTHER dw 0 ;其它计数器
R4 db 0dh,0ah,'$' ;串结束标记
data ends

code segment
assume cs:code,ds:data

start:
mov ax,data
mov ds,ax
lea dx,Tips;提示
mov ah,9
int 21h
lea dx,IN_STR;输入源串
mov ah,0ah
int 21h
cld
lea si,IN_STR ;指向输入串
add si,2
T0:cmp byte ptr [si],0dh ;从串中找回车结束标记
jz show
_lop:lodsb ;取一字节
cmp al,20h
jnz y1
inc SPACE;;空格计数器+1
jmp next
y1:cmp al,'0'
jb Q1
cmp al,'9'
ja Q1
inc DIGIT ;数字+1
jmp next
Q1:cmp al,'A'
jb