Адрес - константа - Большая Энциклопедия Нефти и Газа, статья, страница 2
В развитом обществе "слуга народа" семантически равен "властелину народа". Законы Мерфи (еще...)

Адрес - константа

Cтраница 2


Встречая литерал, ассемблер создает константу с величиной, определяемой литералом, а в то поле операнда, где записан литерал, помещает адрес константы.  [16]

Каждая позиция СКЛС содержит следующие данные: код класса; код вида сообщений ( событие, прогноз, запрос, корректирующее изменение констант); адрес констант, определяющих синтаксическую структуру сообщений данного класса в справочнике эталонов форматов для различных классов сообщений ( СЭФ); адрес - место в памяти, где хранится индивидуальная программа по выполнению дальнейших действий, связанных с данным сообщением, после помещения всех его слов в МУСС и объем этой программы.  [17]

На границу полуслова выравниваются адреса констант типа Н, S и Y, на границу слова - адреса констант типа А, Е, F, Q и V, на границу двойного слова - адреса констант типа D и L.  [18]

19 Структура директивы загрузки Корректировать адреса. [19]

Адресная часть оператора записывается в виде двух относительных простых или сложных этикеток или в виде целых чисел. Если в адресе константы присутствует этикетка, то его действительное значение зависит от места расположения программы в памяти, поэтому в результате трансляции на языке загрузки константа занимает две ячейки. В первой ячейке располагается директива загрузки Корректировать адрес. По этой директиве во время загрузки программы корректируются адреса константы на величину адреса размещения области в памяти. На рис. 4.6 приведена структура директивы. В разрядах 16 - 20 и 23 - 27 содержатся номера областей, к которым относятся адреса, указанные в константе. Номер области указывает на то, что соответствующий адрес корректируется на величину адреса расположения данной области. Если номер области отсутствует, то корректировка не производится.  [20]

21 Загрузка общего регистра [ IMAGE ] Загрузка общего регистра константой ( использование пред - с использованием литерала ложения DC. [21]

Литералы служат удобным средством для указания в машинной команде операнда, являющегося константой. Литерал записывается в команде вместо адреса константы.  [22]

Один из методов формирования адреса для любой заданной точки в программе заключается в том, что эта точка помечается меткой или символом. Метки можно использовать для идентификации адреса константы, определенной области памяти, программы или подпрограммы, таблицы или любого конкретного предложения. Сама по себе метка всегда будет вырабатывать адрес, который указывает на самый левый байт поля или команды, представляющий самый младший адрес в области памяти, идентифицированной меткой. Если метка относится к полю данных, то этот принцип может привести к некоторому недоразумению - адрес будет указывать на самый левый байт поля, который в действительности имеет самый младший адрес памяти для этого поля, но в то же самое время этот байт внутри поля может рассматриваться как старший. Очевидно, что имеются два типа значений адреса, которые надо четко различать между собой, - значение адреса памяти и значение содержимого внутри самого поля.  [23]

Таблица модулей ( ТМ) содержит номера модулей в том порядке, в каком они должны исполняться в данной ведущей программе. Таблица объемов обработки ( ТУ) задает объемы, а таблица настроек ( IN) - адреса параметров, подлежащих обработке каждым модулем, а также адреса используемых констант.  [24]

25 Общая блок-схема компилирующей программы. [25]

После этого выполняется присвоение действительных адресов константам и рабочим ячейкам. Это осуществляется путем просмотра содержимого каждой команды: если символический а-адрес очередной команды не является адресом какой-нибудь другой команды, то, значит, он является адресом константы или рабочей ячейки. Таким символическим адресам ставятся в соответствие последовательные действительные адреса. Отметим, что компилирующая программа не может присваивать адреса константам и рабочим ячейкам таким же способом, как это делалось для команд, так как в ней не указано, сколько имеется констант и рабочих ячеек.  [26]

Для управляющих ЦВМ константы программирования также объединяются в зоны. К означает адрес константы 1777 в зоне констант программирования К.  [27]

Само изменение адресов обычно осуществляется путем прибавления к адресу определенных констант, которые могут размещаться либо в индексных регистрах, либо в фиксированных ячейках памяти.  [28]

Адреса констант, порожденных литералами, также должны быть обеспечены базовыми регистрами. Это следует учитывать при решении, включать ли в исходный модуль ( и если да, то где располагать) предложения LTORG. Заметим, что если предложения LTORG не используются, то адреса констант, порожденных литералами, употребленными в любом месте исходного модуля, окажутся базированными с помощью базовых регистров первой секции. Это надо учитывать при выборе числа этих регистров и значений базовых адресов. Если команда I какой-либо программной секции S1 использует неявный адрес из другой программной секции S2, то значения в базовых регистрах для S2 не должны изменяться командами S1, предшествующими I по выполнению.  [29]

Последовательность программирования или кодирования такова: 1) понять формулировку задачи; 2) составить блок-схему задачи; 3) закодировать символически каждый блок блок-схемы; 4) присвоить символам численные адреса; 5) записать окончательную подробную программу. Блок-схема представляет общую наглядную картину вычислительного процесса, направляющую работу по кодированию таким образом, что можно каждый раз сосредоточить внимание на одной части блок-схемы. Символическое кодирование дает возможность записать команду до того, как программист будет злать адреса констант и других команд, к которым обращается данная команда. Кроме того, поскольку символическое наименование этих адресов обычно соответствует их содержимому, то символический код легко записывать и проверять.  [30]



Страницы:      1    2    3