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


         

На метку ZERO управление передает


            000D  0011 R                       DW      ROUTINE_TWO
            000F  0011 R                       DW      ROUTINE_THREE
                                   ; ...
 
            0011                   ROUTINE_ONE     LABEL   NEAR
            0011                   ROUTINE_TWO     LABEL   NEAR
            0011                   ROUTINE_THREE   LABEL   NEAR
 
            0011                   CODE    ENDS
                                         END
 
            Фиг. 4.28 Таблица переходов
 
      Здесь используется условный переход с противоположным условием.
    На метку ZERO управление передает команда безусловного перехода,
    которая может использовать смещение вплоть до 32768 байт, а в
    условном переходе используется метка CONTINUE.
 
      Если целью является минимизация программ, этого метода нужно
    избегать, так как он превращает команду условного перехода в
    пятибайтовую последовательность. Иногда реорганизация программы
    приводит к тому, что место перехода попадает в нужный диапазон.
    Однако не стоит особенно стараться минимизировать программу. В
    большинстве случаев не имеет особого значения, насколько у
    программы большой объем, лишь бы он не превышал заданного. Это
    имело бы смысл, если бы вы пытались сделать нечто помещающееся в
    модуль ПЗУ постоянного объема, но обычно усилия, затрачиваемые на
    изменения программы, не дают ощутимого выигрыша.

Содержание  Назад  Вперед