Free Assemblers, Linkers and Object Module Librarians
Assembly language tools: assemblers, cross-assemblers, linkers, librarians
Free Assemblers, Linkers and Object Module Librarians
Looking for an assembler or linker or librarian to write that high speed routine or application? This page lists assemblers, cross-assemblers, linkers, and librarians, where available, for a wide variety of operating systems and processors.
If you are looking for printed books on assembly language programming, you may want to search Amazon.com for assembly language books.
Related Pages
- Disassemblers, Hexadecimal Viewers and Hexadecimal editors
- Free ASCII Text Editors, IDEs, Programmer's Editors
- Free Debuggers, Program Source Code Analyzers, Bug Trackers
- Free Installers, Setup Utilities
- Free Source Code Version Control Systems
- Free DOS extenders
- Free Text Search and Replace Utilities
- More Free Programming Tools (Make, Librarians, etc)
- Free Online Programming Tutorials and References
Disclaimer
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free Assemblers, Linkers and Object Module Librarians
- Microsoft Macro-Assembler (MASM) 8.0

-
Microsoft Macro-Assembler, or MASM, is now available for non-commercial use. You will need to have the Visual C++ 2005 Express Edition (as listed on the Free C/C++ Compilers page) to get it). It runs only on Windows 2000 SP 3, XP SP 2, and Windows Server 2003.
Note that there are other sources of MASM from Microsoft, should you find the above restrictions to be too limiting (for example, you are using a version of Windows that is not supported, or you want to develop for commercial use). If you use Visual C++ 6.0, you can get the Visual C++ 6.0 Processor Pack which includes MASM. An old version of MASM, 6.14, is also available from Microsoft's FTP server at ftp://ftp.microsoft.com/Softlib/MSLFILES/ml614.exe along with a 16 bit linker. If you have downloaded Microsoft Windows 98 DDK in the past, back when they made it freely available, you should also have MASM in your installation. Finally, I'm told that you can also get MASM from the Microsoft Kernel-Mode Driver Framework which allows you to develop drivers for Windows 2000. Presumably, this MASM will permit commercial use. Please note that Microsoft tends to move their files around quite a bit, so if any of these URLs are broken, just search their site (and let me know).
- GoASM
GoASM is an assembler for Windows systems that creates COFF PE executables. It includes extensions designed "to make programming for Windows easier".
- Nasm - The Netwide Assembler
This is a free macro assembler that assembles Intel x86 assembly code. It generates a wide range of object file formats, including a.out, ELF, COFF, Mach-0, Microsoft OBJ, etc. It can also output plain binary files. It supports Pentium, P6, MMX, 3DNow!, SSE, and SSE2 opcodes. It runs on MSDOS, Win32, Linux and other platforms.
- Apple's Macintosh Programmer's Workshop
This is Apple's own Macintosh Programmer's Workshop. It comes with assemblers (one for the 68K and one for the PowerPC), compilers, debuggers and other tools. They are downloadable from their website absolutely free, and are the same those you get from their Developer CD. Full documentation about the tools as well as documentation about programming for the Macintosh in general can be found online.
- Lazy Assembler (LZASM)
Lazy Assembler is an x86 compiler that handles the TASM (Turbo Assembler) IDEAL mode, supports 3DNow!, MMX, SSE and SSE2 instructions, unicode strings, optimization of "LEA" instructions, etc. At the time I write this, the site does not specify which systems are supported, but the assembler appears to be either a Windows or an MSDOS program that produces OBJ files.
- High Level Assembly Language (HLA)
This tool converts your code, written in HLA into 80x86 assembly language, which you can then assemble with masm or fasm. It apparently uses high level constructs from the high level programming languages like C/C++, and Pascal/Delphi.
- asm68 PC Cross Macro Assembler for 68k
asm68 is a cross assembler for the 68k supporting 68008, 68000, 68010, 68020, 68030, 68040, 68EC030, 68EC040, 68LC040, CPU32, 68851, 68881, and 68882. It runs on a PC and generates S-record, binaries. The package includes a manual and samples.
- V810 Assembler
This is a V810 assembler written using Java and ANTLR, for Virtual Boy programming. You have to scroll down the page to find the assembler.
- RosAsm
RosAsm is an assembler for ReactOS. The package includes an assembler, a disassembler and a debugger.
- NBASM, NewBasic Assembler
This x86 assembler is near MASM 5.1x compatible, and is designed for newcomers to assembly language. It appears to generate MSDOS executables.
- FASM: Flat Assembler
Flat Assembler is an Intel x86 macro assembler for MSDOS, Win32, Linux systems that accepts 16 bit and 32 bit 80x86/Pentium code, MMX, SSE, SSE2 instructions, and macros,. According to the website, it also has support for "code optimization", and can generate binary files, MZ and PE executables.
- WarpLink
Devore Software has released their WarpLink linker for MSDOS (previously a commercial product) into the public domain (yes - public domain!) and the linker and documentation can be freely downloaded, used, sold, as you please. WarpLink can create MSDOS software with overlays as well.
- Masm32
MASM32 is a package containing an IDE for writing assembly language program, an assembler (could it be Microsoft's MASM?), and documentation. It apparently also comes with WINDOWS.INC for those of you who wish to assemble Windows programs. Numerous other helpful aids, utilities, headers, and libraries are also included.
- Pass32
This Intel assembler can generate 16 bit DOS executables, 32 bit DPMI programs (with a DOS extender automatically bound to the executable), and Win32 console and GUI programs. It has a run time library for basic i/o, display handling, keyboard handling, etc, and boasts an integrated disassembler. The web site says that its "syntax is similar to TASM but much easier to learn".
- Alink
This looks like quite a promising free linker, with source code and the ability to link a wide variety of object code modules, from the OMF format generated by Borland's compilers to the COFF format used by Microsoft's compilers. It is able to generate MSDOS COM and EXE files as well as Win32 PE EXE and DLL files. Resource files are also supported for the PE output files.
- TMA Macro Assembler
This is a free Intel x86 assembler released under the GNU copyright (which means that sources are freely available). It even includes an IDE. Note: as far as I can tell, only sources for the assembler are available. No precompiled binary (executable) is included, which means you have a chicken-and-egg problem: you need an assembler to get started! (Warning: this link leads directly to the Zip file so don't click on it unless you really want to download it. The last I checked, the file was about 569Kb in size.)
- Arrow
A very old MSDOS assembler that assembles Intel x86 code. Note that because of its age, it cannot generate the newer instructions of the newer processors. It can generate the Intel OBJ module files. (Note: this package comes with the VAL linker - see elsewhere on this page for more information on this linker.) Warning: the link leads directly to the Zip binary, so don't click it unless you want to download the assembler.
- CodeX Assembler
The CodeX assembler is an Intel assembler that supports not only the Pentium instruction sets (including Pentium 4) but also the AMD 3D Now! instruction set. It can generate flat model binaries (16 and 32 bits), DOS executables, Windows applications and Windows DLLs.
- Qlink
A DOS linker that can link OBJ files to produce EXE or COM files for the MSDOS system. It is supposed to be typically ten times faster than MS LINK and can handle USE32 segments that are larger than 64k. According to the web page, the author hopes to implement support for generating debugging information for CodeView and Turbo Debugger. Note: the utility was written by Qualitas Inc for its internal use (remember the 386MAX memory manager?).
- Val
A free linker with source code for the MSDOS platform that has been floating around for many years. Although source code is provided, the author uses so many macros to replace the traditional C constructs (like "{" and "}") that it is almost as if the sources have been obfuscated (unless you can be bothered to figure it out). (Note that this package comes with the Arrow assembler - see elsewhere on this page for more information about this assembler.) Warning: the link leads directly to the Zip binary, so don't click it unless you want to download the assembler.
Related Pages
- Free PC / x86 Emulators and Virtual Machines - useful for testing programs in multiple OSes without rebooting
- Free Ada Compilers
- How to Register Your Own Domain Name - get one for your software
- The Beginner's A-Z Guide to Starting/Creating Your Own Website
- Create a customized Form to Mail script for your website
- Which Web Host Do You Recommend? (FAQ)
- Free Macintosh Emulators
Can't Find What You're Looking For?
Newest Pages
- How the Meta Description Tag May Harm Your Website
- Free PHP CAPTCHA Scripts
- How to Insert Google AdSense Advertisements into Your Blog on Blogger
- How to Add the Copyright Symbol to Your Web Page
- Free PDF Readers / Viewers
- How to Create and Use Cookies in PHP
- How to Design a Two Column Layout for Your Website Using CSS
- How to Slipstream Windows XP Service Pack 3 to Create an Integrated XP Setup Disk with SP 3
- Free 3D Software Box Image Makers
- Dreamweaver Tutorial: How to Create a Website with Dreamweaver CS3
Popular Pages
- How to Create/Start Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- Free Partitioning Software - Copy, Create, Move, Resize, Convert, Undelete Partitions
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- How to Create an Emergency Windows Rescue CD
- Free Spyware / Malware Detection, Removal and Prevention Software
- Free DVD Authoring and Creation Software
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free Assemblers, Linkers and Object Module Librarians
