Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

rebuilding NASM 0.98.39 (without MMX/3DNOW/686/SSE) (Developers)

posted by Rugxulo Homepage, Usono, 22.03.2020, 00:42

> 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:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 438 users online (0 registered, 438 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum