Simultaneous 16-bit and 32-bit Descriptions of Virtual Storage


           GDT                   RAM             LDT
         -------               -------         -------
 53=es->|     50|----   A0000 |       |<------|     50|
        |-------|    |        |-------|       |-------|
        |     48|    |  90000 |       |<------|     48|
        |-------|    |        |-------|       |-------|
        |     40|    |  80000 |       |<------|     40|
        |-------|    |        |-------|       |-------|
        |     38|    |  70000 |       |<------|     38|<- ds=3F
        |-------|    |        |-------|       |-------|
        |     30|    |  60000 |       |<------|     30|<- ss=37
        |-------|    |        |-------|       |-------|
 ldtr ->|     28|-   |  50000 |       |<------|     28|
        |-------| |  |        |-------|       |-------|
        |     20| |  |  40000 |       |<------|     20|
        |-------| |  |        |-------|       |-------|
        |     18| |  |  30000 |       |<------|     18|
        |-------| |  |        |-------|       |-------|
   tr ->|     10| |  |  20000 |       |<------|     10|
        |-------| |  |        |-------|       |-------|
        |     08| |  |  10000 |       |<------|     08|<- cs=0F
        |-------| |  |        |-------|       |-------|
        | **  00| |   ------->|invalid|       |     00|
  gdtr-> -------  |            -------    ---> -------
                  |                      |
                   ----------------------
  ** useless, null selector

Note: The digits within the tables are the offsets to each descriptor. The selector values ( CS=0F ) indicate which selector normally accesses the descriptor.

Note: Any selector containing the value 0-3 is the NULL selector which DOES NOT specify the first entry in the GDT. It is a place holder when a selector does not specify a descriptor. Any attempt to use the null selector results in a general protection exception.

Note: The descriptors in the LDT are 16-bit descriptors. This is one of the reasons that 16-bit programs still execute and fail in exactly the same manner as on previous versions of OS/2.


[Back: 0:32 to 16:16 Thunk]
[Next: Stacks]