Если инструкция использует некоторую адресацию памяти, то по умолчанию создается наименьшая форма инструкции, использующая короткое перемещение, если только значение адреса попадает в диапазон. Это может быть изменено применением операторов word или dword перед адресом в квадратных скобках (или после оператора ptr). Когда же адрес не является регистром, эти операторы позволяют также выбрать соответствующий режим абсолютной адресации.
Инструкции adc, add, and, cmp, or, sbb, sub и xor с первым 16-битным или 32-битным операндом по умолчанию генерируются в сокращенной 8-битной форме, если второй операнд – непосредственное значение, лежащее в допустимом диапазоне 8-битных чисел. Это также может быть изменено, если поставить word или dword перед непосредственным значением. Аналогичные правила применяются к инструкции imul, имеющей в качестве последнего операнда непосредственное значение.
Непосредственное значение в качестве операнда для инструкции push, используемое без оператора размера, по умолчанию рассматриваются как слово, если ассемблер в 16-битном режиме, и как двойное слово, если ассемблер в 32-битном режиме. Если возможно, то применяется короткая 8-битная форма этой инструкции, операторы размера word или dword заставляют инструкцию push генерироваться в длинной форме указанного размера. Мнемоники pushw и pushd указывают ассемблеру генерировать 16-битный или 32-битный код, не заставляя его использовать более длинную форму инструкции.