NASM 0.98.39 (MSC 7, "286", not full instruction support) (Developers)
> The whole point of recompiling was to have an 8086-hosted build of NASM
> since their old build was 186 (and didn't work under 8086tinyplus).
> OpenWatcom compiled 0.98.39 okay as Large model, but TC++ wouldn't fit
> (Huge only), DGROUP overflow, until I trimmed a bunch of instructions.
> Then it would fit in Large. (Those two previous .EXEs had all
> instructions, up through SSE3. So only this "lite" one omits some stuff.)
Actually, their pre-existing prebuilt .EXE for 16-bit DOS must've been compiled with Mkfiles/Makefile.ms7, i.e. MS C 7 from 1992 (according to .EXE's internal runtime copyright).
># Compile for a 286, ain't nobody using an 8086 anymore
>CC = cl /c /Oz /AL /Gt256 /G2 /I.. # MSC 7.00
Not sure why 286 [effectively 186] via /G2, it's probably very minimal improvement. "/AL" means Large model (according to this for MSC 6).
Also, note this:
> # GNU software compiled by DJGPP is also required:
># grep 2.4
># perl 5.6.1
Although you only need Perl to regenerate insns*.[ch] files, but they're already included.
>insns16.dat: insns.dat
> grep -v WILLAMETTE insns.dat | grep -v KATMAI | grep -v SSE | \
> grep -v MMX | grep -v 3DNOW | grep -v UNDOC >insns16.dat
Inefficient, ERE has "|" alternation operator or whatever.
So they didn't even include all instructions! I'm actually surprised (but, as mentioned, it's wiser this way). Then again, they did include outputs: bin, obj, as86, win32 (latter two are irrelevant in such limited memory conditions).
"Better" (??) would've presumably been using MSVC 1.52c (info) from 1995. Or something with 286 pmode target support. Or Digital Mars. (Or overlays??)
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