Co robi ten kod zespołu? (TEST, XOR, JNZ)

1

TEST EAX,EAX
JNZ SHORT program.00407190

2.

XOR EAX,EAX
JNZ SHORT program.00407190

Proszę, popraw mnie, jeśli się mylę. Dziękuję Ci! :)

Z mojego dotychczasowego zrozumienia:

JNZ skacze, jeśli nie jest równe zero, przeskoczy lub nie zależy od tego, czyZF jest ustawiony na 1 lub nie. Jeśli jest 1, nie przeskoczy. W przeciwnym razie skoczy.

Z mojego zrozumienia dla kodu # 1,TEST EAX,EAX sprawdzi, czy jest zero, czy nie. Jeśli nie jest równy zero (ZF jest 0), przeskoczy do adresu 00407190.

Dla kodu # 2
XOR EAX,EAX ustawi rejestr EAX na 0. Czy ustawił jakieś flagi? Jeśli nie, to jakJNZ instrukcja określa skok?

Wreszcie, dlaczego ludzie chcieliby sprawdzić, czyEAX jest 0 czy nie? Prosimy o pomoc w łatwiejszym i bardziej szczegółowym wyjaśnieniu, wciąż jestem początkującym.

questionAnswers(1)

yourAnswerToTheQuestion