Witam.
Pisze program w C# z dllką w asemblerze i próbuję obliczyć rozmiar przesłanej tablicy.
Siedzę nad tym juz z 3 godziny i dalej nie wiem czemu przy podaniu jakiegoś stringa funkcja raz działa a raz sie wysypuje:
kod c#
[DllImport("bibliotekaASM.dll", CallingConvention = CallingConvention.StdCall)]
private static extern int zlicz(string tab);
private void button4_Click(object sender, EventArgs e)
{
int pom=0;
string tab = "1111111fdgsdgdgd";
pom = zlicz(tab);
}
```asm
zlicz proc
push ebp
mov ebp, esp
mov ebx, [ebp+8] ; początek tablicy znaków
xor eax, eax
sprawdz:
cmp byte ptr[ebx],0 ; sprawdzmy czy koniec znaków
je koniec
inc ebx
inc eax
jmp sprawdz
koniec:
pop ebp
ret
zlicz endp
Gdyby ktoś znalazł jakiś błąd którego ja nie dostrzegam byłbym wdzięczny.
msm @4programmers.net
.