home *** CD-ROM | disk | FTP | other *** search
/ Point Programming 1 / PPROG1.ISO / asm / 80x0393 / cr3.txt < prev    next >
Encoding:
Text File  |  1993-12-03  |  3.7 KB  |  81 lines

  1. (6432)  Thu 2 Dec 93  1:54p
  2. By: Ed Beroset
  3. To: Jim Brooks
  4. Re: CR3/PDBR in TSS?
  5. St:                                                                       <4448
  6. ---------------------------------------------------------------------------
  7. @MSGID: 1:3641/1.250 38025413
  8. @REPLY: 1:377/50@fidonet c08dc278
  9. In a msg on <Dec 02 13:54>, to 80386 Programmers, Jim Brooks writes:
  10.  
  11.  JB> reference manual shows a TSS diagram, but no CR3/PDBR is
  12.  JB> listed. Is it actually the locate marked reserved at offset
  13.  JB> 1Ch ?
  14.  
  15. Yes, it is.  Clip and save the following for reference:
  16.  
  17.      Task State Segment (TSS) for a 486
  18.  
  19. 31                     16 15         <- bits     0
  20. +------------------------+------------------------+
  21. |  0000 0000 0000 0000   |       BACK LINK        |   0 (TSS base)
  22. |                      ESP0                       |   4
  23. |  0000 0000 0000 0000   |          SS0           |   8
  24. |                      ESP1                       |   C
  25. |  0000 0000 0000 0000   |          SS1           |  10
  26. |                      ESP2                       |  14
  27. |  0000 0000 0000 0000   |          SS2           |  18
  28. |                       CR3                       |  1C
  29. |                       EIP                       |  20
  30. |                     EFLAGS                      |  24
  31. |                       EAX                       |  28
  32. |                       ECX                       |  2C
  33. |                       EDX                       |  30
  34. |                       EBX                       |  34
  35. |                       ESP                       |  38
  36. |                       EBP                       |  3C
  37. |                       ESI                       |  40
  38. |                       EDI                       |  44
  39. |  0000 0000 0000 0000   |            ES          |  48
  40. |  0000 0000 0000 0000   |            CS          |  4C
  41. |  0000 0000 0000 0000   |            SS          |  50
  42. |  0000 0000 0000 0000   |            DS          |  54
  43. |  0000 0000 0000 0000   |            FS          |  58
  44. |  0000 0000 0000 0000   |            GS          |  5C
  45. |  0000 0000 0000 0000   |           LDT          |  60
  46. |  BIT_MAP_OFFSET(15:0)  |  0000 0000 0000 000  |T|  64   T= debug trap bit
  47. +------------------------+------------------------+
  48. |  Available                                      |
  49. |               SYSTEM STATUS, ETC.               |
  50. \\                                               \\
  51. \\                      ...                      \\
  52. |                                                 |
  53. +------------------------+------------------------+
  54. |31       24|23        16|15         8|7         0|  BIT_MAP_OFFSET
  55. |63       56|55        48|47        40|39       32|  BIT_MAP_OFFSET + 4
  56. |95       88|87        80|79        72|71       64|  BIT_MAP_OFFSET + 8
  57. \\                      ...                      \\  etc.
  58. \\                                               \\
  59. |65471      |            |            |      65440|  BIT_MAP_OFFSET + 1FF4
  60. |65503      |            |            |      65472|  BIT_MAP_OFFSET + 1FF8
  61. |65535      |            |            |      65504|  BIT_MAP_OFFSET + 1FFC
  62. +-----------+------------+------------|    "FFh"  |  BIT_MAP_OFFSET + 2000
  63.                                       +-----------+
  64.  
  65. Notes:
  66. 1.  ESP0-3, and SS0-3  are the stacks for CPL 0,1 and 2
  67. 2.  BIT_MAP_OFFSET must be <= DFFFh
  68. 3.  The I/O Permission bitmap uses one bit per I/O port address and
  69.     may be truncated using the TSS limit in the TSS Register.
  70. 4.  The backlink is a pointer to the previous TSS.  It is used when
  71.     a CALL or INT instruction causes a task switch.
  72.  
  73. Happy programming!
  74.  
  75. -> Ed <-
  76.  
  77. --- Squish v1.01
  78.  * Origin: = Psychotronic BBS // 919-286-4542 // Durham, NC = (1:3641/1.250)
  79.  
  80. @PATH: 3641/1 151/1003 270/101 260/1 362
  81.