Program ma za zadanie wykonać proste obliczenie w pętli coś na styl tego (wynik = wynik + i)
Jakoś nie mogę zrozumieć, że nie używamy zmiennej, która robiła by za "licznik w pętli" .
Po co dekrementujemy ilość obiegów przed wejściem do pętli ?
Dlaczego uzywamy tutaj instrukcji xor eax,eax a nie naprzykład mov eax,0 .
Troche inne pytanie add eax,[ebx +4*ecs-4] co oznacza zapis w nawiasach [] ? Czy to jest jakby wskaznik tak jak w c++ ?
int zad63()
{
int N, suma;
cout << "Podaj N : "; cin >> N;
__asm {
xor eax, eax;// Czyscimy.
mov ecx,N; // ilość obiegów
dec ecx; // Zmnniejszamy ecx po co?
skok1:
add eax, ecx;
loop skok1; // zmneijsze ecx o 1 i skacze pod dana etykiete .
mov suma, eax;
}
return suma;
}
int _tmain(int argc,_TCHAR* argv[])
{
cout << zad63();
system("pause");
return 0;
}