D/B bit in data selectors and ss
#1609
Replies: 5 comments 30 replies
-
Hmm, odd. I just noticed that the 16-bit stack test in the debugger does increment |
Beta Was this translation helpful? Give feedback.
-
Try
By looking into ~/.dosemu/boot.log. |
Beta Was this translation helpful? Give feedback.
-
As for D bit: it simply matches |
Beta Was this translation helpful? Give feedback.
-
No change with
Allright, I suspected it may be underspecified. The new test "HUGESEG" of the original DebugX depends on the HDPMI32 behaviour for its intended purpose. However, I don't think dosemu2 has to do this the same way. |
Beta Was this translation helpful? Give feedback.
-
My partner confirms that this server doesn't have KVM available for our machine. |
Beta Was this translation helpful? Give feedback.
-
I noticed two oddities in dosemu2 lately, while creating tests for lDebug and FreeDOS Debug.
The first is that a selector's D/B bit (which indicates 32-bit code or stack size when set) is by default set by dosemu2. On HDPMI32 It is clear by default. Here is a test case. On dosemu2 it outputs:
The second is that dosemu2 appears to sometimes assume that the
ss
B bit is set (running in a 32-bitcs
in DPMI). Here is the next test case. Output when run on its own, which is as expected:Note that the first
ESP =
line indicates that the 16-bitsp
underflowed without affecting the upper word ofesp
. This is the expected behaviour.However, when tracing the 16-bit stack test with lDebugX then the full
esp
is used even though the B bit is clear:The
esp
value as saved inecx
indicates that the full 32-bitesp
waa decremented.Beta Was this translation helpful? Give feedback.
All reactions