Assembly - Environment Setup

Advertisements


Try it Option Online

You really do not need to set up your own environment to start learning Assembly programming language. Reason is very simple, we already have set up NASM assembler to experiment with Assembly programming online, so that you can execute all the available examples online at the same time when you are doing your theory work. This gives you confidence in what you are reading and to check the result with different options. Feel free to modify any example and execute it online.

Try the following example using Try it option available at the top right corner of the below sample code box:

section	.text
    global _start   ;must be declared for linker (ld)
_start:	            ;tells linker entry point
    mov	edx,len     ;message length
    mov	ecx,msg     ;message to write
    mov	ebx,1       ;file descriptor (stdout)
    mov	eax,4       ;system call number (sys_write)
    int	0x80        ;call kernel
	
    mov	eax,1       ;system call number (sys_exit)
    int	0x80        ;call kernel

section	.data
msg db 'Hello, world!', 0xa  ;our dear string
len equ $ - msg     ;length of our dear string

For most of the examples given in this tutorial, you will find Try it option, so just make use of it and enjoy your learning.

Local Environment Setup

Assembly language is dependent upon the instruction set and the architecture of the processor. In this tutorial, we focus on Intel 32 processors like Pentium. To follow this tutorial, you will need:

  • An IBM PC or any equivalent compatible computer

  • A copy of Linux operating system

  • A copy of NASM assembler program

There are many good assembler programs, like:

  • Microsoft Assembler (MASM)

  • Borland Turbo Assembler (TASM)

  • The GNU assembler (GAS)

We will use the NASM assembler, as it is:

  • Free. You can download it from various web sources.

  • Well documented and you will get lots of information on net.

  • Could be used on both Linux and Windows.

Installing NASM

If you select "Development Tools" while installing Linux, you may get NASM installed along with the Linux operating system and you do not need to download and install it separately. For checking whether you already have NASM installed, take the following steps:

  • Open a Linux terminal.

  • Type whereis nasm and press ENTER.

  • If it is already installed, then a line like, nasm: /usr/bin/nasm appears. Otherwise, you will see just nasm:, then you need to install NASM.

To install NASM take the following steps:

  • Check The netwide assembler (NASM) website for the latest version.

  • Download the Linux source archive nasm-X.XX. ta .gz, where X.XX is the NASM version number in the archive.

  • Unpack the archive into a directory which creates a subdirectory nasm-X. XX.

  • cd to nasm-X. XX and type ./configure . This shell script will find the best C compiler to use and set up Makefiles accordingly.

  • Type make to build the nasm and ndisasm binaries.

  • Type make install to install nasm and ndisasm in /usr/local/bin and to install the man pages.

This should install NASM on your system. Alternatively, you can use an RPM distribution for the Fedora Linux. This version is simpler to install, just double-click the RPM file.



Advertisements
Advertisements