FASM lacks OMF/OBJ support (16- / 32-bit) (Announce)
> Does it really help ??? How do you use it to get 16-bit OMF from FASM ?
Oops, forgot about that. Okay, so it doesn't help there. But I think Tomasz's original viewpoint saw direct creation of .COM and .EXE as superior than requiring tons of external libraries. Then again, I also think he focused more on 386+ than 16-bit. It's not that 386 is so evil, just that people require 386 (or 486, 586, 686, etc.) for no good reason.
And sure a portable program in C is great, but sometimes portability is overrated (esp. if all you're running it on is one architecture). Or maybe it's just that C compilers still aren't as good as they should be (e.g. too slow to compile). Ironic that C is supposed to speed up development vs. assembly and yet takes a billion times longer to compile. Also, C is hardly portable (or maybe just really really hard to write truly portably, e.g. 64-bit clean, 16-bit ints, big endian, compiler quirks, etc.) A portable but slow, kludgy program is less admired than a decent non-portable x86-only one. (But obviously JWasm isn't bad, it's quite nice.) One of the reason TASM was so popular was its speed (although later versions of MASM were fast too, right?). OPTASM was supposedly pretty fast too, as was A86 (self-assembled). It's no accident that C-written assemblers are usually slower, we just don't notice these days due to fast computers. (Japheth, if you have any simple benchmarks, I'll try 'em on my 486 for you, heh.)
> Quality of OW suffered several times from bugs in the tools which were
> used to create the final release. So it is an additional risk.
And yet almost every compiler maker likes to brag that it compiles itself. The risk of hidden bugs never stopped any of them, that's for sure: GCC, FPC, FBC, GNAT, Context, CC386, various old DOS assemblers, etc. (contrary to G++ and GPC, which are written in C).
> most Real Mode DOS programs don't even need the MZ format. .COM (created
> by any good assembler's bin format) is fine for any program file below
> ~65280 Bytes
Most compilers don't output flat binary or .COM format, e.g. DJGPP or CC386 or whatever. And face it, most people use C or C++ or Pascal instead of assembly. And compilers are notorious for not making tiny code. It used to be that tiny code meant fast too but no longer. Also, 16-bit memory models were annoying to some / most, so they eagerly jumped onto the flat 32-bit model when it was introduced. 16-bit pmode of the 286 maxed out at 16 MB, which is better than 8086's not-quite 1 MB. And I don't think 99% of programmers ever desired to code in 16-bit pmode, esp. since 286s couldn't even (easily? officially? documented?) switch back to real mode, e.g. killing compatibility (only fixed in V86 w/ 386). Even in 1994, 486 computers sometimes only came with about 4 MB of RAM. 32-bit is considered easier than 16-bit in some ways (better addressing mode, bigger regs, bigger total address space).
Hope that made sense, it seems almost like an unfocused rant (must be tired, heh).
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