Page 38 - 4989
P. 38

4.3  Основні теоретичні відомості

                  4.3.1  Команди переходів та порівняння

                  Команди  переходів  поділяють  на  команди  безумовного

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

                  Формат команди безумовного переходу:
                  JMP <мітка>
                  Мнемоніки  всіх  команд  переходу  починаються  з  букви  J
            (jump).  Для  умовних  переходів  наступні  букви  мнемоніки

            скорочено позначають умову переходу:
                  N – not – не
                  Z – zero - нуль

                  E – equal - рівне
                  B – below – менше (для беззнакових операндів)
                  A – above – більше (для беззнакових операндів)

                  L – less – менше (для знакових операндів)
                  G – greater – більше (для знакових операндів)
                  Тобто,         наприклад,            JNGE          розшифровується                як

            "якщо не (більше             або       рівне)",       що       аналогічно          умові
            "якщо менше" (JL)  для  знакових  операндів  (ці  дві  команди  є
            синонімами,  тобто  відповідають  одній  і  тій  же  машинній
            команді).

                  Таблиця 4.2 - Команди умовних переходів

                        Команда                    Умова                 Значення флагів,
                                                 переходу       при яких здійснюється перехід
                   для               для                             для             для знакових

              беззнакових         знакових                      беззнакових
                          JZ, JE                      =                         ZF=1
                        JNZ, JNE                                               ZF=0
             JB, JNAE, JC         JL, JNGE            <             CF=1                 SFOF
               JBE, JNA           JLE, JNG            ≤        CF=1  ZF=1          SFOF  ZF=1
               JA, JNBE           JG, JNLE            >        CF=0  ZF=0          SF=OF  ZF=0

               JAE, JNB,          JGE, JNL            ≥        CF=0  ZF=1               SF=OF
                   JNC
                                      JS             >0                                   SF=1



                                                           38
   33   34   35   36   37   38   39   40   41   42   43