Copyright © 1996-1999 by François-René Rideau.
Copyright © 1999 by Konstantin Boldyshev.
This document is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This is an interactively evolving document: you are especially invited to ask questions, to answer 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. In one word, contribute!
To contribute, please contact whoever appears to maintain the Assembly-HOWTO. At the time of this writing, it's now Konstantin Boldyshev and no more François-René Rideau. I (Faré) had been looking for some time for a serious hacker to replace me as maintainer of this document, and am pleased to announce Konstantin as my worthy successor.
This document aims answering questions of those who program or want to program 32-bit x86 assembly using free software, particularly under the Linux operating system. It may also point to other documents about non-free, non-x86, or non-32-bit assemblers, although this is not its primary goal.
Because the main interest of assembly programming is to build the guts of operating systems, interpreters, compilers, and games, where C compiler fails to provide the needed expressiveness (performance is more and more seldom as issue), we are focusing on development of such kind of software.
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 official version of this document is available from http://lightning.voshod.com/asm/, both in sgml and html.
COPYING
,
with a library version in a file named COPYING.LIB
.
Literature from the
FSF
(free software foundation) might help you, too.
Each version includes a few fixes and minor corrections, that need not to be repeatedly mentioned every time.
Francois-Rene "Faré" Rideau <fare@tunes.org> creates and publishes the first mini-HOWTO, because "I'm sick of answering ever the same questions on comp.lang.asm.x86"
*
*
*
Created the History. Added pointers in cross-compiling section. Added section about I/O programming under Linux (particularly video).
more about cross-compiling -- See on sunsite: devel/msdos/
NASM is getting pretty slick
point to french translated version
What? I had forgotten to point to terse???
*
text mini-HOWTO transformed into a full linuxdoc-sgml HOWTO, to see what the SGML tools are like.
first release of the HOWTO as such.
CREDITS section added
NASM moved: now is before AS86
Added section "DO YOU NEED ASSEMBLY?"
Vapor announce of a new Assembly-HOWTO maintainer.
Release for DrLinux
*
*
still more on "how not to use assembly"; updates on NASM, GAS.
info on 16-bit mode access from Linux.
*
*
release for LSL 6th edition.
corrections about gcc invocation
*
clean up and updates.
process argument passing (argc,argv,environ) in assembly. This is yet another "last release by Faré before new maintainer takes over". Nobody knows who might be the new maintainer.
GAS has 16-bit mode. New maintainer (at last): Konstantin Boldyshev. Discussion about libc or not libc. Added section "QUICK START" with examples of using assembly.
"QUICK START" section rearranged, added GAS example. Several new web pointers.
Discussion about libc or not libc continues. New web pointers and and overall updates.
I would like to thank following persons, by order of appearance: