flat assembler
Message board for the users of flat assembler.
Index
> Main > Comparison of assemblers Goto page 1, 2, 3, 4, 5 Next |
Author |
|
vid 02 Oct 2006, 20:15
At the meeting, we agreed there is no objective comparison of assemblers. There was one from Randall Hyde many years ago, it even still has very high google ranks. But there is none up-to-date.
So every of you could add your little part to this... some facts about assemblers you have experience with. Or add some assemblers i forgot. List of assemblers: More can be added soon by others - MASM - FASM - NASM - YASM - GoAsm - RosAsm List of criteria placed in document yet: - author - homesite - developed since - whether/how development is active - license - dedicated forums - under which platforms assembler runs - supported instruction sets - output formats - debugging formats / debug info / listing Planned criteria for soon addition: - IDE support Please post here to fill in any missing information. You can also post any info releated to topic, for future
Last edited by vid on 15 Nov 2006, 13:58; edited 16 times in total |
|||||||||||
02 Oct 2006, 20:15 |
|
Betov 03 Oct 2006, 17:58
Tom, the jumps sizes otimization is nothing but a _size_ optimization. Is has no effect, as far as i could know, on the speed. One classical example on why it may have some importance, is when nested inside a LOOP, or with a JECXZ...
Betov. |
|||
03 Oct 2006, 17:58 |
|
rugxulo 04 Oct 2006, 05:20
I wrote a silly little 8 kb DOS util (still not quite finished but close enough) that assembles under 14 assemblers (automatically, via sed/batch). I have been cobbling together some notes about them. There are many, many other assemblers, though, and most of the others didn't please me (and some of the ones that worked hardly did).
Here's a few (mostly DOS) that you forgot:
Others include FASM (well, duh), CHASM, JAS (partial NASM rewrite), AASM, ANASM, DJASM, BLASM, Codex, Mingo, BCC/Dev86's AS86, Context/DOS's ASM8086, SASM, MagicASM, WeirdASM, GASM (Gareth), GASM (Jim Gage), GNU as, Alfred Arnold's AS, RosASM, GoASM, PoASM, SmallASM (from Small C), etc. (I'm sure I've ignored a few here besides obvious commercial ones like MASM, TASM, Optasm, A86/A386, ASM86, etc., weird x86/68000 hybrids like XFire, GEMA, Daniela, or Forth-ish ones like osimplay ... and don't forget compiler things like HLA and Terse). I have most of the above (excepting most Win32, commercial, or hybrids), but a few I haven't used much (if at all!). Last edited by rugxulo on 14 Jun 2008, 04:31; edited 63 times in total |
|||
04 Oct 2006, 05:20 |
|
Octavio 04 Oct 2006, 07:44
Well here is some marketing about Octasm in a Fasm board
There is version for Dos but here i talk about Octa OS version. multipass assembler with jmp optimization - speed of compilation on PIII 930mhz about 600000 instructions per second + time needed to read sources - clearness of syntax It can not be more clear - power of syntax eficient syntax for most used instructions: call: func(params) move: ax=6 suports math expressions with float numbers too. code blocks don't need to be in order multiple namespaces. etc... - quality of sources of assembler very good ,i wrote it. - how much is assembler embeddable (eg if it can be used in other projects) flat 32 bit code ,should not be dificult to port low memory requeriments. - documentation a few lines - internals documentation a fewer lines - support by original author(s) still alive - activity on dedicated forums no dedicated forum - articles on it or using it this article counts? - usable apps written with it Octa OS aplications ,see my web - libraries for coding with it Octa OS libraries - editors for coding with it Octa OS editor or any txt editor - support for platforms, processors, formats, debug info formats can read txt and elf formats,outputs binaries and symbol file. - bugfulness, updates, bugfixes some bugs,if you let me time i will correct them. |
|||
04 Oct 2006, 07:44 |
|
revolution 04 Oct 2006, 10:42
tom tobias wrote: This product, the Intel (=AMD) cpu, is NOT USEFUL as an embedded device, because it requires too much current. |
|||
04 Oct 2006, 10:42 |
|
MazeGen 05 Oct 2006, 12:01
The_Grey_Beast wrote: Back to topic: I once tried MASM -- it's quite readable, can't complain. But it has that damn license, and I understand because it's Microsoft... VC++ toolkit (which contains MASM) is for free and its license is very liberal. Last edited by MazeGen on 05 Oct 2006, 12:29; edited 1 time in total |
|||
05 Oct 2006, 12:01 |
|
Borsuc 05 Oct 2006, 12:37
MazeGen wrote: VC++ toolkit (which contains MASM) is for free and its license is very liberal. |
|||
05 Oct 2006, 12:37 |
|
arafel 05 Oct 2006, 14:45
MazeGen wrote:
Mazegen, What are the restrictions of VC++ toolkit license? I know masm from Hutch's package can't be used for commercial purposes, or for OSes other than Windows (not sure about the os restriction though..). Does this applies to VC++ toolkit too? |
|||
05 Oct 2006, 14:45 |
|
MazeGen 05 Oct 2006, 17:46
Sorry for the confusion, guys. The toolkit really doesn't contain MASM So the only way I know how to get MASM legally for free is download WinDDK or PSDK, but I'm not sure about their EULA. Again sorry. I shouldn't be so prompt when I'm sick. |
|||
05 Oct 2006, 17:46 |
|
rugxulo 07 Oct 2006, 23:14
tom tobias wrote:
You want a breakdown of similar sections of my favorite assemblers' source code (NASM vs. YASM vs. OpenWatcom WASM? or FASM vs. TMA vs. Wolfware vs. Octasm?), e.g., regarding parsing a line for valid tokens (labels, mnemonics, operands, comments)? Honestly, I'm not really qualified to compare any of them (having never written my own assembler). |
|||
07 Oct 2006, 23:14 |
|
MazeGen 09 Oct 2006, 07:23
vid wrote:
http://www.smorgasbordet.com/pellesc/ http://smorgasbordet.com/phpBB2/viewforum.php?f=17 http://www.masm32.com/board/index.php?board=42.0 |
|||
09 Oct 2006, 07:23 |
|
rugxulo 12 Oct 2006, 00:26
vid wrote:
Well, I can agree that Octasm is pretty well written, has mostly low memory requirements, is fast, and is under active development. It does require a 386DX or better, though (i.e., 32-bit and needs a FPU). Unique features? Well, anonymous labels, multiple instructions on one line, multiline comments (begin/end with ;;), slightly different macro and (local) label handling, but it also can run instructions from the cmdline. The DOS version is able to use all memory except under EMM386 (v86 mode), so in that case, it defaults to 64k (less actually). My tiny DOS .COM (about 8,200 bytes uncompressed) won't assemble under EMM386 unless I rename (via sed/.BAT) all labels to shorter equivalents (TINYLBL.BAT -> #print_bgcolor_ret becomes #az100, etc.). So, it's not crippling, either clean boot (no mem. managers), use TINYLBL.BAT, or try OctaOS. The latest DOS version is 0.15 (Apr. 25, 2005), about a year and a half old. (OctaOS uses a newer version, 0.151, plus a few fixes). A new version (v0.2) is reportedly in the works. (Octavio is very diligent!). I dunno about license, he never mentioned it. But, Octasm does assemble itself, so I guess it ain't too strict! |
|||
12 Oct 2006, 00:26 |
|
rugxulo 12 Oct 2006, 01:23
GAS now supports Intel syntax (e.g., gcc -masm=intel -S myfile.c -o myfile.s), but I never use it by itself. In fact, there are only a few reasons I can think of for using it at all (BTW, gotta love phpBB, hehe):
|
|||
12 Oct 2006, 01:23 |
|
arafel 12 Oct 2006, 05:07
You can also specify Intel syntax from within gnu as source with '.intel_syntax' directive.
GAS without the C preprocessor is not much usable, since it lacks some very basic programming necessities. and also has quite different syntax from other assemblers which makes it hard to adapt to. anyway it's a pain to code in pure gas without using some helpers like C preprocessor. |
|||
12 Oct 2006, 05:07 |
|
arafel 12 Oct 2006, 12:17
[GAS lacks] Transparent handling of nested structures for example.
Also I heard others complaining about macros support being limited in some ways. Although I never worked with gas macros, so can't say much about this. |
|||
12 Oct 2006, 12:17 |
|
rugxulo 16 Oct 2006, 21:45
FASM is not the only assembler to assemble itself: TMA, Octasm, Intasm, Ngasm, A86, XASM, WolfWare, Rosasm, etc.
Last edited by rugxulo on 18 Oct 2006, 00:04; edited 1 time in total |
|||
16 Oct 2006, 21:45 |
|
rugxulo 18 Oct 2006, 00:09
Quote:
All the ones I mentioned (besides Ngasm and A86/A386) come with source and are free (no cost). Octasm supports MMX, SSE3, and 3dNow! (according to the Programmer's Heaven description page for the download). A386 only supports through the P3. Rosasm supposedly supports at least SSE3 (I'm too lazy to further search their forum, but surely a Win32 assembler such as itself supports newer instructions). |
|||
18 Oct 2006, 00:09 |
|
Kain 18 Oct 2006, 20:31
Well, here's a preliminary HLA description.
pros -portable -flexible, embedding as easy as setting up a couple environment variables -High/low level syntax by user preference. [operand ordering similar to AS] -highly documented -dedicated Assembly book -active support by original author -dedicated open-source IDE -dedicated portable standard library with hundreds of functions -ability to generate source in various formats FASM, MASM, AS, TASM. -very powerful macro system -by default, embeds exception handling code that catches many errors -built in and user definable types allows for solid coding foundation -built in OOP support cons -supports x/86 32 bit only -moderate forum activity -source code in C, Flex/Bison -slow compilation speed -needs a backend low level assembler, but it has optimizing potential of backend. source code -internals documentation in form of comments in source code _________________ :sevag.k |
|||
18 Oct 2006, 20:31 |
|
rugxulo 20 Oct 2006, 03:07
Hey vid,
Here's a list of assembler authors (mostly DOS-based, but most are unsupported, bold means still actively developed or updated within the last three years or so, which IMO probably means "still actively developed"):
(Do these count??): HLA - Randall Hyde Terse - Jim Neil Last edited by rugxulo on 07 Jan 2007, 05:22; edited 1 time in total |
|||
20 Oct 2006, 03:07 |
|
Goto page 1, 2, 3, 4, 5 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.