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