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) ... LOADALL (Developers)

posted by Rugxulo Homepage, Usono, 31.03.2020, 20:07
(edited by Rugxulo on 31.03.2020, 20:43)

> But omitting CMPXCHG486, LOADALL, LOADALL286, SALC is bad because those were much more common!

I'm not a systems programmer, so I'm not familiar with all the gory details.

IIRC, it was claimed at one time that all 486 BIOSes emulated LOADALL, presumably for IBM's OS/2.

Wikipedia implies other software using it (MS Himem, Emm386, Smartdrv, Windows), or at least certain older versions (pre-XMS?). But no mention of it in Himemx nor JEMM386 sources.

Apparently it was removed in later processors, replaced by Pentium's RSM instruction (different encoding) for SMM (Systems Management Mode, aka ring -2). The actual encodings were reused instead for SYSCALL and SYSRET (both of which old NASM calls "P6" although Wikipedia says AMD64).

OS/2 Museum had a few things to say, too:

> On Intel processors, SYSCALL must be explicitly enabled and even then is
> only recognized in 64-bit mode, so it cannot possibly conflict with software
> written for the 286. On AMD processors, SYSCALL is not limited to 64-bit
> mode but must still be enabled via EFER.SCE, which again won’t be the case
> with software designed to run on 286s. Therefore SYSCALL does not conflict
> with 286 LOADALL emulation.

Strange stuff. :lookaround:

 

Complete thread:

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