Chcialbym sie dowiedziec kiedy wystepuje przeniesienie zmianna carryFlag ? Wiem tylko tyle, ze podczas operacji arytmetycznych. Czyli coś takiego:
Założmy :
eax = 10; b = 20;
Czyli jak mam cmp eax,b to wtedy wystepuje przeniesienie ?
eax = 20; b= 10;
a jezeli bylo by** cmp eax, b **to wtedy nie ma przeniesienia ?

Przykladowy kod ktory mial wyznaczac liczbe max
Dla : a= 10; b= 20; przy takich zmiennych wyznaczy mi ze max wynosi 20;
Natomiast dla : a= 20; b = 10 ; wyznaczy mi ze maksymalna wynosi 10. Dlaczego ?

Dlaczego musze wrzucic rejestr na stos ?

 

int Max(int a,int b)
{
	int wynik;
	__asm{
		push eax;
		mov eax,a;
		cmp eax,b;
		jc Skok; // skok jesli przeniesienie
		mov wynik,eax;
Skok:
		mov eax,b;
		mov wynik,eax;
		pop eax;
	}
	return wynik;
}