Cтраница 2
В поле метки такой строки могут быть любые символы, кроме символов С и в первой позиции. В поле нумерации ( позиции 73 - 80) могут задаваться номера строк и другая информация, которая включается в распечатки трансляции. На рис. 1 приведен пример записи программы в фиксированном формате. [16]
В поле метки ( имени) может быть не более четырех символов. В поле операнда может размещаться до 100 символов, заключенных в кавычки. [17]
В поле метки может быть до четырех букв или цифр, которые перфорируются в колонках 73 - 76 каждой выходной карты, исключая карты, полученные с помощью операторов REPRO или PUNCH. В поле операнда можно записать до 100 символов, заключив их в кавычки. Содержимое поля операнда печатается в заголовке каждой страницы листинга до тех пор, пока не встретится другое предложение TITLE. С появлением каждого нового предложения TITLE листинг печатается с новой страницы. [18]
В поле метки генерируемого оператора может находиться метка, имя перехода, параметр или соединение параметров. В поле операции используются имена машинных команд, макрокоманд, операторов управления трансляцией и условной генерации, параметры или соединения параметров. В связи с рядом ограничений ассемблера параметры в поле операции рекомендуется использовать только для генерации машинных команд или констант. [19]
Если в поле метки указано имя, то ему присваивается значение, равное адресу самого левого байта поля, занимаемого константой. Если предложение определяет более одной константы, то имя относится к первой из них. [20]
Если в поле метки задано имя, то оно запоминается в таблице имен вместе со значением, равным адресу первого байта массива литералов, и с характеристикой длины, равной единице. Литералы, встретившиеся после последнего предложения LTORG, разместятся в конце программы. [21]
Пробелы в поле метки во внимание не принимаются, поэтому метка может быть расположена в любой из пяти отведенных под метку позиций. Цифры, используемые для образования метки, также не имеют значения. Важно лишь, чтобы одна и та-же метка не повторялась в одной программе дважды. [22]
Когда в поле метки появляется идентификатор, ему присваивается значение адреса. Если идентификатор появляется в поле операнда, то ассемблер подставляет значение, которое было ему присвоено. [23]
Пробелы в поле метки делают оператор в этой строке непомеченным. Если одной строки для оператора недостаточно, его можно продолжить на других строках, но в этом случае в 6 - й позиции должен быть записан любой символ, отличный от пробела или нуля. [24]
В одном поле метки может быть несколько меток. Все метки в поле имеют одно и то же значение. [25]
Если в поле метки указано имя, то ему присваивается значение, равное адресу самого левого байта поля, занимаемого константой. Если предложение определяет более одной константы, то имя относится к первой из них. [26]
Если в поле метки задано имя, то оно запоминается в таблице имен вместе со значением, равным адресу первого байта массива литералов, и с характеристикой длины, равной единице. Литералы, встретившиеся после последнего предложения LTORG, разместятся в конце программы. [27]
Символу а в поле метки присваивается значение выражения р в поле операнда. [28]
В некоторых случаях поле метки заканчивается двоеточием. [29]
Имя DATA определено в поле метки и имеет значение адреса области памяти, в которой хранится восьмеричный код латинской буквы А. BYTE является именем директивы, которая резервирует один байт памяти и записывает в него указанное в поле операндов число. Имя MOVB обозначает КОП пересылки одного байта данных. Указанные в поле операндов имена DATA и RD задают адреса областей, между которыми пересылается байт данных. [30]