ZX Format
#03
29 февраля 1996 |
|
IS-DOS - "Формат таблицы локальных символов IS-DOS Ассемблера".
Рубрика "IS-DOS - программистам" No 3
Прокопенко С. В.
под ред. Елисеева В. А.
"Формат таблицы локальных
символов IS-DOS Ассемблера"
________________________________________
В этой статье описывается формат
таблицы локальных символов, генерируе-
мой IS-DOS Ассемблером в виде временно-
го файла *.ltb
Таблица локальных символов содер-
жит локальные символы-имена, цифровые
локальные метки, определенные на первом
проходе трансляции программы, и соответ-
ствующие им численные значения.
Эта таблица-файл стирается по окон-
чании трансляции.
Структура таблицы локальных
символов ассемблера.
Вся таблица состоит из непрерывно
расположенных записей, по 16 байт каждая.
Каждая запись содержит информацию
либо об одном локальном символе-имени,
либо описывает одну или несколько цифро-
вых локальных меток (до 8 шт.) Записи
локальных символов-имен связаны друг с
другом в бинарное дерево, а к записям
цифровых локальных меток можно доб-
раться лишь через соответствующий имен-
ной символ-метку, начинающую блок цифро-
вых локальных меток.
Формат одной записи для символов-
имен следующий (см. табл. 1):
Таблица 1.
Формат записи символов-имен.
----------------------------------------
смещ. длина значение
----------------------------------------
0,1 (2) - ссылка на предидущую
запись
2,3 (2) - ссылка на следующую
запись
4 (1) - число знаков в
имени-символе (N)
5 (N) - знаки символа (символы)
5+N (1) - тег (*) значения
символа
6+N (2) - значение символа
8+N (2) - ссылка на блок циф-
ровых локальных меток
(если он есть) или зна-
чение программного
счетчика (для символов,
определенных через
EQU). В остальных слу-
чаях не определено
----------------------------------------
--------------
(*) Тег (англ. tag - ярлык, зтикетка) -
часть элемента данных (один или нес-
колько разрядов слова), определяющая его
тип. (прим. ред.)
--------------
Ссылки на блок цифровых локальных
символов могут быть 2-х типов:
1.#NNFF (FF-младший байт)
#FF-признак данного типа ссылки;
NN-число цифровых локальных симво-
лов в блоке (1 байт);
В случае такого типа ссылки блок
ц.л.с. начинается прямо со следующей 16
байтовой записи и продолжается до конца.
2.NNNN - смещение относительно начала
файла *.ltb до блока ц.л.с.
В случае такого типа ссылки блок
ц.л.с. начинается по смещению NNNN от
начала файла ц.л.с., и в начале блока
ц.л.с. идут следующие 2 байта: #FF и да-
лее NN-число цифровых локальных симво-
лов в блоке. Далее подряд следуют ц.л.с.
Один ц.л.с. занимает 2 байта. Пер-
вый байт-номер ц.л.с., а второй - его
значение (смещение относительно начала
блока ц.л.с.)
Ц.л.с. записываются в файл в виде
16-байтовых записей. Поэтому, если их
число в блоке не кратно 8, то оставшая-
ся часть байтов последней записи блока
не используется. Новый блок ц.л.с. всег-
да начинается в новой 16 байтовой запи-
си.
________________
Еще раз напоминаем, что Ваши пожела-
ния и замечания по всем материалам, ка-
сающимся IS-DOS мы всегда будем рады
выслушать по телефону 245-00-91 (с 10.00
до 16.00 по рабочим дням, спросить Прог-
раммный отдел), по этому же телефону Вы
можете получить оперативную консульта-
цию по всем вопросам, касающимся систе-
мы IS-DOS и прикладных программ, рабо-
тающих в ее среде.
Фирма "IskraSoft"
________________________________________
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября