FASM can't understand OMF ".OBJ" files (Announce)
> > OMF is really only necessary for linking between HLLs and assembly
>
> That's a very simplistic view of a linker. Linker can be useful/necessary
> if no HLLs are involved at all. They are even useful if there's just a
> single module to be linked to a binary.
Really? You're more experienced than me, so I defer to your knowledge. But in my experience, you don't NEED a linker if you're writing the entire project in FASM anyways. Tomasz doesn't need .OBJ, so he didn't implement .OBJ.
Compiling separate modules may be faster than all-at-once, but FASM is easily the fastest assembler I've tried (esp. on older computers). Then again, I haven't tried JWasm too too much on my old 486. (BTW, StarLFN apparently works fine with JWasm. Heh. Then again, StarLFN on DR-DOS has minor issues, but that's another thing entirely.)
> That's true, but the argument has little weight. An assembler which claims
> to support 16bit has to support OMF.
Maybe "fully" support 16-bit, but then again, few care about that anymore. Only things like bootsectors or pieces of kernels (written in almighty C/C++, of course) are considered 16-bit-worthy these days.
> OMF is complex because it's very old,
> created in a time when the need to reduce space did justify virtually
> everything.
In other words, "legacy". And some Windows users frown on legacy. (Good thing for them that AMD64 kicks out 16-bit, then.)
> But hey, no one did claim that writing an assembler is
> pure fun. There are always tasks which are boring and dull. The
> difference between a hobby project and a tool of professional quality is
> that the "boring" things have been done as well in the latter case.
FASM is used commercially by some people / compilers, just not for .OBJ obviously. And having Agner's OBJCONV (sorely needed for a long time) only gives yet another excuse for him not to implement it.
In fact, to convince him otherwise, we'd have to come up with an actual need or reason that's pretty good. (He did give in to vid and add "-d" due to strong reasoning and a real-world test case.)
> > How is it a disadvantage?
>
> Asm is less portable. An assembler is among those kind of tools where the
> higher degree of portability of C is a REAL advantage.
Although true, a portable x86 assembler that can run on non-x86 targets is of low use, AFAIK. At least, if you're writing x86 assembly, you may as well have an x86 box around (or emulator). NASM is now in C99, which actually limits its portability a tad (although thanks to GCC being everywhere, not as bad as it could be).
BTW, don't forget that FASM runs on more OSes than any other x86 assembler I know of.
EDIT: How did you compile JWasm for Linux? I had issues with OpenWatcom targeting Linux. :-/
> A second disadvantage is that a self-compiling tools can worsen the effect
> of undetected bugs. If a buggy tool is used for compilation, pretty strange
> effects are likely to occur, sometimes very hard to fix.
True, but FASM has been fairly well tested by users at the forum. And it doesn't use every high-level-ish feature in its own source, so it's relatively straightforward to assemble (i.e. the basics are probably more sound than the more complex stuff and thus less prone to error).
Complete thread:
- JWasm v1.8pre - Japheth, 17.06.2008, 11:04 (Announce)
- JWasm v1.8pre | killing MA$M now ??? - DOS386, 18.06.2008, 12:23
- JWasm v1.8pre | killing good MASM now ??? - Japheth, 18.06.2008, 14:34
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - ecm, 18.06.2008, 16:58
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Japheth, 18.06.2008, 19:17
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Rugxulo, 18.06.2008, 19:38
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Rugxulo, 19.06.2008, 23:43
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - ecm, 20.06.2008, 12:58
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Rugxulo, 19.06.2008, 23:43
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - ecm, 18.06.2008, 19:46
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Japheth, 18.06.2008, 19:55
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Rugxulo, 18.06.2008, 19:38
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - Japheth, 18.06.2008, 19:17
- JWasm v1.8pre | killing good MASM now ??? - DOS386, 19.06.2008, 08:33
- JWasm v1.8pre | killing good MASM now ??? - Japheth, 19.06.2008, 10:02
- rxdos + jwasm - Japheth, 20.06.2008, 07:47
- JWasm v1.8pre | WLINK | PO | M | VALX - DOS386, 20.06.2008, 09:33
- JWasm v1.8pre | killing good MASM now ??? - Japheth, 19.06.2008, 10:02
- JWasm v1.8pre | killing good MASM now ??? | Compiling RxDOS - ecm, 18.06.2008, 16:58
- JWasm v1.8pre | killing good MASM now ??? - Japheth, 18.06.2008, 14:34
- JWasm v1.8pre - Rugxulo, 07.08.2008, 07:09
- JWasm v1.9 available - Japheth, 07.08.2008, 10:04
- JWasm v1.8pre - Rugxulo, 20.08.2008, 22:29
- JWasm v1.8pre - rr, 21.08.2008, 14:37
- JWasm v1.8pre - Rugxulo, 21.08.2008, 22:04
- JWasm v1.8pre - rr, 21.08.2008, 22:36
- JWasm v1.8pre - Rugxulo, 21.08.2008, 22:04
- JWasm v1.8pre - rr, 21.08.2008, 14:37
- JWasm Forum - Japheth, 14.08.2008, 16:41
- JWasm Forum - Rugxulo, 17.08.2008, 00:25
- JWasm v1.91 - Japheth, 20.08.2008, 07:02
- JWasm v1.91 - DOS386, 20.08.2008, 07:52
- JWasm v1.91 - Japheth, 20.08.2008, 10:33
- JWasm v1.91 - DOS386, 20.08.2008, 07:52
- JWasm v1.92 is out - Japheth, 23.09.2008, 09:48
- JWasm v1.92 is out - DOS386, 23.09.2008, 16:06
- JWasm v1.92 is out - Japheth, 24.09.2008, 14:03
- JWasm v1.92 is out - Steve, 24.09.2008, 23:44
- JWasm v1.92 is out | fixed old bug | added new bug - DOS386, 25.09.2008, 15:55
- JWasm v1.92 is out | fixed old bug | added new bug - Japheth, 25.09.2008, 17:21
- JWasm v1.92 is out | many bugs found - DOS386, 04.10.2008, 04:39
- JWasm v1.92 is out | many bugs found - Japheth, 04.10.2008, 08:53
- JWasm v1.92 is out | many bugs found - Rugxulo, 04.10.2008, 20:28
- JWasm v1.92 is out | many bugs found - DOS386, 05.10.2008, 13:47
- JWasm v1.92 is out | many bugs found - Japheth, 04.10.2008, 08:53
- JWasm v1.92 is out | many bugs found - DOS386, 04.10.2008, 04:39
- JWasm v1.92 is out | fixed old bug | added new bug - Japheth, 25.09.2008, 17:21
- JWasm v1.92 is out - Japheth, 24.09.2008, 14:03
- JWasm v1.92 is out - DOS386, 23.09.2008, 16:06
- JWasm v1.93 is out - Japheth, 26.10.2008, 20:06
- JWasm v1.93 is out - DOS386, 29.10.2008, 09:46
- JWasm v1.93 is out - Japheth, 29.10.2008, 13:59
- JWasm v1.93 is out - ecm, 29.10.2008, 19:59
- WARNING: your answers made me dangerously smart :-D - DOS386, 11.11.2008, 15:02
- WARNING: your answers made me dangerously smart :-D - Japheth, 07.12.2008, 15:04
- minor bug: REP CMPSB - Rugxulo, 07.12.2008, 20:28
- minor bug: REP CMPSB - Japheth, 07.12.2008, 22:37
- minor bug: REP CMPSB - Rugxulo, 07.12.2008, 20:28
- WARNING: your answers made me dangerously smart :-D - Japheth, 07.12.2008, 15:04
- JWasm v1.93 is out - Japheth, 29.10.2008, 13:59
- JWasm v1.93 is out - DOS386, 29.10.2008, 09:46
- JWasm v1.94 - Japheth, 19.12.2008, 18:19
- JWasm v1.94a and b - Japheth, 21.12.2008, 15:05
- JWasm v1.94a and b - Rugxulo, 23.12.2008, 07:13
- JWasm v1.94a, b and c - Japheth, 24.12.2008, 12:50
- JWasm v1.94a, b and c and 1.95 pre - DOS386, 29.12.2008, 01:27
- Reason isn't easy to find ... - Japheth, 29.12.2008, 08:31
- JWasm and FASM are more robust than others - Rugxulo, 29.12.2008, 23:28
- FASM is inferior for DOS programming - Japheth, 30.12.2008, 08:10
- FASM can't understand OMF ".OBJ" files - Rugxulo, 30.12.2008, 20:14
- FASM can't understand OMF ".OBJ" files - Japheth, 01.01.2009, 19:33
- FASM can't understand OMF ".OBJ" files - Rugxulo, 02.01.2009, 04:45
- FASM can't brew (!) OMF ".OBJ" files OBJCONV port it away - DOS386, 02.01.2009, 10:39
- FASM can't brew (!) OMF ".OBJ" files OBJCONV port it away - Japheth, 02.01.2009, 11:14
- I like the bin format - ecm, 02.01.2009, 19:00
- FASM lacks OMF/OBJ support (16- / 32-bit) - Rugxulo, 02.01.2009, 19:59
- FASM lacks OMF/OBJ support (16- / 32-bit) - ecm, 02.01.2009, 22:36
- FASM lacks OMF/OBJ support (16- / 32-bit) - DOS386, 04.01.2009, 11:17
- FASM lacks OMF/OBJ support (16- / 32-bit) - Rugxulo, 04.01.2009, 21:26
- FASM lacks OMF/OBJ support (16- / 32-bit) - DOS386, 04.01.2009, 11:17
- FASM lacks OMF/OBJ support (16- / 32-bit) - ecm, 02.01.2009, 22:36
- FASM lacks OMF/OBJ support (16- / 32-bit) - Rugxulo, 02.01.2009, 19:59
- I like the bin format - ecm, 02.01.2009, 19:00
- FASM can't brew (!) OMF ".OBJ" files OBJCONV port it away - Japheth, 02.01.2009, 11:14
- FASM can't understand OMF ".OBJ" files - Japheth, 01.01.2009, 19:33
- FASM is superior for DOS programming - DOS386, 30.12.2008, 22:40
- FASM can't understand OMF ".OBJ" files - Rugxulo, 30.12.2008, 20:14
- FASM is inferior for DOS programming - Japheth, 30.12.2008, 08:10
- JWasm and FASM are more robust than others - Rugxulo, 29.12.2008, 23:28
- Reason isn't easy to find ... - Japheth, 29.12.2008, 08:31
- JWasm v1.94a, b and c and 1.95 pre - DOS386, 29.12.2008, 01:27
- JWasm v1.94a, b and c - Japheth, 24.12.2008, 12:50
- JWasm v1.94a and b - Rugxulo, 23.12.2008, 07:13
- JWasm v1.94a and b - Japheth, 21.12.2008, 15:05
- JWasm BANNED - DOS386, 22.03.2009, 05:10
- No - Japheth, 22.03.2009, 06:42
- Overlay swopping and segment macros - ecm, 22.03.2009, 11:49
- No - Rugxulo, 27.03.2009, 17:00
- No - Japheth, 28.03.2009, 07:11
- No - Japheth, 22.03.2009, 06:42
- JWasm v1.8pre | killing MA$M now ??? - DOS386, 18.06.2008, 12:23