Даны строки str="hello world!" и str1="world".Как найти начало вхождения str1 в строку str?(ассемблер)
На ассемблере.
Ну алгоритм используя команды ассемблера для семейства x86 - найти первый символ из второй строки в первой строке с помощью repne scasb, если нашли - сравнить две строки с помощью repe cmpsb. Только надо отслеживать не вышли ли Вы за пределы строки (за регистром cx/ecx). Если есть выравнивание - можно реализовать соотв на scasw/scasd, cmpsw/cmpsd
В MASM н-р есть готовая библиотечная функция InString.
Её исходник можно посмотреть в папке с MASM - m32lib\instring.asm
Параметры вызова: позиция с которой ищем, адрес строки1, адрес строки2
Возвращает: результат в eax (номер позиции в строке), при ошибке ecx <=0
строка1 должна быть длиннее строка2
Для вызова в MASM
include \masm32\include\masm32.inc
includelib \masm32\lib\masm32.lib
....
invoke InString, 1, ADDR строка1, ADDR строка2