Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2012, 16:27   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию В строке символов найти количество вхождений заданного символа

Здравствуйте добрые люди)) у меня почему-то не получается написать программу, которая вводит строку символов, затем еще один символ, а выводит число равное тому, сколько этот символ встречается в строке, вот моя программа, возможно напутал с регистрами, если можно переделайте, пишу под DOC использую TASM и TLINK

Код:
 

Code Segment Para public 'Code'
   Assume CS:Code,DS:Code,SS:Code,ES:Code
   ORG 100h 
   Mov DX,Code
   Mov DS,DX
   Mov SS,DX
   Mov ES,DX

jmp m100
par1 label byte
max1 db 100
rd1 db ?
str1 db 101 dup(?)
np1 db 'BBedite stroky...$'
np2 db 'BBedite simbol: $'
np3 db 'OTBET: $'
np4 db 'BbIXOD-Lubaya klaBisha $'
m100:mov ah,09h
lea dx,np1
int 21h
mov ah,10
lea dx,par1
int 21h
lea si,str1
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
mov ah,09h
lea dx,np2
int 21h
mov bx,0
mov cx,0
mov ah,1
int 21h
mov bl,al
mov cl,rd1
m1:mov bh,[si]
cmp bh,bl
je m2
jmp m3
m2:inc ch
m3:inc si
loop m1
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh 
int 21h
mov ah,09h
lea dx,np3
int 21h
mov ah,2
mov dl,ch
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh 
int 21h
mov ah,09h 
lea dx,np4
int 21h
mov ah,1
int 21h


 Mov AH,4Ch
   Int 21h
   Code Ends
   end
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 18.08.2012, 00:10   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

ой, забыл написать, выводит вместо цифр неизвестно что, исправьте пожалуйста
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 18.08.2012, 21:40   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Если актуально,
Код:
Code Segment Para public 'Code'
   Assume CS:Code,DS:Code,SS:Code,ES:Code
   ORG 100h 
;   Mov DX,Code
;   Mov DS,DX
;   Mov SS,DX
;   Mov ES,DX
start:
jmp m100
par1 label byte
max1 db 100
rd1 db ?
str1 db 101 dup(?)
np1 db 'BBedite stroky...$'
np2 db 'BBedite simbol: $'
np3 db 'OTBET: $'
np4 db 'BbIXOD-Lubaya klaBisha $'
m100:mov ah,09h
lea dx,np1
int 21h
mov ah,10
lea dx,par1
int 21h
lea si,str1
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
mov ah,09h
lea dx,np2
int 21h
mov bx,0
mov cx,0
mov ah,1
int 21h
mov bl,al
mov cl,rd1
m1:mov bh,[si]
cmp bh,bl
je m2
jmp m3
m2:inc ch
m3:inc si
dec cl
jnz m1
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh 
int 21h
mov ah,09h
lea dx,np3
int 21h
mov ah,2
mov dl,ch
add dl,'0'
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh 
int 21h
mov ah,09h 
lea dx,np4
int 21h
mov ah,1
int 21h


 Mov AH,4Ch
   Int 21h
   Code Ends
   end start
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 19.08.2012, 02:11   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Спасибо, А при помощи счетного цикла ничего неполучится?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 19.08.2012, 14:48   #5
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

получится, но нужно менять регистры, CX - счетчик в команде LOOP используется полностью, а у вас в программе его старшая часть занята количеством найденных символов.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 19.08.2012, 15:54   #6
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

спасибо, то есть PUSH и POP в помощь))
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Замена в строке множественных последовательных вхождений символа на один. VolPuch Помощь студентам 8 09.07.2011 18:19
Нужно отобразить количество символов до определённого символа Dimidrolus Помощь студентам 17 26.06.2011 21:20
Как найти количество n-ого символа в строке? zver777 Общие вопросы Delphi 7 25.08.2009 20:25
Количество символов в строке Ivan357 Паскаль, Turbo Pascal, PascalABC.NET 0 09.12.2008 17:06