Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

NASM 0.98.39 (not full instruction support) (Developers)

posted by Rugxulo Homepage, Usono, 24.03.2020, 21:16

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

Admittedly, it's hard to properly support so many instructions, and they aren't grouped 100% accurately, IMHO. (CPUID as PENT should be 486. Also, PENT didn't always support MMX, they are partially distinct.) Still, this piecemeal approach is error-prone, for many reasons.

Omitting UNDOC is "mostly" fine for oddballs like IBTS or or XBTS or UMOV (386 only) which (almost literally) nobody ever used. But omitting CMPXCHG486, LOADALL, LOADALL286, SALC is bad because those were much more common! And it won't warn, only assemble (but ignore) your use of such "unsupported" instruction, treating it as a label. So you won't even know until it bites you (hopefully, you have reproducible checksums or test suites)! And yet the .EXE still included a few unnecessary instructions (IA64 [JMPE] and PRESCOTT non-SSE [MONITOR,MWAIT,FISTTP]).

This may also be because the makefile was old and not updated for recent releases. So maybe it was accurate for previous releases ... but no longer. And this was the only prebuilt 16-bit binary we had!

 

Complete thread:

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