Первый проход

1.Определение длины команды (п. 22). В разных ассемблерах эта задача решается разным образом.

В языках некоторых ассемблеров мнемоника команды однозначно определяет её формат и длину (все RISC процы). В этом случае длина команды выбирается из таблицы команд. В других языках длина и формат зависит от того, с какими операндами употреблена команда (Интел-процы). В этом случае длина вычисляется по специфическому алгоритму, в который входит выделение отдельных операндов и определение их типов. При этом производится проверка правильности кодирование операндов: проверка количества операндов и допустимость их типов.

2. Обнаружение литералов требует первоначального обязательного выделения операндов команды.

3. Листинг (п 31). Строка листинга печатается в конце каждой итерации обработки оператора. Строка листинга 1 прохода содержит: номер оператора, значение счетчика адреса (только для команд, и директив, приводящих к выделению памяти)

Листинг 1 прохода не является окончательным и используется только для поиска ошибок. Поэтому его печать необязательна. Режим печати листинга 1 прохода определяется либо параметром ассемблера, либо специальной директивой. После листинга программы может опционно печататься таблица символ.

4. Ошибки. На первом проходе выявляются не все ошибки, а только те, которые связаны с выполнением задачи 1 прохода. Сообщение об ошибке включает в себя: код ошибки, диагностический текст, номер и текст оператора программы, в котором обнаружена ошибка.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: