АССЕМБЛЕР. Компоновщик. Загрузчик. Макрогенератор


Таблица имен (ТИ).


В ней записывается информация о метках, именах переменных, именах констант и т.п. Таблица имеет примерно такую структуру (все числа 16-ричные):

          имя     тип      значение    сегмент

         --------------------------------------

           X      WORD       7048         S2

           P      FAR        001F         S3

           K      NUMBER        3         -

            ...

В каждой строчке собрана информация об одном имени, указанном в первой колонке.

В поле "тип" указывается класс объекта, обозначенного этим именем, и, если надо, его размер. Типы BYTE, WORD и DWORD указывают, что это имя переменной соответствующего размера. Типы NEAR и FAR указывают на метку или имя процедуры. Тип NUMBER указывает на имя числовой константы. Используются и другие типы (например, для структур и записей), но мы их не будем рассматривать.

В поле "значение" указывается величина, на которую ассемблер будет заменять имя, когда оно встретится в качестве операнда какой-то команды или директивы. Для меток и имен переменных здесь указываются их адреса (смещения), а для констант - их значения.

В поле "сегмент" указывается имя того сегмента программы, в котором было описано имя из первой колонки (для констант это поле пусто). Эта информация нужна для определения того, по какому сегментному регистру должно сегментироваться данное имя.



Содержание раздела