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



Команда пересылки - часть 5


    источник.
 
      Никакие из команд MOV не меняют флагов состояния. Хотя иногда
    это кажется неудобным, но является наилучшим способом работы с
    флагами. Как мы увидим далее, микропроцессор 8088 имеет команды,
    которые могут эффективно проверить любую ячейку памяти так, что
    команда пересылки не потребуется. В качестве примера случая, когда
    установка флагов при пересылке не нужна, рассмотрим арифметику
    повышенной точности. Когда программа выполняет вычисления
    повышенной точности, она должна переслать части операндов в
    регистры, чтобы расположить их там для выполнения операции. Такая
    пересылка не меняет ни одного флага, а это позволяет флагам
    обслуживать арифметику повышенной точности.
 
      Как было замечено, существует несколько различных вариантов
    команд пересылки на машинном языке. Объектный код на Фиг. 4.2
    иллюстрирует эти варианты. Если вас интересует структура машинного
    языка, вы можете сравнить объектный код с описанием машинного языка
    в приложении А. Такое сравнение поможет выяснить значение отдельных
    битов в машинном коде. Например, вы сможете увидеть значения данных
    с непосредственным операндом в командах. К счастью, для того, чтобы
    писать программы на ассемблере, вам не требуется точно знать, как
    работает ассемблер.
 
      Если вы хотите достичь наибольшей возможной эффективности
    программ, вам надо изучить объектный код на Фиг. 4.2. Число байтов
    команды непосредственно связано с количеством времени, необходимого
    для выполнения этой команды. Например, команда пересылки, которая
    берет непосредственное значение и посылает его в память, занимает 6
    байт. Набор команд микропроцессора 8088 содержит несколько команд,
    оптимизированных для работы с аккумулятором AX либо AL.
    Использование этих команд поможет вам сэкономить время и место в
    программах, где это важно.
 
      Последние две команды на Фиг. 4.2 показывают, как занести
    непосредственное значение в сегментный регистр. Любой другой



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