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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 21:42   #1
valdemar593
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 20
Стрелка Поиск подстроки в строке

Граждане всем доброго времени суток
Поиск подстроки в строке
Не хочет второй раз вводить с клавиатуры подстроку
И сам алгоритм правильный?
Код:
.MODEL SMALL
.STACK 100h
.DATA
len1 dw ? 	 ; 
len2 dw ?        ; 
str1 db 80 dup(0) ; 
str2 db 80 dup(0) ; 
msg_yes db 'Ура Нашло', 13, 10, '$'
msg_no db 'Не беда Не нашло', 13, 10, '$'


.CODE 
MOV AX, @Data
MOV DX, AX


MOV AH, 3Fh
MOV BX, 0
MOV DX, offset str1
INT 21h
MOV len1, AX


MOV AH, 3Fh
MOV BX, 0
MOV DX, offset str2
INT 21h
MOV len2, AX


SEARCH: 
CLD
MOV CX, len1
LEA DI, str1
LEA SI, str2

LOOP_SEARCH:
JCXZ NOT_FOUND
MOV AX, [SI]
MOV BX, [DI]
CMP AX, BX
JE FIRST_CHAR_FOUND
INC DI
JMP LOOP_SEARCH


FIRST_CHAR_FOUND:
PUSH CX    
MOV CX, len2 - 1
CHAR_FOUND:
JCXZ FOUND
INC SI
INC DI
MOV AX, [SI]
MOV BX, [DI]
CMP AX, BX
JE CHAR_FOUND
POP CX
JNE LOOP_SEARCH

FOUND:

NOT_FOUND:

MOV AH, 4CH
INT 21H
END
valdemar593 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Поиск подстроки в строке по маске Ханако Сейсин Помощь студентам 0 29.04.2010 14:36
поиск подстроки в строке!!! StoneSour Общие вопросы C/C++ 2 15.03.2010 21:31
Задача Delphi 7 - Замена подстроки в строке Юрий2009 Помощь студентам 3 23.04.2009 10:12
Не работает функция проверки подстроки в строке Cold_Night Помощь студентам 1 25.03.2009 01:30
Найти позицию подстроки в строке Ozerich Общие вопросы C/C++ 5 15.12.2008 16:06