flat assembler
Message board for the users of flat assembler.

Index > Main > virtual "8086" mode

Author
Thread Post new topic Reply to topic
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 12 Feb 2011, 15:57
Why when runing in virtual8086 mode pop cs is unavaiable, push sp pushes old vlaue of sp, shifts by imm8 are possible? 8086 doesnt have those features. Its not 8086 emulation, like name would suggest. Its a real mode emulation.



q2: why fasm cant use dword operand on sgdt/sidt?



q3: why my idtr (real hardware) has initially 0xFFFF limit?
Post 12 Feb 2011, 15:57
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20343
Location: In your JS exploiting you and your system
revolution 12 Feb 2011, 16:06
b1528932 wrote:
Why when runing in virtual8086 mode pop cs is unavaiable, push sp pushes old vlaue of sp, shifts by imm8 are possible? 8086 doesnt have those features. Its not 8086 emulation, like name would suggest. Its a real mode emulation.
All of these things are explained in the Intel manuals in the compatibility section. Except pop cs which has never been documented. You can use SSE4 in V8086 mode also. If you really must have real 8086 emulation then you have to use a real 8086 CPU. Finding one may be tricky though.
Post 12 Feb 2011, 16:06
View user's profile Send private message Visit poster's website Reply with quote
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 12 Feb 2011, 16:10
But then why call it virtual 8086, not virtual real or virtual 80386.
Post 12 Feb 2011, 16:10
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 12 Feb 2011, 16:12
Maybe because 286 already supported protected mode?
Post 12 Feb 2011, 16:12
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20343
Location: In your JS exploiting you and your system
revolution 12 Feb 2011, 16:17
b1528932 wrote:
But then why call it virtual 8086, not virtual real or virtual 80386.
Because it gives real mode addressing with the awful 64k segments and 16-bit registers by default and all the other real mode stuff but within a PM environment trapping the naughty hardware control instructions. Don't get so hung up on the names of things, just look at the functionality.
Post 12 Feb 2011, 16:17
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1902
DOS386 13 Feb 2011, 04:25
b1528932 wrote:
Why when runing in virtual8086 mode pop cs is unavaiable, push sp pushes old vlaue of sp, shifts by imm8 are possible?


mov [$FFFF], AX works on 8086 but not in NTVDM/V86 Smile Smile Smile Smile

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 13 Feb 2011, 04:25
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.