rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) (Developers)
> It still didn't fit into Large model (like OpenWatcom), though, but if I
> exclude "PENT" entirely (which also includes MMX and 3DNOW for later 586s),
> then it fits into Large model okay. So then it's roughly 50 kb smaller than
> the "full" .EXE. But it only saves 9 kb UPX'd.
The 486 and 586 didn't add much (not counting MMX, 3DNow!), so I felt I should keep those. But everything else (Cyrix, MMX, 3DNow!, P6, IA64 [JMPE], SSE[123]) I deleted. I also had to use "-d" (merge duplicate strings). I call this NASM lite. (FASM also has a "lite" version for DOS nowadays, back to using his unreal hack by omitting all of the bloated AVX instructions. He claims AVX only works in 16-bit pmode anyways.)
BTW, I heard that newer AMD cpus don't even have 3DNow! anymore. And even Intel was rumored to be tweaking compilers (GCC?) to target SSE2 with MMX intrinsics (so they could remove them from chips later?? dunno). Something weird like that.
> But I want to avoid relying on Perl at all, so I need to find a shortcut to
> trim the pre-existing generated (included) insns*.[ch] files (awk? sed?
> homegrown tool again?).
I just manually cobbled together some Sed scripts from Diff'd output. They're all inlined into the makefile, so no bloated DJGPP Perl (5.8.8 from 2007) needed to rebuild this. Latest Perl upstream seems to be 5.30.2.
NASM 0.97 did have INSNS.BAS (QBASIC), but maybe it wasn't kept working, so it was dropped. I didn't try that here. I think AWK would be more reasonable.
Complete thread:
- rebuilding NASM 0.98.39 (2005) for 16-bit 8086 host - Rugxulo, 14.03.2020, 08:13 (Developers)
- rebuilding NASM 0.98.39 (2005) for 16-bit 8086 host - Rugxulo, 16.03.2020, 01:24
- rebuilding NASM 0.98.39 (2005) for 16-bit 8086 host - rr, 16.03.2020, 15:22
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 17.03.2020, 05:20
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - ecm, 17.03.2020, 06:58
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 22.03.2020, 00:48
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - ecm, 22.03.2020, 10:13
- rebuilding NASM 2.09 and NASM compatibility - ecm, 22.03.2020, 11:45
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - ecm, 06.09.2020, 23:09
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - ecm, 22.03.2020, 10:13
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 22.03.2020, 00:48
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 22.03.2020, 00:42
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - marcov, 22.03.2020, 13:08
- CMOV - ecm, 22.03.2020, 14:26
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 23.03.2020, 04:27
- NASM 0.98.39 (MSC 7, "286", not full instruction support) - Rugxulo, 24.03.2020, 20:36
- NASM 0.98.39 (not full instruction support) - Rugxulo, 24.03.2020, 21:16
- NASM 0.98.39 (not full instruction support) - ecm, 24.03.2020, 22:55
- NASM 0.98.39 (not full instruction support) - Rugxulo, 24.03.2020, 23:17
- NASM 0.98.39 (not full instruction support) ... LOADALL - Rugxulo, 31.03.2020, 20:07
- NASM 0.98.39 (not full instruction support) - ecm, 24.03.2020, 22:55
- NASM 0.98.39 (not full instruction support) - Rugxulo, 24.03.2020, 21:16
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 13.04.2020, 07:16
- NASM 0.98.39 (MSC 7, "286", not full instruction support) - Rugxulo, 24.03.2020, 20:36
- deprecated MMX and obsolete 3DNow! - Rugxulo, 24.03.2020, 17:54
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - marcov, 22.03.2020, 13:08
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - ecm, 17.03.2020, 06:58
- rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) - Rugxulo, 17.03.2020, 05:20
- rebuilding NASM 0.98.39 (2005) for 16-bit 8086 host - rr, 16.03.2020, 15:22
- rebuilding NASM 0.98.39 (2005) for 16-bit 8086 host - Rugxulo, 16.03.2020, 01:24