Поле значения имени
Смысл величины, хранящейся в поле значения, зависит от класса памяти соответствующего имени. Эту зависимость иллюстрирует следующая таблица:
Класс памяти | Смысл значения имени |
C_AUTO | Смещение в стеке (в байтах) |
C_EXT | Настраиваемый адрес |
C_STAT | Настраиваемый адрес |
C_REG | Номер регистра |
C_LABEL | Настраиваемый адрес |
C_MOS | Смещение в байтах |
C_ARG | Смещение в стеке (в байтах) |
C_STRTAG | 0 |
C_MOU | 0 |
C_UNTAG | 0 |
C_TPDEF | 0 |
C_ENTAG | 0 |
C_MOE | Значение элемента перечисления |
C_REGPARM | Номер регистра |
C_FIELD | Смещение в битах |
C_BLOCK | Настраиваемый адрес |
C_FCN | Настраиваемый адрес |
C_EOS | Длина |
C_FILE | См. текст ниже |
C_ALIAS | Номер синонима |
C_HIDDEN | Настраиваемый адрес |
Для имен с классом памяти C_FILE в поле значения указывается номер следующего элемента для специального имени .file. Таким образом, в таблице имен элементы .file образуют однонаправленный список. В поле значения последнего элемента .file хранится номер элемента таблицы имен, отвечающего первому глобальному имени.
Настраиваемые имена имеют значение, равное виртуальному адресу соответствующих команд или данных. Эти значения изменяются при обработке секции редактором связей.