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



              

EXTRN и PUBLIC - часть 5


    с помощью оператора PUBLIC. Это означает, что их имена доступны для
    другого программного модуля. Ни на какие другие переменные или
    программные метки в этой программе, не указанные в операторе
    PUBLIC, ссылки в других программах невозможны. Хотя это может
    показаться неудобным, однако, если все имена имели бы атрибут
    PUBLIC, то возникла бы другая трудность. Это означало бы, что
    каждое имя в любом из модулей, которые вы могли бы связать между
    собой, должны быть уникальными, т.е. вы никогда бы не смогли
    использовать одно и то же символическое имя дважды в разных
    модулях. Это может быть серьезным препятствием для повторного
    использования некоторых подпрограмм, так как такое использование
    возможно и через несколько лет, а помнить все символические имена и
    следить за тем, чтобы ни одно из них не повторялось дважды довольно
    сложно. Заметьте, что в операторе PUBLIC не требуется указывать
    атрибуты имен: об этом заботятся обычные операторы языка
    ассемблера.
      Программа LINK устанавливает соответствие между всеми внешними
    именами и соответствующими операторами PUBLIC, которые их
    объявляют. После этого редактор связей записывает правильные
    значения адресов в команды, гдк есть ссылки на внешние имена.
    Обрабатываются те поля в командах, рядом с которыми в ассемблерном
    листинге стоял символ "E".
 
      Кроме того, ассемблер осуществляет объединение любых сегментов
    с одними тем же именем. В случае программ на Фиг. 5.13 и П5.14
    основная программа и подпрограмма принадлежат одному и тому же
    сегменту с именем CODE. Так как в операторе EXTRN основной
    программы для программы OUTPUT_ROUTINE указан атрибут NEAR, то
    желательно, чтобы эта программа была в том же сегменте. Атрибут
    PUBLIC в операторе SEGMENT указывает редактору связей объединить
    оба программных модуля в один выполняемый сегмент.
 
      В программе на Фиг. 5.13 есть еще один сегмент, который следует



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