I'd like some info on the A86 Assembler compared to MASM & NASM ... I've
read what's on the A86 site but would appreciate more info on the matter
from ppl who use it & what they think of it.
Also is it used as much as MASM or NASM ...
TIA
P.S. My OS is Win2k.
Regards,
Zimmer.
Let's start from the end...
> P.S. My OS is Win2k.
It's completely irrelevant what version of DOS or windows you have on your
computer. What is relevant is the set of tools and/or compilers you gonna
use with ASM, what kind of stuff you want to do in ASM.
> Hi all,
>
> I'd like some info on the A86 Assembler compared to MASM & NASM ... I've
> read what's on the A86 site but would appreciate more info on the matter
> from ppl who use it & what they think of it.
> Also is it used as much as MASM or NASM ...
Just get docs on A86, NASM and probably something on MASM (though I have no
clue if there's any manual freely available on MASM on the net). And then
compare yourself. Btw, if I'm not mistaken, you get get some basic info from
the FAQ for this newsgroup -- there're several sections with the same
content but for different assemblers.
Anyway, in short:
Why MASM?
Up to date, freely available from win sdk, goes well with msvc++. If you
intend to use the two together, e.g. link some external ASM stuff to
C/C++code, this is the best choice since it's naturally suited for this kind
of environment (windows and msvc++ and of course visual b@sick :). Lots of
tutorials and various "getting started ASM" are written for MASM/TASM in a
more or less standard syntax (I mean, there's a large common subset of stuff
in MASM and TASM which just the same in both), there are many books that
explain ASM and provide examples for MASM/TASM alone with some basic info on
the assembler command line switches, extras, etc.
Why NASM?
Free, available alone with sources, works under linux as well as under
dos/windows, supports many object file formats (.obj, coff, elf, etc) and
therefore can be used together with many compilers as opposed to
MASM/TASM(/A86?). MASM supports two: .obj and coff, though not the same kind
of coff that would be needed to use with djgpp (dos port of gcc/g++).
Choose your poison.
Good Luck
--
Alexei A. Frounze
http://alexfru.chat.ru
http://members.xoom.com/alexfru/
http://welcome.to/pmode/
Most of the source on the internet is for other assemblers, and, there are
very subtle differences, BUT, the thing I really love about a86 is the loads
of debugging info it produces when ur code dont work
Nick
Zimmer <none@no___email.con> wrote in message
news:rROc7.12651$tq.14...@news6-win.server.ntlworld.com...
A86 and A386 are wonderful products. Their corresponding
disassemblers - D86 and D386 are outstanding also. Their author, Eric
Issacson, is a very cool brother and in terms of assembly language
programming, he knows his stuff. He publishes a very nice manual for
his products and imho the $90 that he asks for the entire package is
money well spent. The url for his company's website is www.eji.com.
Check it out. I'm feel certain you will be pleased.
First of all, A86 is strictly a 16-bit assembler for DOS. If
you'll be doing 32-bit programming, you'll need the A386 assembler
(which is not shareware). ^^^
No, A86 is not used as much as MA$M or NASM...although it pro-
bably should be. It's much less intimidating to a newbie, and
is much more flexible for an experienced programmer, than any
of its commercial competition.
A86 will compile much of the existing MA$M-syntax ASM code for
DOS, but not all of it. There'll be times when you'll need to
do a few 'translations.' But that's generally not a big deal.
A86, without question, has the best error messages and diagnostics
of any assembler. When an error in your source code is encountered,
A86 not only shows you the offending instruction, but it also tells
you what's needed in order to correct it.
The major attraction of A86 (for me) is that you needn't write
code in the segmented, highly structured, and very restrictive
manner that MA$M requires.
You =can= write your code that way, if you wish, but it isn't
necessary.
A86 is the closest thing yet to a practical implementation of
a 'do-what-I-mean' assembler.
By the way, A86 =directly= generates .COM or .EXE executables,
so a separate 'linking' process isn't required. A major con-
venience!
And it generates very tight, highly efficient binary code.
(The shareware DOCs claim [quite understandably] that an A86
'footprint' is put into the generated executables, but this
is merely 'scare-ware' rhetoric.)
All in all, A86 is great. I prefer it over the 'name-brand'
assemblers because of the relative freedom of coding style
that it allows.
Neither does MASM (ml.exe). It just happens that MASM comes with the
PWB editor. You can use any editor for each.