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/