$A: Выравнивание данных

Язык:
Русский
English

 $A: Выравнивание данных


Переключает между байтовым выравниванием и выравниванием по словам переменных и типизированных констант.

 Синтаксис:             {$A+} или {$A-}
 Значение по умолчанию: {$A+}
 Тип:                   Глобальная
 Команда меню:          Options|Compiler|Align Data

Замечания

Выравнивание по словам не дает эффекта на процессорах 8088.

На всех процессорах 80x86 выравнивание по словам задает более быстрое выполнение.

 - К данным размера "слово" (2 байта) по четным адресам можно обратиться за
   один цикл памяти.
 - К данным на нечетных адресах можно обратиться за два цикла памяти.

Состояние $A+

В состоянии $A+, все переменные и типизированные константы размером больше 1-го байта располагаются по четным адресам.

При необходимости, между переменными могут быть вставлены неиспользуемые байты, для достижения выравнивания по словам.

Режим $A+ не влияет на переменные размером 1 байт, поля записей или элементы массивов.

Поле в записи будет выровнено по словам только в том случае, если полный размер всех полей до него является четным.

Чтобы каждый элемент массива был выровнен по словам, размер элементов массива должен быть четным.

Состояние $A-

В состоянии $A-, выравнивание не происходит.

Переменные и типизированные константы просто помещаются в следующий доступный адрес памяти, независимо от их размера.

ВНИМАНИЕ: Независимо от состояния $A, каждый раздел описания глобальных переменных и констант всегда начинается на границе слов.

Компилятор всегда хранит указатель вершины стека (SP) выровненным по словам, рапределяя дополнительный неиспользуемый байт в записи активации процедуры если это требуется.

Тэги: $A
| G+
Код для вставки: :: :: :: ::
Поделиться: // //