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


         

Карта связей


    На Фиг. 5.16 приведена полученная в результате редактирования карта
    связей.  Так как рассматриваемый пример прост, то и карта не очень
    содержательна.  Каждому сегменту в исполняемом файле соответствует
    отдельная строка карты.  В строке последовательно указаны значения
    начального и конечного адресов каждого сегмента в том виде, в каком
    они будут загружены в память.  Заметьте, что размер сегмента CODE
    равен 3CH.    Это является суммарным размером сегментов CODE в двух
    программных модулях.  Другой сегмент в нашем примере - это сегмент
    STACK размером 80H байт.
      По поводу адресов, приведенных в карте связи, нужно сделать
    следующие замечания. Во-первых, все они являются 20- битовыми
    адресами и отсчитываются от ячейки 0. Так как загрузка программы
    будет осуществляться DOS, то занрузчик изменит значения этих
    адресов. Однако относительно друг друга их значения останутся
    такими же. В отношении сегментов следует еще отметить, что в памяти
    они не располагаются последовательно. Хотя длина сегмента CODE
    равняется только 3CH, сегмент STACK начинается с адреса 40H.
    Сегменты должны располагаться на границах параграфов для того,
    чтобы адреса смещения сохраняли правильные значения. Благодаря
    привязке к границам параграфов, сегментные регистры указывают точно
    на первую ячейку сегмента. Следовательно, в нашем случае редактор
    связей расположил сегмент STACK на первой границе параграфа сразу
    же после конечного адреса сегмента CODE. С учетом того, что конец
    сегмента CODE равен 3BH, следующий адрес ячейки, который делится на
    16, будет равен 40H.
 
          ----------------------------------------------------
             Start  Stop   Length Name             Class
             00000H 0007FH 00080H STACK
             00080H 000CEH 0004FH CODE
 
            Program entry point at 0008:0000
          ----------------------------------------------------
 
          Фиг. 5_16 Карта связей для Фиг. 5.13 и 5.14



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