汇编程序 输入一个字符串 统计A出现的个数 放到AX中 以下是我的程序,运行结果不对,请大师帮忙指正!

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:17:43
data segment
buf db 100 dup(?);
data ends

stack segment
buf1 db 100 dup (?)
stack ends

code segment

start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax

lea si,buf1
call enter

xor ax,ax
lea si, buf1
call count

stop:
mov ah,4ch
int 21h

enter proc
push ax

xor ax,ax

next:
mov ah,01h
int 21h

cmp al,1bh
jz exit
mov [si],al
inc si
jmp next

exit:
inc si
mov al,'$'
mov [si],al

pop ax

;符合题目要求
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
lea dx,mes
mov ah,9
int 21h ;提示
lea dx,buf
mov ah,0ah
int 21h ;输入串
lea si,buf1
mov cl,cnt
xor ch,ch
xor dx,dx ;计数器清0
jcxz Q2
Q0:lodsb
cmp al,'A'
jnz Q1
inc dx ;;计数器+1
Q1:loop Q0
Q2:mov ax,dx ;个数放到AX
mov ah,4ch
int 21h

mes db 'Input a String: $'
buf db 100
cnt db 0
buf1 db 100 dup(?)

code ends
end start

;符合题目要求
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
lea dx,mes
mov ah,9
int 21h ;提示
lea dx,buf
mov ah,0ah
int 21h ;输入串
lea si,buf1
mov cl,cnt
xor ch,ch
xor dx,dx ;计数器清0
jcxz Q2
Q0:lodsb
cmp al,'A'
jnz Q1
inc dx ;;计数器+1
Q1:loop Q0
Q2:mov ax,dx ;个数放到AX
mov ah,4ch
int 21h

求汇编程序(字符串输入显示及查询统计) 编写一段汇编程序,要求能从键盘任意输入一段文本字符串,然后分别统计字符(包括大小写) 求助 汇编程序 输入字符串并显示 C++编程:输入一个字符串,统计出它的长度。 我想问一个汇编程序实例。“反序输出任意一个用户输入的字符串”怎么弄? 、编写一个程序,输入一个字符串,统计其中各字符出现的频度。 求助:用c语言编程 统计输入的一个字符串中各字母出现的次数 编写一个c程序,统计输入字符串中字符“x”出现的次数 c语言:编程输入一个长度小于80的字符串,统计其中字母的个数? 用存储过程/SQL语言,实现 输入一个英语字符串,统计其中大写字母????