您的位置:首页 > 其它

统计数字,字母及其他符号的数量

2014-06-12 12:25 204 查看
从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示这三类的计数结果(用简化段源程序结构)。

.MODEL SMALL ;定义程序的存储模式,小型程序一般采用小模式small

.DATA
string db 100,?,100 dup(0)
a dw 0
b dw 0
d dw 0
h1 db "please input the string:",'$'

.STACK
z dw 1000 dup(0)

.CODE
.STARTUP ;程序入口点,自动初始化DS、SS

mov ah,09h
lea dx,h1
int 21h

lea dx,string
mov ah,0ah
int 21h

xor cx,cx
mov cl,string[1]

mov si,1
xor ax,ax ;其它字符数量
xor bx,bx ;字母数量
xor dx,dx ;数字数量

L1: add si,1
cmp string[si],2fh
jb L2
cmp string [si],3ah
jnb L3
inc dx
S1: Loop L1
jmp exit

L2: inc ax
jmp S1

L3: cmp string[si],40h
jb L2
cmp string[si],5bh
jnb L5
inc bx
jmp S1

L5: cmp string[si],60h
jb L2
cmp string[si],7bh
jb L7
inc ax
jmp S1

L7: inc bx
jmp S1

exit: mov a,ax
mov b,bx
mov d,dx

mov ah,02h
mov dl,0dh
int 21h

mov ah,02h
mov dl,0ah
int 21h

mov ah,02h
xor dx,dx
mov dx,d
add dx,30h
int 21h

mov ah,02h
mov dl,0dh
int 21h

mov ah,02h
mov dl,0ah
int 21h

mov ah,02h
xor dx,dx
mov dx,b
add dx,30h
int 21h

mov ah,02h
mov dl,0dh
int 21h

mov ah,02h
mov dl,0ah
int 21h

mov ah,02h
xor dx,dx
mov dx,a
add dx,30h
int 21h

.EXIT 0
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编
相关文章推荐