汇编程序求解

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:45:49
从FIRST开始存放着100个字符的字符串,结束符为$.编写程序,统计该字符串中字母B的个数.

我怎么也编不出来,求教大家啊!

楼上的程序不完整且若b的个数为多位数(如35)时不能正确显示
data segment
first db 'bbbbbbbbbbaaaaaaaaaabbbbbbbbbbcdefghijklmnopqrstuvwxyz0123456789aljsdibbbbb11111bbbbbbbbbbaaaaaaaaaa$'
count dw 0;计数器
data ends

code segment
assume cs:code,ds:data
main proc near
start:
mov ax,data
mov ds,ax
mov si,offset first

mov cx,100
loop1:
mov bl,[si]
cmp bl,'b'
jne m1;不是b则转m1继续读下一字符
inc count;否则计数器加1
m1:
inc si
loop loop1

mov bx,count;将b的个数存入bx
call bini;调用子程序显示数据

mov ah,4ch
int 21h
ret
main endp

bini proc near;因为汇编中多位数无法直接显示,所以需调用次程序显示
mov cx,10d
call bin
mov cx,1d
call bin
ret
bini endp

bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
bin endp

code