code density (Announce)
> > "Should be", yeah, but never are. 32-bit assumptions, POSIX 2008,
> > everything-is-*nix, etc.
>
> Most of that should be possible to be worked around by the compiler - even
> if generating 16-bit code. The only problem is probably code size - can't
> fit no POSIX-compatible system in 1 MiB.
Minix 2.0.2 was the last to truly support the 8086, and it was POSIX. I'm not saying you could or should cram everything in there, but it should be good enough for "something"! (I may be preaching to the choir here, heh.)
FYI, 2.0.4 had a bug, but it would run minimally on 286s. Minix-vmd was the 386+ fork that added virtual memory, XFree86, and GCC. Minix 3 is 386+ only but much more sophisticated, heavily becoming more modern every day (but I don't know the true minimum specs for that, can't test right now).
Niklaus Wirth worked back when they had to fit compilers in less than 64 kb. Lilith only had 256 kb of RAM, I think, and was heavily designed for code density. His Oberon system also ran in as little as 200 kb, including compiler. Of all people, I'll bet he at least thinks we've jumped the shark and lost focus on how to do things properly. You know, a megabyte truly is a lot of space. Even at worst, six bytes per instruction (8086), 1024*1024/6 = 174762, or 640*1024/6 = 109226 or more realistically 512*1024/6 = 87381. So yeah, can't we find a way to write decent programs in that many instructions??? I THINK SO!!! (I don't want to say GCC or C/C++ is an abomination, but it's truly 1000 x too complex to build and hence WAY too big in size for what it does. BTW, adjust the numbers for 10 bytes = max 286 instruction, 15 bytes max for 386.)
It's truly sloppy or crappy compilers that don't output small size anymore. Or maybe it's the dumb linkers fault for not stripping the unused parts. Still, even when some claim to be smart, it's still "too big" in my eyes. It's not that it's so horribly huge, but all that bloat does add up until you can't run anything in less than ... MB / GB. Most people don't want to go back to raw assembly, and that's fine, but we NEED decent compilers that aren't too lazy to actually do some of the grunt work. 100 kb (or more!) for a "Hello world!" (or any reasonably small program, like a dumb Befunge interpreter) is just too much. And we don't need ten billion tools that overlap and do the exact same thing but with different syntax. But whatever, simplifying and unifying everything is an art in itself, and it's not easy.
WIRTH FOR PRESIDENT 2012!
Complete thread:
- NASM version 2.09 available - rr, 25.08.2010, 13:27 (Announce)
- NASM version 2.09 available - DOS386, 26.08.2010, 09:10
- NASM version 2.09 available - ecm, 26.08.2010, 20:10
- NASM version 2.09 available - DOS386, 27.08.2010, 03:16
- NASM version 2.09 available - marcov, 27.08.2010, 17:10
- NASM version 2.09 available - Rugxulo, 28.08.2010, 04:53
- NASM version 2.09 available - ecm, 30.08.2010, 21:40
- NASM version 2.09 available - Rugxulo, 03.09.2010, 05:51
- NASM version 2.09 available - Arjay, 03.09.2010, 13:14
- NASM version 2.09 available - ecm, 03.09.2010, 14:40
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 20:06
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 06.09.2010, 22:27
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 22:37
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:19
- NASM version 2.09 available | 8086 is COOOOL - ecm, 07.09.2010, 18:53
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:19
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 07:33
- NASM version 2.09 available | 8086 is COOOOL - ecm, 07.09.2010, 16:22
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 07.09.2010, 16:59
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:04
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 19:15
- NASM version 2.09 available | A86 - Arjay, 07.09.2010, 19:58
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 22:42
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 08.09.2010, 01:05
- FASM and OMF - Japheth, 08.09.2010, 09:26
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:40
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - ecm, 08.09.2010, 19:45
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:53
- FASM is copylefted - ecm, 08.09.2010, 20:02
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:53
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - ecm, 08.09.2010, 19:45
- 16-bit DOS COBOL, 16-bit DOS PASCAL, 16-bit DOS C, 16-bit - DOS386, 08.09.2010, 19:40
- NASM - FASM - ecm, 08.09.2010, 15:09
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - Arjay, 08.09.2010, 22:12
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 11.09.2010, 01:23
- NASM - FASM license - ecm, 11.09.2010, 01:53
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - Arjay, 13.09.2010, 13:31
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 11.09.2010, 01:23
- FASM and OMF - Japheth, 08.09.2010, 09:26
- NASM 2.09 available | A86 | FASM | Arjay's 8086+80386 PC's - DOS386, 08.09.2010, 01:05
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 22:42
- NASM version 2.09 available | A86 - Rugxulo, 08.09.2010, 06:56
- NASM version 2.09 available | A86 - Arjay, 07.09.2010, 19:58
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 08.09.2010, 06:28
- NASM version 2.09 available | A86 - ecm, 07.09.2010, 19:15
- NASM version 2.09 available | A86 and kernels - ecm, 07.09.2010, 18:42
- NASM version 2.09 available | A86 and kernels - Rugxulo, 08.09.2010, 06:49
- NASM version 2.09 available | A86 and kernels - ecm, 08.09.2010, 20:30
- NASM version 2.09 available | A86 and kernels - ecm, 11.09.2010, 12:27
- Debian/OW ... FASM - Rugxulo, 11.09.2010, 23:44
- Debian/OW ... FASM - ecm, 12.09.2010, 02:40
- Debian/OW ... FASM - Rugxulo, 12.09.2010, 04:18
- Debian/OW ... FASM - ecm, 12.09.2010, 14:29
- FASM's license - Rugxulo, 12.09.2010, 22:18
- FASM's license - ecm, 12.09.2010, 23:12
- FASM's license - Rugxulo, 13.09.2010, 01:49
- FASM's license - ecm, 13.09.2010, 14:13
- FASM's license - Rugxulo, 13.09.2010, 22:27
- FASM's license - ecm, 14.09.2010, 15:50
- FASM's license - Rugxulo, 15.09.2010, 23:29
- FASM's license - ecm, 16.09.2010, 00:03
- code density - Rugxulo, 16.09.2010, 21:10
- code density - ecm, 17.09.2010, 14:15
- code density - Rugxulo, 17.09.2010, 23:06
- code density - ecm, 18.09.2010, 02:18
- code density - Rugxulo, 19.09.2010, 20:23
- code density - ecm, 19.09.2010, 20:27
- this messy thread - DOS386, 13.10.2010, 04:17
- this messy thread - Rugxulo, 13.10.2010, 04:50
- this messy thread - ecm, 14.10.2010, 13:01
- this messy thread - Rugxulo, 13.10.2010, 04:50
- this messy thread - DOS386, 13.10.2010, 04:17
- code density - ecm, 19.09.2010, 20:27
- code density - Rugxulo, 19.09.2010, 20:23
- code density - ecm, 18.09.2010, 02:18
- code density - Rugxulo, 17.09.2010, 23:06
- code density - ecm, 17.09.2010, 14:15
- code density - Rugxulo, 16.09.2010, 21:10
- FASM's license - ecm, 16.09.2010, 00:03
- FASM's license - Rugxulo, 15.09.2010, 23:29
- FASM's license - ecm, 14.09.2010, 15:50
- FASM's license - Rugxulo, 13.09.2010, 22:27
- FASM's license - ecm, 13.09.2010, 14:13
- FASM's license - Rugxulo, 13.09.2010, 01:49
- FASM's license - ecm, 12.09.2010, 23:12
- FASM's license - Rugxulo, 12.09.2010, 22:18
- Debian/OW ... FASM - ecm, 12.09.2010, 14:29
- Debian/OW ... FASM - Rugxulo, 12.09.2010, 04:18
- Debian/OW ... FASM - ecm, 12.09.2010, 02:40
- Debian/OW ... FASM - Rugxulo, 11.09.2010, 23:44
- NASM version 2.09 available | A86 and kernels - Rugxulo, 08.09.2010, 06:49
- NASM version 2.09 available | 8086 is COOOOL - tom, 07.09.2010, 19:58
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 08.09.2010, 06:58
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 18:04
- 8086 is fairly useless - tom, 07.09.2010, 19:47
- 8086 is fairly useless - ecm, 07.09.2010, 19:55
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 07.09.2010, 16:59
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 22:37
- NASM version 2.09 available | 8086 is COOOOL - Arjay, 07.09.2010, 07:26
- NASM version 2.09 available | NASM manual - ecm, 07.09.2010, 16:30
- NASM version 2.09 available | 8086 is COOOOL - Rugxulo, 06.09.2010, 22:27
- NASM version 2.09 available - Rugxulo, 13.10.2010, 06:15
- NASM version 2.09 available | 8086 is COOOOL - DOS386, 06.09.2010, 20:06
- NASM version 2.09 available - Rugxulo, 03.09.2010, 05:51
- NASM version 2.09 available - ecm, 30.08.2010, 21:40
- NASM version 2.09 available - Rugxulo, 28.08.2010, 04:53
- 8086-NASM - Japheth, 14.09.2010, 15:04
- 8086-JWASM - ecm, 14.09.2010, 15:33
- NASM version 2.09 available - ecm, 26.08.2010, 20:10
- NASM version 2.09 available - DOS386, 26.08.2010, 09:10