Mail Archives: djgpp/1999/03/06/13:31:10
From: | Dave Bird <dave AT xemu DOT demon DOT co DOT uk>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: Assembler types
|
Date: | Sat, 6 Mar 1999 18:07:57 +0000
|
Organization: | very little
|
Message-ID: | <MxfBZaB97W42Ewiz@xemu.demon.co.uk>
|
References: | <7bran9$eoh$1 AT news3 DOT infoave DOT net>
|
NNTP-Posting-Host: | xemu.demon.co.uk
|
X-NNTP-Posting-Host: | xemu.demon.co.uk:158.152.196.209
|
X-Trace: | news.demon.co.uk 920743726 nnrp-06:13927 NO-IDENT xemu.demon.co.uk:158.152.196.209
|
X-Complaints-To: | abuse AT demon DOT net
|
MIME-Version: | 1.0
|
X-Newsreader: | Turnpike (32) Version 4.01 <dQumtnY$x4rJ2u5tL5fS$n2vuP>
|
Lines: | 43
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
In article <7bran9$eoh$1 AT news3 DOT infoave DOT net>, Paganini <Nathan E. Banks>
<paganini AT madisontelco DOT com> writes
>Could someone explain the difference between AT&T, intell, and NASM
>assebler? How are they different? Why does DJGPP use NASM and AT&T but not
>intell?
There are two distinctions.
Intel SOURCE format ................ a t & t (backwards) SOURCE format
| |
+-------+------------+ |
| | |
Intel OBJECT files: dj/gnu OBJECT files: dj/gnu OBJECT files:
MASM NASM AS, standard built-in assem
| |
+----------------------------+
|
Can be linked+debugged by dj
DJ/GNU compilers copy the "backwards" format of Digital Equipment Corp
pdp or vax computers that the original unix GNU ran under, well,
because they do -- even if it is a pain in the neck (if not lower).
Backwards format has source -> destination and explicitly identifies
registers, constants, etc, versus the commoner destn = source format:
-> =
mov $0A21,%eax; versus mov eax,0A21H;
NASM is a simplified MASM in most ways; but GNU people claim microsloth
don't adhere to the published standard for object files, and do their
own object format which they say is correct. NASM can produce
microsloth *or* GNU (or Linux) object formats, but the two are
not interchangeable: GNU debuggers & linkers eat only GNU files.
One oddity of NASM is that you '+' the offset of a field in a struct,
'+structname.fieldname' if there is ambiguity; but not '.' it.
-- -'-._
^-;-^-@@-^-^-^ '-. hoots, mon, there's a moose loose
u- (..)] [ ] | aboot this hoose
| |' | |
""""""""""""""".' .'""""""""""""""news:alt.smoking.mooses
' '
- Raw text -