Случайное
Старые записи

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

Адресная константаЯвная адресная константа. В программах можно использовать константы в виде явных адресов памяти. Такие константы называются явными адресными константами, или константами типа S. Явная адресная константа может быть определена двумя способами: как одно абсолютное или простое переместимое выражение, например DC S; как два абсолютных выражения, первое из которых представляет смещение, а второе — регистр базы. Второе выражение заключается в скобки, например DC S). В первом случае выражение определяет неявный адрес, во втором случае два выражения определяют явный адрес. Выражение, определяющее неявный адрес, будет преобразовано транслятором к форме «база — смещение».

Явная адресная константа всегда занимает два байта. Четыре самых левых бита константы определяют регистр базы, остальные 12 бит — смещение. Если длина константы задается явно, то она может указываться равной только двум байтам. Если длина задается неявно, то производится выравнивание на границу полуслова. Явная адресная константа может использоваться при формировании команды на машинном языке.

Внешняя адресная константа. Программист может зарезервировать в программе область памяти для значения простого имени из другой программы, т. е. имени, используемого для связи с другой программой и для обращения к внешним данным. Это можно сделать, определив в операторе DC внешнюю адресную константу.

Константа типа V задается переместимым именем. Значение константы после трансляции будет равно нулю, окончательное значение устанавливается редактором связей или загрузчиком. Неявная длина константы типа V равна 4 байтам — Модификатором длины константы типа V можно указывать длину только 3 или 4 байта. Если модификатор длины не указывается, производится выравнивание на границу слова.

Литералы, у которых запись одинаковая, называются дублирующими. Только первый из дублирующих литералов, относящихся к одной области литералов, помещается в эту область. Если литерал является адресной константой, содержащей счетчик адреса, то в область литералов помещается каждый литерал, даже если он дублирующий.

Новое на сайте
Интересные записи
7c7cf2addf7598dc