8086 rules (Miscellaneous)
Assuming I had followed these rules:
https://en.wikipedia.org/wiki/Protected_mode
This was not without its limitations. If an application utilized or relied on any of the techniques below, it would not run:
Segment arithmetic
Privileged instructions
Direct hardware access
Writing to a code segment
Executing data
Overlapping segments
Use of BIOS functions, due to the BIOS interrupts being reserved by Intel[31]
In reality, almost all DOS application programs violated these rules
... what could I actually do, assuming I had
an 80286 computer?
"binary compatibility with real-mode code" - sounds good.
"the ability to access up to 16 MB of physical memory, and 1 GB of virtual memory" - sounds good.
But ... WHERE?
Is this something I could do on OS/2 1.x?
With an MZ executable? A .com?
What are they advertising?
NE executables didn't exist except on MSDOS 4.0,
which may or may not buy something. Is that what
they are advertising?
I didn't use OS/2 1.x, but it may have had an
MSDOS window and an MSDOS fullscreen (as modern
OS/2 does).
Did something work on either of those if you
followed "the rules"?
As opposed to a program that DIDN'T follow
the rules, e.g. it wouldn't run in the window,
and you were forced to use the fullscreen.
I've heard of something called the "penalty
box" or "sin bin" for badly-behaved programs
running on OS/2? Something like that?
Or did they decide that there were so few
programs that obeyed the rules, that no-one
actually built anything to accommodate programs
that had followed the rules?
Or was the problem that MSDOS itself had used
segment arithmetic in the MZ executable format
such that it was not possible to run an
unmodified MZ executable (at least one with
more than 64k of code), in protected mode, no
matter how well behaved the actual code was?
Thanks. Paul.
Complete thread:
- 8086 rules - kerravon, 21.02.2024, 07:24 (Miscellaneous)
- 8086 rules - Japheth, 21.02.2024, 09:03
- 8086 rules - Rugxulo, 21.02.2024, 10:38
- 8086 rules - kerravon, 21.02.2024, 11:02
- 8086 rules - Ringding, 21.02.2024, 11:56
- 8086 rules - kerravon, 21.02.2024, 12:06
- 8086 rules - Japheth, 21.02.2024, 15:16
- 8086 rules - Ringding, 21.02.2024, 15:24
- 8086 rules - Ringding, 21.02.2024, 11:56
- 8086 rules - mceric, 21.02.2024, 11:07
- 8086 rules - kerravon, 21.02.2024, 12:02
- 8086 rules - kerravon, 21.02.2024, 13:36
- 8086 rules - CS writing, lDebugX - ecm, 21.02.2024, 14:57
- 8086 rules - bretjohn, 21.02.2024, 17:40
- 8086 rules - kerravon, 21.02.2024, 23:35
- 8086 rules - Japheth, 21.02.2024, 09:03