Complete.Org: Mailing Lists: Archives: linux-help: November 2000:
[linux-help] Re: Assembly on Linux?
Home

[linux-help] Re: Assembly on Linux?

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: linux-help@xxxxxxxxx
Subject: [linux-help] Re: Assembly on Linux?
From: Tom Hull <thull@xxxxxxxxxxx>
Date: Sun, 26 Nov 2000 16:40:27 -0600
Reply-to: linux-help@xxxxxxxxx

Lars von dem Ast wrote:
> 
> On my code excursions I keep running into Assembly language. How does
> one get started with Assembly on Linux? Is there a Linux Assembly
> tutorial anywhere?

A good start is:

  http://www.linuxdoc.org/HOWTO/Assembly-HOWTO/index.html

Linux uses assembler for architecture-specific code -- stuff that cannot
be done in C (such as setting the stack pointer and other registers), and
for stuff that can be done faster in hand-tweaked assembly code. How you do
this depends on the assembler (probably gas, although most Linux assembly
is gcc inline asm code) and the CPU itself.

You can get doc on gas from:

  http://www.gnu.org/manual/gas-2.9.1/as.html

Doc on gcc is under:

  http://www.gnu.org/software/gcc/onlinedocs/

Almost all CPU doc is also available on-line. For example, see:

  http://developer.intel.com/design/pentium4/manuals/245471.htm

where you can download "The IA-32 Intel Architecture Software
Developer's Manual, Volume 2: Instruction Set Reference". There
are lots of similar books, but at least for Intel the main thing
to look for is the Instruction Set Reference.

There's been a severe lack of books on assembly language, but
two have popped up recently:

  Linux Assembly Language Programming, by Bob Neveln (Prentice-Hall,
  2000), $39.95

  Assembly Language Step-by-Step: Programming with DOS and Linux,
  2nd Edition, by Jeff Duntemann (John Wiley, 2000), $39.95

I can't recommend either book.

-- 
/*
 *  Tom Hull * thull@xxxxxxxxxxx * http://www.ocston.org/~thull/
 */

-- This is the linux-help@xxxxxxxxx list.  To unsubscribe,
visit http://tmp2.complete.org/cgi-bin/listargate-aclug.cgi


[Prev in Thread] Current Thread [Next in Thread]