346 lines
5.9 KiB
HTML
346 lines
5.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Introduction</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux Assembly HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Linux Assembly HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Do you need assembly?"
|
|
HREF="doyouneed.html"></HEAD
|
|
><BODY
|
|
CLASS="chapter"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux Assembly HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="doyouneed.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="chapter"
|
|
><H1
|
|
><A
|
|
NAME="AEN86"
|
|
></A
|
|
>Chapter 1. Introduction</H1
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
>1.1. <A
|
|
HREF="introduction.html#AEN90"
|
|
>Legal Blurb</A
|
|
></DT
|
|
><DT
|
|
>1.2. <A
|
|
HREF="introduction.html#AEN98"
|
|
>Foreword</A
|
|
></DT
|
|
><DT
|
|
>1.3. <A
|
|
HREF="introduction.html#AEN115"
|
|
>Contributions</A
|
|
></DT
|
|
><DT
|
|
>1.4. <A
|
|
HREF="introduction.html#AEN125"
|
|
>Translations</A
|
|
></DT
|
|
></DL
|
|
></DIV
|
|
><DIV
|
|
CLASS="note"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="note"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/note.gif"
|
|
HSPACE="5"
|
|
ALT="Note"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> You can skip this chapter if you are familiar with HOWTOs, or just hate to
|
|
read all this assembly-unrelated crap.
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><DIV
|
|
CLASS="simplesect"
|
|
><H4
|
|
CLASS="simplesect"
|
|
><A
|
|
NAME="AEN90"
|
|
></A
|
|
>1.1. Legal Blurb</H4
|
|
><P
|
|
> Permission is granted to copy, distribute and/or modify this document under the
|
|
terms of the GNU Free
|
|
Documentation License Version 1.1; with no Invariant Sections, with no
|
|
Front-Cover Texts, and no Back-Cover texts. A copy of the license is included
|
|
in the appendix.
|
|
</P
|
|
><P
|
|
> The most recent official version of this document is available from the
|
|
Linux Assembly
|
|
and LDP sites. If you are
|
|
reading a few-months-old copy, consider checking the above URLs for a new
|
|
version.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="simplesect"
|
|
><H4
|
|
CLASS="simplesect"
|
|
><A
|
|
NAME="AEN98"
|
|
></A
|
|
>1.2. Foreword</H4
|
|
><P
|
|
> This document aims answering questions of those who program or want to program
|
|
32-bit x86 assembly using <EM
|
|
>free software</EM
|
|
>, particularly
|
|
under the Linux operating system. At many places Universal Resource Locators
|
|
(<SPAN
|
|
CLASS="acronym"
|
|
>URL</SPAN
|
|
>) 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.
|
|
</P
|
|
><P
|
|
> 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.
|
|
</P
|
|
><P
|
|
> If you don't know what
|
|
<EM
|
|
>free software</EM
|
|
> is, please do read
|
|
<EM
|
|
>carefully</EM
|
|
> the GNU
|
|
|
|
General Public License (<SPAN
|
|
CLASS="acronym"
|
|
>GPL</SPAN
|
|
> or
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>copyleft</SPAN
|
|
>), 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
|
|
<TT
|
|
CLASS="filename"
|
|
>COPYING</TT
|
|
> (or <TT
|
|
CLASS="filename"
|
|
>COPYING.LIB</TT
|
|
>). Literature
|
|
from the Free Software Foundation
|
|
(<SPAN
|
|
CLASS="acronym"
|
|
>FSF</SPAN
|
|
>) 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.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="simplesect"
|
|
><H4
|
|
CLASS="simplesect"
|
|
><A
|
|
NAME="AEN115"
|
|
></A
|
|
>1.3. Contributions</H4
|
|
><P
|
|
> 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!
|
|
</P
|
|
><P
|
|
> To contribute, please contact the maintainer.
|
|
</P
|
|
><DIV
|
|
CLASS="note"
|
|
><P
|
|
></P
|
|
><TABLE
|
|
CLASS="note"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="25"
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><IMG
|
|
SRC="../images/note.gif"
|
|
HSPACE="5"
|
|
ALT="Note"></TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
><P
|
|
> At the time of writing, it is Leo Noordergraaf
|
|
taking over from Konstantin Boldyshev (since
|
|
version 0.6) and Francois-Rene Rideau (since
|
|
version 0.5).
|
|
</P
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="simplesect"
|
|
><H4
|
|
CLASS="simplesect"
|
|
><A
|
|
NAME="AEN125"
|
|
></A
|
|
>1.4. Translations</H4
|
|
><P
|
|
> Korean translation of this HOWTO is avalilable at
|
|
|
|
http://kldp.org/HOWTO/html/Assembly-HOWTO/.
|
|
Turkish translation of this HOWTO is available at
|
|
|
|
http://belgeler.org/howto/assembly-howto.html.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="doyouneed.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Linux Assembly HOWTO</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Do you need assembly?</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |