脉下面一些树根猜成语:谁能帮我看看这个汇编程序问题在哪

来源:百度文库 编辑:高校问答 时间:2024/05/04 05:40:32
问题描述:输入一串任意字符串,分类统计字符,数字,其它字符的个数
DATAS SEGMENT
N EQU 20
BUF DB N+1
COUNT DB 0
CHAR DB N+1 DUP (0)
PROMPT1 DB 'Please input a string:',13,10,'$'
LETTERS DB 0
DIGITS DB 0
OTHERS DB 0
DATAS ENDS

CODES SEGMENT USE16
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,PROMPT1
MOV AH,9
INT 21H
LEA DX,BUF
MOV AH,10
INT 21H
MOV DL,13
MOV AH,2
INT 21H
MOV DL,10
MOV AH,2
INT 21H

MOV CX,WORD PTR COUNT
MOV DL,COUNT
ADD DL,30H
MOV AH,02H
INT 21H
MOV DL,13
MOV AH,2
INT 21H
MOV DL,10
MOV AH,2
INT 21H

MOV SI,OFFSET CHAR
NEXT:
CMP [SI],'a'
JNB DO1
CMP [SI],'A'
JNB DO1
CMP [SI],'0'
JNB DO3

INC OTHERS
JMP GO

DO1:CMP [SI],'z'
JBE R1
DO2:CMP [SI],'Z'
JBE R1
DO3:CMP [SI],'9'
JBE R2

INC OTHERS
JMP GO

R1: INC LETTERS
R2: INC DIGITS
GO: ADD SI,01H
LOOP NEXT
MOV DL,DIGITS
ADD DL,30H
MOV AH,02H
INT 21H

MOV AH,4CH
INT 21H
CODES ENDS
END START