Assembler posiada gotowe instrukcje warunkowe.
Opiszę tutaj tylko ogólne informacje na temat instrukcji IF/ELSE/IFELSE, ich składnię oraz sposób działania. To w zupełności wystarczy, aby stosować takie instrukcje w kodzie programu.
Należy tutaj zaznaczyć, iż każda instrukcja warunkowa sprawdza wyrazenie logiczne - WARUNEK (np. eax==WM_CLOSE).
Wynikiem tej operacji może być tylko FALSE (fałsz) lub TRUE (prawda). I właśnie na tej
podstawie jest podejmowana decyzja o wykonywaniu/nie wykonywaniu odpowiednich INSTRUKCJI.
Wariant 1:
.IF WARUNEK
INSTRUKCJA(E)
.ENDIF
Jeżeli WARUNEK ma wartość TRUE, to INSTRUKCJA(E) jest wykonywane.
Jeżeli WARUNEK ma wartość FALSE, to INSTRUKCJA(E) nie jest wykonywane.
Wariant 2:
.IF WARUNEK
INSTRUKCJA(E)1
.ELSE
INSTRUKCJA(E)2
.ENDIF
Jeżeli WARUNEK ma wartość TRUE, to INSTRUKCJA(E)1 jest wykonywane.
Jeżeli WARUNEK ma wartość FALSE, to INSTRUKCJA(E)2 jest wykonywane.
Wariant 3:
.IF WARUNEK1
INSTRUKCJA(E)1
.IFELSE WARUNEK2
INSTRUKCJA(E)2
.ENDIF
.ENDIF
Jeżeli WARUNEK ma wartość TRUE, to INSTRUKCJA(E)1 jest wykonywane.
Jeżeli WARUNEK ma wartość FALSE, to jest sprawdzany WARUNEK2 i jeśli WARUNEK2 ma wartość TRUE jest wykonywane INSTRUKCJA(E)2.
Wariant 4:
.IF WARUNEK1
INSTRUKCJA(E)1
.IFELSE WARUNEK2
INSTRUKCJA(E)2
.ELSE
INSTRUKCJA(E)3
.ENDIF
.ENDIF
Jeżeli WARUNEK ma wartość TRUE, to INSTRUKCJA(E)1 jest wykonywane.
Jeżeli WARUNEK ma wartość FALSE, to jest sprawdzany WARUNEK2 i jeśli WARUNEK2 ma wartość TRUE jest wykonywane INSTRUKCJA(E)2, a jeśli WARUNEK2 ma wartość FALSE jest wykonywane INSTRUKCJA(E)3.
Kombinacji i zagnieżdżeń powyższych, czterech, podstawowych wariantów jest nieskończenie wiele. To jakie zastosujemy zależeć będzie od tego, co chcemy osiagnąć.
<<
|