How to Start Programming in Assembly

Assembly programming is often a crucial starting point when computer programmers are learning their craft. Assembly language (also known as ASM) is a programming language for computers and other devices, and it's generally considered a...
Part 1 of 3:

Familiarizing Yourself With Assembly Language

  1. How to Start Programming in Assembly Picture 1How to Start Programming in Assembly Picture 1
    Read up on Assembly Language. Before embarking upon any attempt to write code, it's always a good idea to first understand the language itself. There are a number of available resources ranging from textbooks to online guides.
  2. How to Start Programming in Assembly Picture 2How to Start Programming in Assembly Picture 2
    Learn basic terms. For example, you'll want to know that an IDE (integrated development environment) provides a coding interface that handles things like text editing, debugging and compiling. You may also wish to better understand the way assembly actually works, like the fact that "registers" are what store the numbers associated with program code. Better understanding terminology will make it easier to learn the code-writing process itself.
  3. How to Start Programming in Assembly Picture 3How to Start Programming in Assembly Picture 3
    Decide whether assemblers are right for you. Remember that there are a number of programming languages, including some that provide far more functionality than assembly. There are, however, still a range of applications for which assembly is useful—from creating standalone executables for telephone firmware and air-conditioning control systems to developing certain processor-specific instructions.
  4. How to Start Programming in Assembly Picture 4How to Start Programming in Assembly Picture 4
    Determine which assembler you wish to use. Assemblers like A86, NASM or GNU generally perform less complex functions and may be appropriate starting points for beginners. Every assembler works a bit differently, so subsequent instruction will work under the assumption that you're using MASM (Microsoft Macro Assembler)—a basic assembler that works with Windows operating systems. It uses x86 assembly language and Intel syntax.[1]
Part 2 of 3:

Downloading and Installing the Assembler and IDE

  1. How to Start Programming in Assembly Picture 5How to Start Programming in Assembly Picture 5
    Download the assembler itself. You can find the latest version of MASM contained in Visual Studio Enterprise 2015 (a comprehensive IDE including a number of tools), but the more basic original version (MASM 8.0). MASM 8.0 is free to download. Note that some assemblers—like Flat Assembler—can be used on multiple operating systems including Windows, DOS and Linux. Other assemblers—including Netwide Assembler (NASM) or GNU Assembler (GAS)—will work with Mac operating systems.
    1. To download MASM 8.0, simply click on the Download button near the top of the page referenced in this step.
    2. System requirements will vary depending on the assembler you select, but MASM 8.0 requires Windows 2000 Service Pack 3, Windows Server 2003 or Windows XP Service Pack 2.
    3. Installing MASM 8.0 will also require that you have previously downloaded and installed Visual C++ 2005 Express Edition.
  2. How to Start Programming in Assembly Picture 6How to Start Programming in Assembly Picture 6
    Download an IDE. Simply perform a search for "WinAsm download" to find and install the WinAsm IDE, which generally works well with MASM. Other IDEs may be more appropriate depending on which programming language you're using. One popular alternative is RadAsm.
  3. How to Start Programming in Assembly Picture 7How to Start Programming in Assembly Picture 7
    Install MASM 8.0. You may begin the installation right away by clicking Run once the program has downloaded. Alternatively, you may wish to install it at a later date, in which case simply click Save. Upon clicking Run, MASM 8.0 will be installed to your '[Visual C++ Express]bin' directory and labeled ml.exe.[2]
  4. How to Start Programming in Assembly Picture 8How to Start Programming in Assembly Picture 8
    Install your IDE. After WinAsm has been downloaded, you simply extract the files and copy them to your "c:program files" folder. You may also wish to place a shortcut on your desktop in order for easier access.
  5. How to Start Programming in Assembly Picture 9How to Start Programming in Assembly Picture 9
    Configure Your IDE. First, launch the WinAsm program. If you've placed a shortcut on your desktop, simply double-click it. Note that this process will differ if you're using another assembler or IDE.
  6. How to Start Programming in Assembly Picture 10How to Start Programming in Assembly Picture 10
    Integrate WinAsm with MASM 8.0. Begin by clicking on WinAsm's Tools tab, selecting Options from said tab and finally selecting the Files and Paths tab. Then change the first three entries (referencing paths) to your MASM installation folder. When finished, click OK.
    1. Upon adjusting information under the Files and Paths tab, the first three entries should read as follows. The Binary Path should be C:Masm32Bin; the Include Path should be C:Masm32Include; and the Library Path should be C:Masm32Bin.
Part 3 of 3:

Writing Code

  1. How to Start Programming in Assembly Picture 11How to Start Programming in Assembly Picture 11
    Start writing code. Begin by launching WinAsm and clicking on the File tab. Then select New Projects, and you'll see several options. Those options include Console Application and Standard EXE. If you're attempting created a GUI (graphical user interface) based application, for example, you'd select the latter.
  2. How to Start Programming in Assembly Picture 12How to Start Programming in Assembly Picture 12
    Use assembly program structure. A typical structure might include a line defining architecture, a data section (section.data) including initialized data or constants, a bss section (section.bss) that declares variables and a text section (section.text) in which you place your actual program code. That final section always begins with a global _start declaration. Each sequence is known as a block of code.
  3. How to Start Programming in Assembly Picture 13How to Start Programming in Assembly Picture 13
    Understand basic commands. There are three kinds of statements in assembly language: executable instructions or instructions (these tell processors what to do via operation code), assembler directives or pseudo-ops (these describe assembly processes to the assembler) and macros (these serve as a text-substitution mechanism).
4.3 ★ | 3 Vote