Free Assembler For Windows

If you are interested in 32-bit or 64-bit programming for Windows, you will find everything you need here including an Assembler, a Resource Compiler, Linker, Symbolic Debugger, and links to Integrated Development Environments (IDEs), a Help Compiler, Information about Windows and Header Files (include files). Bond's Assembler - A four pass assembler for the 6502 that is bundled with a source code generator that can read 'H6X' files and generate assembly source. Win2C64 - Aart Bik has written a 6510 cross-assembler for Windows. It supports the undocumented opcodes as well as. This is the project webpage for the Netwide Assembler (NASM), an asssembler for the x86 CPU architecture portable to nearly every modern platform, and with code generation for many platforms old and new. As of version 2.07, NASM is now under the Simplified (2-clause) BSD license. The details of the license are available in the. Borland Turbo Assembler 5.x. Turbo Assembler is an x86 16-bit assembler from Borland. It competed against, and was often cited as faster than Microsoft Macro Assembler. Wanted: Turbo assembler 4.1 for.

Write, Run & Share Assembly code online using OneCompiler's Assembly online compiler for free. It's one of the robust, feature-rich online compilers for Assembly language. Getting started with the OneCompiler's Assembly compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as Assembly. OneCompiler also has reference programs, where you can look for the sample programs and start learning. Happy learning!!


Assembly language(asm) is a low-level programming language, where the language instructions will be more similar to machine code instructions.

Every assembler may have it's own assembly language designed for a specific computers or an operating system.

Assembly language requires less execution time and memory. It is more helful for direct hardware manipulation, real-time critical applications. It is used in device drivers, low-level embedded systems etc.

Assembly language usually consists of three sections,

  1. Data section

    To initialize variables and constants, buffer size these values doesn't change at runtime.

  2. bss section

    To declare variables

  3. text section

    _start specifies the starting of this section where the actually code is written.


There are various define directives to allocate space for variables for both initialized and uninitialized data.

1. To allocate storage space to Initialized data


Define DirectiveDescriptionAllocated Space
DBDefine Byte1 byte
DWDefine Word2 bytes
DDDefine Doubleword4 bytes
DQDefine Quadword8 bytes
DTDefine Ten Bytes10 bytes

2. To allocate storage space to un-initialized data

Define DirectiveDescription
RESBReserve a Byte
RESWReserve a Word
RESDReserve a Doubleword
RESQReserve a Quadword
RESTReserve a Ten Bytes


Constants can be defined using

1. equ

  • To define numeric constants

2. %assign

  • To define numeric constants.

3. %define

  • To define numeric or string constants.


Loops are used to iterate a set of statements for a specific number of times.

where n specifies the no of times loops should iterate.


8086 Assembler Free Download For Windows 7

Procedure is a sub-routine which contains set of statements. Usually procedures are written when multiple calls are required to same set of statements which increases re-usuability and modularity.

©2006 --- Eric's home page --- ZIPKEY --- Other authors and sites --- E-mail Eric

Buy now, and receive the software in minutes!

Win32 Programming With A386

I am now making available for download a freeware package that has all the additional elements needed for users of my A386 assembler to create 32-bit programs that run under Windows NT, Windows 95 or later (including Windows XP). The package includes the complete source code for a template program HELLO32 that demonstrates some of the features of Win32 programming. Click here for more details about this package.

Library of A86 Source Files Available

I am now making available an extensive library of my own source files, for an additional charge to registered users. The library includes over 200 useful procedures/macros you can call from your A86 programs, plus the complete source code to about 200 short programs that use the library. Click here for more information about the source file library.

V4.05 Release

I have released version V4.05 of A86 and D86, incorporating various fixes for bugs reported by users, and also ones I discovered while working on A386/D386. You can download these new A86/D86 versions now.

Overview of A86/A386

Nasm A86 (with its 32-bit version A386) is the finest assembler available, at any cost under any terms, for the Intel 86-family of microprocessors (IBM-PC, compatibles, and not-so-compatibles).

Time Lapse Assembler For Windows Free Download

A86 accepts assembly language source files, and transforms them directly into either: (1) .COM files executable under DOS (or in a DOS box under Windows), starting at offset 0100 within a code segment; (2) .OBJ files suitable for feeding to a linker to create EXE files; or (3) object files starting at offset 0, suitable for copying to ROMs. A86 is a full featured, professional-quality program. I designed A86 to be as closely compatible to the standard Intel/IBM assembly language as possible, given that I insisted upon making design and language enhancements necessary to make A86 the best possible assembler.

Overview of D86

D86 (with its 32-bit version D386) is a screen-oriented program that allows you to troubleshoot faulty computer programs written to run under DOS (or in a DOS box under Windows). It 'freezes' the state of your program, and allows you to investigate the values of registers, flags, and memory. You can monitor your program's execution by stepping it one instruction or procedure at a time; or you can start your program running, telling D86 to stop it when it reaches certain locations. D86 recognizes the symbol-table output of the A86 assembler, creating a symbolic disassembly of your A86 program, and allowing you to refer to locations and variables by name.

A386 and D386 official release

I have at long last made the official release of A386 and D386! Since these packages are based on their 16-bit counterparts, I have given them a version number that matches: currently V4.05.

A386 covers the complete instruction set of the entire Intel and AMD families of x86 processors, from the original 8088, up through Intel's Pentium III and AMD's Athlon processors. This includes the MMX instructions, SIMD instructions, and AMD's 3DNow instructions. The assembler features complete support of all the features of 32-bit processing: the 32-bit register set, 32-bit instruction operands, 32-bit memory indexing (now including forward references combined with 32-bit indexing), 32-bit expression arithmetic, and assembly to 32-bit protected-mode segments (USE32 mode and FLAT mode).

I have no plans at present to make A386/D386 available for download anywhere. You must purchase the registered A86+D86 disk to get it. (Also, you cannot get A386 only on the A86-only disk; you must buy the A86+D86 disk to get any of the 386 materials.)

Download A86 and D86 V4.05

  • I have combined both the A86 and D86 distribution packages into a single file A86.ZIP.
    Click here to download A86.ZIP now.
  • How to Purchase A86+D86+A386+D386

    There are two levels of purchase: the basic A86-only package is $52. The extended package, including A86, the D86 debugger, and the 32-bit programs A386 and D386, is $82. The packages come with a complete text-file manual; the printed manual is no longer available.

    In addition, you can order the EILIB source file library with your registration. The cost is an additional $50 when ordered at the same time; $60 if ordered later. Click here to learn about multi-user licenses, site licenses and usage of A86 and D86 by schools.

    Click here to order online now, and receive the software within minutes;

    Eric's home page --- A86/D86 --- ZIPKEY --- Other authors and sites --- E-mail Eric