Прога для подсчета

Привет!!! Кто может, то пожалуйста помогите. Мне задали задачку: надо ввести с клавиатуры строку символов не более 99 символов и закончить строку при нажатии Enter. Ввести любой символ и подсчитать количество совпадений данного символа в исходной строке символов.В принципе прогу я написал, только при попытке поиска символа в строке, предворительно я ввел в строку 11 "q", он мне выдал симвоол, а не число совпадений. Как я понимаю в проге надо разделять десятки и еденицы, а я этого не знаю как сделать.HELP!!!
4 ответа

А Оно тебе часом не "В" выдаёт =) ?


контретнее пожалуйста какая строка и какой символP.S. по какой то неведомой причине я не переместил эту тему в "студенты", мистика......


model small .stack 100h .data str1 db '‚лЇ®«*Ё« бв㤥*в ЈагЇЇл ЉЃ-2 ’Ё¬гаиЁ* Ђ*¤аҐ©','$' str2 db '‚ўҐ¤ЁвҐ бва®Єг (¤«п §*ўҐаиҐ*Ёп ўў®¤* **¦¬ЁвҐ Enter):','$' str3 db '‚ўҐ¤ЁвҐ бЁ¬ў®«:','$' str4 db 'ў ¤***®© бва®ЄҐ ўўҐ¤Ґ**л© бЁ¬ў®« ўбаҐз*Ґвбп ','$' str5 db ' а*§(*)','$' St1 db ? k db ? i db ?stroka LABEL BYTE ; ?¬п бЇЁбЄ* Ї*а*¬Ґва®ў: MAXLEN db 99 ; max ¤«Ё** бва®ЄЁ 99 бЁ¬ў®«®ў NAMELEN db ? ; Є®«ЁзҐбвў® ўўҐ¤Ґ**ле бЁ¬ў®«®ў NAMEFLD db 99 DUP(' '),'$' ; Ё¬п Ё ®Ја**ЁзЁвҐ«м .code start: mov ax,@data mov ds,ax mov ax,0600h ;®зЁбвЄ* нЄа*** mov bh,30 ;梥в mov cx,0000 ;«Ґўл© ўҐае*Ё© mov dx,184Fh ;Їа*ўл© *Ё¦*Ё© int 10h mov ah,02 ;гбв**®ўЄ* Єгаб®а* mov bh,00 mov dh,6 ;y mov dl,15 ;x int 10hmov ah,09 ;ўлў®¤ бва®ЄЁ ¬бЈ0 lea dx,str1 int 21h mov ah,02 ;гбв**®ўЄ* Єгаб®а* mov bh,00 mov dh,10 mov dl,0 int 10hmov ah,09 ;ўлў®¤ бва®ЄЁ ¬бЈ1 lea dx,str2 int 21hlea dx,stroka ;звҐ*ЁҐ бва®ЄЁ mov ah,0Ah int 21h M_Start: mov ah,02 ;гбв**®ўЄ* Єгаб®а* mov bh,00 mov dh,13 mov dl,0 int 10h mov ah,09 ;ўлў®¤ бва®ЄЁ ¬бЈ2 lea dx,str3 int 21hmov ah,01 ;звҐ*ЁҐ бЁ¬ў®«* int 21h mov st1,al cmp st1,1Bh je M_End mov k,0h mov i,0hM_1: mov bl,i mov si,bx mov bl,NAMEFLD[si] cmp bl,st1 jne M_2 inc k M_2: inc i mov bl,i cmp bl,NAMELEN jne M_1add k,30hmov ah,02 ;гбв**®ўЄ* Єгаб®а* mov bh,00 mov dh,15 mov dl,0 int 10hmov ah,09 ;ўлў®¤ бва®ЄЁ ¬бЈ4 lea dx,str4 int 21hmov dl,k ;ўлў®¤ бЁ¬ў®«* mov ah,02 int 21hmov ah,09 ;ўлў®¤ бва®ЄЁ ¬бЈ5 lea dx,str5 int 21h jmp M_Start M_End: mov ax,4c00h int 21h end


Ау, я серьёзно, может оно тебе B написало, так это и есть 11 (hex)