Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

SSE instructions in DOS programs? (Developers)

posted by Laaca(R) Homepage, Czech republic, 03.01.2019, 12:51

In theory - SSE instructions use a new set of registers which have to be preserved when task swithing by OS.
So there is a security mechanism when SSE capable OS must report "I know these SSE-registers". It is done by setting bits in CR4 register.

When these bits are not set and the SSE instruction occurs it should raise a CPU exception even in single-task OS.

However today I tried to provocate this exception and I was not able to do it. I used a clean MS-DOS 7.1 without any drivers and CWSDPMI r3 from 1995 and no exception was raised.

It looks that the 9. and 10. bits in CR4 are set by my BIOS.

I loaded CWSDPR0 and loaded the CR4 register. The 9.bit is set, the 10.bit not.

I am not sure what does it mean, wikipedia says this: contol registers

Anyway, I give it up, the result for me is that CPUID test for SSE is OK for real life.



Complete thread:

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