3.7. STRICT: Inhibiting Optimization

When assembling with the optimizer set to level 2 or higher, NASM will use size specifiers (BYTE, WORD, DWORD, QWORD, or TWORD), but will give them the smallest possible size. The keyword STRICT can be used to inhibit optimization and force a particular operand to be emitted in the specified size. For example, with the optimizer on, and in BITS 16 mode,

        push dword 33

is encoded in three bytes 66 6A 21, whereas

        push strict dword 33

is encoded in six bytes, with a full dword immediate operand 66 68 21 00 00 00.