Search code examples
assemblyx86nasmmasm

MASM/NASM Differences


What are the syntax differences between the NASM and MASM assemblers?


Solution

  • Section 2.2 of the NASM documentation is titled Quick Start for MASM Users which lists the important differences between NASM and MASM.

    NASM version 2.15 added some MASM compatibility, including a %use masm macro package. See section 6.5 masm: MASM compatibility. Even without the macro package, ? and DUP work in data directives like db, and displacement[base+index] is allowed instead of the usual [rdi+4] syntax which NASM used to require.

    Also related, How to know if an assembly code has particular syntax (emu8086, NASM, TASM, ...)? discusses some of the syntax differences.