Ok so remember something about in Windows XP they locked down the use of ASM instructions IN and OUT to only be usable in ring-0 (kernel) code. So I decided to downgrade to Windows 2000 by using VirtualBox to host the older OS (I believe everything from 2000 and down allowed the use of IN and OUT assembly instructions). But here's my problem. These instructions don't even work in Windows 2000, or at least the version I'm using (Windows 2000 Pro with SP4 installed). Is it known whether or not the IN and OUT instructions are supposed to be accessible to usermode (ring-3) code in Windows 2000? What about Windows ME? I need a version of Windows that supports usermode use of the IN and OUT instructions, but I don't want to need to downgrade all the way to Windows 98.