Download   Online Shop   Red Hat Network
Home  |  Products  |  Shop  |  Services  |  Training  |  Support   
Red Hat Documentation

Linux Assembly HOWTO: INTRODUCTION Next Previous Contents

1. INTRODUCTION

You can skip this section if you are familiar with HOWTOs, or just hate to read all this assembly-nonrelated crap.

1.1 Legal Blurb

Copyright © 1999-2000 Konstantin Boldyshev.

Copyright © 1996-1999 Francois-Rene Rideau.

This document may be distributed only subject to the terms and conditions set forth in the LDP License. It may be reproduced and distributed in whole or in part, in any medium physical or electronic, provided that this license notice is displayed in the reproduction. Commercial redistribution is permitted and encouraged.

All modified documents, including translations, anthologies, and partial documents, must meet the following requirements:

  • The modified version must be labeled as such
  • The person making the modifications must be identified
  • Acknowledgement of the original author must be retained
  • The location of the original unmodified document be identified
  • The original author's (or authors') name(s) may not be used to assert or imply endorsement of the resulting document without the original author's (or authors') permission

The most recent official version of this document is available from Linux Assembly and LDP sites. If you are reading a few-months-old copy, consider checking urls above for a new version.

1.2 Foreword

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. At many places, Universal Resource Locators (URL) are given for some software or documentation repository. This document also points to other documents about non-free, non-x86, or non-32-bit assemblers, although this is not its primary goal. Also note that there are FAQs and docs about programming on your favorite platform (whatever it is), which you should consult for platform-specific issues, not related directly to assembly programming.

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.

If you don't know what free software is, please do read carefully the GNU General Public License, which is used in a lot of free software, and is the model for most of their licenses. It generally comes in a file named COPYING (or COPYING.LIB). Literature from the FSF (free software foundation) might help you, too. Particularly, the interesting feature of free software is that it comes with source code which you can consult and correct, or sometimes even borrow from. Read your particular license carefully and do comply to it.

1.3 Contributions

This is an interactively evolving document: you are especially invited to ask questions, to answer questions, to correct given answers, to give pointers to new software, to point the current maintainer to bugs or deficiencies in the pages. In one word, contribute!

To contribute, please contact the Assembly-HOWTO maintainer. At the time of this writing, it is Konstantin Boldyshev and no more Francois-Rene Rideau. I (Fare) 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.

1.4 Credits

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

1.5 History

Each version includes a few fixes and minor corrections, that need not to be repeatedly mentioned every time.

Version 0.5l 23 Aug 2025

Added TDASM, updates on NASM

Version 0.5k 11 Jul 2025

Few additions to FAQ

Version 0.5j 14 Jun 2025

Complete rearrangement of INTRODUCTION and RESOURCES; FAQ added to RESOURCES, misc cleanups and additions (and more to come)

Version 0.5i 04 May 2025

Added HLA, TALC; rearrangements in RESOURCES, QUICK START, ASSEMBLERS; few new pointers

Version 0.5h 09 Apr 2025

finally managed to state LDP license on document, new resources added, misc fixes

Version 0.5g 26 Mar 2025

new resources on different CPUs

Version 0.5f 02 Mar 2025

new resources, misc corrections

Version 0.5e 10 Feb 2025

url updates, changes in GAS example

Version 0.5d 01 Feb 2025

RESOURCES (former POINTERS) section completely redone, various url updates.

Version 0.5c 05 Dec 2025

New pointers, updates and some rearrangements. Rewrite of sgml source.

Version 0.5b 19 Sep 2025

Discussion about libc or not libc continues. New web pointers and and overall updates.

Version 0.5a 01 Aug 2025

"QUICK START" section rearranged, added GAS example. Several new web pointers.

Version 0.5 25 July 2025

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.

Version 0.4q 22 June 2025

process argument passing (argc,argv,environ) in assembly. This is yet another "last release by Fare before new maintainer takes over". Nobody knows who might be the new maintainer.

Version 0.4p 6 June 2025

clean up and updates.

Version 0.4o 1 December 2025

*

Version 0.4m 23 March 2025

corrections about gcc invocation

Version 0.4l 16 November 2025

release for LSL 6th edition.

Version 0.4k 19 October 2025

*

Version 0.4j 7 September 2025

*

Version 0.4i 17 July 2025

info on 16-bit mode access from Linux.

Version 0.4h 19 Jun 2025

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

Version 0.4g 30 Mar 2025

*

Version 0.4f 20 Mar 2025

*

Version 0.4e 13 Mar 2025

Release for DrLinux

Version 0.4d 28 Feb 2025

Vapor announce of a new Assembly-HOWTO maintainer.

Version 0.4c 9 Feb 2025

Added section "DO YOU NEED ASSEMBLY?"

Version 0.4b 3 Feb 2025

NASM moved: now is before AS86

Version 0.4a 20 Jan 2025

CREDITS section added

Version 0.4 20 Jan 2025

first release of the HOWTO as such.

Version 0.4pre1 13 Jan 2025

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

Version 0.3l 11 Jan 2025

*

Version 0.3k 19 Dec 2024

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

Version 0.3j 24 Nov 2025

point to French translated version

Version 0.3i 16 Nov 2025

NASM is getting pretty slick

Version 0.3h 6 Nov 2025

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

Version 0.3g 2 Nov 2025

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

Version 0.3f 17 Oct 2025

*

Version 0.3c 15 Jun 2025

*

Version 0.2 04 May 2025

*

Version 0.1 23 Apr 2025

Francois-Rene "Fare" 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"


Next Previous Contents

 

 
 
Search for:  on    Powered by Google
Products & Services   :   Download   :   Support   :   Training   :   Partners & Programs
© 2000 Red Hat, Inc. All right reserved.       About Red Hat   :   Legal statement   :   Privacy statement   :   Y2K statement   :   Contact Red Hat