Witam,
Mam takie zadanie:
Napisać program pobierający z linii zleceń dwa argumenty x i y tak, aby na ekranie terminala po jego uruchomieniu wypisana
została liczba wystąpień w łańcuchu x łańcucha y. Np. w przypadku gdy x = ”abcabab xxabc”, a y = ”ab”, to efektem działania programu
powinno być wyprowadzenie na ekran liczby 4.
Potrafię wczytać te ciągi z parametru, ale nie potrafię sprawdzić ile razy jeden występuje w drugim. Mam coś takiego:
.intel_syntax noprefix
.text
.globl main
main:
mov eax, [esp+4]
cmp eax, 3
jge function
mov eax, offset blad
push eax
call printf
add esp, 4
mov eax, 0
ret
function:
mov eax, [esp+8]
mov ebx, [eax+4]
mov ecx, 0
call loop
loop:
.data
blad:
.asciz "Podaj dwa ciagi zakow w parametrach\n"
W main sprawdza czy podało się parametry jeżeli nie to wyświetla komunikat, potem przechodzi dalej. W loop powinien być kod sprawdzający to.
Z gory dzięki za pomoc.