Assembler для начинающих

Управление циклами


    Существует несколько команд условного перехода, предназначенных для
    управления циклами в программах.  Поскольку программые циклы
    используются часто, желательно эффективное управление циклом.  На
    Фиг. 4.30 показаны четыре команды, созданные для того, чтобы
    облегчить программирование циклов на языке ассемблера
    микропроцессора 8088.
 
      Так же, как строковые команды используют регистр CX в качестве
    счетчика, команды цикла LOOP используют регистр CX в качестве
    счетчика цикла. Все эти команды неявно рассматривают регистр CX как
    счетчик итераций цикла. Простейшая команда среди них - команда
    LOOP. Команда LOOP уменьшает регистр CX и передает управление на


    метку, если содержимое регистра CX не равно 0. Если вычитание
    единицы из регистра CX не привело к нулевому результату, команда
    LOOP не делает перехода, и выполняется следующая команда.
 
      Приведенный ниже программный фрагмент демонстрирует обычное
    использование команды LOOP.
 
      MOV    CX,LOOP_COUNT
      BEGIN_LOOP:
      ; ...  тело цикла
      LOOP   BEGIN_LOOP
 

          Microsoft (R) Macro Assembler Version 5.00              1/1/80 04:02:01
          Фиг. 4.30 Команды цикла                           Page  1-1
 
 
                                        PAGE    ,132
                                        TITLE   Фиг. 4.30 Команды цикла
 
           0000                   CODE    SEGMENT
                                        ASSUME  CS:CODE
 
                                  ;----------------------------------------
                                  ; В этом примере демонстрируются команды цикла.
                                  ; Команды в примере не являются законченной программой.
                                  ;----------------------------------------
 
           0000  E3 06                  JCXZ    END_OF_LOOP     ; Конец цикла, если CX равно 0
 
           0002                   BEGIN_LOOP:



Содержание раздела