On Sat, 09 Feb 2008 17:32:26 -0000, Charles Forsyth <[EMAIL PROTECTED]> wrote:

the assembler is really just a front-end to the loader, and nothing to do with `at&t syntax'.

For the first ten minutes after reading that, I was wondering what the comment meant. Then I remembered in Plan 9 speak the loader means the linker. So, I gather from what you have pointed out that 8a assembly is actually some sort of intermediate language like MSIL (or GNU's version of AT&T assembly for the GCC backend).

and the <>) but generally i agree with brantley. some weeks i'm working with several processors, even several a day, and the `native' (in what sense? does the processor implement them?) assemblers typically differ in operand order, basic mnemonics (l/st vs mov), and other conventions, whereas the ?a family is uniformly data flow, and tends to use similar instructions for similar things. i find it much easier moving from platform to platform with it.

That is probably because assembly was never intended for moving from one platform to another all the time, but for squeezing the most out of a given platform whose nooks and crannies you ken well.

The notion of a "native" assembler sounds strange to me. Netwide (nasm) is known for being available on many software/hardware platforms with similar syntax (the Intel syntax) all over. Of course, the instruction sets are far from identical but the syntax is still (almost) the same. Register access, for instance, is done by simply naming the register in an instruction:

        mov     eax, 00h

Compared to the AT&T syntax (for GNU assembler):

        movl    $0x0, %eax

(three extra keystrokes to get the same op-code)

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Reply via email to