[TUHS] Design of the AT&T assembly syntax

Warner Losh imp at bsdimp.com
Tue Oct 29 08:29:26 AEST 2019


On Mon, Oct 28, 2019 at 4:24 PM Robert Clausecker <fuz at fuz.su> wrote:

> Hi Warner,
>
> On Mon, Oct 28, 2019 at 04:08:53PM -0600, Warner Losh wrote:
> > VENIX 2.0 had this. It was a Pure AT&T syntax w/o % signs:
> >
> > eg
> > |
> > | VENIX/86 start off (bootstrap starts execution at location 0 `start').
> > |
> > | Relocate complete kernel down to low memory.
> >         .text
> > start:  cli
> >         mov     dx,#LOWMEM      | base of relocated kernel
> >         mov     cx,cs
> >         cmp     cx,dx           | are we there (put there by bootstrap) ?
> >         beq     L0002           | Yes.
> >         mov     ds,cx
> >
> > which is clearly op dst, src.
>
> op dst, src is Intel syntax.  AT&T syntax has op src, dst like MACRO-11.
> There are a number of other differences: (a) | instead of / or # as a
> comment
> character (b) different mnemonics (beq instead of je) and (c) # instead of
> $
> as the comment character.
>
> Without seeing some more code, I'd say it's not AT&T syntax.
>

Doh! I've been mixing the two up since the 90s :(. Yea, this stuff isn't
AT&T syntax...  It's from a compiler from MIT... I should have taken the
hint that it used MIT sequence :)

Warner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20191028/957a3a2a/attachment.html>


More information about the TUHS mailing list