On Tue, 4 Dec 2018, Liam Proven wrote:
I don't
know if the unreal mode has been retained in the x86 architecture
to this day; as I noted above it was not officially supported. But then
some originally undocumented x86 features, such as the second byte of AAD
and AAM instructions actually being an immediate argument that could have
a value different from 10, have become standardised at one point.
I know, and was surprised that, v86 mode isn't supported in x86-64.
In the native long mode, that is. If you run the CPU 32-bit, then VM86
works. I guess AMD didn't want to burden the architecture in case pure
64-bit parts were made in the future.
This caused major problems for the developers of
DOSEMU.
And also for expansion-BIOS emulation, especially with graphics adapters
(which, accompanied by scarce to inexistent hardware documentation, made
mode switching even trickier in Linux than it already was). It looks like
fully-software machine code interpretation like with QEMU is the only way
remaining for x86-64.
Maciej