x86-64 TUTORIAL: ASSEMBLERS


x86-64 TUTORIAL: ABI  |  x86-64 TUTORIAL: CALLING CONVENTIONS

2020 UPDATE

In 2006, there was only YASM that supported both the 32-bit x86 and the 64-bit x86-64 or amd64 instruction set. NASM only supported the 32-bit x86 instruction set. Today, in 2020, NASM also suppports the 64-bit x86-64 instruction set. Both YASM and NASM are under active development, with YASM being fully cross-platform and working with Visual Studio 2019 as of this update in August 2020. Wherever possible, we have made sure that the programs run under both YASM and NASM.

ORIGINAL 2006 TEXT

YASM is a complete rewrite of the NASM assembler under the new BSD License (see YASM’s official website for details).

YASM currently supports the x86 and AMD64 instruction sets, accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64, COFF, Win32 and Win64 object formats, and generates source debugging information in STABS, DWARF2, and CodeView 8 formats.


x86-64 TUTORIAL: ABI  |  x86-64 TUTORIAL: CALLING CONVENTIONS