delorie.com/archives/browse.cgi   search  
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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019