Assembly

There are a couple of file extensions used for assembly files: [.a, .s, .S, .asm]

In x86, there are two separate versions of assembly syntax:

  • AT&T (used by Unix compilers like gcc)
  • Intel/NASM (with a couple dialects, like MASM vs. NASM itself).

Intel syntax is dominant in the DOS and Windows world, and AT&T syntax is dominant in the Unix world.

The .S file extension is appropriate for assembly files with GNU syntax using as, while .asm more often is associated with Intel syntax NASM/YASM, or MASM, source code.

AT&TIntel
Parameter ordermovl $5, %eax
Source before the destination
mov eax, 5
Destination before source