Cтраница 3
Если в поле операндов встречается имя, отсутствующее в таблице символов, то ассемблер предполагает, что оно используется в другой программе как метка или часть оператора прямого присваивания. Такое имя помещается ассемблером в таблицу внешних имен, которая входит в состав объектного модуля и используется компоновщиком при объединении нескольких объектных модулей в один загрузочный модуль. После обработки всех строк промежуточного кода второй просмотр завершается и оказывается сформированным объектный модуль. [31]
Так как поле операндов макропрототипа может содержать произвольное количество позиционных и ключевых параметров, его разрешается располагать на нескольких соседних строках бланка, используя два правила переноса. Первое состоит в том, что, заполнив очередным символом поля операндов позицию 71 бланка, заносят в позицию 72 любой символ, отличный от пробела ( не входящий в состав записи на поле операндов) и продолжают запись с позиции 16 следующей строки. Согласно второму правилу, мы можем оборвать запись в очередной строке на запятой, поставленной за очередным операндом, поместить после нее по крайней мере один пробел, в позицию 72 вписать символ, отличный от пробела, и начать запись следующих операндов с позиции 16 следующей строки. Между упомянутым выше пробелом и позицией 72 можно помещать произвольный текст, служащий комментарием. [32]
Данные в поле операндов предложения DS состоят из подполей: коэффициента кратности, типа области памяти, указателя длины и собственно данных. [33]
Последовательность операндов в поле операндов может быть любой. [34]
Логическое выражение на поле операндов должно быть заключено в скобки, и точка, начинающая метку перехода, должна следовать непосредственно за закрывающей скобкой. Результат исполнения оператора AIF - либо переход к предложению, помеченному указанной меткой ( когда логическое выражение имеет значение да), либо ( в случае нет) продолжение обработки в естественном порядке. [35]
Десятичное число в поле операндов определяет количество строк, которые пропускаются в листинге после оператора SPACE. Отсутствие операнда приводит к пропуску одной строки. [36]
Символическое имя в поле операндов COPY - это имя исходного текста, который должен быть скопирован. Обычно под этим именем исходный текст хранится в библиотеке программиста. [37]
В этом макроопределении поле операндов прототипа, содержащее три параметра, занимает три строки бланка. Выражения & LSBL ( n) и & NSBL ( n) в модельных командах являются не конкатенациями параметров с текстом ( п), а представляют синтаксические конструкции, заменяемые n - м подпараметром из соответствующего подсписка. Целое положительное число п указывает порядковый номер параметра. Если п больше количества элементов подсписка, конструкция заменяется пустым значением. [38]
Слово DATA в поле операндов оператора DD употребляется в случае, когда вводимый набор данных имеет свои управляющие операторы. Например, такая необходимость может возникнуть при организации набора ( программного модуля) в качестве каталогизированной процедуры. [39]
Ниже приводятся форматы поля операндов макрокоманды DFTRMLST для различных АП. [40]
Для указания адреса в поле операндов используют метки, ссылки на текущее значение счетчика команд и выражения. [41]
Например, если в поле операндов записана самоопределенная величина, то метка становится абсолютной; если переместимая метка - то переме-стимой. [42]
Значение арифметического выражения в поле операндов определяет соответствующее число переходов. [43]
Если ошибка обнаружена в поле операндов, то печатается и номер колонки поля операндов, указывающий приблизительное место ошибки. [44]
Адреса, записываемые в поле операндов данной команды, могут быть явными или неявными, индексируемыми или неиндексируемыми. Первый ( или единственный) адрес определяет начало ( самый левый байт), а второй - конец ( самый правый байт) дампируемой области. Если записан один адрес, то длина дампируемой области определяется по длине характеристики первого ( единственного) символического имени этого адреса. Если же этот адрес не символический или представляет собой внешнее имя, то длина принимается равной одному байту. [45]