The Netwide Assembler (NASM) serves the purpose of both disassembler and assembler for "I-x86"(Intel) architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) assembly programs.
NASM was originally developed by Simon Tatham and co-worker Julian Hall.
It is open-source software. It hs (2-clause) "BSD" license.
There are many assembler programs, available such as −
  • Microsoft Assembler (MASM)
  • Borland Turbo Assembler (TASM)
  • The GNU assembler (GAS)
In this tutorial we will be using Netwide Assembler(NASM).


Advantages of NASM assembler-


  • Free and Open Source
  • Well documented. Official webiste : https://www.nasm.us/
  • Works on both Windows and Linux
To find bit extension of your Linux x86 architecture, Type the following code snippet in your terminal

                                    >> uname -a
                                

                                    >> Linux localhost.localdomain 4.15.0-kali2-amd64
#1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64 GNU/Linux


Now let us begin setting up the environment for NASM.