Page 41 - 4989
P. 41

4.3.3  Циклічна конструкція

                        Циклічна  конструкція  може  бути  утворена  з  використанням
                  команд  умовних  та  безумовних  переходів  або  з  використанням
                  спеціальної команди організації циклу (LOOP).

                        Цикл з передумовою може бути реалізований так:
                        <мітка2>:
                        Jcc <мітка1>
                                <команди>

                        JMP <мітка2>
                        <мітка1>:
                        Тут  команда  умовного  переходу  Jcc  повинна  перевіряти

                  умову, при якій виконання циклу завершується. Поки ця умова не
                  виконується, будуть виконуватись команди циклу та повернення
                  до перевірки умови.


                        Цикл з постумовою:
                        <мітка1>:
                                <команди>

                        Jcc <мітка1>
                        Тут  команда  умовного  переходу  Jcc  повинна  перевіряти
                  умову, при якій виконання циклу продовжується. Вихід з циклу
                  відбудеться, коли умова перестане виконуватись і відповідно не

                  відбудеться перехід на початок циклу.


                        Цикл  з  лічильником  можна  реалізувати  як  цикл  з
                  постумовою, що перевіряє значення лічильника.
                        Приклад:
                        MOV ECX, 10

                        M1:
                                ADD EAX, EBX
                                DEC ECX

                        JNZ M1
                        Тут цикл виконується 10 разів – поки значення регістра ЕСХ
                  не стане рівним 0.


                        Команда LOOP  <мітка> неявно використовує регістр  ЕСХ  і
                  еквівалентна послідовності команд:



                                                                 41
   36   37   38   39   40   41   42   43   44   45   46