ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



2. Установка режимов компиляции
               В  значительной  степени режим компиляции программы на
         языке ассемблера определяется распознаваемым программой MASM
         набором  инструкций,  часть которого может варьироваться при
         помощи специальных  директив.  В  языке  ассемблера  имеется
         несколько  директив  задания  набора  допустимых инструкций,
         список  которых  и,   соответственно,   способ   кодирования
         приведены ниже:
               
         .8086 
         .8087
         .186
         .286c
         .286p
         .287
               
               Директивы  установки  набора  инструкций,   если   они
         используются, должны располагаться в начале исходного файла. 
               Директива  .8086  позволяет  ассемблировать инструкции
         микропроцессоров 8086 и  8088  и  запрещает  ассемблирование
         инструкций  процессоров 80186 и 80286. Аналогично, директива
         .8087  позволяет  ассемблировать  инструкции  арифметики   с
         плавающей точкой сопроцессора 8087 и запрещает использование
         инструкций, специфичных для процессора 80287.
               Поскольку  MASM  ассемблирует  инструкции  процессоров
         8086  и  8087  по  умолчанию, использования директив .8086 и
         .8087  не  требуется,  если  исходный  файл  содержит только
         инструкции этих процессоров.  
               Директива .186  разрешает  ассемблирование  инструкций
         процессора 8086 и дополнительных к ним инструкций процессора
         80186. Эта  директива  должна  использоваться  в  программе,
         которая будет выполняться только процессором 80186.
               Директива  .286c  разрешает ассемблирование инструкций
         процессора 8086 и незащищенных инструкций  процессора  80286
         (они  идентичны  инструкциям  80186).  В  дополнение к этому
         директива  .287p  позволяет  ассемблировать   и   защищенные
         инструкции  процессора  80286.  Директива  .286c должна быть
         использована в программе, которая будет  выполняться  только
         процессором  80286  и не содержит защищенных инструкций. При
         использовании   директивы   .286p   последнее    ограничение
         несущественно.
               Директива  .287  разрешает  ассемблирование инструкций
         арифметики  с  плавающей  точкой  сопроцессора  80287.   Эта
         директива   должна   использоваться   в  программе,  которая
         содержит указанные инструкции  и  будет  выполняться  только
         процессором 80287.
               Кроме  того,  если  программа содержит директивы .8087

                                     -  7 -
                                     
                                     
         или .287, в командной строке MASM следует при  помощи  опций
         /R   или   /E   определить,  как  ассемблировать  инструкции
         арифметики с  плавающей  точкой  (использование  опций  MASM
         описано  в  "Система  программирования  на макроассемблере в
         системе MS-DOS.  Часть  1.  Пакет  макроассемблера,  п.2.3).
         Использование   опции   /R   заставляет   MASM  генерировать
         действительные инструкции  арифметики  с  плавающей  точкой.
         Опция  /E  обеспечивает  генерацию  кода, который может быть
         использован  программой  эмуляции  арифметики  с   плавающей
         точкой. 


© KOAP Open Portal 2000