Next Previous Contents


1.1 Legal Blurp

Copyright © 1996,1997 by François-René Rideau. This document may be distributed under the terms set forth in the LDP license at


This is expectedly the last release I'll make of this document. There's one candidate new maintainer, but until he really takes the HOWTO over, I'll accept feedback.

You are especially invited to ask questions, to answer to questions, to correct given answers, to add new FAQ answers, to give pointers to other software, to point the current maintainer to bugs or deficiencies in the pages. If you're motivated, you could even TAKE OVER THE MAINTENANCE OF THE FAQ. In one word, contribute!

To contribute, please contact whoever appears to maintain the Assembly-HOWTO. Current maintainers are François-René Rideau and now Paul Anderson.

1.3 Foreword

This document aims at answering frequently asked questions of people who program or want to program 32-bit x86 assembly using free assemblers, particularly under the Linux operating system. It may also point to other documents about non-free, non-x86, or non-32-bit assemblers, though such is not its primary goal.

Because the main interest of assembly programming is to build to write the guts of operating systems, interpreters, compilers, and games, where a C compiler fails to provide the needed expressivity (performance is more and more seldom an issue), we stress on development of such software.

How to use this document

This document contains answers to some frequently asked questions. At many places, Universal Resource Locators (URL) are given for some software or documentation repository. Please see that the most useful repositories are mirrored, and that by accessing a nearer mirror site, you relieve the whole Internet from unneeded network traffic, while saving your own precious time. Particularly, there are large repositories all over the world, that mirror other popular repositories. You should learn and note what are those places near you (networkwise). Sometimes, the list of mirrors is listed in a file, or in a login message. Please heed the advice. Else, you should ask archie about the software you're looking for...

The most recent version for this documents sits in or

but what's in Linux HOWTO repositories should be fairly up to date, too (I can't know): (?)

A french translation of this HOWTO can be found around

Other related documents

1.4 History

Each version includes a few fixes and minor corrections, which needs not be repeatedly mentionned every time.

Version 0.1 23 Apr 1996

Francois-Rene "Faré" Rideau <> creates and publishes the first mini-HOWTO, because ``I'm sick of answering ever the same questions on comp.lang.asm.x86''

Version 0.2 4 May 1996


Version 0.3c 15 Jun 1996


Version 0.3f 17 Oct 1996

found -fasm option to enable GCC inline assembler w/o -O optimizations

Version 0.3g 2 Nov 1996

Created the History. Added pointers in cross-compiling section. Added section about I/O programming under Linux (particularly video).

Version 0.3h 6 Nov 1996

more about cross-compiling -- See on sunsite: devel/msdos/

Version 0.3i 16 Nov 1996

NASM is getting pretty slick

Version 0.3j 24 Nov 1996

point to french translated version

Version 0.3k 19 Dec 1996

What? I had forgotten to point to terse???

Version 0.3l 11 Jan 1997


Version 0.4pre1 13 Jan 1997

text mini-HOWTO transformed into a full linuxdoc-sgml HOWTO, to see what the SGML tools are like.

Version 0.4 20 Jan 1997

first release of the HOWTO as such.

Version 0.4a 20 Jan 1997

CREDITS section added

Version 0.4b 3 Feb 1997

NASM moved: now is before AS86

Version 0.4c 9 Feb 1997

Added section "DO YOU NEED ASSEMBLY?"

Version 0.4d 28 Feb 1997

Vapor announce of a new Assembly-HOWTO maintainer.

Version 0.4e 13 Mar 1997

Release for DrLinux

Version 0.4f 20 Mar 1997


Version 0.4g 30 Mar 1997


Version 0.4h 19 Jun 1997

still more on "how not to use assembly"; updates on NASM, GAS.

Version 0.4i 17 July 1997

info on 16-bit mode access from Linux.

Version 0.4j 7 September 1997


Version 0.4k 19 October 1997


Version 0.4l 16 November 1997

release for LSL 6th edition.

This is yet another last-release-by-Faré-before-new-maintainer-takes-over (?)

1.5 Credits

I would like to thanks the following persons, by order of appearance:

Next Previous Contents