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



Безусловные переходы - часть 3


    NOP, если обнаружит, что переход делается ближе 128 байт от
    текущего места. Так как такой переход выполняется несколько
    быстрее, время выполнения в этом случае сокращается, но объектный
    код остается больше необходимого.
 
      Если программисту заранее известно, что переход вперед делается
    на место, лежащее в диапазоне 128 байт от текущего места, он может
    об этом сообщить ассемблеру с помощью следующей строки:
      JMP SHORT LABEL
 
      Аттрибут SHORT заставляет ассемблер сформировать короткую форму
    SHORT команды перехода, даже если он еще не встречал метку. Если же
    программист сделал ошибку и переход в действительности не может
    быть коротким, ассемблер выдает сообщение об ошибке. На Фиг. 4.26
    дан пример оператора SHORT.
 
      Фиг. 4.28 показывает, как можно устроить таблицу переходов
    с помощью команды косвенного перехода. В этом примере делается
    выбор среди нескольких программ, основываясь на значении аргумента
    в регистре AL. Аналогичная программа могла бы вызвать подпрограмму
    по индексу. Это - реализация на языке ассемблера оператора CASE,
    который существует в некоторых языках высокого уровня.



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