ďťż
Lemur zaprasza
"LOOP, LOOPE, LOOPZ, LOOPNE, LOOPNZ"
Jak pisałem poprzednio, przy naszych
Oczywiście - pętla działa co można
Składnia: LOOP ETYKIETA Tu warto od razu wyjaśnić, że loop - z angielskiego oczywiście - znaczy "pętla". No ale co właściwie robi LOOP? Mówiąc krótko - zaledwie dwie rzeczy: Po pierwsze - zmniejsza wartość CX o jeden (DEC CX), po drugie - jeśli CX jest większe 0 powoduje bezwarunkowy przeskok do "ETYKIETA". Jeśli chcielibyśmy powiedzieć to językiem procesora - LOOP ETYKIETA jest skrutem poniższych komend: DEC CX CMP CX,0 JNE ETYKIETA Nie trzeba tu filozofa by stwierdzić, że LOOP umożliwia tylko budowę pętli typu "downto" czy - jak w basicu - "step -1" - a po ludzku pętli, w której licznik maleje a nie rośnie. Oczywiście jest to prawda, ale prawdą jest też, że nie warto się męczyć wykonywaniem powyżej pokazanej pętli, gdy można to rozwiązać LOOP'em. Ponieważ postraszyłem w nagłówku pół tuzinem instrukcji, najwyższy czas zakończyć ten przydługi opis LOOP - za podsumowanie musi wystarczyć przykładowy programik. LOOPE/LOPZ, LOOPNE/LOOPNZ Instrukcje LOOP?? mają
Składnia: Nie trudno się też domyśleć, że LOOP??
lZmniejszyć CX o jeden (DEC CX - tak jak przy LOOP)l lJeśli CX>0 wykonać skok warunkowy do "ETYKIETA" w zależności od typu instrukcji: LOOPE - JE, LOOPNE - JNE, LOOPZ - JZ, LOOPNZ - JNZ.l lJeśli CX=0, lub nie spełniono warunku skoku warunkowego, zakończyć pętlę. l A po jakie licho jest to wszystko aż
Powrót do spisu treści kursu by Grzegorz Złotowicz Form and Graphics: |