Округление мантиссы
После масштабирования или, если отсутствует масштабирование, сразу после перевода мантиссы формируется характеристика, и константа в формате числа с плавающей точкой помещается в соответствующую область памяти.
Если длина преобразованного числа превышает указанную или неявную длину, то усекаются самые правые биты мантиссы. При этом производится округление мантиссы с учетом величины отбрасываемой части мантиссы. Окончательное число не будет отличаться от точного значения больше, чем на единицу в младшем бите.
Модификатор порядка, равный 2, относится ко всем константам, порядок, равный —1, относится только к последней константе. Таким образом, будут переводиться в машинный формат следующие константы: +4600, —372,9, +4730. Модификатор масштаба, равный 2, относится к каждой константе и будет вызывать появление в начале мантиссы двух шестнадцатеричных нулей.
Модификатор длины в битах. Язык ассемблера допускает задание модификатора длины в битах. В этом случае модификатор длины указывает число бит, которое требуется для размещения константы в памяти. Модификатор длины в битах записывается как L. n, где п — десятйчный терм без знака или положительное абсолютное выражение, заключенное в скобки. Например, L.20 означает, что длина константы — 2 байта и 4 бита.
Примером использования адресных констант является занесение адреса в регистр базы: адрес памяти определяется как адресная константа, а затем эта константа загружается в регистр базы.
Адресные константы в отличие от констант других типов при записи операнда оператора DC заключаются в скобки. В одном операнде можно определять несколько адресных констант, в этом случае они отделяются друг от друга запятыми, а вся последовательность адресных констант заключается в круглые скобки.
Оператором DC можно определять следующие адресные константы: действительные, явные, внешние и адресные константы фиктивной области.