Cтраница 1
Программа двухпроходного ассемблера реализует ссылки вперед путем двухразового считывания исходного файла. При первом проходе производится просмотр каждой строки в поисках определений идентификаторов, которые используются для формирования таблицы символов. [1]
Для двухпроходных ассемблеров существуют определенные соглашения. Подходят ли они для компиляторов. [2]
Основная стратегия двухпроходного ассемблера очень проста. Первый проход собирает все определения символов в таблицу символов ( см, разд. Сложной ситуации, которая возникает, если символ появляется в поле адреса команды прежде, чем он был определен, можно избежать, просмотрев всю исходную программу перед подстановкой фактических адресов. [3]
Мы рассмотрим схему работы двухпроходного ассемблера, что является наиболее типичным случаем. [4]
На рис. 5.2 показано, как на проходе 1 двухпроходного ассемблера каждому символу однозначно приписывается адрес. Ниже кратко поясняются отдельные шаги, изображенные на рисунке. [5]
Программа поиска элемента в списке. [6] |
На рис. 5.16 в сильно упрощенной форме показаны основные операции двухпроходного ассемблера. Из рисунка видно, что ядром процесса ассемблирования является таблица идентификаторов. Она представляет собой структуру данных, обеспечивающую преобразование идентификаторов в соответствующие значения. Первоначально в ней содержатся только идентификаторы мнемонических обозначений кодов операций, и в процессе ассемблирования такая таблица расширяется за счет внесения в нее идентификаторов, определенных пользователем. [7]