Процессоры действуют более эффективно, eсли в программе обеспечиваются доступ к словам, расположенным по четным адресам.
Процессор может сделать oдну выборку слова по адресу 4B22 для загрузки его непосредственно в регистр. Но если слово начинается на нечетном адресе, процессор выполняет двойную выборку. Предположим, например, что команда должна выполнить выборку слова, начинающегося по адреcу 04B23 и загрузить его в регистр AX:
Содержимое памяти: |хх|24|01|хх|
Адрес: 04B23
Сначала процессор получает доступ к байтам по адресам 4B22 и 4B23 и пересылает байт из ячейки 4B23 в регистр AL.
Затем он получает доступ к байтам по адресам 4B24 и 4B25 и пересылает байт из ячейки 4B23 в регистр AH. В результате регистр AX будет содержать 0124.
Нет необходимости в каких-либо специальных методах программирования для получения четной или нечетной адресации, не обязательно также знать является адрес четным или нет. Важно знать, что, во-первых, команды обращения к памяти меняют слово при загрузке его в регистр так, что получается правильная последовательность байт и, во-вторых, если программа имеет частый доступ к памяти, то для повышения эффективности можно определить данные так, чтобы они начинались по четным адресам.
Например, поскольку начало сегмента должно всегда находиться по четному адресу, первое поле данных начинается также по четному адресу и пока следующие поля определены как слова, имеющие четную длину, они все будут начинаться на четных адресах. В большинстве случаев, однако, невозможно заметить ускорения работы при четной адресации из-за очень высокой скорости работы процессоров.
Ассемблер имеет директиву EVEN, которая вызывает выравнивание данных и команд на четные адреса памяти.