
Qbix wrote:no, but a reference manual alone isn't enough for us to change things.
which documented that 286's divide overflow interrupt behaves not like 8086/8's as far back as in 1986
Any interrupt on the 80286 will always leave the saved CS:IP value pointing at the beginning of the instruction that failed (including prefixes). On the 8086, the CS:IP value saved for a divide exception points at the next
instruction.
The 80286 pushes a different value on the stack for PUSH SP than the 8086/8088. The 80286 pushes the value of SP before SP is incremented as part of the push operation; the 8086/8088 pushes the value of SP after it is incremented.
wd wrote:Both are well known/can be found on various bug lists (didn't know they were
officially documented), but they are irrelevant for this issue.
item11 in
http://www.logix.cz/michal/doc/i386/chp14-07.htm
is the difference causing the bad behaviour, which was verified on 8088
compared to the 80286/dosbox behaviour.
Again, manuals say it's a difference between 8086/8 and 286+.
wd wrote:Right and unless you actually test this you won't know if 8086 is closer to 80286 or 8088 for this feature. Don't know why you insist on this being a so interesting thing, but just go ahead and verify/falsify it, then post the results so they can be ignored because of missing relevance.
Users browsing this forum: No registered users and 2 guests